JTAG: PIN konfigūracija, veikimas, protokolų analizatorius, laiko diagrama ir jos programos

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





JTAG (Joint Test Action Group) yra nusistovėjęs IEEE 1149.1 standartas, sukurtas 1980 m. siekiant išspręsti gamybos problemas, iškilusias elektroninėse plokštėse arba spausdintinės plokštės . Ši technologija naudojama siekiant suteikti pakankamai bandymo prieigos kiekvienai sudėtingai plokštei, kai bandomoji prieiga mažėja. Taigi buvo paleista ribų nuskaitymo technologija ir JTAG standartas arba JTAG specifikacija yra nustatytas. Elektronikos sudėtingumas kasdien didėja, todėl JTAG specifikacija tapo priimtinu testavimo formatu sudėtingiems ir kompaktiškiems elektronikos blokams išbandyti. Šiame straipsnyje aptariama a apžvalga JTAG protokolas – darbas su programomis.


Kas yra JTAG?

IEEE 1149.1 standartinio testavimo prieigos prievadui ir ribų nuskaitymo architektūrai suteiktas pavadinimas yra žinomas kaip JTAG (Joint Test Action Group). Ši ribų nuskaitymo architektūra dažniausiai naudojama kompiuteryje procesoriai nes pirmąjį procesorių su JTAG išleido Intel. Šis IEEE standartas paprasčiausiai apibrėžia, kaip patikrinama kompiuterio grandinė, siekiant patvirtinti, ar jis tinkamai veikia po gamybos procedūros. Plokštėse atliekami bandymai, skirti patikrinti litavimo jungtis.



  JTAG
JTAG

„Joint Test Action Group“ testeriams su kiekvienu IC kilimėliu pateikia kaiščių vaizdą, kuris padeda nustatyti bet kokius grandinės plokštės gedimus. Kai šis protokolas yra prijungtas prie lusto, jis gali prijungti zondą prie lusto, leisdamas kūrėjui valdyti lustą ir jo ryšius su kitais lustais. Sąsają su „Joint Test Action“ grupe kūrėjai taip pat gali naudoti norėdami kopijuoti programinę-aparatinę įrangą į nepastovią elektroninio įrenginio atmintį.

Konfigūravimas / Prisegimas

Jungtinę bandymo veiksmų grupę sudaro 20 kaiščių, kurių kiekvienas kaištis ir jo funkcija aptariami toliau.



  JTAG prisegimas
JTAG prisegimas

Pin1 (VTref): Tai tikslinės atskaitos įtampos kaištis, naudojamas prijungti prie pagrindinio taikinio maitinimo šaltinio, kurio įtampa svyruoja nuo 1,5 iki 5,0 VDC.

Pin2 (V tiekimas): Tai tikslinė maitinimo įtampa, naudojama pagrindiniam tikslinės 1,5 VDC – 5,0 VDC įtampos tiekimui prijungti.

Pin3 (nTRST): Tai bandomasis atstatymo kaištis, naudojamas TAP valdiklio būsenos mašinai iš naujo nustatyti.

Smeigtukai (4, 6, 8, 10, 12, 14, 16, 18 ir 20): Tai yra įprasti GND kaiščiai.

Pin5 (TDI): Tai yra bandymo duomenys kaištyje. Šie duomenys perkeliami į tikslinį įrenginį. Šis kaištis turi būti ištrauktas tam tikromis sąlygomis tikslinėje lentoje.

Pin7 (TMS): Tai yra bandymo režimo būsenos kaištis, kuris ištraukiamas norint nustatyti kitą TAP valdiklio būsenos mašinos būseną.

Pin9 (TCK): Tai yra bandomasis laikrodžio kaištis, kuris sinchronizuoja vidines būsenos mašinos operacijas TAP valdiklyje.

Pin11 (RTCK): Tai įvesties grąžinimo TCK kaištis, naudojamas įrenginiuose, kurie palaiko adaptyvųjį laikrodį.

Pin13 (TDO): Tai yra Test Data Out kaištis, todėl duomenys iš tikslinio įrenginio perkeliami į Flyswatter.

Pin15 (nSRST): Tai Target System Reset kaištis, kuris yra prijungtas prie pagrindinio taikinio atstatymo signalo.

