Symulator EPROM EEPROM do wszystkich rodzajow komputerow, PROGRAMY, EEPROM

[ Pobierz całość w formacie PDF ]
Symulator EPROM/EEPROM do wszystkich typów komputerów
P R O J E K T Y
Symulator EPROM/EEPROM
do wszystkich typów
komputerów, część 1
AVT−870
OpisÛw takich emulatorÛw
pamiÍci publikowaliúmy wiele.
Czym wyrÛønia siÍ ten
emulator? Tym, øe
wyposaøono go w†przelotowy
port RS232. Koniec
ìwachlowaniaî wtyczkami! Bez
problemu moøna pod³¹czyÊ
modem czy inne urz¹dzenie
z†przelotowym portem RS232
- cÛø za wygoda!
Symulator wspÛ³pracuje z†kaø-
dym komputerem wyposaøonym
w†port RS232C. Nie jest wymaga-
ne øadne specjalne oprogramowa-
nie! Wystarcza systemowa komen-
da COPY! Warto zaznaczyÊ, øe na
pomys³ budowy urz¹dzeÒ wspÛ³-
procuj¹cych z†kaødym kompute-
rem (RS-232C i†COPY) wpad³ juø
ktoú inny. Ale na przelotowy port
nie, a†przynajmniej nic mi na ten
temat nie wiadomo.
Kontrowersyjna moøe byÊ pro-
ponowana przeze mnie emulacja
pamiÍci EEPROM. Wynika to
z†faktu, øe EEPROM-y maj¹ wy-
prowadzenia zgodne z†pamiÍciami
RAM. Chodzi tu o†liniÍ adresow¹
A14, ktÛra w†EPROM-ach spe³nia
rolÍ linii A15. Czasem zachodzi
potrzeba emulowania EEPROM,
np. gdy budujemy system z†t¹
pamiÍci¹ (bez EPROM). Jakie od-
niesiemy korzyúci:
- unikniemy k³opotliwego prze-
k³adania pamiÍci z†urz¹dzenia
do programatora;
- EEPROM ma ograniczon¹ liczbÍ
zapisÛw, a†wiÍc bÍdziemy j¹
oszczÍdzaÊ;
- zyskujemy na czasie (w EEP-
ROM kasowanie bajtu moøe
trwaÊ nawet 10ms);
- moøemy bez k³opotu podejrzeÊ
zawartoúÊ EEPROM (wskutek
czego wiemy co program zapi-
suje w†pamiÍci, co jest bardzo
pomocne przy uruchamianiu
systemu).
Wiem, øe moøna tak zbudo-
waÊ urz¹dzenie i†napisaÊ pro-
gram ³aduj¹cy, øe procesor bÍ-
dzie wczytywa³ program z†kom-
putera do EEPROM w†urz¹dze-
niu poprzez RS232. Ale, co
zrobiÊ, gdy interfejs ten jest
Charakterystyka symulatora:
przelotowy port RS232C szybkość transmisji
od 2400 do 57600 bodów,
maksymalny czas transmisji (64KB) 35
sekund (przy 75600 bodów),
współpraca z każdym komputerem
wyposażonym w port RS (także AVT−2250!),
przyjmowanie danych w formacie INTELHex
i binarnym,
symulacja pamięci EPROM 2716...27512,
symulacja pamięci EEPROM 2816...28256,
sygnał RESET do uruchamianego systemu
(aktywny stan niski i wysoki),
bufory na liniach adresowych i danych.
Elektronika Praktyczna 6/2000
65
Symulator EPROM/EEPROM do wszystkich typów komputerów
potrzebny do czegoú in-
nego? Dobrym wyjúciem
jest symulator EEPROM.
Rys. 1. Schemat elektryczny symulatora.
Zasada dzia³ania
ZacznÍ od mojego wy-
nalazku - schemat na
rys.
1
. Sygna³y danych, nada-
wane w†standardzie RS-
232C (z³¹cze G1 typu DB9-
F), s¹ konwertowane do
poziomu sygna³Ûw TTL
w†uk³adzie MAX232 i†kie-
rowane do wejúcia RxD.
Ponadto przechodz¹ do
wtyku ³¹cz¹cego symulator
z†kolejnymi urz¹dzeniami
(z³¹cze G2 typu DB9-M).
Dane przychodz¹ce z†G2
za poúrednictwem
MAX232 s¹ podawane na
multiplekser 74HC157.
W†stanie spoczynku dane
te pojawiaj¹ siÍ na jego
wyjúciu, st¹d przez
MAX232 kierowane s¹ do
gniazda G1. Pozosta³e li-
nie s¹ bezpoúrednio po³¹-
czone pomiÍdzy G1, a†G2.
Jak wiÍc z†tego wynika,
interfejs jest przeüroczys-
ty, tak jakby gniazda G1
i†G2 by³y ze sob¹ po³¹czo-
ne. Procesor US2 moøe
ìpods³uchiwaÊî dane wy-
sy³ane z†komputera. Gdy
napotka odpowiedni¹ sek-
wencjÍ multiplekser od³¹-
czy gniazdo G2, a†przy³¹-
czy liniÍ TxD procesora
US2. Wtedy dane przycho-
dz¹ce z†G2 bÍd¹ ìgin¹Êî,
natomiast dane wysy³ane
z†procesora pojawi¹ siÍ na
G1. Stan ten jest sygnali-
zowany úwieceniem diody
LED D1 ìRS aktywnyî
i†trwa do czasu odebrania
przez US2 sekwencji od-
³¹czaj¹cej go od magistrali
RS lub po 10 sekundach
ìciszyî na porcie RS.
W†czasie gdy uk³ad nie
jest zasilany, przekaünik
PK zwiera liniÍ, ktÛra
przechodzi przez multi-
plekser. DziÍki temu do
poprawnego dzia³ania
urz¹dzeÒ pod³¹czonych do
RS-a nie jest wymagane
w³¹czenie zasilania symu-
latora. Uproszczenie portu
(nie od³¹czanie linii na-
dawczej od G2) na zalety
66
Elektronika Praktyczna 6/2000
Symulator EPROM/EEPROM do wszystkich typów komputerów
i†wady. Wad¹ jest to, øe urz¹dze-
nia przy³¹czone za symulatorem
odbieraj¹ dane nie przeznaczone
dla nich, zaú zalet¹ to, øe moøna
przy³¹czyÊ kilka urz¹dzeÒ do ma-
gistrali i†sterowaÊ nimi rÛwno-
czeúnie. No to ìnowoúciî mamy
za sob¹.
Za³Ûømy, øe dane zosta³y wy-
s³ane/pobrane z†RAM przez proce-
sor i†uk³ad przejdzie w†tryb EMU-
LACJI. Wtedy to na linii
LOAD_EMUL wyst¹pi poziom nis-
ki. Procesor ustawi poziom wysoki
na porcie P2 (ìs³aboî podci¹gany
do +5V) co moøna traktowaÊ jako
stan trzeci. P0 pozostanie ìp³ywa-
j¹cyî czyli w†stanie trzecim. Wyj-
úcia US3 znajd¹ siÍ w†stanie trze-
cim. Uruchamiany systemma do-
stÍp do RAM za poúrednictwem
buforÛw US7, US8, US9 i†uk³adu
GAL. Linia YRD moøe sterowaÊ
lini¹ RD uk³adu RAM. TrochÍ
d³uøej zatrzymamy siÍ przy linii
WR RAM. Jeúli emulowana jest
pamiÍÊ EPROM, to dostÍp do tej
linii jest zablokowany (przez we-
wnÍtrzne bramki GAL-a). Jeúli na-
tomiast emulujemy EEPROM, to
pamiÍÊ moøe byÊ zapisywana syg-
na³em WR (linia A14 dla EEPROM
2864/28256, linia A11 dla 2816).
O†buforach US8/US9 nie ma wiele
do mÛwienia. DziÍki bramkom
Schmita poprawiane s¹ zbocza
sygna³Ûw przechodz¹cych d³ugimi
(jak na technikÍ mikroprocesoro-
w¹) przewodami. TrochÍ bardziej
zagmatwane jest dzia³anie bufora
US7. Brama otwiera siÍ, gdy na
wejúciu OE i†CE sondy emulacyj-
nej pojawi siÍ poziom niski (na
wyjúciu YCE GAL-a pojawia siÍ
stan niski przekazywany na wej-
úcie G bramy). Linia DRI bramy,
steruj¹ca kierunkiem transmisji jest
sterowana sygna³em WR (zapisu
do pamiÍci RAM). W†trybie £ADO-
WANIA poziom na wejúciu G jest
wysoki (za spraw¹ wyjúcia YCE
GAL-a), dziÍki czemu brama jest
nieaktywna i†uruchamiany system
nie fa³szuje danych zapisywanych
do RAM. GAL pe³ni jeszcze jedn¹
waøn¹ funkcjÍ. Zaleønie od stanu
wejúÊ A, B, C, D†przepuszcza,
b¹dü nie sygna³y A11..A15 do
pamiÍci RAM. I†tak np przy emu-
lowaniu pamiÍci 2764 na liniach
A15, A14 i†A13 pamiÍci jest
poziom niski niezaleønie od stanu
na wejúciach adresowych z³¹cza
emulacyjnego. Jeúli natomiast wy-
brany jest tryb emulacji pamiÍci
EEPROM, zamieniana jest funkcja
wejúcia A15. Wtedy spe³nia ono
funkcjÍ wejúcia A14. Po prostu
sygna³ A15 ze z³¹cza emulacyjnego
jest przesy³any do wejúcia A14
pamiÍci RAM, natomiast na A15
zawsze wystÍpuje poziom niski.
W†przypadku emulowania uk³a-
dÛw 2716, 2732 i†2816 sondÍ
emulacyjn¹ naleøy umieúciÊ
w†podstawce tak, aby cztery gÛrne
wyprowadzenia nie by³y do nicze-
go pod³¹czone.
Jak widaÊ GAL spe³nia wiele
funkcji. Gdyby zast¹piÊ go uk³a-
dami TTL trzeba by by³o ich
oko³o 10 szt. Na koniec wspomnÍ,
øe w†uk³adzie uøyto dwie pamiÍci
o†pojemnoúci 32KB. Aktywny
uk³ad wybiera tranzystor T3
pe³ni¹cy funkcjÍ inwertera steru-
j¹c naprzemiennie wejúcia CE.
Uk³ad US10 steruje diodami LED.
Sta³a czasowa RC jest tak dobra-
na, øe w†czasie zapisu/odczytu
diody D2, D3 nie migaj¹, lecz
úwiec¹ pe³n¹ jasnoúci¹.
S³awomir Skrzyñski
Tryb £ADOWANIA
Zak³adamy, øe procesor jest
przy³¹czony do magistrali. Po
otrzymaniu sekwencji prze³¹czaj¹-
cej w†tryb ³adowania, linia
LOAD_EMUL zmieni stan na wy-
soki (w czasie emulacji, czyli po
resecie jest poziom niski). Wyjúcia
buforÛw US7, US8, US9 i†uk³adu
GAL bÍd¹ prze³¹czone w†stan trze-
ci. Linia RD pamiÍci US4 i†US5
zostanie podci¹gniÍta do poziomu
wysokiego przez rezystor R13.
Wyjúcia zatrzasku US3 zostan¹
uaktywnione. DziÍki temu proce-
sor US2 moøe zapisywaÊ, odczy-
tywaÊ dane do pamiÍci RAM.
Uk³ady s¹ traktowane jako ze-
wnÍtrzna pamiÍÊ programu. Jak to
siÍ dzieje, øe najpierw jest prze-
sy³ana m³odsza czÍúÊ adresu, moø-
na poczytaÊ w†literaturze o†8051.
Do RAM procesor ma dostÍp
instrukcjami
movx A,@dptr
i†
movx
@dptr,A
. Tryb ³adowania jest w³¹-
czany tylko w†czasie odczytu/
zapisu pamiÍci RAM przez pro-
cesor US2.
Tryb £ADOWANIA jest w³¹-
czany po otrzymaniu danych
w†formacie IntelHex i†w†czasie od-
czytu po instrukcji @READ lub
@MON. W†czasie wydawania in-
nych instrukcji (np zmiana typu
emulowanej pamiÍci) symulator
znajduje siÍ w†trybie EMULACJI.
Wyj¹tkiem jest instrukcja @RE-
SET, po ktÛrej na 0,5s. urz¹dzenie
przechodzi w†tryb £ADOWANIA.
DziÍki temu (tak jak podczas
zapisu RAM) tranzystory T1, T2
znajduj¹ siÍ w†stanie aktywnym,
wystawiaj¹c sygna³ reset do uru-
chamianego systemu (T1 aktywny
niski, T2 aktywny wysoki).
Z†zerowaniem trzeba uwaøaÊ.
Jeúli uruchamiany system posiada
zewnÍtrzny uk³ad WATCHDOG
lub RESETu ze specjalizowanym
uk³adem scalonym, to trzeba
sprawdziÊ czy moøna do³¹czyÊ
zewnÍtrzny uk³ad zerowania. Nie
kaødy uk³ad to umoøliwia i†mo-
øemy zniszczyÊ go (tranzystory
T1, T2 raczej wytrzymaj¹).
Wzory p³ytek drukowanych w for-
macie PDF s¹ dostÍpne w Internecie
pod adresem:
pcb.html
oraz na p³ycie CD-EP06/
2000 w katalogu
PCB
.
F
C2, C3, C8, C13..C18: 100nF
C5, C6: 27pF
C9..C12, C19: 10
F
C20, C21: 22nF
Rezystory
R1, R3, R5, R6, R14: 10k
R2, R13: 1k

R7..R10: 470

R11, R12: 100k
Półprzewodniki
D1..D4: LED
D5, D6: 1N4148
T1, T3: BC238
T2: BC308
US1: 7805
US2: AT89C51
US3: 74HC573
US4, US5: 62256
US6: GAL20V8
US7..US9: 74HC245
US10: 74HCT04
US11: 74HC157
US12: MAX232
Różne
PK1: EDR 101C−5V
Q1: 11.059MHZ
G1: DB9M kątowe do druku
G2: DB9F kątowe do druku
Z−WS34G
Elektronika Praktyczna 6/2000
67
WYKAZ ELEMENTÓW
Kondensatory
C1, C4, C7: 47
R4: 2,2k
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kfc.htw.pl