emulator do Amigi


Emulator J K T Y
P R O8051Edo Amigi
Emulator 8051 do Amigi
AVT-995
Przedstawiamy
kolejny na Å‚amach EP
projekt dla
AmigowcÛw -
sprzÍtowy emulator
mikrokontrolerÛw
rodziny '51. Mamy nadziejÍ,
Å‚e bÍdzie siÍ on cieszyÅ‚
Na Å‚amach EP pojawiÅ‚ siÍ opis
podobnym powodzeniem, jak
programatora-emulatora proceso- - programowanie pamiÍci danych
nasze dotychczasowe amigowe
rÛw AT89Cx051. DuÅ‚Ä… zaletÄ… tego i programu,
opracowania.
urzÄ…dzenia jest wspÛÅ‚praca z kaÅ‚- - sygnalizacja trybu pracy i bÅ‚Í-
dym typem komputera wyposaÅ‚o- dÛw.
nego w port RS232C. W Interne-
cie, na stronie www.home.mck.pl/ Opis działania
~r-mik, sÄ… dostÍpne darmowe pro- Jak widaĘ na rys. 1, budowa
gramy umoÅ‚liwiajÄ…ce wspÛÅ‚pracÍ emulatora nie jest zÅ‚oÅ‚ona. Wszys-
Właściwości emulatora
Amigi z tym urzÄ…dzeniem. Nieste- tko to za sprawÄ… procesora z ma-
Zalety:
ty, wielkośĘ pamiÍci programu gistralÄ… SPI typu AT89S8252, ktÛry
š' PeÅ‚na emulacja 8051/8052/AT89S8252.
i liczba dostÍpnych portÛw w pro- do programowania wymaga trzech
š' Możliwość wykorzystania jako programator
cesorach serii AT89Cx051 jest linii oraz linii zerujÄ…cej. DziÍki
procesorów uruchamianych w systemie
przez SPI. czÍsto niewystarczajÄ…ca. Dlatego temu do przeÅ‚Ä…czania trybu pracy
š' Możliwość wykorzystania jako programator
powstał projekt programatora-emu- programowanie/emulacja wystarcza-
AT89S8252.
latora procesorÛw 8051 z pamiÍ- jÄ… dwa multipleksery analogowe.
š' Weryfikacja zapisanych danych.
ciÄ… programu do 8KB. Zasilanie programatora jest po-
š' Współpraca z każdym typem komputera
Oto jego krÛtka charakterystyka: bierane z uruchamianego systemu
(dzięki RS, formatowi IntelHex i uniwersalnej
procedurze wykrywania znaku końca linii). - zasilanie z uruchamianego sys- (za pośrednictwem kabla złącza
š' Sygnalizacja kilku rodzajów bÅ‚Ä™dów, co
temu, emulacyjnego). Kondensatory C4..C8
ułatwia uruchamianie.
- wspÛÅ‚praca z kaÅ‚dym kompute- filtrujÄ… napiÍcie linii zasilania. Op-
š' Programowanie pamiÄ™ci danych
rem wyposaÅ‚onym w port cjonalnie moÅ‚na podÅ‚Ä…czyĘ zewnÍt-
w AT89S8252.
š' Izolacja galwaniczna od uruchamianego RS232C (takÅ‚e AVT-2250), for- rzny zasilacz stabilizowany 5V.
systemu.
mat transmisji: 4800bd, 8N1, Sygnały danych z portu RS są
š' Nie wymaga dodatkowego zasilacza.
- izolacja galwaniczna od kompu- konwertowane do poziomÛw TTL
š' Możliwość programowania pamiÄ™ci  na raty
tera, dziÍki czemu przyÅ‚Ä…czanie przez transoptor OPT1. Rezystor R1
(nie jest wymagane czyszczenie pamięci
zasilania do programatora mołe ogranicza prąd diody D2 (sygnalizu-
procesora przed zapisem).
nastÍpowaĘ bez wyÅ‚Ä…czania kom- jÄ…cej transmisjÍ po RS) i diody
Wady:
putera z sieci, w strukturze transoptora. D1 zabez-
Åš' Pobiera dodatkowo 50mA z uruchamianego
- przyjmowanie danych w forma- piecza diody LED przed zbyt dułym
systemu.
Ś' Brak możliwości symulowania procesorów
cie IntelHex, napiÍciem wstecznym. Tranzystor
z kwarcem o częstotliwości mniejszej niż
- emulacja procesorÛw 8051, 8052, optotriaka steruje wejÅ›cie RxD pro-
4MHz.
89S8252, cesora IC1. Rezystor R2 ìpodciÄ…gaî
Ś' Brak możliwości odczytu kodu programu
- programowanie: 89S8252 (takÅ‚e to wejÅ›cie od +5V, dziÍki czemu
z procesora.
Ś' Stosunkowo mała prędkość transmisji w pracującym urządzeniu przez SPI), zbocza są bardziej strome. W tym
(4800bd) - transmisja 1kB trwa
- programowanie bitÛw blokady 1, przypadku wewnÍtrzny rezystor na
6s (8kB - 45s)
2 i 3, wejściu portu ma zbyt dułą rezys-
Elektronika Praktyczna 12/2000
29
Emulator 8051 do Amigi
Rys. 1. Schemat elektryczny emulatora.
tancjÍ, aby skutecznie przeÅ‚adowaĘ jego zapisaniem nie jest konieczne, gramowaniu caÅ‚ego kodu badany
pojemnoÅ›ci pasoÅ‚ytnicze. Procesor poniewaÅ‚ przy programowaniu sze- jest stan jumperÛw LOCK0
IC1 czeka na otrzymanie znaku ì@î regowym kaÅ‚dy bajt przed zapisem i LOCK1. ZaleÅ‚nie od ich stanu
lub ì:î. Pierwszy z nich komuniku- jest kasowany. Operacja przygoto- ustawiane sÄ… bity zabezpieczajÄ…ce
je, Å‚e zostanie wysÅ‚any rozkaz, wania do programowania trwa pra- pamiÍĘ procesora przed odczytem.
drugi, Å‚e plik w formacie IntelHex. wie 20ms. W tym czasie znaki I tak odpowiednio:
Po zdekodowaniu rozkazu czy re- przychodzÄ…ce po RS sÄ… gromadzone zworki ustawione bity
kordu pliku IntelHex, procesor IC1 w buforze odbiorczym. LOCK0 LOCK1
odłącza IC4 od uruchamianego sys- Sama procedura programowania rozwarty rozwarty żaden
temu i przyłącza go do procesora jest dosyĘ skomplikowana. Naj- zwarty rozwarty 1
IC1. Od tego momentu zaczyna pierw sprawdzana jest wartośĘ baj- rozwarty zwarty 1 i 2
migaĘ dioda D3 (ìBusyî) sygnalizu- tu w pamiÍci procesora. JeÅ›li jest zwarty zwarty 1, 2 i 3
jÄ…ca pracÍ programatora. Multiplek- taka sama jak bajtu przeznaczonego NaleÅ‚y wspomnieĘ, Å‚e stan
ser IC2 odpowiada za przeÅ‚Ä…czanie do zapisu, nastÍpuje wyjÅ›cie z pro- jumperÛw jest badany przed kaÅ‚-
linii interfejsu SPI, natomiast IC3 za cedury. JeÅ›li bajty sÄ… rÛÅ‚ne, wy- dÄ… operacjÄ… programowania. DziÍ-
liniÍ zerujÄ…cÄ…. Po przeÅ‚Ä…czeniu jest syÅ‚ana jest sekwencja zapisujÄ…ca ki temu moÅ‚na go zmieniaĘ pod-
wysyÅ‚ana sekwencja rozpoczÍcia pamiÍĘ, nastÍpnie przeprowadzana czas pracy urzÄ…dzenia.
programowania przez SPI. Warto jest weryfikacja, aÅ‚ do poprawnego PrzypomnÍ znaczenie tak usta-
wiedzieĘ, Å‚e aby programowanie odczytu (wtedy nastÍpuje wyjÅ›cie wionych bitÛw:
szeregowe siÍ powiodÅ‚o, musi byĘ z procedury) lub przekroczenia cza-
ustawiony odpowiedni bit w proce- su 10ms, co oznacza niepowodze- Tab. 1.
sorze (producent dostarcza proceso- nie zapisu. Gdy zapis siÍ nie LED LED Stan urzÄ…dzenia
BUSY ERROR
ry w takim stanie, a wartośĘ tego powiedzie, powyłsza sekwencja jest
zgaszona zgaszona Tryb emulacji
bitu mołna zmieniĘ jedynie w try- powtarzana jeszcze 3 razy, przy
bie programowania rÛwnolegÅ‚ego), czym dwie ostatnie prÛby sÄ… po- miga zgaszona ZajÄ™tość emulatora
a przy aktywnym stanie linii zeru- przedzone zerowaniem układu. zgaszona miga Przekroczony adres
jącej (RESET), linia SCK musi znaj- Takie skomplikowanie procedu- zgaszona świeci Przekroczono czas
oczekiwania na
dowaĘ siÍ w stanie niskim. O to ry miaÅ‚o na celu wyeliminowanie
transmisjÄ™ RS
wszystko dba IC1 wysyÅ‚ajÄ…c odpo- ewentualnych bÅ‚ÍdÛw, jakie mog-
świeci miga Błąd pliku IntelHex
wiedniÄ… sekwencjÍ sterujÄ…cÄ… multi- Å‚yby siÍ pojawiĘ podczas transmis-
miga miga BÅ‚Ä…d zapisu bajtu do
pleksery. NastÍpnie jest wysyÅ‚ana ji po SPI. W poczÄ…tkowym stadium
procesora
sekwencja sygnaÅ‚Ûw inicjalizujÄ…ca uruchamiania emulatora posÅ‚ugi-
świeci świeci Przepełniony bufor
programowanie. Od tego momentu wano siÍ prostszymi procedurami,
odbiorczy RS
moÅ‚na programowaĘ pamiÍĘ progra- co powodowaÅ‚o czÍste pojawianie
miga miga Przepełnienie stosu
mu i danych. NaleÅ‚y wspomnieĘ, Å‚e siÍ bÅ‚Ídu ìBÅ‚Ä…d zapisu bajtu do
naprze- naprze-
czyszczenie pamiÍci procesora przed procesoraî. Po poprawnym zapro-
miennie miennie
Elektronika Praktyczna 12/2000
30
Emulator 8051 do Amigi
W przypadku ostatniego bÅ‚Ídu
Tab. 2.
najczÍÅ›ciej pomaga ponowne wy-
Tryb pracy emulator programator programator testowanie
słanie pliku do emulatora.
8051 SPI 89S8252 programatora
Przepełniony bufor odbiorczy
R11 X + + +
RS - ten bÅ‚Ä…d nie powinien siÍ
Jumper EA rozwarty rozwarty rozwarty zwarty
pojawiĘ. Funkcja ułyteczna pod-
JP1 rozwarty zwarty zwarty zwarty
czas pisania oprogramowania emu-
IC4 + - + (do zapro +
latora. BÅ‚Ä…d moÅ‚e siÍ pojawiĘ, gdy
-gramowania)
bufor jest prawie pełny i są prob-
C9 - X + +
lemy z zapisem bajtu do proceso-
C10 - X + +
ra. Nastąpi wtedy szybkie zapeł-
Q2 (4..12MHz) - X + +
nienie bufora. Wyjściem z sytuacji
+ - element musi być zamontowany jest ponowienie transmisji.
- - element nie może być zamontowany
Przepełnienie stosu - ten błąd
X - element może być zamontowany
nie powinien siÍ pojawiĘ. Funkcja
ułyteczna podczas pisania oprog-
1. Instrukcje MOVC wykonują- Błąd pliku IntelHex - mołe ramowania emulatora.
ce program zapisany w pamiÍci oznaczaĘ: BÅ‚Ä…d bÍdzie wskazywany przez
zewnÍtrznej nie mogÄ… pobieraĘ - bÅ‚ÍdnÄ… sumÍ kontrolnÄ… rekordu 5 sekund. Przez ten czas emulator
bajtÛw kodu z pamiÍci wewnÍtrz- pliku IntelHex, nie reaguje na wysyÅ‚ane do niego
nej. W trakcie operacji zerowania - niewykrycie poczÄ…tku rekordu rozkazy i pliki. W przypadku bÅ‚Í-
stan wyprowadzenia EA jest prÛb- pliku IntelHex (znak ì:î), du ìPrzepeÅ‚nienie stosuî koniecz-
kowany i zapisywany w zatrzas- - zÅ‚y typ nagÅ‚Ûwka (powinien byĘ ne jest zerowanie. JeÅ›li transmisja
ku, a przeprogramowywanie pa- $00 - dane, inne wartości mogą przebiegła prawidłowo, diody zo-
miÍci Flash jest zabronione. oznaczaĘ adresy startowe itp.), stanÄ… wygaszone.
2. Jak wyłej, ponadto weryfi- - błąd sumy kontrolnej.
kacja programu jest zablokowana Najbardziej prawdopodobna Mołliwe warianty
(nie moÅ‚na odczytaĘ kodu progra- przyczyna wystÄ…pienia bÅ‚Ídu to JeÅ›li wykorzystujemy urzÄ…dzenie
mu). wysłanie pliku w formacie innym jako emulator 8051, nie musimy
3 Jak wyłej, ponadto wykony- nił IntelHex. montowaĘ R11. Nie mogą byĘ
wanie programu zewnÍtrznego jest BÅ‚Ä…d zapisu bajtu do procesora zamontowane elementy: C9, C10
zablokowane. - nie mołna zapisaĘ bajtu do i Q2, a jumpery JP1 i EA muszą
Po zaprogramowaniu procesora procesora. Weryfikacja przez 10ms byĘ rozwarte. Jeśli chcemy wyko-
jest on przyłączany do złącza nie jest poprawna. Przyczyną wys- rzystaĘ urządzenie jako programa-
emulacyjnego. Dodatkowo genero- tÄ…pienia bÅ‚Ídu moÅ‚e byĘ: tor procesorÛw w systemie (za po-
wany jest sygnał zerujący urucha- - brak procesora AT89S8252 średnictwem SPI), naleły zamonto-
miany system. Jeśli podczas pro- w podstawce lub uruchamianym waĘ R11 i zewrzeĘ jumper JP1. R11
gramowania wystąpi błąd, jest on systemie, jest konieczny, aby wymusiĘ niski
sygnalizowany diodami LED. - brak połączenia emulatora z proce- poziom na wejściu zerującym pro-
W tab. 1 przedstawiono wszystkie sorem w uruchamianym systemie, gramowanego procesora. Urucha-
mołliwe stany diod LED. - brak oscylacji generatora zegaro- miane urządzenie łączymy z pro-
wego w programowanym proce- gramatorem taśmą 6-łyłową.
Tryby pracy urzÄ…dzenia sorze lub czÍstotliwośĘ niÅ‚sza Zawiera ona linie niezbÍdne do
Tryb emulacji - oznacza stan nił 4MHz, programowania, a takłe jest nią
spoczynkowy programatora, pro- - zakÅ‚Ûcenia na liniach SPI. dostarczane zasilanie do programa-
cesor IC4 jest podłączony do
złącza emulacyjnego.
ZajÍtośĘ emulatora - oznacza
transmisjÍ danych (w tym czasie
migocze LED ìDataî), czyszczenie
pamiÍci procesora lub wysyÅ‚anie
sygnału zerowania do uruchamia-
nego systemu.
Przekroczony adres - prÛbowa-
no zapisaĘ pamiÍĘ programu
ponad adres $1FFF lub pamiÍĘ
danych ponad adres $07FF.
Przekroczono czas oczekiwania
- nie otrzymano znaku koÒca
pliku IntelHex w ciÄ…gu 10 se-
kund. PrawdopodobnÄ… przyczynÄ…
mołe byĘ przerwana transmisja
lub wysłanie pliku w innym for-
macie nił IntelHex.
Rys. 2. Rozmieszczenie elementów na płytce drukowanej.
Elektronika Praktyczna 12/2000
31
Emulator 8051 do Amigi
tora. W tym trybie podstawka pod 1. ZewrzeĘ jumper JP1 i EA.
WYKAZ ELEMENTÓW:
IC4 musi byĘ pusta. C9, C10 i Q2 2. ZamontowaĘ C9, C10, Q2.
Rezystory
nie muszą byĘ zamontowane. 3. PrzylutowaĘ dwie diody LED
R1: 1k&!
Urządzenie mołna wykorzystaĘ z rezystorami szeregowymi 470&!
R2, R3, R8..R10: 10k&!
takłe jako programator AT89S8252. (jedną do pinu P1.0, drugą do
R4, R5, R7, R11: 470&!
Sens takiego trybu pracy jest wąt- P1.1). Na płytce jest miejsce na
R6: 510&!
pliwy, ale ułatwił testowanie pro- LED-y i rezystory oznaczone
Kondensatory
gramatora. W tym trybie w miejsce RTEST1, RTEST2, DTEST1
C1, C4, C8: 10µF
IC4 umieszczamy procesor do za- i DTEST2.
programowania (wtedy R11, C9, 4. PodłączyĘ zasilanie 5V. C2, C3: 27pF
C10, Q2 muszą byĘ zamontowane, 5. WysłaĘ do Programatora pro- C5..C7: 100nF
a JP1 zwarty). Aby zaprogramowaĘ gram ìTest8252.hexî. W czasie
Półprzewodniki
procesor naleÅ‚y: transmisji dioda D3 (ìBusyî)
D1: 1N4148
1.umieÅ›ciĘ procesor do zaprogra- migocze i da siÍ teÅ‚ zauwaÅ‚yĘ
D2..D5: LED
mowania w IC4, modulacjÍ jasnoÅ›ci D2 ìdataî.
D7: 1N4007
2.podłączyĘ zasilanie +5V do pro- 5. Gdy LED-y zgasną, diody pod-
IC1: AT89C2051
gramatora, Å‚Ä…czone do P1.0 i P1.1 powinny
IC2, IC3: 4053
3.wysłaĘ RS-em plik IntelHex, migotaĘ naprzemian.
IC4: 89S8252
4.odłączyĘ zasilanie, Takie zachowanie świadczy
OPT1: CNY-17
5.wyjąĘ zaprogramowany procesor o poprawnej pracy programatora.
Różne
z podstawki. NaleÅ‚y pamiÍtaĘ, aby przy nor-
Q1: 12,000MHz
W tab. 2 przedstawiono wszys- malnej pracy emulatora nie były
CON-1: DB9PIN-M
tkie tryby pracy programatora. zamontowane elementy testujÄ…ce.
CON-2: IDC40
Pin LOCK1 spełnia dwie funkcje.
Elementy opcjonalne (patrz tekst)
Montał i uruchomienie Procesor odczytując go decyduje,
C9, C10: 27pF
Schemat montałowy przedsta- jakie bity zabezpieczające ustawiĘ,
wiono na rys. 2. Montał trady- natomiast w czasie programowa- Q2: min 4,000MHz
cyjnie rozpoczynamy od zwor. nia wystÍpujÄ… tam ujemne impul-
Elementy opcjonalne do
W dalszej kolejnoÅ›ci montujemy sy o czasie trwania rÛwnym cza- testowania urzÄ…dzenia
rezystory, podstawki, kondensato- sowi programowania jednego baj- (patrz tekst)
ry, złącze emulacyjne, listwy do tu. Pin ten mołe byĘ pomocny
DTEST1, DTEST2: LED
jumperÛw, pÛÅ‚przewodniki, na przy okreÅ›laniu przyczyny wystÄ…- RTEST1, RTEST2: 470&!
koÒcu gniazdo RS. pienia bÅ‚Ídu przepeÅ‚nienia bufora
Kabel emulacyjny wykonujemy RS lub bÅ‚Ídu zapisu do procesora. Po klikniÍciu na nich, pamiÍĘ
zgodnie z rys. 3. Taśma nie powin- Typowy czas programowania baj- procesora zostanie wyczyszczona
na byĘ zbyt dÅ‚uga (max. 15..20cm). tu jest rÛwny 3,8ms. JeÅ›li czas lub wysÅ‚any bÍdzie sygnaÅ‚ zero-
PodÅ‚Ä…czamy zasilanie, sprawdzamy zwiÍkszy siÍ do 5ms, nastÄ…pi wania do uruchamianego systemu.
napiÍcia zasilania ukÅ‚adÛw scalo- szybkie zapeÅ‚nienie bufora RS. OczywiÅ›cie nic nie stoi na prze-
nych. PodÅ‚Ä…czamy urzÄ…dzenie do W miejsce C9, C10 i Q2 warto szkodzie, aby skrypty ìpodpiąĘî
komputera standardowym kablem zamontowaĘ odcinki listwy pod klawisze funkcyjne. W pliku
RS ze skrzyÅ‚owanymi liniami TxD z gniazdkami (tulipanowej), dziÍki ìCompiler.DokPLî opisano dokÅ‚ad-
i RxD. Uruchamiamy program ter- temu elementy te moÅ‚na umiesz- nie sposÛb instalacji asemblera
minalowy i po ustawieniu przed- czaĘ tam w zalełności od potrzeb. 8051. Naleły jeszcze dodaĘ, łe na
stawionych wczeÅ›niej parametrÛw pÅ‚ycie CD-EP12/2000B znajdujÄ…
transmisji naciskamy dowolne kla- ObsÅ‚uga siÍ skrypty i include dla kitÛw
wisze. Dioda D2 ìDataî powinna Teraz co nieco o obsÅ‚udze i pi- AVT-2250 i AVT-498 (programa-
migotaĘ. Teraz moÅ‚na umieÅ›ciĘ saniu programÛw. Aby zaprogramo- tor-emulator AT89Cx051).
układy w podstawkach. Programa- waĘ procesor, wystarczy wysłaĘ RS- Sławomir Skrzyński, AVT
tor mołna przetestowaĘ bez umiesz- em plik IntelHex. Mołna to zrobiĘ
czania sondy w uruchamianym sys- systemowÄ… komendÄ… Copy. Aby Najnowsze wersje oprogramowa-
temie. W tym celu naleÅ‚y: wyzerowaĘ uruchamianysystem, na- nia dla Amigi i PC bÍdÄ… dostÍpne
leły wysłaĘ RS-em tekst: @emu8051 na stronie www.ep.com.pl w dziale
@r. Aby wyczyÅ›ciĘ pamiÍĘ progra- download i pod adresem: http://
mowanego procesora, naleły wysłaĘ home.mck.pl/~r-mik.
RS-em tekst: @emu8051 @c. Uwagi, propozycje, zauwaÅ‚one bÅ‚Í-
Autor, chcÄ…c uÅ‚atwiĘ Å‚ycie dy proszÍ przesyÅ‚aĘ na adres: skrzyn-
ułytkownikom emulatora, stwo- ski@zt.wloclawek.tpsa.pl, w polutreśĘ
rzył odpowiednie skrypty (pliki listu umieściĘ: emulator 8051.
wsadowe), ktÛre uruchamiajÄ… kom-
pilacjÍ, wysÅ‚ajÄ… sygnaÅ‚ zerujÄ…cy Wzory pÅ‚ytek drukowanych w for-
do uruchamianego systemu lub macie PDF sÄ… dostÍpne w Internecie
czyszczÄ… pamiÍĘ procesora. Ikony pod adresem: http://www.ep.com.pl/
plikÛw: ì@resetî i ì@clearî moÅ‚na pcb.html oraz na pÅ‚ycie CD-EP12/
Rys. 3. Sposób wykonania kabla
wyciągnąĘ na blat Workbencha. 2000 w katalogu PCB.
emulacyjnego.
Elektronika Praktyczna 12/2000
32


Wyszukiwarka

Podobne podstrony:
programator do Amigi
automatyczne przełącznik mysz joistick do AMIGI
emulator mikrokontrolerów PIC do PC
pozwol mi przyjsc do ciebie
wytyczne do standar przyl4
FAQ Komendy Broń (Nazwy używane w komendach) do OFP
Drzwi do przeznaczenia, rozdział 2
53$2403 specjalista do spraw szkolen
Do W cyrkulacja oceaniczna II rok
powod do rozwodu (2)

więcej podobnych podstron