JTAG : Configuration ng Pin, Paggana, Protocol Analyser, Timing Diagram at Mga Application Nito

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang JTAG (Joint Test Action Group) ay isang mahusay na itinatag na pamantayan ng IEEE 1149.1 na binuo noong taong 1980 upang malutas ang mga isyu sa pagmamanupaktura na naganap sa loob ng mga electronic board o mga naka-print na circuit board . Ang teknolohiyang ito ay ginagamit upang magbigay ng sapat na pansubok na access para sa bawat kumplikadong board kapag bumababa ang pag-access sa pagsubok. Kaya, inilunsad ang boundary scan technology at ang JTAG standard o Detalye ng JTAG ay itinatag. Ang pagiging kumplikado ng electronics ay tumataas araw-araw, kaya ang JTAG na detalye ay naging ang tinatanggap na format ng pagsubok upang subukan ang mga kumplikado at compact na electronics unit. Tinatalakay ng artikulong ito ang isang pangkalahatang-ideya ng a JTAG protocol – gumagana sa mga application.


Ano ang JTAG?

Ang pangalan na ibinigay sa IEEE 1149.1 Standard Test Access Port pati na rin ang Boundary-Scan Architecture ay kilala bilang JTAG (Joint Test Action Group). Ang boundary scan architecture na ito ay kadalasang ginagamit sa loob ng computer mga processor dahil ang unang processor na may JTAG ay inilabas ng Intel. Ang pamantayang IEEE na ito ay tumutukoy lamang kung paano sinusuri ang circuitry ng isang computer upang kumpirmahin kung ito ay gumagana nang tama pagkatapos ng pamamaraan ng pagmamanupaktura. Sa mga circuit board, ang mga pagsusuri ay isinasagawa upang suriin ang mga kasukasuan ng panghinang.



  JTAG
JTAG

Ang Joint Test Action Group ay nagbibigay ng pins-out view para sa mga tester sa bawat IC pad na tumutulong sa pagtukoy ng anumang mga pagkakamali sa loob ng isang circuit board. Kapag na-interface na ang protocol na ito sa isang chip, maaari itong mag-attach ng probe sa chip sa pamamagitan ng pagpayag sa isang developer na kontrolin ang chip pati na rin ang mga koneksyon nito sa iba pang chips. Ang interface na may Joint Test Action group ay maaari ding gamitin ng mga Developer para sa pagkopya ng firmware sa non-volatile memory sa isang electronic device.

Configuration/Pin Out

Kasama sa Joint Test Action Group ang 20-pin kung saan ang bawat pin at ang function nito ay tinatalakay sa ibaba.



  JTAG Pin Out
JTAG Pin Out

Pin1 (VTref): Ito ang target na reference voltage pin na ginagamit para kumonekta sa pangunahing power supply ng target na mula 1.5 hanggang 5.0VDC.

Pin2 (Vsupply): Ito ang target na supply boltahe na ginagamit upang ikonekta ang pangunahing supply ng boltahe ng target na 1.5VDC – 5.0VDC.

Pin3 (nTRST): Isa itong test reset pin na ginagamit para i-reset ang state machine ng TAP controller.

Mga Pin (4, 6, 8, 10, 12, 14, 16, 18 at 20): Ito ang mga karaniwang GND pin.

Pin5 (TDI): Ito ay Test Data Sa pin. Ang data na ito ay inilipat sa target na aparato. Ang pin na ito ay dapat na mahila sa isang tinukoy na kondisyon sa target na board.

Pin7 (TMS): Ito ang Test Mode State pin na kinukuha upang matukoy ang susunod na kondisyon ng state machine ng TAP controller.

Pin9 (TCK): Isa itong pansubok na clock pin na nagsi-synchronize sa internal na state machine operations sa TAP controller.

Pin11 (RTCK): Ito ang Input Return TCK pin na ginagamit sa mga device na sumusuporta sa adaptive clocking.

Pin13 (TDO): Ito ang Test Data Out pin, kaya ang data ay inilipat palabas sa target na device papunta sa Flyswatter.

Pin15 (nSRST): Ito ang Target System Reset pin na konektado sa pangunahing reset signal ng target.

Mga Pin 17 at 19 (NC): Ang mga ito ay hindi konektadong mga pin.

Gumagana ang JTAG

