JTAG: Configurație Pin, Funcționare, Analizor de protocol, Diagrama de sincronizare și aplicațiile sale

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





JTAG (Joint Test Action Group) este un standard IEEE 1149.1 bine stabilit, care a fost dezvoltat în anul 1980 pentru a rezolva problemele de producție care au apărut în cadrul plăcilor electronice sau plăci de circuite imprimate . Această tehnologie este folosită pentru a oferi suficient acces de testare pentru fiecare placă complexă atunci când accesul de testare era în scădere. Astfel, a fost lansată tehnologia de scanare a limitelor și standardul JTAG sau Specificația JTAG este stabilit. Complexitatea electronicii a crescut pe zi ce trece, astfel încât specificația JTAG a devenit formatul de testare acceptat pentru a testa unități electronice complicate și compacte. Acest articol discută o prezentare generală a unui JTAG protocol – lucrul cu aplicații.


Ce este JTAG?

Numele care este dat portului de acces de testare standard IEEE 1149.1, precum și arhitecturii Boundary-Scan este cunoscut ca JTAG (Joint Test Action Group). Această arhitectură de scanare a limitelor este utilizată în principal în computer procesoare deoarece primul procesor cu JTAG a fost lansat de Intel. Acest standard IEEE definește pur și simplu modul în care circuitele unui computer sunt testate pentru a confirma dacă funcționează corect după procedura de fabricație. Pe plăcile de circuite se efectuează teste pentru verificarea îmbinărilor de lipit.



  JTAG
JTAG

Joint Test Action Group oferă o vizualizare a pinii pentru testeri cu fiecare IC pad, care ajută la identificarea oricăror defecțiuni pe o placă de circuit. Odată ce acest protocol este interfațat cu un cip, acesta poate atașa o sondă la cip, permițând unui dezvoltator să controleze cip, precum și conexiunile acestuia cu alte cipuri. Interfața cu grupul Joint Test Action poate fi folosită și de dezvoltatori pentru a copia firmware-ul în memoria nevolatilă dintr-un dispozitiv electronic.

Configurare/Pin Out

Grupul de acțiuni de testare comună include 20 de pini unde fiecare pin și funcția sa sunt discutate mai jos.



  Ieșire JTAG
Ieșire JTAG

Pin1 (VTref): Acesta este pinul tensiunii de referință țintă care este utilizat pentru a se conecta la sursa de alimentare principală a țintei, care variază de la 1,5 la 5,0VDC.

Pin2 (Vsupply): Aceasta este tensiunea de alimentare țintă care este utilizată pentru a conecta sursa de alimentare principală a țintei de 1,5 VDC – 5,0 VDC.

Pin3 (nTRST): Acesta este un pin de resetare de testare care este folosit pentru a reseta mașina de stare a controlerului TAP.

Ace (4, 6, 8, 10, 12, 14, 16, 18 și 20): Aceștia sunt pinii GND obișnuiți.

Pin5 (TDI): Acestea sunt datele de testare din pin. Aceste date sunt transferate în dispozitivul țintă. Acest știft trebuie tras în sus într-o condiție definită pe placa țintă.

Pin7 (TMS): Acesta este pinul de stare a modului de testare care este tras pentru a determina următoarea condiție a mașinii de stare a controlerului TAP.

Pin9 (TCK): Acesta este un pin de ceas de testare care sincronizează operațiunile interne ale mașinii de stare în controlerul TAP.

Pin11 (RTCK): Acesta este pinul Input Return TCK care este utilizat în dispozitivele care acceptă sincronizarea adaptivă.

Pin13 (TDO): Acesta este pinul Test Data Out, astfel încât datele sunt mutate din dispozitivul țintă în Flyswatter.

Pin15 (nSRST): Acesta este pinul de resetare a sistemului țintă care este conectat la semnalul principal de resetare al țintei.

Pinii 17 și 19 (NC): Aceștia nu sunt pini conectați.

JTAG lucrează

Utilizarea inițială a JTAG este pentru testarea limită. Iată o placă de circuit imprimată simplă, care include două circuite integrate precum CPU și FPGA . O placă tipică poate include multe circuite integrate. În general, circuitele integrate includ mulți pini care sunt conectați împreună cu multe conexiuni. Aici, în diagrama următoare, sunt prezentate doar patru conexiuni.

  Placă electronică cu două circuite integrate
Placă electronică cu două circuite integrate

Deci, dacă proiectați multe plăci în care fiecare placă are mii de conexiuni. În asta, există niște plăci proaste. Deci trebuie să verificăm ce placă funcționează și care nu funcționează. Pentru aceasta, a fost conceput Joint Test Action Group.

  JTAG cu placa electronica
JTAG cu placa electronica

Acest protocol poate folosi pinii de control ai tuturor cipurilor, dar în următoarea diagramă, Joint Test Action Group va realiza toți pinii de ieșire ai procesorului și toți pinii de intrare ai FPGA. După aceea, prin transmiterea unei cantități de date de la pinii procesorului și citirea valorilor pinilor de la FPGA, JTAG afirmă că conexiunile plăcii PCB sunt bune.

