3168.pdf
(
1351 KB
)
Pobierz
Dodatkowe materiały >>
Uniwersalny programator
JTAG/ISP
Mimo bogatej oferty na firmowe
programatory przeznaczone zarówno
dla określonej grupy układów, jak
i uniwersalnych, amatorzy nie ustają
w projektowaniu własnych konstrukcji.
Może to jest tak, jak z posiłkiem,
który inaczej smakuje, jak go sami
przygotujemy. Własnoręcznie opracowane
urządzenie powinno spełnić wszelkie
„zachcianki” autora, jeśli tylko możliwe
będzie osiągnięcie kompromisu pomiędzy
ceną i skomplikowaniem układu, a jego
funkcjonalnością.
Rekomendacje:
bardzo przydatne urządzenie dla każdego elektronika zajmującego
się programowaniem różnych typów układów, coraz trudniejszym
do spełnienia warunkiem jest jednak dostęp do komputera z portem
LPT.
Dostępne obecnie na rynku układy logiki pro-
gramowalnej (struktury CPLD i matryce FPGA)
oraz pamięci nieulotne z interfejsem szerego-
wym (np. DataFlash), są wyposażone w jeden
z wielu specjalizowanych interfejsów ISP (
In–
System Programming
), dzięki któremu możliwe
jest ich programowanie w systemie. Cecha ta,
pozwala na stosowanie mechanizmów konfigu-
racji lub programowania wbudowanej w struk-
turę układu scalonego (np. mikrokontrolera) pa-
mięci nieulotnej (typu EEPROM, bądź Flash) już
po umieszczeniu go na płytce drukowanej. Co
więcej, odbywa się to bez konieczności stosowa-
nia drogich i skomplikowanych programatorów
zewnętrznych, czy też demontażu układu. Za-
letami takiego rozwiązania są: skrócenie czasu
uruchomienia pojedynczego układu scalonego
(bądź całego systemu cyfrowego – pakietu),
a na dalszym etapie ułatwiona staje się również
wymiana oprogramowania, skrócenie czasu pro-
totypowania i produkcji urządzenia oraz dostęp
użytkownika do programowania zdalnego (np.
przez port USB lub Internet) bez konieczności
korzystania z autoryzowanego punktu serwiso-
wego.
Typowy interfejs ISP jest szybką, szeregową
i dwukierunkową magistralą, po której odbywa
się komunikacja z programowanym obiektem
– często, jak w przypadku mikrokontrolerów,
korzysta się z dostępnych w układzie scalonym
zasobów komunikacyjnych (np. portów SPI lub
UART). Do zaprogramowania układu za pośred-
nictwem ISP konieczne jest użycie przystawki
programującej, tj. prostego w budowie układu
elektronicznego (określanego, nieco na wy-
rost, programatorem) podłączanego do portu
komputera PC (najczęściej LPT), którego zada-
niem jest pośredniczenie w wymianie danych
z docelowym układem przez odpowiednie do-
AVT-5153
W ofercie AVT:
AVT–5153A – płytka drukowana
PODSTAWOWE PARAMETRY
• Płytka o wymiarach 60x80 mm
• Zasilanie 3...18 VDC (zalecane napięcie
3,3 V)
• Emulacja firmowych interfejsów: Altera By-
teBlaster II, Xilinx Parallel Cable III (DLC 5),
Lattice ispDownload Cable, ARM Wiggler,
TI MSP-FET, Kanda STK 200/300 i innych
• Programowane i konfigurowane układy:
CPLD i FPGA: Xilinx, Altera, Lattice oraz
mikrokontrolery z rdzeniem ARM, MSP430,
AVR, Atmel 8051
• Złącze programujące: IDC10
• Interfejs wyjściowy: JTAG, ISP lub inny
• Wybór interfejsu za pomocą pokrętła
• Podłączany do portu drukarkowego LPT
komputera
PROJEKTY POKREWNE
wymienione artykuły są w całości dostępne na CD
Tytuł artykułu
Nr EP/EdW
Kit
Programator procesorów 89CX051
EdW 3/2000 AVT-2502
Programator procesorów AVR
EdW 10/2001 AVT-2550
JuPIC – programator mikrokontrolerów PIC współpracujący z programem MPLAB
EP 3/2003 AVT-5100
UnlProg – uniwersalny programator ISP
EP 1/2004 AVT-560
Uniwersalny programator mikrokontrolerów PIC
EP 5-7/2004 AVT-573
Interfejs JTAG do procesorów AVR
EP 6/2004 AVT-581
Miniprogramator AT89Cx051
EP 11/2004 AVT-540
Programator JTAG dla układów MSP430
EP 3/2005 AVT-1409
Flash z ISP – JTAG
EP 3/2006 AVT-921
Programator ISP/ICP dla mikrokontrolerów ST7
EP 7/2006 AVT-937
Programator JTAG dla mikrokontrolerów STR9
EP 9/2006 AVT-947
Uniwersalny adapter dla programatorów AVR-ISP
EP 2/2008 AVT-1462
Programator AVRISP z interfejsem USB (STK500)
EP 7/2007 AVT-988
Adapter dla programatorów AVR ISP
EP 7/2007 AVT-1452
Ulepszony programator STK200
EdW 2/2008 AVT-2855
Programator USB AVR (STK500)
EP 2/2008 AVT-5125
32
ELEKTRONIKA PRAKTYCZNA 10/2008
Uniwersalny programator JTAG/ISP
pasowanie napięciowe sygnałów. W praktyce
jednak stosowanie łącza ISP może utrudniać
konstrukcję i prototypowanie urządzeń. Za-
stosowanie w danym projekcie mikrokon-
trolera (lub nierzadko kilku różnych), układu
programowalnego CPLD oraz struktury FPGA,
której plik konfiguracyjny jest przechowywany
w niewielkiej pamięci EEPROM, wymaga od
twórcy systemu wykorzystywania kilku różnych
magistral ISP (najczęściej niekompatybilnych ze
sobą). W konsekwencji nie można się obyć bez
kilku odmiennych w budowie przystawek (pro-
gramatorów). Niedogodność ta wynika z faktu,
iż każdy z producentów współczesnych ukła-
dów cyfrowych opracował i wypromował włas-
ne mechanizmy programowania i dedykowane
im narzędzia. Podobne problemy pojawiają
się także podczas realizacji szeregu projektów,
w których z reguły stosowane są różnego ro-
dzaju mikroprocesory (od prostych 8–bitowych
do złożonych 32–bitowych architektur) oraz
logika programowalna – układy te pochodzą
często z różnych rodzin, a co za tym idzie, wy-
posażone są w odmienne łącza ISP. Niedogod-
ności te są często sporą przeszkodą w praktyce
amatorskiej i półprofesjonalnej, tym bardziej,
że koszt zakupu kilku firmowych programato-
rów ISP jest dość znaczny.
Powyższe uwarunkowania skłoniły autora do
opracowania w miarę uniwersalnego, taniego
i łatwego w rozbudowie programatora – przy-
stawki, który posiadałby funkcje dostępne na
rynku firmowych interfejsów
ISP.
Na marginesie należy wy-
jaśnić istotną różnicę pomię-
dzy pojęciami programowania
i konfiguracji – wbrew pozorom
nie oznaczającymi tego samego.
Konfiguracja (w przypadku ukła-
dów logiki programowalnej) jest
terminem opisującym proces
inicjalizacji zawartości specjalnej
pamięci RAM układu FPGA od-
powiedzialnej za przechowywa-
nie tzw. kontekstu. Stąd matryce
FPGA bazujące na komórkach
RAM są często określane mia-
nem układów rekonfigurowal-
nych. Programowanie natomiast
dotyczy trwałego (nieulotnego)
zapisu informacji w układzie
scalonym – najczęściej za pomo-
cą ładunku elektrycznego (np.
komórek pamięci typu EEPROM,
Flash) lub rzadziej z użyciem
promienia lasera, bądź napięcia
o podwyższonej wartości (np.
komórki pamięciowe zawiera-
jące miniaturowe bezpieczniki).
Dlatego wszystkie układy CPLD
i niektóre FPGA (np. Actel czy
QuickLogic) wymagają właśnie
programowania.
Jako ciekawostkę można dodać, że interfejs
JTAG (tj. standard IEEE1149.1) – obecnie po-
wszechnie stosowany jako szyna programująca
i konfigurująca układy PLD oraz mikrokontro-
lery – został stworzony z myślą o testowaniu
wzajemnych połączeń pomiędzy układami
oraz połączeń pomiędzy układami i elemen-
tami stanowiącymi ich otoczenie. Umożliwiał
on również testowanie zarówno pojedynczych
struktur półprzewodnikowych, jak i złożonych
systemów cyfrowych (testowanie metodą tzw.
ścieżki krawędziowej). Standard ten był przez
wiele lat stosowany wyłącznie do tych celów.
Dopiero później wprowadzono jego rozsze-
rzenie o mechanizmy konfiguracji i progra-
mowania w systemie, co zaowocowało normą
IEEE1532. Szerzej na ten temat można prze-
czytać w [2, 3].
docelowym układem (np. procesorem) wluto-
wanym na płycie PCB w uruchamianym urzą-
dzeniu.
Schemat elektryczny programatora przed-
stawiono na
rys.
1
.
Dzięki zastosowaniu logiki
programowalnej CPLD firmy Xilinx z mikromo-
cowej rodziny
CoolRunner
(układ U2) uprosz-
czona została jego budowa wewnętrzna – wy-
korzystuje się tylko niewielką liczbą elementów
do jego konstrukcji. Dodatkowo pobór prądu
urządzenia jest bardzo niski.
Ogólnie rzecz biorąc, układ U2 odpowiada za
sprzętową emulację firmowych interfejsów pro-
gramatorów. Projekt zaszytego w nim układu
logicznego został opracowany w języku opisu
sprzętu VHDL, dzięki czemu możliwa jest łatwa
jego modyfikacja do własnych wymagań.
Do poprawnej pracy układu U2 wymagane
jest napięcie zasilania o wartości 3,3 V. Jest ono
uzyskiwane za pomocą popularnego stabiliza-
tora LDO (U1). Napięcie zasilające programator
(o wartości z zakresu 3...18 V) może być poda-
ne w dwojaki sposób: zewnętrznie – poprzez
złącze J1 lub doprowadzone wprost z obiektu
programowanego, tj. przez linię nr 4 złącza Z1
(zalecane rozwiązanie). Ponieważ układ U1 jest
regulatorem napięcia typu LDO, napięcie zasila-
jące programator może posiadać obniżoną war-
tość z zakresu 3...4 V. Poniżej wartości punktu
stabilizacji 3,3 V układ ten przenosi napięcie
z niewielkim spadkiem (rzędu miliwoltów). Ce-
cha ta pozwala na zasilanie programatora ty-
Opis układu
Moduł służy do programowania w systemie
układów cyfrowych (takich jak mikrokontrolery,
struktury programowalne PLD, pamięci Flash),
które są wyposażone w typowy szeregowy in-
terfejs programujący (np. JTAG, SPI lub I
2
C). Pro-
gramator ten spełnia rolę emulatora firmowej
przystawki (konwertera połączeń elektrycznych)
pomiędzy portem równoległym LPT komputera
PC, na którym jest uruchomione środowisko
projektowe z narzędziami wspierającymi pro-
gramowanie układu w systemie (np. WebPack
Xilinx dla matryc programowalnych PLD), oraz
Rys. 1. Schemat elektryczny programatora
33
ELEKTRONIKA PRAKTYCZNA 10/2008
WYKAZ ELEMENTÓW
programator
powym napięciem zasilania układów cyfrowych
o wartości 3,3 V.
Bardzo istotną i pożyteczną właściwością
zastosowanego układu PLD (U2) jest przystoso-
wanie jego linii I/O do współpracy ze standar-
dami napięciowymi 3,3 V i 5 V (tj. LVTTL i TTL)
– układ ten posiada tolerancję napięcia 5 V (
5V
Tollerant
).
Wybór typu emulowanego interfejsu pro-
gramatora odbywa się za pomocą nastawnika
binarnego (P1), który może wskazywać jedną
z szesnastu pozycji (tym samym można wybrać
jeden z szesnastu różnych programatorów).
Programator jest podłączany do komputera
PC przez złącze drukarkowe (LPT), które jest
najpopularniejszym sposobem komunikacji
pomiędzy środowiskiem projektowym (aplika-
cją) i obiektem docelowym, programowanym
przez złącze ISP.
Wszystkie linie I/O złącza LPT są doprowadzo-
ne do układu PLD, co pozwala na odwzorowanie
struktury logicznej dowolnego programatora
firmowego. Na potrzeby interfejsu ISP przewi-
dziano siedem dwukierunkowych linii, dostęp-
nych na złączu Z1 – linie te odpowiadają za ste-
rowanie programowanym układem. Wszystkie
wyprowadzenia I/O układu U2, pełniące funkcję
sygnałów emulowanych interfejsów, zostały za-
bezpieczone przed ich przypadkowym zwarciem
lub podaniem na nie zbyt wysokiego napięcia.
Osiągnięto to przez włączenie w ich obwód
szeregowych rezystorów (R2...R25). Rezystan-
cja tych elementów została tak dobrana, aby
ograniczyć również negatywny wpływ długości
zewnętrznych połączeń na jakość parametrów
sygnału cyfrowego przy zapewnieniu odpowied-
nio dużej szybkości narastania napięcia w liniach
ISP programatora.
Dioda D1 sygnalizuje obecność napięcia zasi-
lania 3,3 V oraz poprawną pracę programato-
ra. Na górnej stronie płytki PCB programatora
umieszczono tabelkę opisową, zawierającą skró-
cony opis pełnionych funkcji przez wyprowadze-
nia złącza Z1 w zależności od aktualnego poło-
żenia nastawnika P1. Płytka drukowana została
zaprojektowana z jednostronną warstwą ścieżek
i obustronnym obrysem elementów, natomiast
do budowy układu elektrycznego wykorzystano
ogólnie dostępne elementy SMD (z wyjątkiem
złącz), dzięki czemu uzyskano znaczną minia-
turyzację urządzenia, uproszczono jego montaż
i obniżono całkowity koszt wykonania.
ERD216RSZ), 16 położeń
Z1: gniazdo IDC10: proste ZL231–10PG (lub ką-
towe ZL231–10GK), do druku
moduł XJTAG
Rezystory
R1: 220
V
, SMD 0805
R2...R13: 100
V
, SMD 0805
R14…R25: 10 k
V
, SMD 0805
Kondensatory
C1, C2: 10
m
F/16V, SMD, tantalowy, typ B
C3...C6: 100 nF, SMD 0805
Półprzewodniki
U1: LE33CD, SMD SO8
U2: XCR3064XL–10VQ44C
D1: dioda LED, czerwona, 3 mm
Inne
J1: listwa kołkowa gold–pin, 2x1, raster
2,54 mm
J2: złącze DB25M: DHP8–25M, męskie, kątowe,
do druku
J3: listwa kołkowa gold–pin, 6x1, raster
2,54 mm
P1: zadajnik kodu ERD116RSZ (lub z gałką
Rezystory
R1..R7: 220
V
, SMD 0805
R8...R14: 10 k
V
, SMD 0805
Kondensatory
C1: 10
m
F/16 V, SMD, tantalowy, typ B
C2: 100 nF, SMD 0805
Półprzewodniki
D1: BAT43, SMD
D2: dioda LED, czerwona, 3 mm
U1: 74HC125, SMD
Inne
J1: złącze DB25M: DHP8–25M, męskie, kątowe,
do druku
J2: listwa kołkowa gold–pin, 6x1, raster
2,54 mm
wiązka przewodów połączeniowych CAB_A(B)
ną ostrożność, ponieważ posiada on niewielki
raster wyprowadzeń.
Uruchomienie programatora polega na za-
programowaniu układu U2 plikiem w formacie
JEDEC (*.jed), zawierającym obraz docelowej
konfiguracji. W tym celu należy podłączyć przez
łącze J3 (wyprowadzenia magistrali JTAG ukła-
du U2) firmowy programator Xilinx (np.
Paral-
lel Cable III
) lub jego funkcjonalny odpowied-
nik – zakupiony, albo wykonany samodzielnie
(w Internecie dostępnych jest wiele amatorskich
konstrukcji, firma Xilinx również udostępnia
schemat swojej oryginalnej konstrukcji). Autor-
skie opracowanie takiej przystawki umieszczono
też w tym artykule jako moduł uruchomieniowy
XJTAG (schemat ideowy oraz montażowy zo-
stały przedstawione na
rys.
3
i
4
). Jest on bar-
dzo prosty w budowie i nie wymaga szerszego
omówienia.
Moduł XJTAG należy podłączyć poprzez złą-
cze LPT do komputera PC, na którym zostało
zainstalowane darmowe środowisko projekto-
we
Xilinx ISE WebPack
. Program ten umożli-
wia kompilację i implementację projektów dla
układów programowalnych CPLD i FPGA firmy
Xilinx – jest on niezbędny w przypadku, gdy
zaistnieje potrzeba modyfikacji opisu sprzętu
(pliku VHDL) programatora oraz jego kompila-
cji. Darmową wersję pakietu instalacyjnego
ISE
WebPack
można pobrać ze strony Xilinx.com po
wcześniejszej rejestracji. Autor projektu zaleca
pobranie jednej ze starszych wersji środowiska
(dostępnych w dziale
ISE Classics
– kategoria
Design Tools
), np. v7.1i z dodatkowym plikiem
poprawek
ServicePack 4
(objętość plików insta-
lacyjnych kolejnych wersji znacznie przekracza
0,5 GB – w wersji v9.1i jest to już 1,4 GB!).
W przypadku gdy nie zamierzamy ingerować
w strukturę logiki programowalnej, a jedynie
chcemy zaprogramować układ U2, możemy
zainstalować specjalną, zubożoną i darmową
wersję środowiska
ISE WebPack
, zawierającą
niezbędne komponenty do programowania
i konfigurowania układów PLD Xilinx w postaci
aplikacji
iMPACT
. Taka dystrybucja oprogramo-
wania zajmuje w formie instalacyjnej zaledwie
około 40 MB dla wersji v6.3i (niestety, nie są
one obecnie dostępne na stronie WWW produ-
centa, autor artykułu dysponuje wersją v6.3i).
Po zaprogramowaniu układu U2 należy
sprawdzić całkowity pobór prądu, który po-
winien zawierać się w zakresie 5...10 mA. Ele-
menty użyte do budowy są ogólnodostępne.
Oferowane są przez większość witryn interne-
towych zajmujących się dystrybucją elementów
elektronicznych. Nastawnik kodowy P1 wystę-
puje w kilku wersjach – z pokrętłem lub z nacię-
ciem na śrubokręt, a liczba jego pozycji wynosi
10 lub 16 – wyboru właściwego modelu należy
dokonać po ewentualnej modyfikacji projektu
zawartego w układzie PLD programatora.
Eksploatacja
W logice programowalnej programatora
zaszyto kilka najbardziej popularnych obec-
nie firmowych interfejsów wspomagających
uruchamianie układów z wbudowanym łą-
czem ISP, takich jak struktury FPGA czy też
mikrokontrolery. W
tab.
1
przedstawiono
zależność położenia przełącznika P1 od ak-
tualnie wybranego interfejsu. Dla ułatwienia
pracy z urządzeniem, na górnej stronie płytki
drukowanej programatora umieszczono ta-
belkę opisową, w której znajduje się krótka
charakterystyka wyprowadzeń złącza Z1 oraz
nastawnika kodowego P1. Połączenia pomię-
dzy obiektem docelowym a programatorem
można wykonać za pomocą wiązki przewo-
dów lub przy użyciu wykonanej we własnym
zakresie 10–żyłowej tasiemki, zakończonej
obustronnie złączami zaciskanymi typu IDC.
Przed przystąpieniem do pracy należy usta-
wić przełącznikiem P1 właściwy tryb, podłączyć
gniazdo J2 (DB25) do portu równoległego LPT
komputera PC przy pomocy przedłużacza (za-
lecane jest, aby długość kabla nie przekraczała
2 m) oraz doprowadzić tasiemką wieloprze-
wodową (o długości nie większej niż 50 cm)
odpowiednie sygnały sterujące złącza IDC10
do programowanego elementu. Działanie pro-
Montaż i uruchomienie
Rozmieszczenie elementów po obu stronach
płytki drukowanej przedstawiono na
rys.
2
.
Montaż elementów należy rozpocząć od przylu-
towania elementów biernych. Następnie należy
zamontować złącza oraz dwa mostki (zworki)
na dolnej stronie elementów, oznaczone od-
cinkami i zakończone obustronnie punktami
lutowniczymi. W ostatniej kolejności montowa-
ne powinny być układy scalone. W przypadku
montażu układu U2 należy zachować szczegól-
34
ELEKTRONIKA PRAKTYCZNA 10/2008
Uniwersalny programator JTAG/ISP
Rys. 2. Schemat montażowy programatora (strona górna i dolna)
:= „0100”;
constant AVR: std_logic_vector(3 downto 0) :=
„0101”;
constant DATAFLASH: std_logic_vector(3 downto
0) := „0110”;
constant I2C: std_logic_vector(3 downto 0) :=
„0111”;
constant UNIVERSAL: std_logic_vector(3 downto
0) := „1000”;
[...]
PROGRAMMER <= not (N8 & N4 & N2 & N1);
[...]
––sterowanie wyjściem LPT13
process(PROGRAMMER, J3, J6, J7, LPT8)
begin
case PROGRAMMER is
when ALTERA =>
LPT13 <= J7;
when XILINX =>
LPT13 <= J3;
when LATTICE =>
LPT13 <= LPT8;
when ARM =>
LPT13 <= ‘1’;
when DATAFLASH =>
LPT13 <= J6;
when I2C =>
LPT13 <= J3;
when others =>
LPT13 <= ‘–’;
end case;
end process;
[...]
gramatora jest sygnalizowane czerwoną diodą
LED (D1).
Programator współpracuje poprawnie z ukła-
dami, których interfejs ISP jest zgodny ze stan-
dardem napięciowym LVTTL (3,3 V) lub TTL
(5 V), a także jest przystosowany do komuni-
kacji z portem równoległym LPT, operującym na
logice 5 V. Dopuszcza się również możliwość
programowania i konfigurowania układów
z magistralą ISP o poziomach logicznych zgod-
nych z LVTTL (2,5 V), np. matryc FPGA firmy Xi-
linx z interfejsem JTAG (układy serii Spartan 3).
W tym przypadku należy na liniach interfejsu
komunikacyjnego dobrać wartość rezystancji
szeregowych, ograniczających płynący przez nie
prąd (zaleca się wartości z zakresu 200...300
V
).
Problem ten został szerzej opisany na łamach EP
w [1].
Schematy logiczne wszystkich emulowa-
nych przez programator interfejsów zostały
zawarte w materiałach dodatkowych, dołą-
czonych na płycie CDEP10/2008B. Schematy
elektryczne interfejsów firmowych można
znaleźć również w Internecie. Jedynie w przy-
padku dwóch magistral ISP umożliwiają-
cych programowanie układów (tj. DataFlash
i I
2
C) opracowano własny schemat logiczny
(
rys.
5
).
Kod źródłowy
Projekt logiki programowalnej urządzenia
został opracowany w języku VHDL. Do mo-
dyfikacji kodu źródłowego (poniżej umiesz-
czono jego fragment) jest wymagana jego
podstawowa znajomość (choć nie jest to ko-
nieczne – na podstawie krótkiej analizy kodu
można wprowadzać w nim dowolne zmiany
bez potrzeby wgłębiania się w szczegóły języ-
ka VHDL). W części deklaracyjnej ciała archi-
tektury zdefiniowano stałe wektory bitowe,
odwzorowujące nastawy zadajnika kodowe-
go P1 oraz sygnał PROGRAMMER, który niesie
informację o trybie pracy układu.
[...]
architecture RTL of UNIPROG is
signal PROGRAMMER: std_logic_vector(3 downto
0);
constant ALTERA: std_logic_vector(3 downto 0)
:= „0000”;
constant XILINX: std_logic_vector(3 downto 0)
:= „0001”;
constant LATTICE: std_logic_vector(3 downto
0) := „0010”;
constant ARM: std_logic_vector(3 downto 0) :=
„0011”;
constant MSP430: std_logic_vector(3 downto 0)
W ciele architektury opisano procesy kom-
binacyjne za pomocą konstrukcji
CASE–WHEN
,
Tab. 1. Nastawy przełącznika P1
i odpowiadający mu wybór fir-
mowych programatorów ISP oraz
układów
Usta-
wienie
prze-
łączni-
ka P1
Interfejs
firmowy pro-
gramatora
Wsparcie progra-
mowania układów
Altera ByteBla-
ster II
Altera FPGA
& CPLD
0
Xilinx Parallel
Cable III
1
Xilinx FPGA & CPLD
Lattice ispDow-
nload Cable
Lattice FPGA
& CPLD
2
ARM Wiggler
Interface
Mikrokontrolery
z rdzeniem ARM
3
Texas Instru-
ments MSP–FET
Mikrokontrolery
MSP430
4
Kanda STK
200/300
Mikrokontrolery
ATMEL AVR
5
6
własny
ATMEL DataFlash
7
własny
I
2
C Bus
dla dalszej rozbu-
dowy
8...15
brak
Rys. 3. Schemat elektryczny modułu XJTAG
35
ELEKTRONIKA PRAKTYCZNA 10/2008
realizujące właściwy układ logiczny. Taka bu-
dowa kodu źródłowego pozwala w przejrzy-
sty i czytelny sposób opisać strukturę projek-
tu oraz umożliwia jego adaptację do potrzeb
użytkownika. Podczas modyfikacji projektu
należy pamiętać o stosowaniu stanów nie-
określonych (‘–‘), co wydatnie wpłynie na
stopień minimalizacji funkcji logicznych nie-
zbędnych do realizacji struktury logicznej
i przyczyni się do pomyślnego wpasowania
projektu w docelowy układ CPLD.
Szerzej temat programowania i projekto-
wania układów cyfrowych z użyciem układów
PLD oraz języka VHDL został opisany na ła-
mach Elektroniki Praktycznej oraz w literatu-
rze [4, 5, 6, 7].
Rys. 4. Schemat montażowy modułu XJTAG (strona górna i dolna)
Podsumowanie
Autor korzysta z urządzenia od ponad dwóch
lat – spełnia ono swoją funkcję bez zastrzeżeń.
Użytkownik może w dowolny sposób rozbudo-
wywać programator (i korzystać z niego nieko-
niecznie w celu programowania), np. zaadapto-
wać interfejs kart pamięci SD, MMC, SmartCard
lub SIM, podłączyć sieć rozproszoną czujników
(np. termometrów), sterować wyświetlacza-
mi graficznymi LCD. Możliwości funkcjonalne
urządzenia są spore. Pełna lista układów, które
można zaprogramować za pomocą niniejsze-
go programatora, jest dość długa i obejmuje
z pewnością wiele tysięcy pozycji. Jedynym
znaczącym mankamentem korzystania z progra-
matora jest konieczność posiadania komputera
wyposażonego w port LPT, co obecnie niestety
jest coraz rzadsze z powodu zdominowania ryn-
ku PC przez magistralę USB.
Mirosław Folejewski
Literatura:
[1] Zbysiński P.: PicoBlaze: sposoby konfiguracji
układów FPGA z rodziny Spartan–3, Elektronika
Praktyczna, 10–11/2005
[2] Zbysiński P., Pasierbiński J.: Nowoczesne
metody programowania i konfigurowania
układów PLD, Elektronizacja, 7–8/2001
[3] Zbysiński P.: JTAG – światowy standard te-
stowania i programowania układów cyfrowych,
Elektronika Praktyczna, 1–2/1998
Rys. 5. Schemat logiczny zaimplementowanych w programatorze interfejsów pamięci szerego-
wych DataFlash oraz szyny I
2
C
[4] Kalisz J.: Język VHDL w praktyce, WKŁ,
Warszawa 2002
[5] Skahill K.: Język VHDL. Projektowanie
programowalnych układów logicznych, WNT,
Warszawa 2001
[6] Zbysiński P., Pasierbiński J.: Układy progra-
mowalne – pierwsze kroki, Wydawnictwo BTC,
Warszawa 2002
[7] Pasierbiński J., Zbysiński P.: Układy progra-
mowalne w praktyce, WKŁ, Warszawa 2001
[8] A. Dybkowski: ISP Programmer, http://www.
amwaw.edu.pl/~Adybkows/elka/ispprog.zip
R
E
K
L
A
M
A
36
ELEKTRONIKA PRAKTYCZNA 10/2008
Plik z chomika:
toriman
Inne pliki z tego folderu:
3168.pdf
(1351 KB)
8393.rar
(1519 KB)
ds012-1.pdf
(172 KB)
ds017.pdf
(158 KB)
ds057.pdf
(199 KB)
Inne foldery tego chomika:
HP Laserjet 2200
LG Blu-Ray Service Manuals
Minikamera D005 MiniDVR-89
MZ19FS_chassis_SAMSUNG SM 910MP MANUALS
Zgłoś jeśli
naruszono regulamin