Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych



Podobne dokumenty
mgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group

Technika Cyfrowa i Mikroprocesory

Magistrala JTAG (metoda testowania / programowania)

ZL10PLD. Moduł dippld z układem XC3S200

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

Automatyczne testowanie w układach FPGA

PSM niebanalne Flashe

Wstęp Architektura... 13

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Architektura komputerów

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Opis przedmiotu zamówienia CZĘŚĆ 1

Opracował: Jan Front

Mikrokontrolery AVR techniczne aspekty programowania

Opis przedmiotu zamówienia

Metody testowania Magistrala JTAG

dokument DOK wersja 1.0

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Systemy uruchomieniowe

Temat: Pamięci. Programowalne struktury logiczne.

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Szkolenia specjalistyczne

Elementy cyfrowe i układy logiczne

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Programowalne Układy Cyfrowe Laboratorium

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Architektura komputerów. Układy wejścia-wyjścia komputera

ZL19PRG. Programator USB dla układów PLD firmy Altera

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ARS3 RZC. z torem radiowym z układem CC1101, zegarem RTC, kartą Micro SD dostosowany do mikro kodu ARS3 Rxx. dokument DOK wersja 1.

LEKCJA TEMAT: Zasada działania komputera.

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Systemy wbudowane. Paweł Pełczyński

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

2. Architektura mikrokontrolerów PIC16F8x... 13

RODZAJE PAMIĘCI RAM. Cz. 1

Moduł wspierający diagnostykę i sprzętowe debugowanie

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

System on Chip na miarę S P R Z Ę T

MikloBit ul. Cyprysowa 7/ Jaworzno. JTAG + ISP dla AVR. rev

Ultradźwiękowy generator mocy MARP wersja Dokumentacja techniczno-ruchowa

Elektronika i techniki mikroprocesorowe

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

PL B1 (19) PL (11) (12) OPIS PATENTOWY (13) B1. (51) Int.Cl.7: G 06F 3 /1 2 G06K 15/02 G06F 17/60 G07G 1/12

MIKROKONTROLERY I MIKROPROCESORY

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Układy sekwencyjne. 1. Czas trwania: 6h

Tester sterownika Q1 wymagania

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

Język opisu sprzętu VHDL

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Wykład II. Pamięci półprzewodnikowe. Studia Podyplomowe INFORMATYKA Architektura komputerów

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Kod produktu: MP01611-ZK

Mikroprocesor Operacje wejścia / wyjścia

Rok akademicki: 2030/2031 Kod: EIT s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

Układy FPGA w przykładach, część 1

Programowanie sterowników PLC wprowadzenie

Układy programowalne. Wykład z ptc część 5

Wykład Mikroprocesory i kontrolery

dr inż. Jarosław Forenc

Hardware mikrokontrolera X51

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

Politechnika Warszawska

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Kod produktu: MP01611-ZK

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

PROGRAMOWALNE STEROWNIKI LOGICZNE

(57) Tester dynamiczny współpracujący z jednej strony (13) B1 (12) OPIS PATENTOWY (19) PL (11) PL B1. (54) Tester dynamiczny

Urządzenia zewnętrzne

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Narzędzia programowe

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

Elementy składoweµc - przypomnienie

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Gotronik. Programator SuperPro 5000E produkcji Xeltek

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Technika Mikroprocesorowa

Program EDYTOR-AS-OUX

ARS3-MODEM dokumentacja modemu radiowego do lokalnej transmisji danych w wolnych pasmach 433MHz i 868MHz

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

ZL11PRG v.2. Uniwersalny programator ISP. Odpowiednik: Byte Blaster II DLC5 Programmer AT89ISP STK-200 Lattice ISP ARM Wiggler

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Opis efektów kształcenia dla modułu zajęć

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

Zestaw stacji wywoławczej PVA-CSK PAVIRO

Transkrypt:

Politechnika Śląska w Gliwicach Wydział Automatyki Elektroniki i Informatyki Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych Promotor dr inż. Jacek Loska Wojciech Klimeczko

