JTAG: Pinconfiguratie, Werken, Protocolanalysator, Timingdiagram & Zijn Toepassingen

Probeer Ons Instrument Voor Het Oplossen Van Problemen





JTAG (Joint Test Action Group) is een gevestigde IEEE 1149.1-standaard die in het jaar 1980 werd ontwikkeld om de fabricageproblemen op te lossen die zich voordeden binnen elektronische borden of printplaten . Deze technologie wordt gebruikt om voldoende testtoegang te bieden voor elk complex bord wanneer de testtoegang afnam. Zo werd de grensscantechnologie gelanceerd en de JTAG-standaard of JTAG-specificatie: wordt opgericht. De complexiteit van elektronica neemt met de dag toe, dus de JTAG-specificatie is het geaccepteerde testformaat geworden om gecompliceerde en compacte elektronica-eenheden te testen. Dit artikel bespreekt een overzicht van een JTAG protocol – werken met applicaties.


Wat is JTAG?

De naam die wordt gegeven aan de IEEE 1149.1 Standard Test Access Port en Boundary-Scan Architecture staat bekend als JTAG (Joint Test Action Group). Deze grensscan-architectuur wordt meestal gebruikt binnen de computer verwerkers omdat de eerste processor met JTAG door Intel werd uitgebracht. Deze IEEE-standaard definieert eenvoudig hoe het circuit van een computer wordt getest om te bevestigen of het correct werkt na de fabricageprocedure. Op de printplaten worden tests uitgevoerd om de soldeerverbindingen te controleren.



  JTAG
JTAG

Joint Test Action Group biedt een pin-out-weergave voor testers bij elk IC-pad, wat helpt bij het identificeren van eventuele fouten in een printplaat. Zodra dit protocol is gekoppeld aan een chip, kan deze een sonde aan de chip bevestigen door een ontwikkelaar de chip en de verbindingen met andere chips te laten besturen. De interface met de Joint Test Action-groep kan ook door ontwikkelaars worden gebruikt voor het kopiëren van de firmware naar niet-vluchtig geheugen in een elektronisch apparaat.

Configuratie/pin-out

De Joint Test Action Group omvat 20-pins waarbij elke pin en zijn functie hieronder worden besproken.



  JTAG pin-out
JTAG pin-out

Pin1 (VTref): Dit is de doelreferentiespanningspen die wordt gebruikt om verbinding te maken met de hoofdvoeding van het doel, die varieert van 1,5 tot 5,0 VDC.

Pin2 (V-toevoer): Dit is de beoogde voedingsspanning die wordt gebruikt om de hoofdvoeding van de beoogde 1,5 VDC – 5,0 VDC aan te sluiten.

Pin3 (nTRST): Dit is een test-reset-pin die wordt gebruikt om de statusmachine van de TAP-controller te resetten.

Pinnen (4, 6, 8, 10, 12, 14, 16, 18 & 20): Dit zijn veelvoorkomende GND-pinnen.

Pin5 (TDI): Dit zijn testgegevens in de pin. Deze gegevens worden naar het doelapparaat verschoven. Deze pin moet op een gedefinieerde voorwaarde op het doelbord omhoog worden getrokken.

Pin7 (TMS): Dit is de testmodusstatuspin die wordt getrokken om de volgende toestand van de statusmachine van de TAP-controller te bepalen.

Pin9 (TCK): Dit is een testklokpen die de interne statusmachinebewerkingen in de TAP-controller synchroniseert.

Pin11 (RTCK): Dit is de Input Return TCK-pin die wordt gebruikt in apparaten die adaptief klokken ondersteunen.

Pin13 (TDO): Dit is de Test Data Out-pin, dus de gegevens worden van het doelapparaat naar de Flyswatter verplaatst.

Pin15 (nSRST): Dit is de Target System Reset-pin die is verbonden met het hoofdresetsignaal van het doel.

Pinnen 17 & 19 (NC): Dit zijn geen aangesloten pinnen.

