Użycie złącza JTAG w systemach mikroprocesorowych do
Transkrypt
Użycie złącza JTAG w systemach mikroprocesorowych do
Użycie złącza JTAG w systemach mikroprocesorowych do testowania integralności połączeń systemu oraz oprogramowania zainstalowanego w pamięciach stałych. JTAG – Joint Test Action Group mgr inż. Tadeusz Andrzejewski Plan prezentacji 1. Normy określające złącze JTAG, 2. Czynniki wymuszające testowanie układów, 3. Omówienie złącza JTAG, 4. Przedstawienie koncepcji testu oprogramowania umieszczonego w pamięciach stałych. Normy określające JTAG 1. IEEE 1149.1 - 2001 Standard Test Access Port and BoundaryScan Architecture 2. IEEE 1149.4 - 1999 Standard for a Mixed-Signal Test Bus 3. IEEE 1149.6 - 2003 Standard for Boundary-Scan Testing of Advanced Digital Networks Czynniki wymuszające implementację testów wbudowanych 1. Potrzeba usunięcia wszystkich błędów występujących w układzie, 2. Obniżenie kosztów wprowadzenia produktu na rynek, 3. Trudności w serwisowaniu urządzeń pozbawionych testów wewnętrznych. Przykład połączenia: wyjście układu steruje wejścia dwóch układów IC #1 Core Logic IC #2 Core Logic Core Logic IC #3 Przykłady uszkodzonych połączeń IC#1 IC#2 IC#3 Vcc IC#1 IC#2 IC#3 Przykłady uszkodzonych połączeń Gnd IC#1 IC#2 IC#3 IC#1 IC#2 IC#3 Bond Wire Silicon Package Core Logic Pin Idea testu połączenia Serial Data in IC Serial Data Out IC BSC BSC BSC BSC BSC BSC BSC BS C BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC BSC Core Logic JTAG Device 1 BSC – Boundary Scan Cell Interconnection to Be Tested Core Logic BSC JTAG Device 2 Idea testu połączenia Serial Data in Serial Data Out BSC BSC BSC BSC BSC BS C BSC BS C BS C BSC BSC BS C BSC BS C BSC BS C BSC BS C BSC BS C BSC BS C BSC BS C BSC BS C BSC Core Logic BSC BSC BSC BS C BSC Core Logic BS C BSC BS C BSC BS C BSC BS C BSC BS C Core Logic BS C Idea testu połączenia Serial Data in Serial Data Out BSC BSC BSC BSC BSC BS C BSC BS C BS C BSC BSC BS C BSC BS C BSC BS C BSC BS C BSC BS C BSC BS C BSC BS C BSC BS C BSC Core Logic BSC BSC BSC BS C BSC Core Logic BS C BSC BS C BSC BS C BSC BS C BSC BS C Core Logic BS C Architektura układu wyposażonego w JTAG BSC BSC BSC BSC BSC TDI Core Logic BSC BSC BSC BSC BSC BSC BSC BSC User Data Register Bypass Register Instruction Register TDI – test data input TMS – test mode select TCK – test clock input TDO – test data output TAP – test acces port TMS TCK TDO BSC TAP Stany wewnętrzne układu logicznego TAP 1 Test Logic Reset 0 0 Run Test/Idle 1 1 Select DR Scan 0 Capture DR 1 Select IR Scan 1 0 Capture IR 0 0 0 Shift DR Shift IR 1 1 Exit1 DR Exit1 IR Pause IR 1 1 Exit2 DR 1 0 0 Exit2 IR 1 Update DR DR – data register IR – instruction register 1 0 Pause DR 1 0 1 0 0 1 0 Update IR 1 0 0 Zależności czasowe TMS TDI t JCP t t JCH t JCL JPSU t JPH TCK t t t JPZX JPXZ JPCO TDO t JSSU Sygnał testowany Sygnał sterowany t JSZX t JSH t JSCO t JSXZ Zależności czasowe wybór IR TCK TMS TDI TDO TAP_STATE SHIFT_IR TAP_TEST/IDLE TAP_LOGIC/RESET TAP – test acces port SELECT_IR_SCAN SELECT_DR_SCAN EXIT1_IR CAPTURE_IR Schemat wyjścia układu dla fazy Capture rozkazu SAMPLE/PRELOAD SDO 0 0 D Q D Q D Q D Q D Q D Q 1 1 INJ OEJ 0 0 1 1 OUTJ 0 0 1 Capture Registers SDI SHIFT CLOCK 1 Mode Registers UPDATE MODE Wymagane rozkazy złącza JTAG ● ● ● BYPASS – układ zachowuje swoje funkcje. Wejście TDI jest połączone z wyjściem TDO przez wewnętrzny jednobitowy rejestr. Dane z wejścia są przekazywane na wyjście bez zmian, SAMPLE/PRELOAD – układ zachowuje swoje funkcje. Rejestr BR (Boundary-Scan Register) jest podłączony między TDI i TDO. BR jest dostępny przez operację skanowania rejestru, EXTEST – rejestr BR jest podłączony między TDI i TDO. BR jest dostępny przez operację skanowania rejestru. ● ● ● INTEST – rejestr BR jest podłączony między TDI i TDO. Wewnętrzna logika układu może być wysterowywana i odczytywana, RUNBIST – układ jest wprowadzany w tryb wewnętrznego autotestu. Między TDI i TDO jest umieszczany rejestr zdefiniowany przez producenta układu. Stany wewnętrzne układu nie kolidują z układami sąsiednimi, CLAMP – ustawia wyjścia układu stosownie do zawartości rejestru BR i podłącza Bypass Register między TDI i TDO. Przed wykonaniem tej instrukcji należy ustawić właściwą zawartość rejestru BR instrukcją SAMPLE/PRELOAD, ● ● ● HIGHZ – wszystkie wyjścia i wejścia układu ustawia w stan wysokiej impedancji i podłącza Bypass Register między TDI i TDO, IDCODE – układ zachowuje swoją funkcjonalność. Między TDI i TDO umieszczany jest 32 bitowy rejestr zawierający informację o producencie, typie układu, wersji, USERCODE – układ zachowuje swoją funkcjonalność. Między TDI i TDO podłączany jest rejestr danych zdefiniowany przez producenta układu. Minimalna ilość testów: NT=log NET/ log 2 Jeśli weźmiemy pod uwagę zwarcia do 1 i do 0 ilość testów wynosi: IT = NT + 2 W przypadku konieczności testowania sieci logicznych ilość testów rośnie i zaczyna zależeć od stopnia skomplikowania testowanego układu. Przykład testu sieci Wektor N1 N2 N3 N4 N5 N6 N7 N8 1 0 0 0 0 1 1 1 1 2 0 0 1 1 0 0 1 1 3 0 1 0 1 0 1 0 1 Wektory dla poszczególnych sieci: N1 000 N3 010 N5 100 N7 110 N2 001 N4 011 N6 101 N8 111 Dodatkowe funkcje JTAG ● funkcje debuggera dla procesorów, ● testowanie układów wewnętrznych, ● analizatory stanów logicznych, ● programowanie pamięci wewnętrznej urządzeń, ● testowanie układów analogowych. Architektura połączeń Układ połączeń w obrębie urządzenia, typ połączenia: koło U2 U3 U1 TCK TDO TMS TDI U1 U2 Test Bus Controller U2 U3 U1 U3 Urządzenia z testerem wbudowanym Testery wbudowane umożliwiają przeprowadzenie testów przed każdym uruchomieniem urządzenia. Zalety: ● nie zostanie uruchomione urządzenie niesprawne, ● pomoc w serwisowaniu. Wady: ● koszty związane z dodatkowym sprzętem, długi czas uruchamiania urządzenia ● Testowanie oprogramowania zapisanego w pamięciach stałych. ● Oprogramowanie testujące może wygenerować na pinach układu procesora cykle podobne do cykli dostępu do pamięci, ● Tak uzyskane dane wyczytane z pamięci stałych mogą być weryfikowane w zewnętrznym kontrolerze, ● Zaletą takiego rozwiązania jest niezależność testu od oprogramowania umieszczonego w badanym systemie.