17 ir 19 kaiščiai (NC): Tai nėra sujungti kaiščiai.

JTAG veikia

JTAG pradinis naudojimas skirtas ribiniams bandymams. Čia yra paprasta spausdintinė plokštė, kurioje yra du IC, pvz., CPU ir FPGA . Įprastoje plokštėje gali būti daug IC. Apskritai, IC apima daug kaiščių, kurie yra sujungti kartu su daugeliu jungčių. Toliau pateiktoje diagramoje parodytos tik keturios jungtys.

  Elektroninė plokštė su dviem IC
Elektroninė plokštė su dviem IC

Taigi, jei kuriate daug plokščių, kuriose kiekviena plokštė turi tūkstančius jungčių. Tame yra keletas blogų lentų. Taigi turime patikrinti, kuri plokštė veikia, o kuri neveikia. Tam buvo sukurta jungtinė bandymų veiksmų grupė.

  JTAG su elektronine lenta
JTAG su elektronine lenta

Šis protokolas gali naudoti visų lustų valdymo kaiščius, tačiau toliau pateiktoje diagramoje Jungtinių bandymų veiksmų grupė padarys visus procesoriaus išvesties kaiščius ir visus FPGA įvesties kaiščius. Po to, perduodamas tam tikrą duomenų kiekį iš procesoriaus kontaktų ir nuskaitęs FPGA kontaktų reikšmes, JTAG teigia, kad PCB plokštės jungtys yra geros.

Tiesą sakant, jungtinę bandymų veiksmų grupę sudaro keturi loginiai signalai TDI, TDO, TMS ir TCK. Ir šiuos signalus reikia sujungti tam tikru būdu. Iš pradžių TMS ir TCK yra prijungti lygiagrečiai su visais JTAG IC.

  TMS ir TCK ryšys
TMS ir TCK ryšys

Po to tiek TDI, tiek TDO yra sujungti, kad sudarytų grandinę. Kaip matote, kiekvienas JTAG suderinamas IC turi 4 kontaktus, kurie naudojami JTAG, kur 3 kontaktai yra įvestis, o 4 kontaktas yra išvestis. Penktasis kaištis, pvz., TRST, yra neprivalomas. Paprastai JTAG kaiščiai nėra bendrinami kitiems tikslams.

  TDI ir TDO jungtys
TDI ir TDO jungtys

Naudodami jungtinę bandymo veiksmų grupę, visi IC naudoja ribinį testavimą, kurio pirminę priežastį sukuria JTAG. Šiuo metu šio protokolo naudojimas buvo išplėstas, kad būtų galima atlikti įvairius dalykus, pvz., FPGA konfigūravimą, o vėliau JTAG naudojamas FPGA šerdyje derinimo tikslais.

JTAG architektūra

JTAG architektūra parodyta žemiau. Šioje architektūroje visi signalai tarp pagrindinės įrenginio logikos ir kontaktų yra pertraukiami per nuoseklųjį nuskaitymo kelią, vadinamą BSR arba Boundary Scan Registru. Šis BSR apima įvairias ribinio nuskaitymo „ląsteles“. Paprastai šios ribinės nuskaitymo ląstelės nėra matomos, tačiau jas galima naudoti norint nustatyti arba nuskaityti vertes bandymo režimu iš įrenginio kontaktų.

  JTAG architektūra
JTAG architektūra

JTAG sąsaja, vadinama TAP arba testavimo prieigos prievadu, naudoja skirtingus signalus, kad palaikytų ribų nuskaitymo operaciją, pvz., TCK, TMS, TDI, TDO ir TRST.

  • TCK arba Test Clock signalas tiesiog sinchronizuoja būsenos mašinos vidines operacijas.
  • TMS arba testavimo režimo pasirinkimo signalas atrenkamas didėjančiame bandomojo laikrodžio signalo krašte, kad būtų galima nuspręsti dėl kitos būsenos.
  • TDI arba Test Data In signalas reiškia perkeltus duomenis į bandymo įrenginį, kitaip programavimo logika. Kai vidinės būsenos mašina yra tinkamos būsenos, ji paimama didėjančiame TCK krašte.
  • TDO arba Test Data Out signalas reiškia perkeltus testo įrenginio duomenis, kitaip programavimo logika. Kai vidinės būsenos mašina yra tinkamos būsenos, ji galioja mažėjančiame TCK krašte
  • TRST arba Test Reset yra pasirenkamas kaištis, naudojamas TAP valdiklio būsenos mašinai iš naujo nustatyti.

