Miniprogramator procesorów AT89Cx51.pdf

(606 KB) Pobierz
ep_11_028-032.indd
Miniprogramator mikrokontrolerów AT89Cx051
Miniprogramator
mikrokontrolerów
AT89Cx051
AVT-540
Po publikacji mojego
pierwszego artykułu otrzymałem
wiele listów z pytaniami.
Najczęściej spotykałem się
z jednym: „Czy można zrobić
programator małych Atmeli
AT89Cx051 sterowany
przez port LPT”?
Rekomendacje:
urządzenie zaprojektowane
z myślą o początkujących
konstruktorach stosujących
w swoich opracowaniach „małe”
mikrokontrolery Cx051 firmy Atmel.
Z początku zadanie wydało się
łatwe. Poszukiwania w Internecie
dostarczyły pewien schemat progra-
matora, jednakże potrafił on wy-
łącznie zapisać i skasować zawar-
tość pamięci mikrokontrolera. Od-
czyt oraz weryfikacja jej zawarto-
ści oraz zapis bitów blokady były
niedostępne. Poza tym urządzenie
wymagało zewnętrznego zasilania
dwoma napięciami o wartościach
+5 V i +12 V. Pozyskanie takich
napięć z komputera nie przedsta-
wia trudności pod warunkiem, że
możemy otworzyć jego obudowę.
Co jednak zrobić, gdy jest na nim
plomba gwarancyjna, lub pracuje-
my na laptopie?
Odpowiedzią na takie pytania
może być opracowany przeze mnie
programator, który zadowala się
pojedynczym napięciem zasilania,
a ponadto realizuje wszystkie waż-
ne dla użytkownika zadania.
RS232 czy też USB. Przyczyniło
się również znacząco do redukcji
kosztów.
Algorytm programowania mikro-
kontrolerów AT89Cx051 wymaga
użycia ośmiu linii I/O do przesy-
łania danych, sześciu linii wyjścio-
wych sterujących, jednej wejścio-
wej odczytującej stan układu oraz
napięcia 12 V dołączanego do wej-
ścia RST. Podczas programowania
mikrokontroler musi być zasilany
stabilnym napięciem o wartości
+5 V, aby uniknąć przekłamań za-
pisywanych danych.
Port drukarkowy Centronics
składa się z ośmiu linii I/O
(D0...D7), czterech linii wyjścio-
wych (/STROBE, /ALF, /SELECT_
PRINTER, INIT) oraz pięciu linii
wejściowych (/BUSY, ACK, PAPER_
OUT, SELECT, ERROR). Zapewnia
zatem wszystkie potrzebne linie
I/O, a także cztery spośród sześciu
linii wyjściowych oraz wejście. Do
rozwiązania pozostaje sterowanie
dwiema liniami wyjściowymi, za-
silanie oraz pozyskanie napięcia
12 V.
W tab . 1 zestawiono wszystkie
operacje możliwe do wykonania
w trybie programowania mikrokon-
trolera. Funkcje oznaczone gwiazd-
kami wymagają impulsu dodatnie-
go na wejściu XTAL1 w celu in-
krementacji wewnętrznego licznika
adresującego matrycę Flash. Łatwo
zauważyć, że do programowania
potrzeba sześciu sygnałów sterują-
cych ( rys . 1 ). Uważne przestudio-
wanie noty katalogowej pozwala
jednakże na pewne oszczędności.
Opis i działanie układu
Głównym założeniem przyję-
tym podczas realizacji projektu
była minimalizacja kosztów. Dru-
gorzędnymi: prostota konstrukcji,
łatwość wykonania i niewielkie
wymiary. Chęć umieszczenia kom-
pletnego programatora w obudowie
wtyczki DB-25 stanowiła zadanie
dodatkowe. Programator miał być
podłączany do portu drukarko-
wego (Centronics) komputera PC.
Takie rozwiązanie pozwoliło wy-
eliminować układ pośredniczący,
jaki byłby konieczny w przypad-
ku programatora sterowanego za
pośrednictwem portu szeregowego
28
Elektronika Praktyczna 11/2004
P R O J E K T Y
32845335.022.png
Miniprogramator mikrokontrolerów AT89Cx051
Tab. 1. Opcje dostępne podczas programowania AT89Cx051
Operacja RST/Vpp P3.3 P3.4 P3.5 P3.7 P3.2/PROG
(*) Odczyt danych H L L H H H
(*) Odczyt sygnatury układu H L L L L H
(*) Zapis danych 12V L H H H impuls ujemny
Zapis lock bit 1 12V H H H H impuls ujemny
Zapis lock bit 2 12V H H L L impuls ujemny
Kasowanie całego układu 12V H L L L 10 ms impuls ujemny
go, a następnie niskiego na wyj-
ściu /ALF dostarczy narastającego
zbocza dla wejścia XTAL1. Licz-
nik zostanie zwiększony i proce-
durę zapisu można kontynuować.
W przypadku odczytu układu
zwiększenie adresu nie wymaga
skomplikowanej procedury i ogra-
nicza się jedynie do taktowania
sygnałem /ALF. Rezystory R6 i R7
podciągają do plusa zasilania linie
P1.0 i P1.1 mikrokontrolera. Jest
to konieczne w przypadku por-
tów LPT, które w trybie odczytu
nie mają wewnętrznych rezystorów
pull - up .
Procedury zapisu oraz kasowa-
nia pamięci wymagają dostarczenia
do wejścia RST napięcia 12 V.
Jest ono wytwarzane w przetworni-
cy zbudowanej na tranzystorze T1,
dławiku L1 oraz diodach D1 i D2.
W celu ograniczenia emisji zakłó-
ceń, zasilanie przetwornicy zostało
odseparowane filtrem typu π , zbu-
dowanym na elementach L2, C8
i C9. W pierwotnych zamierze-
niach programator miał być zasi-
lany wprost z portu LPT. Wymaga-
ło to przetwornicy o bardzo dużej
sprawności, niewielkim poborze
prądu i stałych parametrach pracy.
Przejrzenie dostępnych na rynku
oraz w programach próbkowych
sterowników przetwornic nie przy-
niosło pozytywnych efektów. Ofe-
rowane rozwiązania spełniały swo-
je zadania bardzo dobrze, ale dla
prądów wyjściowych ponad 50 mA
i większych. Wymuszenia układowe
sprawiły, że przetwornica musiała
się zadowolić całkowitym prądem
o natężeniu co najwyżej 1 mA.
Należało więc opracować stosow-
ne rozwiązanie we własnym zakre-
sie. Katalogowo układy AT89Cx051
podczas programowania pobierają
co najwyżej 250 mA prądu przy
napięciu z przedziału 11,5...12,5 V.
Do takiego prądu została dosto-
sowana przetwornica. Działanie
przetwornicy sterowane jest sygna-
łem 12V_ON. Stan wysoki tej linii
powoduje jej uruchomienie. Diody
DZ1 i D13 zabezpieczają wejście
RST przed podaniem napięcia wyż-
szego, niż 12,5 V. Kondensator C3
magazynuje energię przekazywaną
z przetwornicy. Wejście RST mi-
krokontrolera sterowane jest za po-
mocą przełącznika. Ze względu na
brak wolnych linii wyjściowych,
zdecydowano się na przycisk me-
chaniczny. Podczas spoczynku styk
centralny ( Common ) zwarty jest ze
Od razu można zauważyć, że wej-
ścia P3.5 i P3.7 mikrokontrolera
zawsze mają identyczny stan pod-
czas programowania. Należy za-
tem połączyć je razem i sterować
z jednej linii wyjściowej. Głębsze
przeanalizowanie tablicy trybów
programowania prowadzi do kolej-
nej oszczędności. Podczas zapisu
i kasowania matrycy zawsze co
najmniej jedno z wejść P3.3 lub
P3.4 jest w stanie wysokim. Tyl-
ko operacje odczytu danych lub
sygnatury, wymagają niskich sta-
nów na P3.3 i P3.4. Prowadzi to
do wniosku, że wynik logicznej
operacji LUB (OR) sygnałów P3.3
i P3.4 sygnalizuje fakt zapisu,
a zatem potrzebę dostarczenia na-
pięcia 12 V do wejścia RST. Syg-
nał ten oznaczono na schemacie
( rys . 2 ) jako 12V_ON. Jest on wy-
korzystywany między innymi do
włączania przetwornicy, ale nie
tylko. Trzy linie wyjściowe portu
LPT: /STROBE, /SELECT_PRINTER
oraz INIT sterują trybami progra-
mowania. Pozostaje zatem jeszcze
jedna wolna linia wyjściowa /ALF.
Musi ona wysterować jednocześnie
wejście /PROG, na którym ujemny
impuls rozpoczyna zapis do matry-
cy Flash, a także wejście XTAL1,
gdzie dodatni impuls zwiększa we-
wnętrzny licznik adresujący. Pod-
łączenie tych sygnałów razem nie
jest odpowiednie. Narastające zbo-
cze na wejściu /PROG powodowa-
łoby zwiększenie adresu zapisywa-
nej danej w trakcie jej zapisywa-
nia. Sytuacja taka jest niedopusz-
czalna, co można zaobserwować
na wykresach czasowych operacji
zapisu w nocie katalogowej. Sy-
gnały XTAL1 i /PROG muszą być
od siebie niezależne. Rozwiązanie
tego problemu najlepiej widać na
schemacie elektrycznym.
Sygnały sterujące P3.3 i P3.4
wchodzą na wejścia bramki OR
zbudowanej z diod D11 i D12. Re-
zystor R2 wymusza stan niski na
linii 12V_ON, podczas gdy P3.3
i P3.4 są nieaktywne. Sygnał ten
steruje bezpośrednio bramką U1D,
a po zanegowaniu bramką U1C.
Pozwala to wykorzystać linię /ALF
do sterowania wejściami /PROG
oraz XTAL1. Podczas operacji za-
pisu i kasowania sygnał 12V_ON
jest w stanie wysokim. Bramka
U1D przepuszcza zatem zanego-
wany stan linii /ALF na wejście
/PROG. Jednocześnie na wyjściu
bramki U1C panuje niezmienny
stan wysoki. Po podaniu ujemne-
go impulsu na wejście /PROG, na-
rastające zbocze rozpoczyna cykl
programowania. W jego trakcie
sygnał RDY/BUSY, odczytywany
za pomocą wejścia ERROR portu
drukarki, jest utrzymywany przez
mikrokontroler w stanie niskim.
Po zakończeniu zapisu sygnał po-
wraca do stanu wysokiego. Przej-
ście do następnego adresu wyma-
ga podania dodatniego impulsu na
wejście XTAL1. Choć dane katalo-
gowe mówią o pełnym impulsie,
praktyka wykazuje, że wystarczy
jedynie zbocze rosnące i później-
sze utrzymanie wejścia w stanie
wysokim. Konstrukcja programato-
ra powoduje, żeby w tym celu na
wejściach P3.3 i P3.4 należy usta-
wić kombinację odczytu. Wtedy
sygnał 12V_ON będzie w stanie
niskim i zablokuje bramkę U1D,
a po zanegowaniu w bramce U1B
odblokuje bramkę U1C. Po ostat-
niej operacji zapisu wyjście /ALF
pozostaje w stanie niskim, zatem
nie wywoła to zmiany na wejściu
XTAL1. Ustawienie stanu wysokie-
Rys. 1. Wymagania sprzętowe sta-
wiane programatorowi
Elektronika Praktyczna 11/2004
29
32845335.023.png 32845335.024.png 32845335.025.png 32845335.001.png 32845335.002.png 32845335.003.png
Miniprogramator mikrokontrolerów AT89Cx051
stykiem NC (normalnie załączony).
Na wejście RST doprowadzone jest
napięcie z przetwornicy (12 V lub
5 V). Naciśnięcie przycisku spowo-
duje zwarcie styku centralnego ze
stykiem NO (normalnie otwarty)
i podanie stanu niskiego na wej-
ście RST. Powrót do stanu wyso-
kiego kasuje wewnętrzny licznik
adresujący matrycę Flash. Operacja
ta jest konieczna podczas zapisu
i odczytu danych, a także odczytu
sygnatury układu. Praktyka wska-
zuje, że jako przełącznika SW1
można użyć także dwustykowego
przycisku rozwiernego NC. Dzieje
się tak dlatego, że wejście RST
mikrokontrolera jest podłączone do
masy przez wewnętrzny rezystor.
Pozostawienie go w powietrzu
umożliwia poprawne zerowanie
układu w tym programatorze. Do-
prowadzenie masy do przełącznika
można zatem pominąć.
Zasilanie programatora w po-
czątkowej wersji miało być zreali-
zowane z linii danych portu LPT.
Jednakże uzyskane w ten sposób
napięcie było zbyt niskie dla mi-
krokontrolera. Układ wymagał poza
tym dość długich przerw pomiędzy
cyklami zapisu i odczytu w celu
uzupełnienia energii. Zdecydowano
się zatem na zasilanie zewnętrzne.
Do wyboru są co najmniej trzy
warianty. Napięcie +5 V może
być pobierane z gniazda joystic-
ka (wyprowadzenia 1, 9 – +5 V
oraz 4, 5, 12 – GND), portu USB
(styki 1 – +5V oraz 4 – GND)
lub z zasilacza zewnętrznego. Cały
programator wraz z mikrokontrole-
rem pobiera maksymalnie 10 mA
prądu podczas pracy. W rzeczywi-
stości wartość ta zależy od właści-
wego wyregulowania przetwornicy
i może być niższa od 6 mA.
Montaż
Układ zaprojektowano z my-
ślą o umieszczeniu go w obudo-
wie złącza DB-25. Kształt płyt-
ki (schemat montażowy pokazano
na rys . 3 ) dopasowano do takiej
właśnie obudowy. Miniaturyzacja
wymusiła zastosowanie większości
elementów do montażu powierzch-
niowego. Jedynie podstawka pod
programowany procesor, dławi-
ki oraz tranzystor są elementami
przewlekanymi. Płytka druko-
wana wykonana została w wersji
dwustronnej z metalizacją otwo-
rów. Przed montażem warto po-
kryć cyną wszystkie pola lutowni- Rys. 2. Schemat elektryczny programatora
30
Elektronika Praktyczna 11/2004
32845335.004.png 32845335.005.png 32845335.006.png 32845335.007.png 32845335.008.png 32845335.009.png 32845335.010.png 32845335.011.png 32845335.012.png 32845335.013.png 32845335.014.png 32845335.015.png 32845335.016.png 32845335.017.png 32845335.018.png
Miniprogramator mikrokontrolerów AT89Cx051
Rys. 3. Schemat montażowy programatora
towe portu LPT mają decydujące
znaczenie dla pracy urządzenia.
Aby wykorzystać w pełni wszyst-
kie funkcje programatora port Cen-
tronics musi być dwukierunkowy.
Problem może dotyczyć jedynie
odpowiedniego ustawienia trybu
w BIOS-ie. W przypadku nowych
komputerów jest to najczęściej
tryb Normal lub Standard (np.
BIOS Award). Czasami w pobliżu
jest jeszcze jedna opcja Enable Bi-
- Directory , którą również należy
ustawić. W bardziej egzotycznych
przypadkach do poprawnej pracy
trzeba niekiedy ustawić opcję SPP,
lub EPP + SPP (np. BIOS AMI).
Należy mieć na uwadze, że „czy-
ste” tryby ECP, EPP lub ECP +
EPP nie umożliwiają poprawnej
pracy programatora.
Jeśli nie ma pewności, czy port
w komputerze jest dwukierunko-
wy, można zrobić prosty test. Po
uruchomieniu programu należy
ustawić adres bazowy portu rów-
noległego. W tym celu naciskamy
przycisk Base i wybieramy wła-
ściwy adres. Wartością domyślną
jest $378H. Po ustawieniu adresu
możemy zainstalować programator
w gnieździe LPT, podłączyć zasila-
nie i przystąpić do pracy. Jednakże
w celu przetestowania komunikacji
dwukierunkowej nie podłączamy
programatora i pozostawiamy port
wolny. Po potwierdzeniu wyboru
adresu klawiszem OK otrzymuje-
my komunikat o braku programa-
tora. W tym czasie port drukarki
przestawiony zostaje w tryb od-
czytu danych. Zwieramy wypro-
wadzenie sygnału D0 (styk 2 złą-
cza) do masy za pomocą rezystora
około 47 kV i mierzymy napięcie
na porcie. Jeśli woltomierz wska-
zuje napięcie powyżej 1 V, moż-
na użyć mniejszego rezystora np.
22 kV i ponowić pomiary. Wartość
napięcia powyżej 4 V z dołączo-
nym rezystorem (o rezystancji nie
mniejszej niż 10 kV) wskazuje,
że port nie znajduje się w trybie
dwukierunkowym. W takim wy-
padku należy poeksperymentować
z ustawieniami BIOS-u, zmieniając
rodzaj portu. Gdy i to nie przy-
niesie efektu, pozostaje wymiana
portu na dwukierunkowy (np. na
dodatkowej karcie).
Zmontowany poprawnie progra-
mator jest wykrywany automatycz-
nie po wyborze adresu bazowego
portu LPT. Podczas wykrywania
podstawka powinna być pusta.
cze pod montowaną na krawędzi
płytki wtyczkę DB-25M. Ułatwi
to późniejsze lutowanie złącza
i ustrzeże przed kłopotami pod-
czas uruchamiania. Lutowanie roz-
poczynamy od układów U1 i U3,
które zostały umieszczone od stro-
ny dolnej. Technik lutowania ukła-
dów SMD jest wiele, w zależności
od upodobań. Na początku warto
ustawić dokładnie układ na po-
lach lutowniczych i unieruchomić
go przylutowując dwa skrajne wy-
prowadzenia. Następnie należy po
kolei przylutować resztę układu.
Najlepsze do tego celu jest użycie
specjalnej pasty i stacji lutowni-
czej na gorące powietrze. Po przy-
lutowaniu skrajnych wyprowadzeń
należy wprowadzić na grot nieco
cyny (odcinek około 4 mm lutowia
o średnicy 0,7 mm). Gorący jesz-
cze grot należy pokryć grubo kala-
fonią. Następnie włączamy lutowni-
cę i czekamy, aż kalafonia zacznie
dymić, a cyna będzie już płynna.
Zdecydowanym i dość szybkim ru-
chem przesuwamy grotem lutow-
nicy po wyprowadzeniach układu
SMD w kierunku od obudowy na
zewnątrz. Jeśli kalafonii było od-
powiednio dużo, cyna nie zewrze
sąsiednich nóżek i układ będzie
bardzo ładnie i mocno przyluto-
wany. Operację powtarzamy po
drugiej stronie układu. Podobnie
lutujemy pozostałe elementy SMD.
Na koniec lutujemy kondensatory
elektrolityczne, dławiki, tranzystor
oraz podstawkę.
W obudowie złącza DB-25 na-
leży wyciąć prostokątny otwór
( fot . 4 ) na podstawkę precyzyjną
(tulipanową) DIL-20 pod programo-
wany mikrokontroler oraz otwór na
przycisk. Dogodnie jest to wykonać
wiercąc cztery otwory o średnicy
4 mm w rogach dokładnie wytraso-
wanego otworu, a następnie wypiło-
wać pilnikiem resztę. W przypadku
otworu pod przycisk należy dosto-
sować otwór i metodę jego wyko-
nania do posiadanego elementu.
Po wykonaniu otworów możemy
nałożyć na podstawkę precyzyjną
jeszcze drugą. Takie ustawienie za-
pewni odpowiednią wysokość gniaz-
da nad obudową. Teraz możemy
ostatecznie sprawdzić, czy płytka
z podstawką pasuje do wyfrezowa-
nej połówki obudowy. Po pomyśl-
nej próbie złożenia można wresz-
cie zabrać się za ostatnie lutowa-
nie. Wkładamy drugą podstawkę
w otwory pierwszej i mocno doci-
skamy. Teraz kropelką cyny należy
połączyć dwie przeciwległe nóżki
podstawek, aby utrzymać je razem.
Zabezpiecza to przed wyciągnięciem
górnej podstawki podczas wyjmo-
wania programowanego układu. Na
sam koniec należy przylutować złą-
cze DB25, uprzednio pozycjonując
je w obudowie. Ostatnią czynnością
jest zamontowanie i podłączenie
przełącznika DPST oraz przewodów
zasilających razem z odpowiednią
wtyczką. Po złożeniu obudowy
i zakręceniu śrubek programator
jest gotowy do pracy.
Obsługa i regulacja
Program obsługujący zajmuje
niecałe 500 kB i został napisany
w języku C++. Można go uru-
chomić na każdym „okienkowym”
systemie operacyjnym, nawet na
starszych wersjach okienek (od
wersji 3.11 wzwyż). Pewne proble-
my mogą jedynie wystąpić w przy-
padku najnowszych systemów, ze
względu na bezpośrednie odwoła-
nia do rejestrów portu LPT. Insta-
lacja nie jest konieczna, wystarczy
uruchomić program i przystąpić
do pracy. Typ i ustawienia sprzę-
Elektronika Praktyczna 11/2004
31
32845335.019.png
Miniprogramator mikrokontrolerów AT89Cx051
Fot. 4. Rysunek konstrukcyjny górnej
części obudowy złącza DB25
szowy: F1) i zapis (skrót: F2) bu-
fora danych programu. Rozmiar za-
ładowanego pliku można sprawdzić
w menu System > Informacje (lub
F3). Okno programowania ułatwia
przeprowadzenie wszystkich możli-
wych operacji. Na początek warto
skorzystać z przycisku Wykry j. Je-
śli po lewej stronie przycisku nie
zobaczymy symbolu układu, to być
może nie zostało podłączone zasi-
lanie, lub przycisk działa niewła-
ściwie. W normalnych warunkach
będzie tam pełna nazwa mikrokon-
trolera. Pojawienie się dwóch liter
XX na początku oznacza, że nie
wciśnięto przycisku kasowania, lub
układ nie został wyprodukowany
przez firmę Atmel. Gdy wszystko
jest w porządku, można zabrać się
za programowanie. Przyciski Kasuj ,
Zapisz i Odczytaj wywołują od-
powiednie operacje. Z kolei Lock
bit 1 i Lock bit 2 programują bity
blokady. Ostatni przycisk Weryfikuj
służy do sprawdzenia zawartości
układu po zaprogramowaniu. Jego
wciśnięcie wywołuje procedurę
odczytującą dane z mikrokontro-
lera i porównującą je z obecnymi
w buforze. Obok przycisku wy-
świetlany jest komunikat o ilości
błędów. Napis 0 BAD oznacza bez-
błędną weryfikację. W tym miejscu
należy pamiętać, że weryfikacja nie
powiedzie się po zaprogramowaniu
drugiego bitu blokady. Należy ją
zatem wykonać przed ostatecznym
zablokowaniem układu.
WYKAZ ELEMENTÓW
Rezystory
R1, R2, R6, R7: 22 k V SMD
R3: 4,7 k V SMD
R4: 10 k V SMD
PR1: 10 k V MINIATUROWY SMD
Kondensatory
C1: 10 nF SMD
C2: 10 pF SMD
C3: 4,7 m F/25 V SMD
C4: 100 m F/6,3 V SMD
C5, C6, C7: 100 nF SMD
C8, C9: 22 m F/10 V SMD
Półprzewodniki
D1, D2, D11 - D13: 1N4148 SMD
DZ1: Dioda Zenera 12 V SMD
T1: BC550C
U1: 4093 SMD
U3: 4047 SMD
Różne
L1: 1 mH
L2: 47 m H
SW1: przełącznik SPDT
U2: podstawka precyzyjna DIP-20
– 2 sztuki
Z1: wtyczka DB-25M
Z2: wtyczka DB-15M
Z3: wtyczka USB-A
obudowa wtyczki DB-25
obudowa wtyczki DB-15
Uaktywniona zostaje opcja Zapi-
su Flash (skrót klawiszowy: F6).
Otwiera ona okno obsługi progra-
matora. Przy pierwszym urucho-
mieniu warto skorzystać z przy-
cisku TEST . Wywołuje on prostą
procedurę, umożliwiającą wykry-
cie niektórych błędów montażu.
Pierwszy test sprawdza dwukie-
runkowość portu w sposób opisa-
ny wyżej. Drugi wymusza na li-
niach D0...D7 portu naprzemienne
stany 0 i 1, a następnie 1 i 0.
Pozwala to sprawdzić sygnały na
pinach podstawki i wykryć ewen-
tualne zimne luty lub zwarcia.
W drugim etapie program ustawia
naprzemienne stany na liniach
sterujących, które sprawdzamy
analogicznie. Trzeci test spraw-
dza dostarczanie sygnału XTAL1
do podstawki pod programowany
układ. Ostatni test wymusza start
przetwornicy i umożliwia regula-
cję napięcia. Najkorzystniej jest
go przeprowadzić, zwierając otwór
pod nóżkę RST (wyprowadzenie 1)
z masą (wyprowadzenie 7) za po-
mocą rezystora 47 kV. Mierzymy
napięcie na wyjściu i regulujemy
je do około 11,8 V za pomocą po-
tencjometru PR1. Jeśli nie uda się
osiągnąć takiego napięcia, należy
wymienić rezystor R4 na mniej-
szy. Praktyka wskazuje, że pobór
prądu przez programowany mikro-
kontroler nigdy nie jest tak duży,
jak w katalogu. Jeśli napięcie jest
zbyt małe (około 11 V na obcią-
żeniu), ostateczny test należy wy-
konać programując mikrokontroler.
W większości przypadków odbę-
dzie się to prawidłowo i nie bę-
dzie konieczna wymiana R4.
Dopiero teraz można przystąpić
do pracy. W menu Plik znajdują
się dwie opcje: odczyt (skrót klawi-
krokontrolera typu AT89C2051 fir-
my Atmel w warunkach normal-
nych trwa około dwóch, do trzech
sekund, w zależności od ustawio-
nego opóźnienia. Odczyt zaś doko-
nywany jest niemal natychmiast.
Programator nie nadaje się do
zapisywania układów AT90S2313
w trybie równoległym. Możliwość
taka wymaga dokonania poważ-
nych zmian w układzie i nie zo-
stała uwzględniona w tej wersji
urządzenia.
Program sterujący jest ciągle
rozwijany i ulepszany, dlatego
informacje o wszelkich błędach
pozwolą na ich wyeliminowa-
nie w nowszych wersjach. Adres
e-mail dla tego typu koresponden-
cji został umieszczony w menu
Pomoc programu.
Michał Szajner
mi_sza@op.pl
Uwagi końcowe
Wytwarzanie napięcia progra-
mującego w przetwornicy wymaga
wprowadzenia niewielkiego opóź-
nienia pomiędzy jej włączeniem,
a początkiem programowania. Jeśli
mikrokontroler nie programuje się
od początku lub wcale, konieczne
jest zwiększenie opóźnienia. Należy
tego dokonać wchodząc w opcję
System , a następnie Informacje lub
wciskając po prostu przycisk F3 .
Wartość opóźnienia startu prze-
twornicy trzeba dobrać ekspery-
mentalnie. Należy zaznaczyć, że ta
wartość nie zależy tylko od szyb-
kości komputera, ale od użytych
do budowy elementów. Programa-
tor został przetestowany zarówno
na systemie 486DX4/133 MHz, jak
i na PIII 667 MHz. W pierwszym
przypadku wystarczyło ustawienie
domyślne, natomiast w drugim
programator działał poprawnie na
opóźnieniu równym 5. Zapis mi-
Wzory płytek drukowanych w for-
macie PDF są dostępne w Inter-
necie pod adresem: pcb.ep.com.pl
oraz na płycie CD-EP11/2004B w
katalogu PCB .
32
Elektronika Praktyczna 11/2004
32845335.020.png 32845335.021.png
Zgłoś jeśli naruszono regulamin