JTAG
![]() | Ten artykuł od 2016-03 wymaga zweryfikowania podanych informacji. Należy podać wiarygodne źródła w formie przypisów bibliograficznych. Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte. Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary) Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu. |
JTAG (ang. Joint Test Action Group) to nazwa standardu IEEE 1149.1 definiującego protokół używany do testowania połączeń na płytkach drukowanych, stosowany także do uruchamiania i programowania układów programowalnych i systemów mikroprocesorowych. Żeby można było wykorzystywać JTAG do wymienionych celów, układy scalone umieszczone w testowanym systemie muszą posiadać wewnątrz warstwę sprzętową tego interfejsu. Głównym elementem tego interfejsu jest kontroler TAP oparty na maszynie stanów dedykowanej debugowaniu i niezależnej od podstawowych zadań mikrokontrolera zawierającego wbudowany JTAG. Jednym z najważniejszych założeń standardu JTAG jest możliwość programowania układu w gotowym urządzeniu, bez konieczności odłączania (ang. In-System Programming, w skrócie ISP).
Linie sygnałowe interfejsu JTAG, to:
- TDI (ang. Test Data In) – Wejście danych,
- TDO (ang. Test Data Out) – Wyjście danych,
- TCK (ang. Test Clock) – Wejście sygnału zegarowego,
- TMS (ang. Test Mode Select) – Wybór trybu pracy,
- TRST (ang. Test Reset) – Zerowanie (opcjonalne).
JTAG działa na zasadzie automatu 16-stanowego o alfabecie wejściowym TMS=0/TMS=1. Reset procesu programowania odbywa się na dwa sposoby:
- poprzez opcjonalne wejście TRST,
- po ustawieniu TMS=1 na 5 cykli zegara.
Możliwe jest programowanie kilku układów jednocześnie – wówczas tworzy się tzw. łańcuch urządzeń połączonych szeregowo. Na poniższym schemacie zaprezentowany został sposób łączenia kolejnych układów:
![Łańcuch JTAG dla trzech układów](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Jtag_chain.svg/500px-Jtag_chain.svg.png)
Zobacz też
- programator
- SPI
Linki zewnętrzne
- Co to jest JTAG i w jaki sposób mogę z niego skorzystać? XJTAG