JTAG () 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: 500px|center|Łańcuch JTAG dla trzech układów

Zobacz też programator SPI

Linki zewnętrzne Co to jest JTAG i w jaki sposób mogę z niego skorzystać? XJTAG

Kategoria:Elektronika cyfrowa Kategoria:Obwody elektroniczne Kategoria:Standardy IEEE