TAP valdiklis

JTAG architektūros bandomąjį prieigos tašką sudaro TAP valdiklis, komandų registras ir bandymų duomenų registrai. Šiame valdiklyje yra testavimo būsenos mašina, kuri yra atsakinga už TMS ir TCK signalų nuskaitymą. Čia duomenų i / p kaištis yra tiesiog naudojamas duomenims įkelti į ribines ląsteles tarp IC šerdies ir fizinių kontaktų, taip pat įkelti duomenis į vieną iš duomenų registrų arba į komandų registrą. Duomenų o/p kontaktas naudojamas duomenims nuskaityti iš registrų arba ribinių langelių.

TAP valdiklio būsenos mašiną valdo TMS, o jos laikrodis yra TCK. Būsenos mašina naudoja du kelius, kad reikštų du skirtingus režimus, tokius kaip instrukcijų režimas ir duomenų režimas.

Registrai

Ribų nuskaitymo metu yra dviejų tipų registrai. Kiekvienas suderinamas įrenginys turi mažiausiai du ar daugiau duomenų registrų ir vieną instrukcijų registrą.

Instrukcijų registras

Instrukcijų registras naudojamas esamai komandai laikyti. Taigi TAP valdiklis naudoja jo duomenis, kad nuspręstų, ką vykdyti su gautais signalais. Dažniausiai komandų registro duomenys aprašys, kuriam iš duomenų registrų reikia perduoti signalus.

Duomenų registrai

Duomenų registrai yra trijų tipų: BSR (ribų nuskaitymo registras), BYPASS ir ID KODŲ registras. Taip pat gali būti ir kitų duomenų registrų, tačiau jie nėra būtini kaip JTAG standarto elementas.

Ribų nuskaitymo registras (BSR)

BSR yra pagrindinis testavimo duomenų registras, naudojamas duomenims perkelti iš ir į įrenginio įvesties/išvesties kaiščius.

APEITI

Apėjimas yra vieno bito registras, naudojamas duomenims perduoti iš TDI – TDO. Taigi tai leidžia išbandyti papildomus grandinės įrenginius su minimaliomis papildomomis sąnaudomis.

ID KODAI

Šio tipo duomenų registre yra ID kodas ir įrenginio pataisos numeris. Taigi šie duomenys leidžia įrenginį prijungti prie jo BSDL (ribos nuskaitymo aprašo kalbos) failo. Į šį failą įtraukta įrenginio ribų nuskaitymo konfigūracijos informacija.

Iš pradžių JTAG veikia taip, kad pasirenkamas komandų režimas, kai viena iš šio režimo būsenų „kelias“ leidžia operatoriui veikti pagal TDI komandą. Po to būsenos mašina vystosi tol, kol persitvarko. Kitas daugelio instrukcijų žingsnis yra duomenų režimo pasirinkimas. Taigi šiuo režimu duomenys įkeliami per TDI, kad būtų galima nuskaityti iš TDO. TDI ir TDO duomenų keliai bus išdėstyti pagal instrukcijas, kurios buvo įvestos. Atlikus skaitymo / rašymo operaciją, būsenos mašina vėl pereina į atstatymo būseną.

Skirtumas tarp JTAG ir UART

Skirtumas tarp JTAG ir UART yra toks.

JTAG

UART

Terminas „JTAG“ reiškia jungtinę bandymų veiksmų grupę. Terminas ' UART “ reiškia universalųjį asinchroninį imtuvą / siųstuvą.
Tai sinchroninė sąsaja, kuri naudoja integruotą aparatūrą blykstei programuoti . UART yra asinchroninė sąsaja, kuri naudoja įkrovos įkroviklį, kuris veikia atmintyje.
Tai yra bandomųjų prievadų rinkinys, naudojamas derinimui, bet taip pat gali būti naudojamas programinei įrangai programuoti (kas dažniausiai daroma).