JTAG werkt

Het oorspronkelijke gebruik van de JTAG is voor grenstesten. Hier is een eenvoudige printplaat inclusief twee IC's zoals CPU & FPGA . Een typisch bord kan veel IC's bevatten. Over het algemeen bevatten IC's veel pinnen die samen met veel verbindingen zijn verbonden. Hier, in het volgende diagram, worden slechts vier verbindingen weergegeven.

  Elektronisch bord met twee IC's
Elektronisch bord met twee IC's

Dus als je veel borden ontwerpt waarbij elk bord duizenden aansluitingen heeft. Daarin zitten een aantal slechte borden. We moeten dus controleren welk bord werkt en welke niet. Daarvoor is de Joint Test Action Group opgericht.

  JTAG met elektronisch bord
JTAG met elektronisch bord

Dit protocol kan de besturingspinnen van alle chips gebruiken, maar in het volgende diagram gaat de Joint Test Action Group alle uitvoerpinnen van de CPU en alle invoerpinnen van FPGA maken. Daarna, door een hoeveelheid gegevens van de pinnen van de CPU te verzenden en de waarden van de pinnen van de FPGA te lezen, stelt JTAG dat de verbindingen van de printplaat in orde zijn.

Eigenlijk omvat de Joint Test Action Group vier logische signalen TDI, TDO, TMS & TCK. En deze signalen moeten op een bepaalde manier worden aangesloten. In eerste instantie zijn TMS & TCK parallel verbonden met alle IC's van JTAG.

  TMS- en TCK-verbinding
TMS- en TCK-verbinding

Daarna worden zowel de TDI als de TDO met elkaar verbonden om een ​​ketting te vormen. Zoals u kunt zien, bevat elke JTAG-compatibele IC 4-pins die worden gebruikt voor JTAG, waarbij 3-pins inputs zijn en 4e pins output. De vijfde pin zoals TRST is optioneel. Meestal worden de JTAG-pinnen niet voor andere doeleinden gedeeld.

  Aansluitingen van TDI & TDO
Aansluitingen van TDI & TDO

Door gebruik te maken van de Joint Test Action Group, gebruiken alle IC's grenstesten waarvan de oorspronkelijke reden is gemaakt door JTAG. Op dit moment is het gebruik van dit protocol uitgebreid om verschillende dingen mogelijk te maken, zoals het configureren van FPGA's en daarna wordt JTAG in de FPGA-kern gebruikt voor foutopsporingsdoeleinden.

JTAG-architectuur

De JTAG-architectuur wordt hieronder weergegeven. In deze architectuur worden alle signalen tussen de kernlogica van het apparaat en de pinnen onderbroken via een serieel scanpad genaamd BSR of Boundary Scan Register. Deze BSR omvat verschillende 'grensscancellen'. Over het algemeen zijn deze grensscancellen niet zichtbaar, maar ze kunnen worden gebruikt om waarden in de testmodus in te stellen of af te lezen vanaf de apparaatpinnen.

  JTAG-architectuur
JTAG-architectuur

De JTAG-interface, een TAP of Test Access Port genaamd, gebruikt verschillende signalen voor het ondersteunen van de grensscanbewerking, zoals TCK, TMS, TDI, TDO en TRST.

  • Het TCK- of Test Clock-signaal synchroniseert eenvoudig de interne bewerkingen van een toestandsmachine.
  • Het TMS- of Test Mode Select-signaal wordt bemonsterd aan de stijgende flank van een testkloksignaal om de volgende status te bepalen.
  • TDI of Test Data In-signaal betekent de verschoven gegevens in het testapparaat, anders programmeerlogica. Zodra de inside state-machine in de juiste staat is, wordt deze bemonsterd aan de toenemende rand van TCK.
  • TDO of Test Data Out-signaal geeft de verschoven gegevens van het testapparaat aan, anders programmeerlogica. Zodra de inside state-machine in de juiste staat is, is deze geldig op de dalende rand van TCK
  • TRST of Test Reset is een optionele pin die wordt gebruikt om de statusmachine van de TAP-controller te resetten.

