Emulator procesorów 89cx051.pdf

(559 KB) Pobierz
152727274 UNPDF
BASCOM College
E
m
u
l
a
t
o
r
p
r
o
c
e
s
o
r
ó
w
8
9
C
X
0
5
1
W ramach programu BASCOM College
chciałbym zaproponować Moim Czytelni−
kom budowę jednego z najbardziej użytecz−
nych dla konstruktora urządzeń: emulatora
sprzętowego. Jednak zanim przejdziemy do
bardziej szczegółowego opisu proponowane−
go układu, etyka zawodowa nakazuje mi zło−
żyć następujące oświadczenie:
Emulator sprzętowy procesorów
89CX051, przeznaczony do współpracy z
kompilatorami BASCOM, został opra−
cowany przez firmę MCS Electronics i
GRIFO. Nie jestem autorem tego
urządzenia, a jedyną moją zasługą jest
zaprojektowanie płytki obwodu
drukowanego i przetestowanie układu.
Schemat emulatora został wykorzystany
za zgodą i aprobatą firmy GRIFO.
Emulator sprzętowy jest urządzeniem,
które nie tylko ułatwia tworzenie programów
na mikroprocesory. W wielu przypadkach po−
zwala on na pełne przetestowanie programu
i zaprojektowanego układu wyłącznie za po−
mocą komputera i odpowiedniego oprogra−
mowania, bez konieczności programowania
procesora. Mówiąc najprościej: komputer po−
łączony z uruchamianym urządzeniem za po−
mocą emulatora „udaje“, że jest włożonym
w podstawkę procesorem. Jakie to daje ko−
rzyści programiście? Ogromne, a przede
wszystkim znaczną oszczędność czasu. Pro−
cesory 89CX051 posiadają wprawdzie
2
5
0
1
pamięć EEPROM, w której przechowywana
jest pamięć programu, ich programowanie
i przeprogramowywanie jest bardzo proste,
ale zawsze zajmuje cenny czas. Ponadto, pro−
gramator procesorów jest urządzeniem dość
kosztownym, a jego samodzielna budowa nie
należy do najprostszych zadań. Stosowanie
emulatorów programowego i sprzętowego
pozwala odwlec konieczność zaprogramowa−
nia procesora do ostatniej chwili, kiedy napi−
sany program będzie już wielokrotnie przete−
stowany i poprawiony. Emulator sprzętowy,
szczególnie w połączeniu z opisaną dalej
płytką prototypową, daje też dostęp do techni−
ki mikroprocesorowej kolejnej grupie hobby−
stów: Kolegom, którzy uwielbiają prace pro−
gramistyczne, ale wzięcie do ręki lutownicy
jest dla nich jedynie smutną koniecznością.
Powiedzmy sobie teraz kilka słów o moż−
liwościach i ograniczeniach proponowanego
układu. Może on współpracować z dwoma
programami – kompilatorami języka BASIC:
BASCOM−em i 8051. Sprawdziłem działanie
układu z obydwoma tymi programami i wy−
niki były więcej niż zachęcające ! Jednak
bez posiadania jed−
nego z wymienio−
nych programów
układ emulatora
jest całkowicie bez−
użyteczny!
Emulator pozwala
na symulację obecno−
ści w testowanym
układzie wyłącznie
procesorów typu
AT89C2051
i AT89C4051. Emu−
lacja jakichkolwiek
innych procesorów
nie jest możliwa . Po−
nieważ jednak
umówiliśmy się, że na
początkowym etapie działalności naszej szko−
ły programowania procesorów w języku
BASIC będziemy używać tylko tych proceso−
rów, wada nie wydaje się być zbyt uciążliwa.
Za pomocą naszego emulatora możemy
sprawdzić działanie większości funkcji wyko−
nywanych przez testowany program i projek−
towane urządzenie mikroprocesorowe. Więk−
szości, nie wszystkich! Ograniczeniem jest
szybkość pracy emulatora, już w założeniu
znacznie mniejsza od szybkości pracy proce−
sora. Tu w korzystnej sytuacji znajdą się
szczęśliwi posiadacze komputerów w nowo−
czesnej konfiguracji, wyposażonych w proce−
sory PENTIUM II lub lepsze. Im bowiem
szybszy procesor komputera, tym bardziej
emulacja mikroprocesora będzie odpowiadała
rzeczywistym warunkom pracy testowanego
układu.
Proponowany układ jest banalnie prosty
i łatwy do wykonania. Całkowicie odpowia−
da to trendom, które lansujemy w naszej
szkole programowana procesorów: prosty
hardware, a cały “rozum” urządzenia umie−
szczony jest w jego oprogramowaniu. Dlate−
go też do wykonania emulatora zachęcam na−
wet zupełnie początkujących konstruktorów,
a w szczególności tych, którzy nie za bardzo
lubią lutować, a cały wysiłek wkładają w pi−
sanie programów.
Rys. 4
Jak to działa?
Na rysunku 1 został pokazany schemat elek−
tryczny układu sprzętowego emulatora pro−
cesorów 89CX051. Jednak odpowiedź na po−
stawione wyżej pytanie będzie tym razem
dość trudna. Jak już wiecie, nie jestem auto−
rem tego układu i ... nie bardzo wiem, jak to
działa. Bez wnikania w zasady działania pro−
gramów BASCOM, które z kolei są tajemni−
cą producenta, możemy jedynie stwierdzić,
że przesyłanie informacji pomiędzy emulato−
rem a komputerem odbywa się zgodnie
Elektronika dla Wszystkich
15
152727274.030.png 152727274.031.png
BASCOM College
z protokołem transmisji danych w szynie I 2 C.
Do transferu danych wykorzystane
zostały dwa dwukierunkowe konwertery
I 2 C – 8−bitowa szyna danych. Emulator ob−
sługuje wszystkie wyprowadzenia procesora
z wyjątkiem wejść oscylatora kwarcowego
i wejścia RESET. Ważne jest, że wyprowa−
dzenia te nie są do niczego podłączone i że
podczas pracy z emulatorem nie musimy wy−
lutowywać z układu kwarcu, ani też zmieniać
niczego w układzie resetowania procesora.
Układ emulatora zasilany jest zawsze z te−
stowanego układu.
Montaż i uruchomienie
Na rysunku 2 została pokazana mozaika
ścieżek płytki obwodu drukowanego, wyko−
nanego na laminacie dwustronnym z metali−
zacją. Montaż układu wykonujemy w typo−
wy sposób, rozpoczynając od wlutowania
w płytkę podstawek pod układy scalone,
a kończąc na zamontowaniu złącza CON2
i przewodu z wtykiem emulacyjnym.
Warto szerzej omówić sprawę montażu
wtyku emulacyjnego, co bynajmniej nie
jest tak proste, jak mogłoby się wydawać.
W zestawie znajduje się odcinek przewodu
taśmowego 20−żyłowego i dwa wtyki: je−
den, znany już nam wtyk zaciskany na
przewodzie taśmowym, który dołączymy
do złącza CON1 na płytce, i drugi, z wy−
glądu podobny do podstawki pod układ
scalony. Sposób zaciśnięcia na kablu
pierwszego z wtyków został już wyczerpu−
jąco opisany w jednym z poprzednich nu−
merów EdW, natomiast drugi wtyk, emula−
cyjny, jest dla nas jeszcze nowością. Prze−
glądając wykaz elementów uważni Czytel−
nicy z pewnością zauważyli, że wymienio−
na w nim jest podstawka typu DIL20, pod−
czas gdy na płytce nie ma miejsca na układ
o tej liczbie nóżek. Ta druga podstawka jest
tylko elementem pomocniczym do monta−
żu na kablu wtyku emulacyjnego i, nieste−
ty, ulegnie podczas tej operacji całkowite−
mu zniszczeniu. Kolejność postępowania
podczas montażu wtyku emulacyjnego bę−
dzie następująca:
1. Wtyk emulacyjny wkładamy do “dodatko−
wej” podstawki DIL20.
Rys. 1 Schemat ideowy emulatora
2. W szczelinę we wtyku emulacyjnym wsu−
wamy jeden koniec przewodu taśmowego.
3. Całość ściskamy w imadle aż do usłysze−
nie cichego trzasku, świadczącego o za−
mknięciu się wtyku emulacyjnego. Podczas
wykonywania tej czynności podstawka zo−
stanie całkowicie zniszczona, ale jest to jedy−
na pewna metoda zabezpieczenia końcówek
wtyku emulacyjnego przed uszkodzeniem.
Układ emulatora zmontowany ze spraw−
nych elementów nie wymaga już więcej ja−
kichkolwiek czynności i po dołączeniu do
portu drukarkowego komputera z zainstalo−
wanym jednym z programów BASCOM po−
winien działać poprawnie. Użytkowanie
emulatora opisane będzie dokładnie w cyklu
artykułów opisujących
program BASCOM i dla−
tego teraz podam Wam je−
dynie najpotrzebniejsze
informacje.
Wtyk emulacyjny
układu powinien zostać
umieszczony w testowa−
nym urządzeniu, zamiast
procesora. Badany układ
powinien być zasilany od−
powiednim dla niego na−
pięciem, tj. 5VDC. Po po−
łączeniu ze sobą (przy
wyłączonym zasilaniu)
trzech układów: kompute−
ra, emulatora i testowane−
go urządzenia włączamy zasilanie i urucha−
miamy na komputerze program BASCOM
LT lub BASCOM8051. Ładujemy program,
którego działanie chcemy sprawdzić, kompi−
lujemy go i uruchamiamy symulator.
Dalsze czynności zależne są od funkcji
wykonywanych przez testowany program.
Co jednak mają zrobić niecierpliwi kon−
struktorzy, którzy nie mają jeszcze przygoto−
wanego żadnego układu z procesorami
89CX051, ani płytki testowej, a chcieliby
przetestować działania emulatora? Można to
zrobić w bardzo prosty sposób.
Do podstawki DIL20 lutujemy “w pają−
ku” zgodnie z rysunkiem 3 wyświetlacz
siedmiosegmentowy LED. Musi to być
Rys. 2 Schemat montażowy
Rys. 3
16
Elektronika dla Wszystkich
152727274.032.png 152727274.033.png 152727274.001.png 152727274.002.png 152727274.003.png 152727274.004.png 152727274.005.png 152727274.006.png 152727274.007.png 152727274.008.png 152727274.009.png 152727274.010.png 152727274.011.png 152727274.012.png 152727274.013.png 152727274.014.png 152727274.015.png 152727274.016.png 152727274.017.png 152727274.018.png 152727274.019.png 152727274.020.png 152727274.021.png 152727274.022.png 152727274.023.png 152727274.024.png 152727274.025.png 152727274.026.png 152727274.027.png
BASCOM College
wyświetlacz ze wspól−
ną katodą! Do podstaw−
ki dołączamy zasilanie
5VDC (nóżka 20 +,
nóżka 10 −) i łączymy ją
z emulatorem. Następ−
nie piszemy w edytorze
BASCOM−a króciutki
programik:
Po jego skompilowa−
niu uruchamiamy emu−
lator (rys.4) i obserwuje−
my zachowanie wyświe−
tlacza. Jeżeli zaczną się
na nim pojawiać cyfry
od 0 do 9 wyświetlane
w pętli, to nasz układ
emulatora możemy
uznać za sprawny i goto−
wy do testowania napi−
sanych programów.
Dim R As Byte 'deklaracja zmiennej, niezbędna w dialekcie BASCOM
Dim A As Word 'deklaracja zmiennej, niezbędna w dialekcie BASCOM
Dim Cyfra(10) As Byte 'deklaracja tablicy, niezbędna w dialekcie BASCOM
Cyfra (1) = 127
' definicja wyświetlania cyfry "0"
Wykaz elementów
Kondensatory:
C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 µµ F/10
C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
Rezystory:
RP1 . . . . . . . . . . . . . . . . . . . . . . . . .R−pack SIL 10k ΩΩ
Półprzewodniki:
IC2, IC1 . . . . . . . . . . . . . . . . . . . . . . . . . . .PCF8574P
IC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74LS05
Pozostałe:
CON1 . . . . . .złącze zaciskane 20 pin lutowane w płytkę
CON2 . . . . . . . . . . . .złącze DB25/M lutowane w płytkę
Wtyk emulacyjny 20 pin
Przewód taśmowy ok. 1 mb
Podstawki pod układy scalone + podstawka DIL20
Goldpin 2 x 10 pin
Cyfra (2) = 6
' definicja wyświetlania cyfry "1"
Cyfra (3) = 155
' definicja wyświetlania cyfry "2"
Cyfra (4) = 143
' definicja wyświetlania cyfry "3"
Cyfra (5) = 166
' definicja wyświetlania cyfry "4"
Cyfra (6) = 173
' definicja wyświetlania cyfry "5"
Cyfra (7) = 189
' definicja wyświetlania cyfry "6"
Cyfra (8) = 7
' definicja wyświetlania cyfry "7"
Cyfra (9) = 191
' definicja wyświetlania cyfry "8"
Cyfra (10) = 175
' definicja wyświetlania cyfry "9"
Do
For R = 1 To 10
P3 = Cyfra (r)
Print R
For A = 1 To 1000 : Next A 'pętla opóźnienia zależna od szybkości komputera
Next R
Loop
Komplet podzespołów z płytką jest
dostępny w sieci handlowej AVT jako
kit szkolny AVT−2501
Elektronika dla Wszystkich
17
152727274.028.png 152727274.029.png
Zgłoś jeśli naruszono regulamin