De fapt, Joint Test Action Group include patru semnale logice TDI, TDO, TMS și TCK. Și aceste semnale trebuie conectate într-un mod special. La început, TMS și TCK sunt conectate în paralel la toate circuitele integrate ale JTAG.

  Conexiune TMS și TCK
Conexiune TMS și TCK

După aceea, atât TDI, cât și TDO sunt conectate pentru a forma un lanț. După cum puteți observa, fiecare circuit integrat compatibil JTAG include 4 pini care sunt utilizați pentru JTAG, unde 3 pini sunt intrări și al 4-lea pin este ieșit. Al cincilea pin precum TRST este opțional. De obicei, pinii JTAG nu sunt partajați în alte scopuri.

  Conexiuni ale TDI și TDO
Conexiuni ale TDI și TDO

Prin utilizarea Joint Test Action Group, toate IC-urile utilizează testarea limită, motivul original este creat de JTAG. În prezent, utilizarea acestui protocol a fost extinsă pentru a permite diferite lucruri, cum ar fi configurarea FPGA-urilor și după aceea, JTAG este utilizat în nucleul FPGA în scopuri de depanare.

Arhitectura JTAG

Arhitectura JTAG este prezentată mai jos. În această arhitectură, toate semnalele dintre logica de bază a dispozitivului și pinii sunt întrerupte printr-o cale de scanare serială numită BSR sau Boundary Scan Register. Acest BSR include diverse „celule” de scanare a limitelor. În general, aceste celule de scanare de frontieră nu sunt vizibile, dar pot fi utilizate pentru a seta sau a citi valori în modul de testare din pinii dispozitivului.

  Arhitectura JTAG
Arhitectura JTAG

Interfața JTAG numită TAP sau Test Access Port utilizează diferite semnale pentru a susține operația de scanare a limitelor, cum ar fi TCK, TMS, TDI, TDO și TRST.

  • Semnalul TCK sau Test Clock sincronizează pur și simplu operațiunile interne ale unei mașini de stare.
  • Semnalul TMS sau de selectare a modului de testare este eșantionat la marginea crescătoare a semnalului de ceas de testare pentru a decide starea următoare.
  • Semnalul TDI sau Test Data In semnifică datele transferate în dispozitivul de testare, altfel logica de programare. Odată ce mașina de stare interioară este în starea corectă, atunci este eșantionată la marginea crescătoare a TCK.
  • Semnalul TDO sau Test Data Out semnifică datele deplasate ale dispozitivului de testare, altfel logica de programare. Odată ce mașina de stare interioară este în starea corectă, atunci este valabilă pe marginea descrescătoare a TCK
  • TRST sau Test Reset este un pin opțional care este utilizat pentru a reseta mașina de stare a controlerului TAP.

Controler TAP

Punctul de acces de testare din arhitectura JTAG este compus dintr-un controler TAP, un registru de instrucțiuni și registre de date de testare. Acest controler include mașina de testare care este responsabilă pentru citirea semnalelor TMS și TCK. Aici, pinul i/p de date este pur și simplu utilizat pentru a încărca date în celulele de delimitare dintre miezul IC și pinii fizici și, de asemenea, pentru a încărca date într-unul dintre registrele de date sau în registrul de instrucțiuni. Pinul de date o/p este utilizat pentru citirea datelor fie din registre, fie din celulele de limită.

Mașina de stare a controlerului TAP este controlată de TMS și este tactată de TCK. Mașina de stat folosește două căi pentru a semnifica două moduri diferite, cum ar fi modul de instrucțiuni și modul de date.

Registrele

Există două tipuri de registre disponibile în cadrul scanării limitelor. Fiecare dispozitiv compatibil include cel puțin două registre de date și un registru de instrucțiuni.

Registrul de instrucțiuni

Registrul de instrucțiuni este folosit pentru a păstra instrucțiunea curentă. Deci datele sale sunt folosite de controlerul TAP pentru a decide ce să execute cu semnalele care sunt obținute. Cel mai frecvent, datele din registrul de instrucțiuni vor descrie la care dintre registrele de date trebuie transmise semnalele.

Registre de date

Registrele de date sunt disponibile în trei tipuri: BSR (Boundary Scan Register), BYPASS și registrul ID CODES. Și, de asemenea, alte registre de date pot fi acolo, cu toate acestea nu sunt necesare ca element al standardului JTAG.

Registrul de scanare a limitelor (BSR)

BSR este registrul principal de date de testare care este utilizat pentru a transfera datele de la și către pinii I/O dispozitivului.

BYPASS

Bypass-ul este un registru pe un singur bit utilizat pentru a transmite date de la TDI – TDO. Așadar, permite testarea dispozitivelor suplimentare dintr-un circuit cu o suprasolicitare minimă.

CODURI DE IDENTIFICARE

Acest tip de registru de date include codul ID, precum și numărul de revizuire pentru dispozitiv. Prin urmare, aceste date permit dispozitivului să fie conectat la fișierul său BSDL (Boundary Scan Description Language). Acest fișier a inclus detaliile de configurare Boundary Scan pentru dispozitiv.