TAP-controller

Het testtoegangspunt in de architectuur van JTAG bestaat uit een TAP-controller, een instructieregister en testgegevensregisters. Deze controller bevat de teststatusmachine die verantwoordelijk is voor het lezen van de TMS- en TCK-signalen. Hier wordt de data i/p-pin eenvoudigweg gebruikt om gegevens in de grenscellen tussen de IC-kern en fysieke pinnen te laden, en ook om gegevens in een van de gegevensregisters of in het instructieregister te laden. De data o/p pin wordt gebruikt voor het lezen van data uit de registers of grenscellen.

De toestandsmachine van de TAP-controller wordt bestuurd door het TMS en wordt geklokt door TCK. Staatsmachine gebruikt twee paden om twee verschillende modi aan te duiden, zoals instructiemodus en gegevensmodus.

registreert

Er zijn twee soorten registers beschikbaar binnen de grensscan. Elk compatibel apparaat bevat minimaal twee of meer gegevensregisters en één instructieregister.

Instructie register

Het instructieregister wordt gebruikt om de huidige instructie vast te houden. Dus zijn gegevens worden gebruikt door de TAP-controller om te beslissen wat er moet worden uitgevoerd met signalen die worden verkregen. Meestal zullen de instructieregistergegevens beschrijven naar welke van de gegevensregisters signalen moeten worden doorgegeven.

Gegevensregisters

De dataregisters zijn beschikbaar in drie typen het BSR (Boundary Scan Register), het BYPASS & het ID CODES register. En er kunnen ook andere gegevensregisters zijn, maar ze zijn niet nodig als onderdeel van de JTAG-standaard.

Grensscanregister (BSR)

BSR is het belangrijkste testgegevensregister dat wordt gebruikt om gegevens van en naar de I/O-pinnen van het apparaat te verplaatsen.

BYPASS

Bypass is een enkelbits register dat wordt gebruikt om gegevens van TDI - TDO door te geven. Zo kunnen extra apparaten binnen een circuit worden getest met minimale overhead.

ID-CODES

Dit type dataregister bevat zowel de ID-code als het revisienummer van het apparaat. Met deze gegevens kan het apparaat dus worden verbonden met het BSDL-bestand (Boundary Scan Description Language). Dit bestand bevatte de Boundary Scan-configuratiegegevens voor het apparaat.

De werking van JTAG is in eerste instantie dat de instructiemodus wordt gekozen waarbij een van de toestanden in deze modus 'pad' de operator binnen een instructie door TDI laat klokken. Daarna ontwikkelt de staatsmachine zich totdat hij herschikt. De volgende stap voor de meeste instructies is het kiezen van de gegevensmodus. Dus in deze modus worden de gegevens via TDI geladen om uit TDO te lezen. Voor TDI & TDO zullen de datapaden worden gerangschikt in overeenstemming met de instructie die is ingeklokt. Zodra de lees-/schrijfbewerking is voltooid, ontwikkelt de statusmachine zich opnieuw naar de resetstatus.

Verschil tussen JTAG versus UART

Het verschil tussen JTAG en UART omvat het volgende.

JTAG

UART

De term “JTAG” staat voor Joint Test Action Group. De voorwaarde ' UART ” staat voor Universal Asynchronous Receiver/Transmitter.
Het is een synchrone interface die gebruikmaakt van ingebouwde hardware voor het programmeren van de flitser . UART is een asynchrone interface die gebruik maakt van een bootloader die in het geheugen draait.
Het is een set testpoorten die worden gebruikt voor foutopsporing, maar die ook kunnen worden gebruikt om firmware te programmeren (wat vaak wordt gedaan).