UART yra lusto tipas, kuris valdo ryšius į įrenginį ir iš jo, pvz., mikrovaldiklį, ROM, RAM ir tt Dažniausiai tai yra nuoseklusis ryšys, leidžiantis susisiekti su įrenginiu.
Yra keturių tipų TDI, TDO, TCK, TMS ir TRST. Tai yra dviejų tipų kvailas UART ir FIFO UART.
Joint Test Action Group yra nuoseklusis programavimas arba duomenų prieigos protokolas, naudojamas mikrovaldiklių ir susijusių įrenginių sąsajoje. UART yra vienos rūšies lustas, kitaip mikrovaldiklio subkomponentas, naudojamas aparatinei įrangai generuoti asinchroninį nuoseklųjį srautą, pvz., RS-232 / RS-485.
JTAG komponentai yra procesoriai, FPGA, CPLD ir kt. UART komponentai yra CLK generatorius, I/O poslinkių registrai, perdavimo arba priėmimo buferiai, sistemos duomenų magistralės buferis, skaitymo ar rašymo valdymo logika ir kt.

JTAG protokolo analizatorius

JTAG protokolo analizatorius, pvz., PGY-JTAG-EX-PD, yra vienos rūšies protokolų analizatorius, įskaitant kai kurias funkcijas, skirtas užfiksuoti ir derinti ryšį tarp pagrindinio kompiuterio ir bandomojo dizaino. Šio tipo analizatoriai yra pirmaujanti priemonė, leidžianti bandymų ir projektavimo inžinieriams išbandyti konkrečius JTAG dizainus pagal jo specifikacijas, sutvarkydami PGY-JTAG-EX-PD, pvz., pagrindinį arba pavaldinį, kad generuotų JTAG srautą ir iškoduotų JTAG paketus. Joint Test Action Group protokolas.

  Protokolo analizatorius
Protokolo analizatorius

funkcijos

JTAG protokolo analizatoriaus funkcijos apima šias funkcijas.

  • Jis palaiko iki 25MH JTAG dažnių.
  • Jis generuoja JTAG srautą ir protokolo dekodavimą autobusui vienu metu.
  • Jis turi JTAG Master galimybes.
  • Kintamasis JTAG duomenų greitis ir darbo ciklas.
  • Vartotojo nustatytos TDI ir TCK delsos.
  • Pagrindinio kompiuterio USB 2.0 arba 3.0 sąsaja.
  • Klaidų analizė protokolo dekodavimo programoje
  • Protokolu dekoduota magistralės laiko diagrama.
  • Nepertraukiamas protokolo duomenų srautinis perdavimas į pagrindinį kompiuterį, kad būtų suteiktas didelis buferis.
  • Protokolo veiklos sąrašas.
  • Esant įvairiems greičiams, galima parašyti pratimų scenarijų, skirtą kelių duomenų kadrų generavimui sujungti.

Laiko diagrama

The JTAG laiko schema protokolas parodytas žemiau. Toliau pateiktoje diagramoje TDO kaištis išlieka didelės varžos sąlygomis, išskyrus perjungimo IR / Shift-DR valdiklio būseną.
„Shift-IR“ ir „Shift-DR“ valdiklio sąlygomis TDO kaištis atnaujinamas mažėjančiame TCK krašte per „Target“ ir paimamas didėjančiame TCK krašte per „Host“.

Tiek TDI, tiek TMS kaiščiai tiesiog paimami didėjančiame TCK krašte per Target. Atnaujinta mažėjančiame krašte, kitaip TCK per pagrindinį kompiuterį.

  JTAG laiko diagrama
JTAG laiko diagrama

Programos

The JTAG programos įtraukti toliau nurodytus dalykus.

  • Joint Test Action Group dažnai naudojama procesoriuose, suteikiant teisę įeiti į jų emuliavimo ar derinimo funkcijas.
  • Visi CPLD ir FPGA naudoja tai kaip sąsają, kad suteiktų prieigą prie savo programavimo funkcijų.
  • Jis naudojamas PCB bandymams be fizinės prieigos
  • Jis naudojamas plokštės lygio gamybos bandymams.

Taigi, visa tai yra apie JTAG apžvalga – kaiščio konfigūracija, darbas su programomis. Pramonės standartas JTAG naudojamas projekto patikrai, taip pat PCB bandymams po pagaminimo. Čia yra klausimas jums, JTAG reiškia?