Sprzętowy emulator procesorów T Y
P R O J E K AVR
Sprzętowy emulator
procesorów AVR
AVT-5039
Wzrastająca z dnia na
dzie popularnośĘ procesorw
RISC z rodziny AVR,
środowisku programistycznym, ta-
produkowanych przez firm
kim jak BASCOM czy Code Vi-
ATMEL, spowodowała istną
sionC, to zaprogramowanie proce-
lawin coraz to nowszych
Kałdy elektronik wie, jak bar- sora i przygotowanie układu do
narzdzi programowych
dzo dobry emulator sprztowy przeprowadzenia stosownych tes-
i sprztowych wspomagających
mołe ułatwiĘ prac i przyspieszyĘ tw sprowadza si najczściej do
opracowywanie programw dla
tworzenie nowego oprogramowa- jednego kliknicia myszką lub
tych procesorw. Na łamach
nia. Jednak skonstruowanie na- naciśnicia jednego klawisza. Wy-
EP opisaliśmy juł kilka
prawd dobrego emulatora jest nika z tego, łe emulator sprzto-
programatorw i zestaww
zadaniem trudnym, a układy tego wy dla procesorw AVR, bdący
uruchomieniowych, ale do typu są zazwyczaj dośĘ skompli- komfortowym, ale nie nieodzow-
pełni szczścia brakowało - kowane i kosztowne. Dlatego teł, nym uzupełnieniem zestawu na-
pomimo łe zdawałem sobie spra- rzdzi pracy, nie mołe byĘ ukła-
jak do tej pory - jedynie
w z konieczności zaprojektowa- dem nadmiernie skomplikowanym
jakiegoś prostego emulatora
nia emulatora sprztowego dla ani kosztownym.
sprztowego, umołliwiającego
procesorw AVR, odwlekałem Rozwiązanie problemu przy-
testowanie napisanego
dośĘ długo rozpoczcie prac nad szło nagle i z pokorą musz przy-
oprogramowania
takim urządzeniem. Wszystkie znaĘ, łe bynajmniej nie jest ono
w środowisku, dla ktrego
procesory z rodziny AVR mogą moją zasługą. Program monitora,
zostało przeznaczone.
byĘ programowane w systemie ISP umołliwiający emulacje proceso-
(In System Programming), co po- rw AVR za pomocą procesorw
woduje, łe stosowanie emulato- AVR, powstał w niezawodnej jak
rw jest wprawdzie połądane, zwykle firmie MCS Electronics,
lecz nie absolutnie konieczne. został napisany przez mojego
Kałdy procesor AVR mołna za- Przyjaciela, pana Marka Albertsa.
programowaĘ bezpośrednio w jego Program ten umołliwił zbudowa-
docelowym środowisku bez ko- nie emulatora o dobrych paramet-
nieczności wyjmowania z pod- rach, a do tego niezwykle proste-
stawki, umieszczania w programa- go i łatwego do wykonania.
torze i ponownego instalowania Mog zaproponowaĘ dwie me-
w systemie. Jełeli przy tym pra- tody przeprowadzania emulacji
cujemy w dobrze opracowanym sprztowej procesorw AVR. Pier-
Elektronika Praktyczna 12/2001
21
Sprzętowy emulator procesorów AVR
AT90S8535, jeden z najbardziej
rozbudowanych układw z rodzi-
ny AVR. Wybr procesora został
jednak podyktowany nie przez
chĘ skorzystania z jego rewela-
cyjnych mołliwości. Rzeczywis-
tym powodem była liczba dostp-
nych wyprowadze, ktra umoł-
liwia emulacj praktycznie wszyst-
kich procesorw AVR. Na list. 1
pokazano cały program sterujący
pracą procesora, wraz z dyspozy-
cjami konfiguracyjnymi i komuni-
katami wstpnymi, ktre mogą
byĘ wyświetlone po podłączeniu
układu do monitora złącza RS232.
Rys. 1. Schemat elektryczny konwertera napięć RS232/TTL.
Program, ktrego treści (nie bdąc
wsza z nich, nie wymagająca pra- szych procesorw AVR - jego autorem) nie komentuj, jest
wie ładnego dodatkowego sprz- AT90S8535. Zastosowanie go po- niezwykle prosty i zajmuje w pa-
tu, polega na emulacji pracy zwoli na testowanie układw za- mici procesora zaledwie ok. 1kB.
procesora za pomocą procesora wierających taki właśnie procesor Mołe to sprawiaĘ wrałenie, łe
tego samego typu umieszczonego lub dowolny inny z rodziny AVR ogromne mołliwości '8535 zostały
w przeznaczonym dla niego śro- posiadający rwną lub mniejszą w tym układzie wykorzystane
dowisku. Jest to rozwiązanie bar- liczb wyprowadze. tylko w niewielkim stopniu. Tak
dzo proste, a do jego realizacji Za pomocą tego układu emu- jest w istocie, procesor spełnia tu
bdziemy potrzebowaĘ jedynie latora mołemy symulowaĘ prac bardzo proste funkcje i mołna
prostego układu, ktrego zada- nastpujących typw procesorw nawet powiedzieĘ, łe si marnu-
niem bdzie konwersja poziomw z rodziny AVR: AT90S2313, je. Myśl jednak, łe wartośĘ
napiĘ wystpujących na łączu AT90S2343, AT90S8515, ułytkowa emulatora jest tak duła,
RS232 na poziomy napicia TTL AT90S8535, AT90S4433, AT TI- łe budując go mołemy pozwoliĘ
i odwrotnie. Taki układ konwersji NY (wszystkie typy), AT90S2323, sobie na taką rozrzutnośĘ i zasto-
najprościej wykonaĘ z wykorzys- AT MEGA161, AT MEGA16 i AT sowaĘ w nim nawet drogi i nie
taniem popularnego układu MEGA32. Nie jest natomiast moł- w pełni wykorzystany element.
MAX232. Schemat konwertera zo- liwe testowanie układw zbudo- Ponadto, chciałbym zaprezento-
stał pokazany na rys. 1. Niestety, wanych na 64-pinowych proceso- waĘ Czytelnikom swj sposb wi-
taka metoda realizacji emulacji rach z serii AT MEGA. dzenia nowoczesnych i - co bar-
sprztowej niesie ze sobą jedno, Proponowany układ emulatora dzo wałne - programowalnych
powałne ograniczenie: wyprowa- sprztowego jest urządzeniem bar- w systemie procesorw. Przecieł
dzenia TxD i RxD procesora nie dzo prostym, zbudowanym z wy- taki chip mołe pełniĘ bardzo
mogą byĘ wykorzystywane do ni- korzystaniem zaledwie dwch ułyteczną funkcj, o jakiej zapew-
czego innego, za wyjątkiem obsłu- układw scalonych. Jednak za t
gi transmisji RS232. prostot i niewielki koszt wykona-
List. 1.
Znacznie doskonalsze rozwią- nia urządzenia musimy zapłaciĘ
$regfile = 8535def.dat
$crystal = 11059200
zanie polega na zbudowaniu uni- nie najwikszą szybkością pracy
$baud = 115200
wersalnego sprztowego emulato- emulatora. Ta właśnie wada unie- Dim Krk As Byte
Dim Adr As Word
ra procesorw AVR. Układ taki mołliwia symulacj niektrych
Dim Adrl As Byte, Adrh As Byte
Dim Vl As Byte
został przeze mnie skonstruowany czynności, wymagających bardzo
Print Emulator sprzętowy procesorów AVR
w oparciu o jeden z najwik- precyzyjnego timingu (zestawienie
Print ***********AVT - 5039**************
Print Ustaw szybkość transmisji na 115200 Baud
mołliwych do emulowania funk-
Print Emulacja procesorów następujących typów:
Print AT90S2313, AT90S2323, AT90S8515
cji zamieszczono w tab. 1).
Tab. 1.
Print AT90S2343, AT90S8535, AT90S4433
Print i pozostałych z rodziny AVR, z wyjątkiem AT MEGA
Funkcja ............................ Możliwość realizacji
Opis działania układu
Do
Transmisja danych poprzez magistralę I2C ......... Tak
Krk = Inkey()
Schemat elektryczny układu
Transmisja danych magistralą 1WIRE ................. Nie If Krk = T Then
Print Chr(13);
Zegar czasu rzeczywistego .................................. Nie
emulatora pokazano na rys. 2.
Elseif Krk = W Then
Obsługa klawiatury szesnastkowej Adr = Waitkey()
Wygląda on pozornie na skompli-
Vl = Waitkey()
(polecenie GETKBD) ............................................ Tak
Out Adr, Vl
kowany, ale jełeli przyjrzymy mu
Odbiór kodu RC5 ................................................. Nie Print Chr(13);
si bliłej, to z pewnością zauwa- Elseif Krk = R Then
Operacje na portach i pinach portów .................. Tak
Adr = Waitkey()
Obsługa wyświetlacza LCD .................................. Tak łymy, łe cała prawa czśĘ sche-
Vl = Inp(adr)
Print Chr(vl);
Transmisja RS232 .............................................. Tak*
matu to tylko złącza, dla jasności
Elseif Krk = O Then
Zapis i odczyt z pamięci danych EEPROM .......... Tak Adrl = Waitkey()
przedstawione wraz z opisem wy-
Adrh = Waitkey()
Obsługa przetworników AD ................................. Tak
Vl = Waitkey()
prowadze obsługiwanych przez
Obsługa przerwań zewnętrznych ......................... Tak Adr = Adrh * 256
Adr = Adr + Adrl
nie procesorw.
Multipleksowanie wyświetlaczy LED ................... Tak
Out Adr, Vl
Sercem emulatora jest zapro- Print Chr(13);
* transmisja danych poprzez RS232 jest dodatkowo
End If
gramowany procesor typu
symulowana programowo Loop
Elektronika Praktyczna 12/2001
22
Sprzętowy emulator procesorów AVR
tak jak podaje producent '8535.
Praktyka jest jednak inna: do-
świadczalnie stwierdzono, łe pro-
cesory AVR wytrzymują bez szko-
dy dla zdrowia znacznie wikszą
Rys. 2. Schemat elektryczny emulatora.
liczb programowa.
ne nie myśleli jego twrcy z firmy cją procesorw AVR umieszczamy Analizując schemat pokazany
ATMEL. Mołe on byĘ czymś procesor z powrotem w mierniku na rys. 2, wielu Czytelnikw
w rodzaju uniwersalnego, repro- i ponownie programujemy go zauwałyło juł z pewnością dras-
gramowalnego przyrządu laborato- właściwym dla tego przyrządu tyczne odstpstwo od reguł pro-
ryjnego. Programowanie proceso- programem. Taki cykl przeprogra- jektowania układw z procesorem
rw AVR trwa dosłownie sekun- mowywania procesora mołemy '8535. Juł po raz drugi wystpuj
dy, a budowa potrzebnego do tego teoretycznie wykonaĘ 1000 razy, w roli prowokatora lekkomyślnie
celu programatora jest banalnie
prosta (np. programator AVT-871).
Tab. 2.
Załłmy, łe w naszej pracy wy-
Kwarc 1000000Hz 4000000Hz 7372800Hz 8000000Hz 11059200Hz
korzystujemy miernik czstotli-
Baudrate Zgodność uzyskanej szybkości transmisji z zadaną
wości AVT-5034 zbudowany takłe
2400 0,2% 0,2% 0,0% 0,2% 0,0%
z wykorzystaniem procesora '8535.
4800 0,2% 0,2% 0,0% 0,2% 0,0%
Jełeli w jakimś momencie okałe
9600 7,5% 0,2% 0,0% 0,2% 0,0%
si, łe musimy skorzystaĘ z emu-
14400 7,8% 2,1% 0,0% 0,8% 0,0%
latora sprztowego AVR, to po
prostu przeprogramowujemy pro- 19200 7,8% 0,2% 0,0% 0,2% 0,0%
28800 7,8% 3,7% 0,0% 2,1% 0,0%
cesor umieszczony w mierniku
(wykorzystując wbudowany w ten 38400 22,9% 7,5% 0,0% 0,2% 0,0%
układ interfejs ISP) i umieszcza- 57600 7,8% 7,8% 0,0% 3,7% 0,0%
my go w emulatorze. Po zako- 76800 22,9% 7,8% 0,0% 7,5% 0,0%
czeniu prac związanych z emula-
115200 84,3% 7,8% 0,0% 7,8% 0,0%
Elektronika Praktyczna 12/2001
23
Sprzętowy emulator procesorów AVR
Z danych zawartych w tabeli
WYKAZ ELEMENTÓW
wynika niezbicie, łe maksymal-
Kondensatory
ną szybkośĘ transmisji wynoszą-
cą 115200bd mołna uzyskaĘ je- C1, C2: 27pF
dynie z rezonatorami kwarcowy- C3...C6: 4,7F/10V
mi o czstotliwości 7372800Hz
C7: 100F/10
i 11059200Hz. CzstotliwośĘ
C8: 100nF
7372800Hz mieści si w granicach
C9: 1F/16V
dopuszczalnej czstotliwości pracy
Rezystory
procesora '8535, ale rezonatory
R1: 10k&!
kwarcowe o takiej czstotliwości
Półprzewodniki
podstawowej są dośĘ trudno osią-
IC1: AT90S8535
galne. Kwarc 11059200Hz bez naj-
IC2: MAX232
mniejszego problemu kupimy
Różne
w kałdym sklepie z czściami elek-
CON1: 10x2 goldpin
tronicznymi i dlatego zdecydowa-
CON2: 14x2 goldpin
łem si na overclocking procesora.
CON3, CON4: 4x2 goldpin
Zabieg ten nie pociągnął za sobą
CON5, CON6: 20X2 goldpin
ładnych ujemnych skutkw. Pod-
Q1: rezonator kwarcowy
czas długotrwałych testw emula-
11,059MHz
tor pracował zawsze poprawnie,
Wtyk emulacyjny 20 pin
a jego szybkośĘ pracy mołna było
Wtyk emulacyjny 40 pin
uznaĘ za zadowalającą.
Jełeli jednak ktoś chciałby ry- Wtyk zaciskany 20 pin
gorystycznie przestrzegaĘ zasad po- Wtyk zaciskany 40 pin
Rys. 3. Rozmieszczenie elementów
na płytce drukowanej. danych w kartach katalogowych At- 0,5 m przewodu taśmowego 20 żył
mela i posiadałby kwarc o czstot- 0,5 m przewodu taśmowego 40 żył
lekcewałącego dane zawarte liwości podstawowej 7372800Hz, to
w karcie katalogowej opublikowa- mołe go bez problemu wykorzystaĘ
nej przez Atmela. Stoi tam jak w układzie emulatora. Naleły jed- wotnie miało byĘ wykorzystywane
byk, łe maksymalna czstotli- nak pamitaĘ wtedy o (bezwzgld- jedynie podczas testowania proto-
wośĘ taktowania tego procesora nie koniecznej) zmianie polecenia typu. Umołliwia ono dołączenie
wynosi zaledwie 8MHz, a ja za- konfigurującego czstotliwośĘ zega- do układu programatora ISP
stosowałem rezonator o czstotli- ra systemowego. Zamiast: i przeprogramowywanie procesora
wości podstawowej rwnej ał $crystal = 11059200 bez konieczności wyjmowania go
11059200Hz. Co było powodem piszemy wtedy: z podstawki. Poniewał jednak to
tej, byĘ mołe ryzykownej decyzji? $crystal = 7372800 złącze (ani na schemacie, ani na
Otł, byłą nią chĘ uzyskanie jak Oczywiście, mołna takłe zasto- płytce) w niczym nie przeszkadza,
najwikszej prdkości transmisji sowaĘ kwarc o innej czstotliwoś- postanowiłem, podobnie jak
danych poprzez interfejs RS232, ci, np. 8MHz. Spowoduje to jed- w przypadku innych opracowa-
od ktrej w decydujący sposb nak znaczne zmniejszenie szyb- nych przeze mnie układw z pro-
zaleły takłe szybkośĘ działania kości pracy emulatora oraz ko- cesorami AVR, nie usuwaĘ go.
emulatora. niecznośĘ zmiany nie tylko pole- Mołe ono okazaĘ si wielce
Popatrzmy na tab. 2, w ktrej cenia konfigurującego czstotli- ułyteczne dla tych ułytkowni-
zawarto dane zaczerpnite z karty wośĘ oscylatora, ale takłe okreś- kw, ktrzy zechcą napisaĘ włas-
katalogowej procesora '8535. lającego szybkośĘ transmisji. Dane ną wersj programu.
potrzebne do jej określenia zawar-
te są w tab. 2. Montał i uruchomienie
Drugim układem scalonym za- Na rys. 3 pokazano rozmiesz-
stosowanym w emulatorze jest po- czenie elementw na płytce dru-
pularny konwerter RS233/TTL, kowanej emulatora. Ze wzgldu na
czyli znany chyba kałdemu elek- znaczną komplikacj połącze płyt-
tronikowi MAX232. Za pomocą ka została zaprojektowana na la-
tego układu, wspieranego przez minacie dwustronnym z metaliza-
sprztowy UART wbudowany cją otworw. Montał układu wy-
w struktur procesora AT90S8535, konujemy typowo, rozpoczynając
mołemy nawiązaĘ łącznośĘ z do- od wlutowania w płytk dwch
wolnym komputerem wyposało- podstawek pod układy scalone,
nym w interfejs RS232. a kocząc na kondensatorach elek-
Naleły jeszcze wspomnieĘ trolitycznych i złączach do prze-
o złączu CON8, ktrego przezna- wodw taśmowych. Pomimo pod-
czenie było jak dotąd zagadkowe. jtych stara, nie udało mi si jak
Złącze to nie pełni w układzie dotąd zlokalizowaĘ wtykw emu-
Rys. 4. Konfiguracja łącza
ładnej ułytecznej funkcji i pier- lacyjnych przeznaczonych dla pro-
szeregowego w BASCOM-ie.
Elektronika Praktyczna 12/2001
24
Sprzętowy emulator procesorów AVR
wtedy koniecznośĘ lutowania złą- ko klawiatur skonfigurowaĘ mo-
cza DB25, a potrzebne nam prze- nitor do śledzenia wolnego aktu-
wody bdziemy mogli zidentyfiko- alnie portu.
waĘ za pomocą omomierza. Mamy teraz mołliwośĘ spraw-
Emulator nie posiada własnego dzenia, czy poprawnie wykonaliś-
układu zasilającego, a potrzebne my wszystkie połączenia. Łączymy
do jego działania napicie pobie- port RS232 komputera z emulato-
rane jest z uruchamianego układu rem, a nastpnie otwieramy okien-
mikroprocesorowego. ko terminala interfejsu RS232. Mu-
simy teraz wyzerowaĘ emulator
Rys. 5. Komunikat powitalny
wyświetlany w oknie terminala. Posługiwanie si (najlepiej poprzez zwarcie wypro-
emulatorem wadze kondensatora C9). Jełeli
cesorw w obudowach 8-pino- Wykonany układ emulatora łą- wykonaliśmy poprawnie wszystkie
wych. Nie jest to jednak wikszy czymy z komputerem oraz z uru- połączenia i skonfigurowaliśmy
problem, poniewał do emulacji chamianym układem mikroproce- prawidłowo BASCOM-a, to na ek-
tych chipw mołna z powodze- sorowym. Jełeli jeszcze takiego ranie terminala powinien ukazaĘ
niem wykorzystywaĘ wtyki 20- układu nie posiadamy i dopiero si komunikat powitalny (rys. 5).
pinowe, z ktrych bdziemy wyko- mamy zamiar go skonstruowaĘ, Od tego momentu emulator jest
rzystywaĘ tylko 8 kocwek. to do przetestowania poprawnoś- gotowy do pracy.
Z pewnością wtyk 20-pinowy ci działania emulatora wystar- Posługiwanie si emulatorem
o znacznych wymiarach nie za- czy, w pierwszym etapie, dopro- jest dziecinnie łatwe. Do napisa-
wsze zmieści si na płytce pro- wadziĘ do niego napicie zasi- nego programu musimy dodaĘ
jektowanej dla procesora z ośmio- lania rwne +5VDC. Napicie to tylko jedno polecenie konfigura-
ma wyprowadzeniami, ale i z tym doprowadzamy lutując przewody cyjne: $SIM umieszczone na po-
mołemy sobie poradziĘ stosując np. do wyprowadze kondensa- czątku kodu rdłowego.
jedną lub kilka połączonych ze tora C7. UWAGA: przed kompilacją pro-
sobą podstawek precyzyjnych, kt- Kolejną czynnością bdzie od- gramu przeznaczonegojuł do umiesz-
rych zadaniem bdzie odsunicie powiednie skonfigurowanie środo- czenia w procesorze naleły polecenie
wtyku emulacyjnego od powierz- wiska BASCOM-a. Najwałniejszą $SIM bezwzgldnie usunąĘ!
chni płytki. Powałny problem po- sprawą bdzie ustawienie szyb- Nastpnie program kompiluje-
wstanie jedynie podczas przygoto- kości transmisji na 115200bd. Pa- my i naciskamy klawisz F2, co
wywania wtyku emulacyjnego dla rametr ten ustawiamy w okienku zaowocuje pojawieniem si na
procesorw w obudowach DIL28. OPTIONS>COMUNICATION> ekranie okienka pokazanego na
Wtyki takie nie są (chyba) produ- BAUDRATE, tak jak to zostało rys. 6. Naleły teraz za pomocą
kowane, a zastąpienie ich elemen- pokazane na rys. 4, a nastpnie przycisku oznaczonego symbolem
tami o innej liczbie pinw nie jest z submenu TOOLS wybieramy op- układu scalonego uruchomiĘ emu-
mołliwe. Mam jednak wrcz nie- cj TERMINAL EMULATOR. Na- lacj sprztową, a nastpnie roz-
ograniczone zaufanie do pomysło- stpnie musimy określiĘ, ktry począĘ wykonywanie programu
wości Czytelnikw EP i mam na- port szeregowy bdzie wykorzys- (przycisk oznaczony strzałką).
dziej, łe jakoś poradzą sobie tywany do obsługi emulatora. Zbigniew Raabe, AVT
z tym problemem. WikszośĘ wspłcześnie ułytko- zbigniew.raabe@ep.com.pl
Ostatnią czynnością bdzie wy- wanych komputerw PC posiada
konanie kabla łączącego układ fabrycznie zainstalowane dwa por- Wzory płytek drukowanych w for-
emulatora z komputerem. CzynnośĘ ty szeregowe: COM1 i COM2. Do macie PDF są dostpne w Internecie
tą mołemy sobie znacznie ułatwiĘ, jednego z nich zazwyczaj jest na pod adresem: http://www.ep.com.pl/
jełeli dysponujemy przewodem od stałe dołączona myszka. Drugi ?pdf/grudzien01.htm.
uszkodzonej (łe nie powiem port pozostaje najczściej niewy-
zdechłej) myszki. Odpadnie nam korzystany i do niego właśnie do-
łączymy przewd transmi-
tujący dane do i z emulato-
ra. Jednak po uruchomieniu
programu mołe si zdarzyĘ,
łe np. myszka umieszczona
została w porcie COM1 i na
ten sam port został skon-
figurowany monitor. Taka
sytuacja prowadzi do na-
tychmiastowego zawieszenia
pracy myszy, a my mamy
wtedy dwa wyjścia z sytua-
cji. Mołemy przenieśĘ
myszk do drugiego portu
i ponownie uruchomiĘ kom-
Rys. 6. Widok okna sterującego pracą
puter lub wykorzystując tyl-
emulatora.
Elektronika Praktyczna 12/2001
25
Wyszukiwarka
Podobne podstrony:
Modelowanie i symulacja procesów elektrycznych w obwodzie z lampą rtęciowąprogramator procesorów AVR 1programator procesorów AVR 2zestaw uruchomieniowy dla procesorów AVR i 51 2Starter kit dla procesorów AVRavt 871 Programator procesorów AVR przez BASCOMEmulator sprzętowy dla procesorów Z8zestaw uruchomieniowy dla procesorów AVR i 51 1zestaw uruchominiowy dla procesorów 89Cx051 i AVRZestaw uruchomieniowy do procesorow rodziny AVR i 51, cz 2sprzęt wędkarski cz 1procesyWyświetlacz MMI z 6 kanałowym procesorem dźwięku (9VD)więcej podobnych podstron