Programator emulator procesorów AT89Cx51.pdf

(388 KB) Pobierz
32040656 UNPDF
Programator − emulator procesorów AT89CX051
P R O J E K T Y
Programator − emulator
procesorów AT89CX051
AVT−872
Proponowany uk³ad jest
kolejnym narzÍdziem
przeznaczonym do wspÛ³pracy
z†rewelacyjnymi pakietami
BASCOM 8051 i†BASCOM
AVR, ktÛre zapewniaj¹ pe³ne
wykorzystanie moøliwoúci
oferowanych przez to
rewelacyjne oprogramowanie.
Prezentowa-
ny uk³ad jest kompilacj¹
dwÛch uk³adÛw opracowanych
przez firmÍ MCS Electronics: pro-
gramatora MCS Flashprogrammer
i†emulatora sprzÍtowego. Po³¹cze-
nie tych dwÛch uk³adÛw mia³o na
celu nie tylko ograniczenie miejsca
zajmowanego na stole przez dwa
osobne uk³ady.
ZarÛwno programator, jak
i†emulator MCS Electronics do³¹-
czane s¹ do portu rÛwnoleg³ego
komputera PC. Z†kolei BASCOM
8051 jest wyj¹tkowo wygodnym
úrodowiskiem programistycznym.
Aby zaprogramowaÊ procesor, wy-
starczy nacisn¹Ê jeden klawisz,
a†program automatycznie urucho-
mi kompilator, sprawdzi popra-
wnoúÊ sk³adni napisanego progra-
mu, skompiluje go i†zaprogramuje
procesor. Musimy jednak zdawaÊ
sobie sprawÍ z†pewnych ograni-
czeÒ prezentowanej konstrukcji:
1. Proponowany uk³ad moøe
pracowaÊ wy³¹cznie z†programami
BASCOM 8051 i†BASCOM 8051
Demo. Oczywiúcie, moøliwe jest
samodzielne napisanie obs³uguj¹-
cego go programu, ale takie dzia-
³anie nie mia³oby wiÍkszego sen-
su ekonomicznego. BASCOM 8051
Demo jest specjaln¹ edycj¹ BAS-
COM-a 8051 przeznaczon¹ dla
CzytelnikÛw Elektroniki Praktycz-
nej i†jako taki
dostÍpny jest dla
kaødego z†Was bez
wnoszenia jakichkolwiek op³at.
Ograniczenia dotycz¹ce d³ugoúci
kodu ürÛd³owego (do 2kB) nie
dotycz¹ plikÛw z†kodem binar-
nym lub HEX, wczytywanych bez-
poúrednio do programu obs³ugu-
j¹cego programator. Tak wiÍc opi-
sane w†tym artykule urz¹dzenie
moøemy takøe wykorzystywaÊ do
programowania procesorÛw plika-
mi skompilowanymi w†zupe³nie
innym úrodowisku.
2. Za pomoc¹ opisanego niøej
urz¹dzenia moøemy programowaÊ
wy³¹cznie procesory serii
89CX051, czyli 89C1051, 89C2051
i†89C4051.
3. Emulator pozwala na symu-
lacjÍ obecnoúci w†testowanym
uk³adzie wy³¹cznie procesorÛw ty-
pu AT89C1051, AT89C2051
i†AT89C4051.
4. Za pomoc¹ naszego emula-
tora moøemy sprawdziÊ dzia³anie
wiÍkszoúci funkcji wykonywanych
przez testowany program i†projek-
towane urz¹dzenie mikroproceso-
rowe. WiÍkszoúci, ale nie wszyst-
kich! Ograniczeniem jest szybkoúÊ
pracy emulatora, w†za³oøeniu
znacznie mniejsza od szybkoúci
pracy procesora.
Elektronika Praktyczna 5/2000
65
32040656.024.png 32040656.025.png
Programator − emulator procesorów AT89CX051
Rys. 1. Schemat elektryczny programatora.
5. Automatyczne prze³¹czanie ro-
dzajÛw pracy uk³adu nie bÍdzie
dzia³aÊ ze starszymi wersjami pro-
gramu BASCOM 8051 i†BASCOM-
em Lt (przewiedziano moøliwoúÊ
rÍcznego prze³¹czania rodzaju pracy).
Do czego s³uøy programator
procesorÛw nie trzeba chyba ni-
komu t³umaczyÊ. Jest to podsta-
wowe narzÍdzie kaødego konstruk-
tora zajmuj¹cego siÍ technik¹ mik-
roprocesorow¹ i†jako takie znane
jest kaødemu z†nas. Natomiast
emulator sprzÍtowy jest urz¹dze-
niem, ktÛre u³atwia pisanie i†tes-
towanie programÛw dla mikropro-
cesorÛw. W†wielu przypadkach
pozwala on na pe³ne przetestowa-
nie programu i†zaprojektowanego
uk³adu wy³¹cznie za pomoc¹ kom-
putera i†odpowiedniego oprogra-
mowania, bez koniecznoúci pro-
gramowania procesora.
dzenia umieszczona jest w†oprog-
ramowaniu komputerowym - pa-
kiecie BASCOM, a†my mamy do
czynienia jedynie z†prostymi uk³a-
dami wykonawczymi. Dane prze-
kazywana s¹ z†i†do komputera za
poúrednictwem portu rÛwnoleg³e-
go Centronics i†dalej kierowane
do programatora lub emulatora
sprzÍtowego. RolÍ prze³¹cznika
sygna³Ûw spe³nia scalony, trzyka-
na³owy multiplekser typu 4053.
GÛrna czÍúÊ schematu przed-
stawia uk³ad programatora. Wszys-
tkie potrzebne do zaprogramowa-
Opis dzia³ania uk³adu
Schemat elektryczny emulatora
- programatora pokazano na rys.
1 . Opisanie zasady dzia³ania uk³a-
du bÍdzie tym razem doúÊ trudne,
poniewaø ca³a ìinteligencjaî urz¹-
66
Elektronika Praktyczna 5/2000
32040656.026.png 32040656.027.png 32040656.001.png 32040656.002.png 32040656.003.png 32040656.004.png 32040656.005.png 32040656.006.png 32040656.007.png 32040656.008.png 32040656.009.png 32040656.010.png 32040656.011.png 32040656.012.png 32040656.013.png 32040656.014.png 32040656.015.png 32040656.016.png
Programator − emulator procesorów AT89CX051
nia procesora sygna³y przekazy-
wane s¹ z†wyjúÊ multipleksera do
wejúÊ procesora poprzez konwer-
tery I 2 C†- oúmiobitowa szyna da-
nych typu PCF8574. Uk³ad IC2
przekazuje kod programy na wej-
úcia danych procesora, a†IC3 trans-
mituje dodatkowe sygna³y steru-
j¹ce do wejúÊ P3.2..P3.5 oraz RST
i†XTAL1 programowanego uk³adu,
a†takøe sygna³y steruj¹ce progra-
mowanym regulatorem napiÍcia.
ZasadÍ dzia³ania programatora naj-
lepiej zrozumieÊ zapoznaj¹c siÍ
z†algorytmem programowania pro-
cesorÛw typu AT89CX051.
Po umieszczeniu procesora
przeznaczonego do zaprogramo-
wania w†podstawce programatora,
musz¹ zostaÊ wykonane nastÍpu-
j¹ce czynnoúci:
1. Wymuszenie stanu niskiego
na wejúciu RST na okres nie
krÛtszy niø 10ms.
2. Wymuszenie stanu wysokie-
go na wejúciach RST i†P3.2.
3. Ustawienie odpowiedniej
kombinacji stanÛw logicznych
w³aúciwych dla funkcji, ktÛra ma
zostaÊ wykonana na wejúciach
P3.3, P3.4, P3.5 i†P3.7. W†tabeli
poniøej zestawione zosta³y wszys-
tkie tryby pracy procesora pod-
czas programowania i†odpowiada-
j¹ce im stany logiczne na wej-
úciach portu P3 ( tab. 1 ).
1. Programowanie i†weryfikacja
zapisanych danych. Na wejúciach
portu P1 musi zostaÊ ustawiona
kombinacja logiczna odpowiadaj¹-
ca pierwszemu bajtowi wpisywa-
nego do pamiÍci programu (adres
000H).
2. Do³¹czenie do wejúcia RST
napiÍcia dok³adnie rÛwnego
+12VDC.
3. Podanie na wejúcie P3.2 krÛt-
kiego impulsu (od 1
6. Powtarzamy operacje opisa-
ne w†punktach 5†do 8†aø do za-
pisania ca³ej wykorzystywanej za-
wartoúci pamiÍci.
7. Opcjonalnie wpisujemy do
pamiÍci procesora bity zabezpie-
czaj¹ce.
8. Ustawiamy stan niski na
wejúciu XTAL.
9. Ustawiamy stan niski na
wejúciu RST.
W†uk³adzie programatora wy-
jaúnienia moøe wymagaÊ jeszcze
sprawa obwodu z†tranzystorami
T1..T3. Ten fragment uk³adu nie
jest niczym innym jak programo-
wanym stabilizatorem, dostarcza-
j¹cym napiÍÊ potrzebnych do ste-
rowania wejúciem RST programo-
wanego procesora. NapiÍcia prze-
³¹czane s¹ stanem na linii 5/12
wyprowadzonej z†wyjúcia 12 IC3.
Stan wysoki na tym wyjúciu po-
woduje dostarczenie do wejúcia
RST procesora napiÍcia rÛwnego
5V, a†stan niski pozwala na pro-
gramowanie procesora poprzez
wymuszenie na wejúciu RST na-
piÍcia +12V. Natomiast wyst¹pie-
nie na wyjúciu OFF (11 IC3) stanu
wysokiego powoduje wyzerowanie
procesora (oczywiúcie nie jego
pamiÍci programu!).
Dioda LED s³uøy jedynie do
wizualnej kontroli pracy progra-
matora, w³¹czaj¹c siÍ podczas kaø-
dej wykonywanej przez uk³ad ope-
racji.
Fragment uk³adu, realizuj¹cy
funkcjÍ emulatora sprzÍtowego, jest
znacznie prostszy od programato-
ra. Do transferu danych wykorzys-
tane zosta³y kolejne dwa dwukie-
runkowe konwertery I 2 C†- 8-bitowa
szyna danych typu PCF8574. Emu-
lator obs³uguje wszystkie wypro-
wadzenia procesora z†wyj¹tkiem
wejúÊ oscylatora kwarcowego i†wej-
úcia RESET. Waøne jest, øe wy-
prowadzenia te nie s¹ nigdzie
pod³¹czone i†øe podczas pracy
z†emulatorem nie musimy wyluto-
wywaÊ z†uk³adu kwarcu ani teø
zmieniaÊ niczego w†obwodzie re-
setowania procesora.
Wyjaúnienia wymaga jeszcze
sposÛb prze³¹czania trybu pracy
naszego uk³adu. Przy pracy z†now-
szymi wersjami programu BAS-
COM 8051, a†takøe z†pakietem
BASCOM 8051 Demo (wersja dla
Elektroniki Praktycznej), prze³¹-
czanie dokonuje siÍ ca³kowicie
automatycznie. Przy stanie niskim
na wyjúciu D0 szyny danych
interfejsu Centronics uaktywniony
zostaje emulator sprzÍtowy. Pod-
czas programowania procesorÛw
nowsze wersje programu BAS-
COM wysy³aj¹ na wyjúcie D0
szyny danych stan wysoki, ktÛry
powoduje automatyczne przejúcie
uk³adu w†tryb pracy programato-
ra. Jeøeli dysponujemy starsz¹
wersj¹ BASCOM-a lub BASCOM-
em Lt, to zmiana trybu pracy
musi odbywaÊ siÍ rÍcznie, za
pomoc¹ prze³¹cznika S3 (przy
ustawieniu jumpera S2 w†pozycji
ìMAN.î).
s)
ujemnego powoduj¹cego zapisanie
bajtu w†pamiÍci.
4. Aby zweryfikowaÊ zapisane
dane (bajt), naleøy obniøyÊ napiÍ-
cie na wejúciu RST do poziomu
logicznej jedynki, ustawiÊ odpo-
wiedni¹ kombinacjÍ logiczn¹ (od-
czyt danych) na wejúciach portu
P3 i†dokonaÊ odczytu danych
z†wyjúÊ portu P1.
5. Po sprawdzeniu poprawnoú-
ci zapisu bajtu zwiÍkszamy war-
toúÊ wewnÍtrznego licznika pa-
miÍci programu o†ì1î przez po-
danie pojedynczego impulsu do-
datniego na wejúcie XTAL1.
Montaø i†uruchomienie
Na rys. 2 pokazano mozaikÍ
úcieøek p³ytki drukowanej wyko-
nanej na laminacie dwustronnym
z†metalizacj¹ oraz rozmieszczenie
na niej elementÛw.
Jeszcze przed rozpoczÍciem
montaøu powinniúmy chwilÍ siÍ
zastanowiÊ i†powzi¹Ê waøn¹ de-
cyzjÍ. Pomyúlmy, jakie s¹ nasze
zamiary na przysz³oúÊ i†czy mamy
zamiar opracowywaÊ wiele uk³a-
dÛw wykorzystuj¹cych procesory
89CX051? W†zasadzie kaødy pro-
gramator, do ktÛrego z†za³oøenia
czÍsto wk³adamy i†wyjmujemy
programowane uk³ady powinien
byÊ wyposaøony w†podstawkÍ ty-
pu ZIF (Zero Inserting Force -
wk³adanie uk³adÛw bez stosowa-
nia si³y), umoøliwiaj¹c¹ ³atw¹ wy-
mianÍ programowanych uk³adÛw.
Jednak koszt takiej podstawki
przekroczy z†pewnoúci¹ koszt
wszystkich pozosta³ych elemen-
Tab. 1.
Funkcja
RST
P3.2
P3.3
P3.4
P3.5
P3.7
Zapis danych
12V
IMP*)
L
H
H
H
Odczyt danych
H
H
L
L
H
H
Zabezpieczenie − bit 1 12V
IMP
H
H
H
H
Zabezpieczenie − bit 2 12V
IMP
H
H
L
L
Kasowanie
12V
IMP
H
L
L
L
Odczyt sygnatury
H
H
L
L
L
L
*) IMP− ujemny impuls 1 ms (kasowanie 10 ms)
Elektronika Praktyczna 5/2000
67
s do 110
32040656.017.png
Programator − emulator procesorów AT89CX051
WYKAZ ELEMENTÓW
Rezystory
RP1, RP2: R−PACK 10k
R1, R2, R3: 3,3k
R5: 100
Kondensatory
C1: 470
F/25V
C2, C4: 100nF
C3: 100
F/10V
Półprzewodniki
D1: dioda LED czerwona
D2: dioda Zenera 5,6V
D3: dioda Zenera 12V
D4: 1N4148
IC1, IC5: 74LS05
IC2, IC3, IC6, IC7: PCF8574
IC4: 7805
IC8: 4053
T1, T2, T3: BC548
Różne
CON1: ARK2 (3,5mm)
CON2: złącze CENTRONICS 36pin
lutowane w płytkę
CON3: podstawka 20 pin
precyzyjna lub podstawka ZIF−20,
ewentualnie ZIF−28
CON4: wtyk emulacyjny 20 pinów,
goldpin 2x10, wtyk zaciskany na
kablu, kabel taśmowy 20−żyłowy
ok. 60 cm
S1: włącznik
S2, S2: 3xgoldpin + jumper
Rys. 2. Rozmieszczenie elementów na płytce drukowanej.
tÛw potrzebnych do budowy pro-
gramatora!
Warto poruszyÊ sprawÍ zasila-
nia zmontowanego uk³adu. Z†uwa-
gi na stosowane w†urz¹dzeniu sta-
bilizatory napiÍcia, musimy zasilaÊ
go napiÍciem sta³ym z†przedzia³u
14..16VDC. NapiÍcie wiÍksze moøe
spowodowaÊ uszkodzenie lub wad-
liwe dzia³anie stabilizatora IC4,
a†mniejsze moøe doprowadziÊ do
obniøenia napiÍcia na wejúciu RST
procesora poniøej 12V. Natomiast
podczas pracy uk³adu w†trybie
emulatora sprzÍtowego wymagania
w stosunku do napiÍcia zasilaj¹-
cego s¹ mniej krytyczne i†jego
wartoúÊ moøe mieúciÊ siÍ w†gra-
nicach 7,5..16VDC lub emulator
moøe byÊ zasilany z†testowanego
uk³adu.
Dla niecierpliwych chcia³bym
jedynie podaÊ kilka wskazÛwek,
ktÛre mog¹ pomÛc w†unikniÍciu
k³opotÛw i†nieprawid³owego dzia-
³ania wykonanego uk³adu. Pod-
czas konfigurowania BASCOM-a
musimy w†okienku OPTIONS -
PROGRAMMER ustawiÊ dwa, bar-
dzo waøne parametry ( rys. 3 ):
1. Wybieramy typ programato-
ra ìMCS Flashprogrammerî.
2. OpÛünienie portu (PORT
DELAY) musi zostaÊ ustawione
odpowiednio do szybkoúci pracy
procesora uøywanego komputera.
Dla PENTIUM 75MHz wartoúÊ ta
powinna wynosiÊ 0, dla PEN-
TIUM 133MHz - 20 i†odpowied-
nio wiÍcej dla szybszych proce-
sorÛw. OpÛünienie portu moøna
teø ustaliÊ doúwiadczalnie.
3. W†polu wyboru obok okien-
ka z†adresem portu CENTRONICS
(zwykle 378) musimy zaznaczyÊ,
jaki typ uk³adÛw PCF8574 zosta³
zastosowany w†naszym uk³adzie.
Takøe w†okienku dialogowym
OPTIONS - HARDWARE SIMULA-
TOR ( rys. 4 ) musimy zaznaczyÊ
typ emulatora sprzÍtowego. BÍdzie
to ìMCS port 1 and 3 simulatorî,
a†o†drugim emulatorze - ìElektro-
nika Praktyczna simulatorî pomÛ-
wimy w†najbliøszym czasie.
Zbigniew Raabe, AVT
zbigniew.raabe@ep.com.pl
Wzory p³ytek drukowanych w for-
macie PDF s¹ dostÍpne w Internecie
pod adresem: http://www.ep.com.pl/
pcb.html oraz na p³ycie CD-EP05/
2000 w katalogu PCB .
Rys. 3. Okno konfiguracji parametrów programatora. Rys. 4. Okno wyboru symulatora sprzętowego.
68
Elektronika Praktyczna 5/2000
R4: 2k
R6: 470
32040656.018.png 32040656.019.png 32040656.020.png 32040656.021.png 32040656.022.png 32040656.023.png
Zgłoś jeśli naruszono regulamin