1.Co to jest JTAG JTAG (IEEE 1149.1) W 1985 roku powstaje organizacja pod nazwą Join Test Action Group stowarzyszająca około 200 producentów układów elektronicznych (JTAG). W 1990 roku rozwiązania wprowadzone do produkcji układów elektronicznych przez stowarzyszenie JTAG zostają uznane za międzynarodowy standard pod nazwą IEEE Std 1149.1 (Institute of Electrical and Electronics Engineers) IEEE 1149.1 Test Access Port and Boundary-Scan Architecture Boundary Scan pozwala na kompletne sterowanie oraz obserwowalnośś wyprowadzeń układu scalonego zgodnego z JTAG realizowane za pomocą oprogramowania (bez potrzeby podłączania urządzeń testujących!!!) Układy pracują w ich normalnym trybie lub w sposób umożliwiający analizę wejść oraz ustawianie stanów wyjść

2.Po co powstał JTAG 1.Każdy układ produkowany przez firmę elektroniczną musi zostać poddany testom przed wprowadzeniem do sprzedaży. 2. Wraz z rozbudową układów elektronicznych pojawią się problemy w przeprowadzeniu testów z takim układami.

Zalety JTAG Ustawianie oraz obserwacja stanów bez fizycznego połączenia Testowe sygnały mogą być generowane nie tylko na wejściu płytki ale również w dowolnym punkcie wewnętrznym bez potrzeby przerywania połączeń Redukcja punktów testowych na płytkach Automatyczna identyfikacja układów Zauważono że standard IEEE 1149.1 (JTAG) może być wykorzystany nie tylko na etapie testowania urządzeń, ale również w czasie ich wykorzystania. Wtedy magistrala JTAG używana jest do sterowania urządzeniem i monitoringu parametrów jego pracy. Standard umożliwiający współprace urządzeń różnych producentów Wady JTAG Zwiększona powierzchnia układu potrzebna na realizację obwodu Boundary Scan Potrzebne dodatkowe wyprowadzenia Dodatkowy koszt procesu projektowania Zmniejszenie szybkości działania układu przez wprowadzone dodatkowe bloki Zwiększony pobór mocy

Ilość bramek potrzebnych do zaimplementowania Boundary Scan Test dla układu z 10000 bramek i 40 wyprowadzeń Rejestry Boundary Scan Kontroler TAP Rejestr instrukcji Rejestr Bypass Pozostałe RAZEM 680 131 28 9 20 868

3.Budowa JTAG Obwód magistrali diagnostycznej: 1. Krawędziowe rejestry diagnostyczne 2. Rejestry ominięcia 3. Rejestr instrukcji 4. Opcjonalne rejestry specjalne 5. Układ zarządzający TAP W skład magistrali krawędziowej wchodzą także 4 linie: 1. TCK Wejście sygnału zegarowego, taktującego automat TAP oraz rejestr instrukcji. 2. TMS Wejście sterujące pracą automatu TAP. 3. TDI Szeregowe wejście danych do konfiguracji i testowania. 4. TDO Szeregowe wyjście danych wyprowadzanych z rejestru BST. 5. TRST Wejście sygnału zerującego TAP i inne elementy BST.

Co możemy testować: połączenie między elementami połączenia z elementami nie zawierającymi obwodów testowych połączenia z pamięciami RAM,Flash połączenia z wejściami układu Twórcy interfejsu JTAG założyli, że nie ma potrzeby szczegółowego testowania wewnętrznych fragmentów układów, o których poprawną pracę powinien zadbać projektant na etapie projektowania struktury logicznej.

4. Rozkazy JTAG 1149.1 definiuje 9 instrukcji, 3 są obowiązkowe Instrukcje obowiązkowe: BYPASS, SAMPLE/PRELOAD i EXTEST instrukcje nieobowiązkowe: INTEST, RUNBIST, CLAMP, HIGHZ, IDCODE oraz USERCODE Kody instrukcji i ich długość definiowane przez producenta ukladu (minimum 2 bity długości instrukcji) Producent układu może zdefiniować dowolną liczbę specyficznych instrukcji oraz zdefiniować ich działanie

Instrukcja BYPASS (wymagany) Układ pozostaje w normalnym trybie pracy Jednobitowy rejestr miedzy TDI a TDO Dane są przesyłane przez układ bez zakłócania pracy Nie jest przerywany łańcuch JTAG Wysłanie do układu nieznanego rozkazu wprowadza go w stan bypass

Instrukcja SAMPLE/PRELOAD (wymagany) Układ pozostaje w normalnym trybie pracy Boundary-Scan Register wpięty miedzy TDI oraz TDO Pobiera funkcjonalne dane wchodzące i wychodzące z układu Dane z Boundary-Scan Register dostępne podczas operacji skanowania (zawierające wejścia i wyjścia układu) Ładuje do BSC dane wykorzystywane przez rozkaz EXTEST ładuje dane przed wejściem do trybu testowania

