Mikrokontrolery to takie proste cz.15.pdf

(613 KB) Pobierz
1128254 UNPDF
Też to potrafisz
W dzisiejszym odcinku traktującym
o mikrokontrolerach 8051/52 zapoz−
namy się z możliwościami i sposo−
bami obsługi i programowania tych
wersji kostek które posiadają we−
wnętrzną pamięć programu typu
EPROM. Ze względu na to, że
wostatnich latach, cena układów
wtakich wersjach bardzo spadła,
nawet kilkanaście razy, oraz pojawi−
ło się wiele mutacji procesorów
C51/52 z pamięcią reprogramowal−
ną typu „Flash” EEPROM, stały się
one dostępne dla większości hob−
bystów – amatorów techniki mikro−
procesorowej. Jeżeli nawet nie za−
mierzasz wkrótce korzystać z dobro−
dziejstw procesora w wersji z we−
wnętrzną, reprogramowalną pamię−
cią programu, to przedstawiona
wartykule garść informacji z pew−
nością, przyczyni się do większego
oswojenia się z popularną ‘51−ką.
Mikrokontrolery?
To takie proste...
Część 15
Procesor 8051/2 – obsługa i praca
z wewnętrzną pamięcią programu
Pamiętam jeszcze czasy, a było to prawie dekadę temu, kie−
dy to cena procesora 87C51 była tak duża, że aby go zdobyć,
musiałem sporo odkładać ze studenckiego stypendium. Kiedy
wreszcie udało mi się kupić wymarzoną kostkę, środków ost−
rożności nie było nigdy za wiele. A to nosiło się układ w folii alu−
miniowej, a przed wyjęciem wyrównywało się swój – ludzki po−
tencjał dotykając kaloryfera lub rury wodociągowej, a to spraw−
dzało się zmontowaną płytkę drukowaną przed włożeniem dro−
gocennego układu kilka razy. Wszystko po to aby przypadkiem
nie uszkodzić delikatnej struktury mikroprocesora. Dla przykła−
du podam, że wówczas przy cenie procesora 87C51 równej
około 500 tys. złotych (50,− nowych złotych), wersja bez pamię−
ci EPROM lub wersje z pamięcią stałą ROM, kosztowały około
20...30 tys. (2...3 nowe złote), czyli około 20 razy mniej. Nie
wspominam tutaj o procesora takich jak np. 87C52 z wewnętr−
zną pamięcią EEPROM, których zdobycie było nie lada trudnoś−
cią, a jeżeli już były to trzeba było za nie zapłacić ponad milion
starych złotych, czyli prawie 1/3 ówczesnej przeciętnej pensji!
Tabella 1
Teraz, kiedy na rynku aż roi się od mik−
roprocesorów w różnych wersjach, ceny
układów znacznie spadły. Obecnie za
kwotę 15 zł można kupić popularną ‘51−kę
z pamięcią EEPROM „Flash”, a kostki
tzw. „ROM less”, czyli bez wewnętrznej
pamięci programu lub z fabrycznym
ROMem, spotka się za kilka złotych.
I właśnie ze względu na to, że różnica po−
między cenami układów jest taka mała,
warto zainteresować się takim właśnie
wersjami tych jakże popularnych kostek.
W jednym z pierwszych odcinków
szkoły mikroprocesorowej, opisywałem
kilka najpopularniejszych obecnie wersji
procesorów oraz ich przybliżone ceny.
Ponieważ było to ponad rok temu, obec−
ne ceny tych układów są jeszcze niższe.
Dla przypomnienia zamieszczam infor−
macje dotyczące najpopularniejszych
obecnie mikrokontrolerów serii MCS−51
(patrz tabella 1).
E LEKTRONIKA DLA WSZYSTKICH 7/98
33
1128254.051.png 1128254.062.png 1128254.068.png 1128254.069.png 1128254.001.png 1128254.002.png 1128254.003.png 1128254.004.png 1128254.005.png 1128254.006.png 1128254.007.png 1128254.008.png 1128254.009.png 1128254.010.png 1128254.011.png 1128254.012.png 1128254.013.png 1128254.014.png 1128254.015.png 1128254.016.png 1128254.017.png 1128254.018.png 1128254.019.png 1128254.020.png
Też to potrafisz
Zanim przejdę do omówienia sposobów programowania
i weryfikacji pamięci wewnętrznej programu mikrokontrolerów
‘51, powinienem Ci uzmysłowić drogi Czytelniku, że do wyko−
nania tej operacji będzie potrzebny, oprócz dobrej woli, także
„programator”, w dodatku nie byle jaki, bo potrafiący progra−
mować procesory rodziny MCS−51.
Na rodzimym rynku można znaleźć sporo urządzeń tego typu,
kosztujących od kilkuset złotych do kilkudziesięciu! Nie oznacza
to że aby zaprogramować procesor trzeba wybrać urządzenie
najdroższe, chodzi o to aby znaleźć te tańsze, potrafiące jednak
bez żadnych przystawek, fachowo nazywanych adaptera−
mi, programować chociaż podstawowe procesowy z rodziny
MCS−51, a więc: 87C51, 87C52, 98C51, 98C52. Na szczęście
większość amatorskich programatorów oferowanych przez
drobnych rodzimych wytwórców, spełnia te wymagania, a ich
cena nie zwala z nóg przeciętnego „zjadacza chleba” który in−
teresuje się techniką mikroprocesorową i chce dokształcić się
w tej jakże interesującej dziedzinie wiedzy.
Obsługa pamięci programu
W tym miejscu powinienem wyjaśnić że w tytule tej części
artykułu chodziło mi o wspominaną wcześniej sprawę progra−
mowania pamięci wewnętrznej procesora. Ale na samym pro−
gramowaniu się nie kończy, bowiem po tej operacji trzeba zapi−
saną pamięć sprawdzić – czyli fachowo mówiąc „zwery−
fikować”. Istnieje jeszcze kilka dodatkowych operacji, które jed−
nak omówię w dalszej części artykułu.
Zanim przejdę do omówienia sposobów programowania pa−
mięci programu, poinformować niektórych z Was, drodzy Czy−
telnicy, że w zasadzie podane niżej informacje nie są niezbędne
do posługiwania się kontrolerami z wbudowaną pamięcią pro−
gramu i korzystania z programatorów tych kostek. Jednak aby
w pełni zrozumieć zasadę działania i dodatkowe funkcje proce−
sora, warto znać te wiadomości, a praktyka przyniesie z pew−
nością mniej niemiłych niespodzianek.
Oto kilka informacji, które pozwolą zrozumieć Ci wstępnie
w jaki sposób można zaprogramować wewnętrzną pamięć pro−
gramu procesora.
Niestety chęć ujarzmienia kostek z wewnętrzna pamięcią
programu, oprócz posiadania programatora, wymaga także
posiadania komputera PC. Tak więc „ręczniakom” należą się
w tym miejscu przeprosiny, lecz musicie zdawać sobie spra−
wę drodzy koledzy, że aby posiąść stosowną wiedzę, każdy
z nas jest zdolny do wielu wyrzeczeń. Tak też było w moim
przypadku, aczkolwiek jeszcze kilka ładnych lat temu, kiedy
królowały komputery PC typu XT oraz AT, kupno jednego
z nich było nie lada wysiłkiem dla całej mojej rodziny. W chwi−
li obecnej komputer PC wystarczający do obsługi programato−
ra procesorów nawet w najmniejszej konfiguracji powinien
mieć procesor co najmniej 80286, 1MB pamięci RAM, oraz ja−
kikolwiek twardy dysk z wolnymi ok. 2,5MB przestrzeni. Takiej
konfiguracji praktycznie nie spotka my już na rynku, z pomocą
przyjść musza więc giełdy, gdzie proponowany zestaw w nie−
co lepszej (z procesorem 80386) konfiguracji można nabyć na
200..300 zł. Do tego należy dokupić jeszcze używany monitor
mono za około 50 zł i można zabrać się do programowania.
Ważne jest aby przy takiej konfiguracji komputera program ob−
sługi wybranego przez Ciebie programatora potrafił pracować
w trybie tekstowym, bowiem zainstalowanie systemu Win−
dows tylko dla celów programowania ‘51−ek na tym etapie
wiedzy nie ma za bardzo sensu.
Na szczęście większość oprogramowania na dostępne na na−
szym rynku programatory pracuje w środowisku tekstowym
MS−DOS, i posiada bardzo ograniczone wymagania sprzętowe
co do komputera, toteż z instalacją nabytego urządzenia nie po−
winno być większych problemów.
1. Wiesz, już w jaki sposób procesor wykonuje swój program,
i że do tego z jakiej pamięci (zewnętrznej czy wewnętrznej)
odczytywany jest program, służy końcówka /EA (pin 31).
W przypadku kiedy wyprowadzeni to jest zwarte do masy
procesor pobiera rozkazy z zewnętrznej pamięci programu
o adresach 0000h...FFFFh, czyli maksymalnie z 64kB (65536
bajtów). W przypadku kiedy zewrzemy to wyprowadzenie
do plusa zasilania (+5V) uaktywniona zostanie wewnętrzna
pamięć programu (w kostkach 87C51, 89C51 lub podob−
nych) i kolejne rozkazy będą pobierane właśnie z niej.
2. Fizycznie wewnętrzną pamięć programu można wyobrazić
sobie jako wbudowany w procesor układ reprogramowalnej
pamięci EPROM (87C51) lub EEPROM (np. 89C51), który
za pośrednictwem zewnętrznych końcówek procesora mo−
że być zaprogramowany przez urządzenie zewnętrzne –
programator.
3. Ponieważ procesor posiada te same i niezmienne wyprowa−
dzenia (40 dla omawianych kostek 8051/C51,87C51,
89C51/C52) programowanie i weryfikacja wewnętrznej pa−
mięci programu odbywa się z wykorzystaniem tych samych
wyprowadzeń, tylko że w tzw. „trybie programowania”.
W trybie tym procesor znajduje się poza układem macierzys−
tym (tym w którym ma pracować) a umieszczony jest w pro−
Rys.. 1.. Ogóllny sposób na programowaniie procesora
Na pocieszenie pragnę poinformować, że w ofercie handlo−
wej AVT znajduje się idealny do naszych potrzeb programator
przeznaczony specjalnie dla rodziny procesorów MCS−51. Urzą−
dzenie posiada kod handlowy AVT−320 i sprzedawane jest w po−
staci zestawu do samodzielnego montażu (wersja /B) lub jako
zmontowane (wersja /C). Bardziej zaawansowani i wytrwali
elektronicy mogą też nabyć samą płytkę drukowaną wraz z kil−
koma układami scalonymi opracowanymi specjalnie dla potrzeb
tego urządzenia (zestaw /A). Dołączona do zestawu dyskietka
zawiera prosty ale funkcjonalny program obsługi programatora.
Urządzenie współpracuje z komputerem typu PC (począwszy
od poczciwego XT na szybkich Pentiumach skończywszy) po−
przez port szeregowy RS232C.
Wszystkich zainteresowanych zachęcam do lektury artykułu
na ten temat, który ukazał się z naszym bratnim piśmie –
„Elektronice Praktycznej” w numerach 9,10 i 11/97, a jest au−
torstwa niżej podpisanego.
34
E LEKTRONIKA DLA WSZYSTKICH 7/98
1128254.021.png 1128254.022.png
Też to potrafisz
gramatorze, który w odpowiedni sposób sterując pewnymi
wyprowadzeniami kostki wprowadza ją w ten właśnie tryb.
4. Skoro powiedziałem o tym że wewnętrzną pamięć programu
można wyobrazić sobie jako wbudowany chip pamięci EP−
ROM/EEPROM, to oznacza to że do „dobrania się” do niej
muszą służyć:
· linie adresowe, których liczba zależy od wielkości pamięci
programu
· linie danych : w procesorach takich jak MCS−51 będzie ich
oczywiście 8
· dodatkowe linie konfiguracyjne – sterujące zapisem i od−
czytem tej pamięci. Obrazowo pokazano to na rysunku 1
5. Wśród tych ostatnich – linii sterujących znajduje się także
tzw. linia Vpp – czyli linia napięcia programującego. Z regu−
ły napięcie to jest wyższe od napięcia zasilania procesora
i wynosi:
· 12,75 V dla większości układów z pamięcią EPROM, np.
87C51/2
· 12V dla większości układów z pamięciami EEPROM (Flash
EEPROM), np. 89C51/2. Istnieją także wersje programo−
wane napięciem 5V (np. procesory Atmela o oznaczeniach
89C51−XX−5, gdzie XX oznacza maksymalną częstotliwość
pracy układu w MHz).
W zamierzchłych czasach istniały także wersje procesorów
8751 które programowano napięciem 21V, podobnie jak pa−
mięci EPROM wykonywane kiedyś w technologii MOS
(obecnie CMOS), ale to przeszłość i takich wersji układów
na rynku się nie spotyka.
6. Dzięki stosownemu wysterowaniu wspomnianych końcó−
wek procesora w trybie programowania, a następnie po−
przez podanie napięcia programującego Vpp stosowna zaad−
resowana przez programator komórka w wewnętrznej pa−
mięci programu zostaje zaprogramowana. Po obniżeniu na−
pięci Vpp do wartości napięcia zasilającego Vcc (+5V) pro−
gramator może zweryfikować zapisany bajt. Tak z grubsza
odbywa się każdy cykl zapisu i sprawdzenia poprawności za−
programowanej komórki.
7. Do prawidłowego programowania procesora potrzebny jest
także dołączony do końcówek XTAL1 i XTAL2 rezonator
kwarcowy, tak aby procesor mógł „oddychać” podczas pro−
gramowania. Już wiesz przecież że bez sygnału zegarowego
procesor jest „martwy” jak człowiek bez krwi. Wartość
częstotliwości rezonansowej kwarcu nie jest w tym przy−
padku istotna, ważne jest aby zawierała się ona w następu−
jących granicach:
· 4...6 MHz dla układów z pamięcią EPROM (87C51/C52)
· 4...20 MHz dla układów z pamięcią EEPROM/ Flash
(89C51/C52)
8. Ktoś może w tym momencie zapytać: „...No dobrze, proce−
sor pracując w trybie z zewnętrzną pamięcią programu mo−
że czytać rozkazy spod adresów 0000h...FFFFh, a ile jest tej
pamięci wewnętrznej programu?...”, a no tyle ile podałem
w tabeli 1.
I tak dla poszczególnych kostek :
· 87C51, 89C51 jest to 4kB (4096 bajtów), adresy
0000h...0FFFh
· 87C52, 89C52 jest to 8kB (8192 bajty), adresy
0000h...1FFFh
9. Inne pytanie – „...a co się stanie, kiedy to np. pracując
w trybie z wewnętrzną pamięcią programu (końcówka /E−
A zwarta do Vcc) program dojdzie do końca obszaru we−
wnętrznej pamięci programu (np. do adresu 0FFFh dla
kostki 87C51), co będzie wtedy, skąd będą pobierane dal−
sze rozkazy?...”. Jeżeli tak się stanie i procesor dojdzie do
końca tej pamięci to dalsze rozkazy będą pobierane z ze−
wnętrznej pamięci programu dołączonej do procesora
w tradycyjny (jak w naszym komputerku edukacyjnym
AVT−2250) sposób.
· Na rysunku 2 pokazano sposób dołączenia sygnałów : ad−
resowych, danych i sterujących w tym napięcia Vpp pod−
czas programowania wewnętrznej pamięci programu kos−
tek. W przypadku programowania procesorów w wersji
z pamięci programu EEPROM „Flash” typu 89C51 /C52 na
rysunku będą pewne różnice, a mianowicie: rezonator
kwarcowy może być z zakresu 4...20 MHz
· W przypadku układów 87C52 i 89C52 adres komórki do za−
programowania podawany jest na linie portów : P1 – LSB
adresu oraz P2.0 – P2.4 : MSB adresu
· Przy programowaniu układów 87C51/52 na wejście sterują−
ce /PROG (końcówka ALE) podczas programowania danej
komórki pamięci podaje się 25 impulsów ujemnych (od Vcc
do masy) o czasie trwania min. 100µs i przerwie ok. 10µs.
· Przy programowaniu
kostek 89C51 i 89C52
na wejście /PROG wy−
starczy podać 1 impuls
ujemny o czasie trwania
ok. 100µs, to wystarczy
aby zaprogramować bajt
w wewnętrznej pamięci
programu tej kostki
10. Warto wiedzieć, że
zapisaną, wewnętrzną
pamięć programu moż−
na zabezpieczyć przed
odczytem przez osoby
niepowołane. Służą te−
mu tzw. „Security Bits”,
czyli bity zabezpieczają−
ce, których odpowied−
nie „przepalenie” unie−
możliwia odczytanie
zawartości pamięci (nie
bójcie się, nie robi się
tego „zapalniczką”, cho−
dzi mi tu o ich zaprogra−
Rys.. 2.. Sposób dołłączeniia sygnałłów sterujjących podczas programowaniia ii weryfiikacjjii ukłładów 87C51//52..
Uwaga *): W przypadku kostki 87C52, wykorzystana jest dodatkowa linia adresowa – końcówka P2.4, ze względu na
większą – 8kB pamięć programu.
E LEKTRONIKA DLA WSZYSTKICH 7/98
35
1128254.023.png 1128254.024.png 1128254.025.png 1128254.026.png 1128254.027.png 1128254.028.png 1128254.029.png 1128254.030.png 1128254.031.png 1128254.032.png 1128254.033.png 1128254.034.png 1128254.035.png 1128254.036.png 1128254.037.png 1128254.038.png 1128254.039.png
Też to potrafisz
mowanie). Zabezpieczenia zawartości
programu może być często użyteczne,
kiedy np. mamy zamiar oferować osobom
drugim swój zaprogramowany mikropro−
cesor pracujący w mniej lub bardziej wy−
myślnym urządzeniu, sprzedając go i nie
chcąc jednocześnie aby ktoś skopiował
nasz pomysł i powielił w setkach tysięcy
egzemplarzy.
I tu kryje się istotna zaleta procesorów
z wewnętrzną pamięcią programu. Otóż
zauważmy, że w przypadku umieszczenia
programu w zewnętrznej pamięci EP−
ROM, praktycznie każdy ma do niej do−
stęp, i może korzystając z programatora
pamięci EPROM odczytać jej zawartość,
w celu późniejszego skopiowania. Takie
postępowanie jest oczywiście niezgodne
z prawem, ale kto jest w stanie dochodzić
swoich praw, szczególnie, że program
może zostać sprytnie zmodyfikowany
przez programistę−pirata w sposób unie−
możliwiający późniejsze udowodnienie
mu jego winy. Najistotniejsze jest to że
w takich sytuacjach nasz, często opraco−
wywany miesiącami pomysł zostanie
błyskawicznie skradziony i powielony!
11. I tu z pomocą przychodzi wewnętrzna pa−
mięć programu i bity ją zabezpieczające.
Otóż raz zapisany i zabezpieczony pro−
gram w procesorze jest nie do odczyta−
nia! Nie ma sposobu aby program taki od−
czytać jak ze zwykłej pamięci EPROM. Je−
żeli ty właśnie jesteś autorem tego progra−
mu, to i tak wszystko w porządku, bo prze−
chowujesz gdzieś, zapewne w kompute−
rze, kopię programu oraz listing źródłowy.
A potencjalny pirat? – ten musi obejść się smakiem, bo i tak
nic nie wskóra, a program będzie zabezpieczony przed jego
ingerencją.
12. Pytanie: „...No tak, ale skoro zabezpieczymy już ten pro−
gram, to jak go potem usunąć? Zwyczajnie. W układach
Tabella 2
Uwagi:
a) 0* oznacza że należy podać 25 impulsów ujemnych o czasie trwania ok. 100µs
i czasie przerwy min. 10µs
b) Vpp = 12,75 V ± 0,25V
c) Vcc = 5V ± 10% (dla programowania i weryfikacji)
Tabella 3
Uwaga:
a) 0* oznacza że należy podać 1 impuls ujemny o czasie trwania ok. 100µs
b) Vpp = 12 V ± 0,25V lub 5V ± 0,25V dla wersji 89C51/C52 – XX – 5 (patrz tekst)
c) procedura kasowania pamięci wymaga podania impulsu na wejście /PROG
o czasie trwania 10 ms.
z pamięcią EEPROM robi się to tak jak w przypadku pamię−
ci EPROM, korzystając z kwarcowego, przezroczystego
okienka. Procesor umieszcza się po prostu w kasowniku ul−
trafioletowym i po około 15 minutach jest po wszystkim,
kostka jest „czysta” i gotowa do ponownego zaprogramo−
wania i użycia.
Inaczej jest w przypad−
ku nowocześniejszych
układów z pamięcią
EEPROM „Flash”. Tu−
taj nie jest potrzebne
promieniowanie ultra−
fioletowe. Kasowanie
wewnętrznej pamięci
programu odbywa się
w programatorze. Wy−
sterowując końcówki
sterujące, podając na−
pięcie Vpp (patrz tabe−
lla 3) oraz impuls ujem−
ny o czasie trwania ok.
10 ms, powodujemy
skasowanie całej za−
wartości pamięci pro−
gramu. Po takiej opera−
cji układ jest gotowy do
ponownego zaprogra−
mowania i użycia.
Rys.. 3.. Zalleżnościi czasowe podczas programowaniia proceseów a pamiięciią EPROM (87C51,, 87C52))..
36
E LEKTRONIKA DLA WSZYSTKICH 7/98
1128254.040.png 1128254.041.png 1128254.042.png 1128254.043.png 1128254.044.png 1128254.045.png 1128254.046.png 1128254.047.png 1128254.048.png 1128254.049.png 1128254.050.png 1128254.052.png 1128254.053.png 1128254.054.png 1128254.055.png 1128254.056.png 1128254.057.png
Też to potrafisz
W zależności od usta−
wienia sygnałów sterują−
cych oznaczonych na
rysunku 2 jako CF1...CF4
oraz dodatkowych ALE
i EA, RST i PSEN można
uzyskać kilka funkcji pro−
gramowania lub weryfi−
kacji wewnętrznej pa−
mięci programu. Wszyst−
kie dozwolone kombina−
cje przedstawiają:
· dla kostek 87C51/ C52
– tabella 2
· dla kostek 89C51/ C52
– tabella 3
Rys.. 4.. Zalleżnościi czasowe podczas programowaniia procesorów a pamiięciią EEPROM//Fllash (89C51,, 89C52))..
W dalszej części artyku−
łu dokładnie objaśnię zna−
czenie poszczególnych
pozycji tabel 2 i 3 podczas
operacji programowania
wewnętrznej pamięci
mikrokontrolerów.
13. Wątpliwość: „... No tak ale przecież istnieje w liście rozka−
zów procesora instrukcja MOVC A,@A+DPTR, dzięki której
możliwe jest odczytanie każdego bajtu z wewnętrznej czy
zewnętrznej pamięci programu, co wtedy...? Odpowiadam:
i na to jest rada. Otóż producenci procesorów umieścili do−
datkowy bit zabezpieczający, którego „przepalenie” (zapro−
gramowanie) powoduje zablokowanie tej instrukcji, w wy−
padku kiedy ktoś próbuje wykonać ją z obszaru zewnętrznej
pamięci programu – zastanów się dlaczego jest to dobry
sposób na zabezpieczenie?
14. I na koniec jeszcze jedna informacja o zabezpieczeniach.
Otóż niektórzy producenci procesorów rodziny MCS−51, pra−
wie wszyscy produkujący układy w wersji z pamięcią EP−
ROM stosują dodatkowe zabezpieczenia w postaci tzw. tab−
licy szyfrującej (ang. Encryption Table). Fizycznie jest to wy−
dzielona część pamięci EPROM, o rozmiarze przeważnie
równym 1, 2 lub 4 krotności 16 bajtów. Zaprogramowanie ta−
beli szyfrującej sekwencją 16, 32 lub 64 bajtów (zależnie od
wersji układu) po uprzednim zaprogramowaniu wewnętrznej
pamięci programu, powoduje, to, że w przypadku nie zabez−
pieczenia procesora bitami zabezpieczającymi, odczytywany
przez potencjalnego hackera każdy bajt programu będzie wy−
nikiem operacji EXNOR (“Exclusive NOR”) faktycznego baj−
tu programu z kolejnym (modulo wielkość tabeli szyfrującej)
bajtem tabeli szyfrującej. Dzięki temu bez znajomości zawar−
tości tabeli enkrypcji (która po zaprogramowaniu nie jest do−
stępna) nie jest praktycznie możliwe roz−
kodowanie programu przez osobę nie
mającą dostępu do zawartości tabeli
szyfrującej. Oczywiście autor programu
posiada takową kopię i wie co trzeba zro−
bić z odczytanym programem aby dopro−
wadzić go do stanu „używalności”.
W ostatnich czasach, ze względu na nie−
potrzebną często komplikację, więk−
szość producentów procesorów rodziny
MCS−51 odeszła od koncepcji stosowa−
nia tabeli szyfrującej i stosuje dodatkowe
bity zabezpieczające, które pokrótce opi−
szę w dalszej części artykułu.
Na rysunku 3 i 4 przedstawiłem zależności czasowe pomiędzy
sygnałami sterującymi podczas programowania procesorów
z pamięciami EPROM (87C51/C52) i EEPROM „Flash”
(89C51/C52).
Charakterystyka pamięci EPROM/EEPROM
procesorów
Układy 87C51/C52 wyposażone są w pamięć EPROM wyko−
naną w technologii CMOS, programowana tzw. algorytmem
szybkim „Quick−Pulse Programming”. Algorytm ten polega na
podaniu napięcia Vpp o wysokości 12,75V ( na wejście EA/Vpp)
a następnie podanie na wejście ALE procesora serii 25 impul−
sów ujemnych o czasie trwania 100µs (stan L) i przerwie min.
10µs (stan H).
W wypadku procesorów 89C51/ C52 napięcie Vpp może
mieć jedną z dwóch wartości: 12V i 5V w zależności od wersji
procesora (patrz tekst wyżej).
Mikrokontrolery posiadają tzw. sygnatury, dzięki którym moż−
liwa jest autoidentyfikacja układu przez obsługujący programa−
tor. Fizycznie są to pojedyncze komórki ROM wbudowane
w procesor z zapisanymi bajtami mówiącymi o producencie
układu, jego typie oraz wersji wykonania. Są to:
a) dla układów z pamięcią EPROM
· (adres: 030h) = 15h, oznacza producenta (w tym wypadku
jest to Philips)
Tabella 4
E LEKTRONIKA DLA WSZYSTKICH 7/98
37
1128254.058.png 1128254.059.png 1128254.060.png 1128254.061.png 1128254.063.png 1128254.064.png 1128254.065.png 1128254.066.png 1128254.067.png
Zgłoś jeśli naruszono regulamin