Ang orihinal na paggamit ng JTAG ay para sa pagsubok sa hangganan. Dito, ay isang simpleng naka-print na circuit board kasama ang dalawang IC tulad ng CPU at FPGA . Ang isang karaniwang board ay maaaring magsama ng maraming IC. Sa pangkalahatan, ang mga IC ay may kasamang maraming mga pin na konektado nang magkasama sa maraming mga koneksyon. Dito, sa sumusunod na diagram, apat na koneksyon lamang ang ipinapakita.

  Electronic Board na may dalawang IC
Electronic Board na may dalawang IC

Kaya kung magdidisenyo ka ng maraming board kung saan ang bawat board ay may libu-libong koneksyon. Doon, mayroong ilang masamang board. Kaya kailangan nating suriin kung aling board ang gumagana at alin ang hindi gumagana. Para diyan, idinisenyo ang Joint Test Action Group.

  JTAG na may Electronic Board
JTAG na may Electronic Board

Maaaring gamitin ng protocol na ito ang mga control pin ng lahat ng chips ngunit sa sumusunod na diagram, gagawin ng Joint Test Action Group ang lahat ng output pin ng CPU at lahat ng input pin ng FPGA. Pagkatapos nito, sa pamamagitan ng pagpapadala ng ilang halaga ng data mula sa mga pin ng CPU at pagbabasa ng mga halaga ng mga pin mula sa FPGA, sinabi ng JTAG na ang mga koneksyon ng PCB board ay maayos.

Sa totoo lang, kasama sa Joint Test Action Group ang apat na logic signal na TDI, TDO, TMS at TCK. At ang mga signal na ito ay kailangang konektado sa isang partikular na paraan. Sa una, ang TMS at TCK ay konektado sa parallel sa lahat ng mga IC ng JTAG.

  Koneksyon ng TMS at TCK
Koneksyon ng TMS at TCK

Pagkatapos nito, ang TDI at TDO ay konektado para sa pagbuo ng isang chain. Tulad ng makikita mo, ang bawat IC na sumusunod sa JTAG ay may kasamang 4-pin na ginagamit para sa JTAG kung saan ang 3-pin ay mga input at ang 4th pin ay output. Ang ikalimang pin tulad ng TRST ay opsyonal. Karaniwan, ang mga JTAG pin ay hindi ibinabahagi para sa iba pang mga layunin.

  Mga koneksyon ng TDI at TDO
Mga koneksyon ng TDI at TDO

Sa pamamagitan ng paggamit ng Joint Test Action Group, ang lahat ng IC ay gumagamit ng boundary testing na ang orihinal na dahilan ay nilikha ng JTAG. Sa kasalukuyan, ang paggamit ng protocol na ito ay pinalawig upang payagan ang iba't ibang bagay tulad ng pag-configure ng mga FPGA at pagkatapos nito ay ginagamit ang JTAG sa FPGA core para sa mga layunin ng pag-debug.

Arkitektura ng JTAG

Ang arkitektura ng JTAG ay ipinapakita sa ibaba. Sa ganitong arkitektura, ang lahat ng signal sa pagitan ng core logic ng device at ang mga pin ay naaantala sa pamamagitan ng serial scan path na tinatawag na BSR o Boundary Scan Register. Kasama sa BSR na ito ang iba't ibang boundary scan 'cells'. Sa pangkalahatan, ang mga boundary scan cell na ito ay hindi nakikita ngunit magagamit ang mga ito upang magtakda o magbasa ng mga value sa loob ng test mode mula sa mga pin ng device.

  Arkitektura ng JTAG
Arkitektura ng JTAG

Ang interface ng JTAG na tinatawag na TAP o Test Access Port ay gumagamit ng iba't ibang signal para sa pagsuporta sa boundary scan operation tulad ng TCK, TMS, TDI, TDO, at TRST.

  • Ang signal ng TCK o Test Clock ay nagsi-synchronize lamang sa mga panloob na operasyon ng isang makina ng estado.
  • Ang TMS o Test Mode Select signal ay na-sample sa tumataas na gilid ng isang test clock signal para sa pagpapasya sa susunod na estado.
  • Ang TDI o Test Data In signal ay nagpapahiwatig ng inilipat na data sa pagsubok na device kung hindi man ay programming logic. Kapag nasa tamang estado na ang inside state machine, na-sample ito sa tumataas na gilid ng TCK.
  • Ang signal ng TDO o Test Data Out ay nagpapahiwatig ng inilipat na data ng test device kung hindi man ay programming logic. Kapag nasa tamang estado na ang inside state machine, valid ito sa bumababang gilid ng TCK
  • Ang TRST o Test Reset ay isang opsyonal na pin na ginagamit upang i-reset ang state machine ng TAP controller.

TAP Controller