Funcționarea JTAG este, inițial, modul de instrucție este ales în cazul în care una dintre stările din acest mod „cale” permite operatorului ceasul în cadrul unei instrucțiuni de la TDI. După aceea, mașina de stat se dezvoltă până când se rearanjează. Următorul pas pentru majoritatea instrucțiunilor este alegerea modului de date. Deci, în acest mod, datele sunt încărcate prin TDI pentru a le citi din TDO. Pentru TDI și TDO, căile de date vor fi aranjate în conformitate cu instrucțiunea care a fost înregistrată. Odată ce operația de citire/scriere este efectuată, mașina de stări se dezvoltă din nou la starea de resetare.

Diferența dintre JTAG și UART

Diferența dintre JTAG și UART include următoarele.

JTAG

UART

Termenul „JTAG” înseamnă Joint Test Action Group. Termenul ' UART ” înseamnă Universal Asynchronous Receiver/Transmitter.
Este o interfață sincronă care utilizează hardware încorporat pentru programarea blițului . UART este o interfață asincronă care utilizează un bootloader care rulează în memorie.
Este un set de porturi de testare care este folosit pentru depanare, dar poate fi folosit și pentru programarea firmware-ului (ceea ce se face de obicei).

UART este un tip de cip care controlează comunicațiile către și de la un dispozitiv, cum ar fi un microcontroler, ROM, RAM, etc. De cele mai multe ori, este o conexiune serială care ne permite să comunicăm cu un dispozitiv.
Acestea sunt disponibile în patru tipuri TDI, TDO, TCK, TMS și TRST. Acestea sunt disponibile în două tipuri mute UART și FIFO UART.
Joint Test Action Group este un protocol de programare în serie sau de acces la date care este utilizat în interfațarea microcontrolerelor și a dispozitivelor conexe. Un UART este un tip de cip, altfel subcomponenta microcontrolerului, care este folosită pentru a furniza hardware-ul pentru generarea unui flux serial asincron, cum ar fi RS-232/RS-485.
Componentele JTAG sunt procesoare, FPGA, CPLD-uri ,  etc. Componentele UART sunt generatorul CLK, registrele de deplasare I/O, bufferele de transmisie sau recepție, bufferul magistralei de date de sistem, logica de control de citire sau scriere etc.

Analizor de protocol JTAG

Analizorul de protocol JTAG precum PGY-JTAG-EX-PD este un tip de Analizor de protocol, care include unele caracteristici pentru a captura și depana comunicarea între gazdă și proiectarea testată. Acest tip de analizor este instrumentul principal care permite inginerilor de testare și proiectare să testeze design-urile particulare ale JTAG pentru specificațiile sale prin aranjarea PGY-JTAG-EX-PD ca Master sau Slave pentru a genera trafic JTAG și decodificarea pachetelor de decodare ale Protocolul Joint Test Action Group.

  Analizor de protocol
Analizor de protocol

Caracteristici

Caracteristicile analizorului de protocol JTAG includ următoarele.

  • Suportă până la 25MH de frecvențe JTAG.
  • Acesta generează trafic JTAG și decodificarea protocolului pentru magistrală simultan.
  • Are Capacitate JTAG Master.
  • Viteze de date JTAG variabile și ciclu de lucru.
  • Întârzieri TDI și TCK definite de utilizator.
  • Interfață USB 2.0 sau 3.0 pentru computer gazdă.
  • Analiza erorilor în Protocol Decode
  • Diagrama de temporizare a magistralei decodate protocol.
  • Flux continuu de date de protocol către computerul gazdă pentru a oferi un tampon mare.
  • Lista activităților de protocol.
  • La diferite viteze, un script de exercițiu poate fi scris pentru a combina generarea mai multor cadre de date.

Diagrama de sincronizare

The diagrama de timp a JTAG protocolul este prezentat mai jos. În următoarea diagramă, pinul TDO rămâne în condiția de impedanță ridicată, cu excepția unei stări de control shift-IR/shift-DR.
În condițiile controlerului Shift-IR și Shift-DR, pinul TDO este actualizat pe marginea descrescătoare a TCK prin Target și eșantionat pe marginea crescătoare a TCK prin Host.

Atât pinii TDI, cât și cei TMS sunt pur și simplu eșantionați pe marginea crescândă a TCK prin Target. Actualizat pe marginea descrescătoare, altfel TCK prin Host.

  Diagrama de sincronizare JTAG
Diagrama de sincronizare JTAG

Aplicații

The aplicații JTAG includ următoarele.

  • Joint Test Action Group este folosit frecvent în procesoare pentru a oferi dreptul de intrare la funcțiile lor de emulare sau depanare.
  • Toate CPLD-urile și FPGA-urile folosesc aceasta ca interfață pentru a oferi acces la funcțiile lor de programare.
  • Este folosit pentru testarea PCB-urilor fără acces fizic
  • Este folosit pentru testele de fabricație la nivel de placă.

Astfel, despre asta este vorba o prezentare generală a JTAG – configurare pin, lucrul cu aplicații. Standardul industrial JTAG este utilizat pentru verificarea proiectării, precum și pentru testarea PCB-ului după fabricație. Iată o întrebare pentru tine, JTAG înseamnă?