Instrukcja EXTEST (wymagany) Układ w zewnętrznym trybie testowym Boundary-Scan Register wpięty miedzy TDI oraz TDO BSR steruje danymi wychodzącymi z układu Przed operacja skanowania dane wejściowe zapisywane do BSR Umożliwia np. sprawdzanie połączeń między układami

PROGRAMOWANIE UKŁADÓW LOGICZNYCH

1. Klasyczne metody programowania Pierwszymi układami programowalnymi, jakie pojawiły się na rynku, były jednokrotnie programowalne pamięci PROM. W skutek rozwoju technologii układów półprzewodnikowych powstały matryce pamięciowe EPROM, które można programować wielokrotnie. Kolejnym krokiem w rozwoju układów programowalnych było powstanie pamięci EEPROM. Do konfigurowania (programowania) układów PLD niezbędne były specjalne programatory. Szybki rozwój układów powodował, że użytkownicy byli zmuszeni do inwestowania w coraz nowszy, kosztowny i mało uniwersalny sprzęt. Stopniowa unifikacja algorytmów i parametrów programowania układów pochodzących od różnych producentów umożliwiła powstanie programatorów uniwersalnych. Obecne programatory obsługują co najmniej kilka tysięcy różnych układów.

Pamięci SRAM Komórki pamięci w niektórych układach FPGA i niektórych CPLC o dużej gęstości upakowania wykonane są w technologii SRAM. Takie układy wymagają konfigurowania po każdym jego włączeniu. Do tego celu służą wbudowane w układy FPGA interfejsy, których zadaniem jest przepisanie zawartości zewnętrznej pamięci PROM,EPROM,EEPROM do wewnętrznej pamięci konfiguracji. Metody konfigurowania układów PLD, za pomocą zewnętrznej pamięci, jest ogromną niedogodnością podczas prac konstrukcyjnych związanych z wielokrotnym przepro gramowywaniem pamięci nieulotnych. Znacznie lepszą metodą jest bezpośrednie modyfikowanie zawartości SRAM za Pomocą sprzętowego interfejsu z pominięciem nieulotnej pamięci konfiguracyjnej. Tradycyjne układy PLD Układ nie zaprogramowany Układy PLD Z interfejsem JTAG Układ nie zaprogramowany Programowanie za pomocą programatora Montaż Montaż Testowanie Programowanie i testowanie

Programowanie przez JTAG Standard JTAG pierwotnie, miał służyć do testowania złożonych modułów cyfrowych po ich zmontowaniu na płytkach drukowanych. Pierwszym rozszerzeniem funkcjonalnym, dodanym do podstawowego zestawu funkcji JTAG-a, było umożliwienie programowania pamięci EEPROM lub Flash. Wraz z pojawieniem się układów z pamięciami SRAM, po raz kolejny rozszerzono specyfikację standardu. Obydwa procesy czyli testowanie i programowanie układów z interfejsem JTAG przebiegają w podobny sposób. Najważniejszą różnicą jest to iż przy testowaniu wykorzystuje się rejestry ścieżki krawędziowej, a podczas programowania rejestry ISP/ICR. Rejestry te są opcjonalnym rozszerzeniem struktury interfejsu. Do opisanych wcześniej 3 obowiązkowych instrukcji, w przypadku układów programowalnych dochodzą jeszcze dwie: IDCODE umożliwia odczytanie sygnatury układu. USERCODE umożliwia odczytanie sygnatury zapisanego projektu.

Ponieważ w opisie standardu JTAG nie uwzględniono rejestrów ISP/ICR, każdy producent układów programowalnych stosuje własne zestawy,ściśle dopasowane do układu (brak wpływu na kompatybilność standaryzowanych fragmentów układu, przeznaczonych do testowania). W przypadku programowania wielu układów połączonych szeregowo, programowany jest kolejno każdy układ znajdujący się w szeregu. Dzięki możliwości implementacji własnych rozwiązań, niektórzy producenci układów zaimplementowali możliwość jednoczesnego programowania wszystkich układów znajdujących się w łańcuchu.

Po co programować przez JTAG. Wszelkie urządzenia, układy dostępne na rynku są wyposażone w złącza transmisji szeregowej np. RS232 czy USB, umożliwiające ich programowanie.