Ang pansubok na access point sa arkitektura ng JTAG ay binubuo ng isang TAP controller, isang rehistro ng pagtuturo at mga rehistro ng data ng pagsubok. Kasama sa controller na ito ang testing state machine na may pananagutan sa pagbabasa ng mga signal ng TMS at TCK. Dito, ang data i/p pin ay ginagamit lamang upang mag-load ng data sa mga boundary cell sa pagitan ng IC core at physical pins, at mag-load din ng data sa isa sa mga data registers o sa instruction register. Ang data o/p pin ay ginagamit para sa pagbabasa ng data mula sa alinman sa mga register o boundary cell.

Ang makina ng estado ng TAP controller ay kinokontrol ng TMS at ito ay inorasan ng TCK. Gumagamit ang state machine ng dalawang path para sa pagtukoy ng dalawang magkaibang mode tulad ng instruction mode at data mode.

Nagrerehistro

Mayroong dalawang uri ng mga rehistro na magagamit sa loob ng boundary scan. Ang bawat sumusunod na device ay may kasamang min dalawa o mas mataas na data register at isang instruction register.

Pagpaparehistro ng Pagtuturo

Ang rehistro ng pagtuturo ay ginagamit upang hawakan ang kasalukuyang pagtuturo. Kaya ang data nito ay ginagamit ng TAP controller upang magpasya kung ano ang isasagawa sa mga signal na nakuha. Kadalasan, ang data ng rehistro ng pagtuturo ay maglalarawan kung alin sa mga data na nagrerehistro ng mga senyales ang dapat ipasa.

Mga Rehistro ng Data

Ang mga rehistro ng data ay magagamit sa tatlong uri ang BSR (Boundary Scan Register), ang BYPASS at ang ID CODES na rehistro. At gayundin, maaaring naroon ang iba pang mga rehistro ng data, gayunpaman hindi sila kinakailangan bilang elemento ng pamantayan ng JTAG.

Boundary Scan Register (BSR)

Ang BSR ay ang pangunahing rehistro ng data ng pagsubok na ginagamit upang ilipat ang data mula at papunta sa mga I/O pin ng device.

BYPASS

Ang bypass ay isang single-bit na rehistro na ginagamit upang magpasa ng data mula sa TDI – TDO. Kaya pinapayagan nito ang mga karagdagang device sa loob ng isang circuit na masuri ng pinakamababang overhead.

MGA ID CODE

Kasama sa ganitong uri ng rehistro ng data ang ID code pati na rin ang revision number para sa device. Kaya pinapayagan ng data na ito ang device na maikonekta sa BSDL (Boundary Scan Description Language) file nito. Kasama sa file na ito ang mga detalye ng configuration ng Boundary Scan para sa device.

Ang pagtatrabaho ng JTAG ay, sa simula, ang mode ng pagtuturo ay pinili kung saan ang isa sa mga estado sa mode na 'path' ay nagbibigay-daan sa operator na orasan sa loob ng isang pagtuturo ng TDI. Pagkatapos nito., bubuo ang makina ng estado hanggang sa muling ayusin ito. Ang susunod na hakbang para sa karamihan ng mga tagubilin ay ang piliin ang data mode. Kaya sa mode na ito, ang data ay na-load sa pamamagitan ng TDI upang basahin mula sa TDO. Para sa TDI at TDO, ang mga path ng data ay isasaayos alinsunod sa pagtuturo na na-clock in. Kapag tapos na ang read/write operation, muling bubuo ang state machine sa reset state.

Pagkakaiba sa pagitan ng JTAG vs UART

Ang pagkakaiba sa pagitan ng JTAG at UART ay kinabibilangan ng mga sumusunod.

JTAG

UART

Ang terminong 'JTAG' ay nangangahulugang Joint Test Action Group. Ang termino ' UART ” ay nangangahulugang Universal Asynchronous Receiver/Transmitter.
Ito ay isang kasabay na interface na gumagamit ng inbuilt na hardware para sa pagprograma ng flash . Ang UART ay isang asynchronous na interface na gumagamit ng bootloader na tumatakbo sa loob ng memorya.
Ito ay isang hanay ng mga test port na ginagamit para sa pag-debug ngunit maaari ding gamitin sa program firmware (na karaniwang ginagawa).