UART is een type chip dat de communicatie van en naar een apparaat regelt, zoals een microcontroller, ROM, RAM, enz. Meestal is het een seriële verbinding waarmee we met een apparaat kunnen communiceren.
Deze zijn verkrijgbaar in vier typen TDI, TDO, TCK, TMS & TRST. Deze zijn verkrijgbaar in twee soorten domme UART & FIFO UART.
Joint Test Action Group is een protocol voor seriële programmering of gegevenstoegang dat wordt gebruikt bij de koppeling van microcontrollers en gerelateerde apparaten. Een UART is een soort chip, anders een subcomponent van de microcontroller, die wordt gebruikt om de hardware te leveren voor het genereren van een asynchrone seriële stroom zoals RS-232/RS-485.
JTAG-componenten zijn processors, FPGA's, CPLD's , enz. UART-componenten zijn CLK-generator, I/O-schuifregisters, zend- of ontvangbuffers, systeemdatabusbuffer, lees- of schrijfbesturingslogica, enz.

JTAG-protocolanalysator

JTAG-protocolanalysator zoals PGY-JTAG-EX-PD is een soort protocolanalysator inclusief enkele functies om communicatie tussen host en te testen ontwerp vast te leggen en te debuggen. Dit type analysator is het leidende instrument waarmee de test- en ontwerpingenieurs de specifieke ontwerpen van JTAG voor zijn specificaties kunnen testen door de PGY-JTAG-EX-PD zoals Master of Slave in te stellen om JTAG-verkeer te genereren en de decodeerpakketten van de Protocol van de gezamenlijke testactiegroep.

  Protocolanalysator
Protocolanalysator

Functies

De kenmerken van de JTAG-protocolanalysator omvatten de volgende.

  • Het ondersteunt tot 25 MH aan JTAG-frequenties.
  • Het genereert tegelijkertijd JTAG-verkeer en protocoldecodering voor de bus.
  • Het heeft JTAG Master-mogelijkheden.
  • Variabele JTAG-gegevenssnelheden en werkcyclus.
  • Door de gebruiker gedefinieerde TDI- en TCK-vertragingen.
  • Hostcomputer USB 2.0- of 3.0-interface.
  • Foutanalyse binnen Protocol Decode
  • Protocol gedecodeerd bus timing diagram.
  • Continue streaming van protocolgegevens naar de hostcomputer voor het leveren van een grote buffer.
  • Lijst met protocolactiviteiten.
  • Met verschillende snelheden kan een oefenscript worden geschreven om het genereren van meerdere dataframes te combineren.

Tijdschema

De timing diagram van de JTAG protocol is hieronder weergegeven. In het volgende diagram blijft de TDO-pin binnen de hoge impedantieconditie, behalve tijdens een shift-IR/shift-DR-controllerstatus.
In de shift-IR- en Shift-DR-controllercondities wordt de TDO-pin bijgewerkt op de afnemende rand van TCK via Target en gesampled op de toenemende rand van TCK via Host.

Zowel de TDI- als TMS-pinnen worden eenvoudig gesampled op de toenemende rand van TCK via Target. Bijgewerkt op de afnemende rand, anders TCK via Host.

  JTAG-timingdiagram
JTAG-timingdiagram

Toepassingen

De JTAG-toepassingen omvatten het volgende.

  • Joint Test Action Group wordt vaak gebruikt in processors om het recht op toegang tot hun emulatie- of debug-functies te verlenen.
  • Alle CPLD's & FPGA's gebruiken dit als een interface om toegang te geven tot hun programmeerfuncties.
  • Het wordt gebruikt voor het testen van PCB's zonder fysieke toegang
  • Het wordt gebruikt voor fabricagetests op boardniveau.

Dit gaat dus allemaal over een overzicht van JTAG – pinconfiguratie, werken met applicaties. De industriestandaard JTAG wordt gebruikt voor ontwerpverificatie en PCB-testen na fabricage. Hier is een vraag voor jou, waar JTAG voor staat?