Ang UART ay isang uri ng chip na kumokontrol sa mga komunikasyon papunta at mula sa isang device, gaya ng microcontroller, ROM, RAM, atbp. Kadalasan, ito ay isang serial connection na nagbibigay-daan sa amin na makipag-ugnayan sa isang device.
Available ang mga ito sa apat na uri ng TDI, TDO, TCK, TMS at TRST. Available ang mga ito sa dalawang uri ng dumb UART at FIFO UART.
Ang Joint Test Action Group ay serial programming o data access protocol na ginagamit sa interfacing ng mga microcontroller at kaugnay na device. Ang UART ay isang uri ng chip kung hindi man ay sub-component ng microcontroller na ginagamit upang magbigay ng hardware para sa pagbuo ng asynchronous serial stream tulad ng RS-232/RS-485.
Ang mga bahagi ng JTAG ay Mga Processor, FPGA, mga CPLD ,  atbp. Ang mga bahagi ng UART ay CLK generator, I/O shift register, nagpapadala o tumanggap ng mga buffer, buffer ng data ng system ng bus, nagbabasa o sumulat ng control logic, atbp.

JTAG Protocol Analyzer

Ang JTAG Protocol Analyzer tulad ng PGY-JTAG-EX-PD ay isang uri ng Protocol Analyzer kasama ang ilang feature para makuha at i-debug ang komunikasyon sa pagitan ng host at disenyo na sinusubok. Ang ganitong uri ng analyzer ay ang nangungunang instrumento na nagbibigay-daan sa pagsubok at mga inhinyero ng disenyo para sa pagsubok sa mga partikular na disenyo ng JTAG para sa mga detalye nito sa pamamagitan ng pag-aayos sa PGY-JTAG-EX-PD tulad ng Master o Slave upang makabuo ng trapiko ng JTAG at mag-decode ng mga decode packet ng Protocol ng Joint Test Action Group.

  Protocol Analyzer
Protocol Analyzer

Mga tampok

Ang mga tampok ng JTAG protocol analyzer ay kinabibilangan ng mga sumusunod.

  • Sinusuportahan nito ang hanggang 25MH ng mga frequency ng JTAG.
  • Ito ay bumubuo ng JTAG trapiko at protocol decode para sa Bus nang sabay-sabay.
  • Mayroon itong JTAG Master Capability.
  • Variable JTAG Data bilis at Duty cycle.
  • Mga Pagkaantala sa TDI at TCK na tinukoy ng user.
  • Mag-host ng computer na USB 2.0 o 3.0 na interface.
  • Pagsusuri ng Error sa loob ng Protocol Decode
  • Protocol decoded bus timing diagram.
  • Patuloy na pag-stream ng data ng protocol sa host computer para sa pagbibigay ng malaking buffer.
  • Listahan ng aktibidad ng protocol.
  • Sa iba't ibang bilis, maaaring isulat ang isang script ng ehersisyo para sa pagsasama-sama ng maramihang pagbuo ng data frame.

Timing Diagram

Ang timing diagram ng JTAG protocol ay ipinapakita sa ibaba. Sa sumusunod na diagram, ang TDO pin ay nananatili sa loob ng mataas na kondisyon ng impedance maliban sa isang shift-IR/shift-DR controller state.
Sa mga kundisyon ng controller ng shift-IR at Shift-DR, ina-update ang TDO pin sa bumababang gilid ng TCK sa pamamagitan ng Target at na-sample sa tumataas na gilid ng TCK sa pamamagitan ng Host.

Parehong ang TDI at TMS pin ay na-sample lang sa tumataas na gilid ng TCK sa pamamagitan ng Target. Na-update sa bumababang gilid kung hindi man ay TCK sa pamamagitan ng Host.

  JTAG Timing Diagram
JTAG Timing Diagram

Mga aplikasyon

Ang Mga aplikasyon ng JTAG isama ang mga sumusunod.

  • Ang Joint Test Action Group ay madalas na ginagamit sa Mga Processor para sa pagbibigay ng karapatan sa pagpasok sa kanilang emulation o debug functions.
  • Ginagamit ito ng lahat ng CPLD at FPGA bilang isang interface upang magbigay ng access sa kanilang mga function ng programming.
  • Ginagamit ito para sa pagsusuri ng mga PCB nang walang pisikal na pag-access
  • Ginagamit ito para sa mga pagsubok sa pagmamanupaktura sa antas ng board.

Kaya, ito ay tungkol sa lahat isang pangkalahatang-ideya ng JTAG - pagsasaayos ng pin, nagtatrabaho sa mga application. Ang pamantayang pang-industriya na JTAG ay ginagamit para sa pag-verify ng disenyo pati na rin sa pagsusuri ng PCB pagkatapos ng paggawa. Narito ang isang tanong para sa iyo, ang ibig sabihin ng JTAG?