avt 871 Programator procesorów AVR przez BASCOM


Programator procesorów AVR do kompilatora BASCOM T Y
P R O J E K AVR
Programator procesorów
AVR do kompilatora
BASCOM AVR
AVT-871
Mam nadziejÍ, Å‚e
wÅ›rÛd elektronikÛw jednym
z najwiÍkszych hitÛw
2000 roku bÍdÄ… pakiety
oprogramowania BASCOM
8051 i BASCOM AVR
produkcji holenderskiej firmy
MCS Electronics. PosiadajÄ…
Poniewał
one poza kompilatorem jÍzyka
mamy zamiar
BASIC rozliczne programy zapoznaĘ Czytelni-
kÛw bliÅ‚ej z tym znako-
dodatkowe, takie jak emulator
mitym oprogramowaniem,
sprzÍtowy, emulator
najwyłszy czas, aby rozpo-
programowy i obsługa
cząĘ przygotowania do stworzenia
programatorÛw wielu typÛw.
odpowiedniej bazy sprzÍtowej, nie-
Jednak jedynie z emulatora
zbÍdnej do posÅ‚ugiwania siÍ BAS- torze BASCOM-a. Tak wiÍc, nawet
programowego mołemy
COM-ami. W najbliÅ‚szym czasie piszÄ…c programy w innym jÍzyku
korzystaĘ bez dodatkowego
opublikowane zostaną opisy pro- nił MCS-BASIC, mołemy wyko-
wyposaÅ‚enia. ZarÛwno
gramatorÛw i emulatorÛw sprzÍto- rzystaĘ wszystkie moÅ‚liwoÅ›ci pro-
emulatory sprzÍtowe,
wych wspÛÅ‚pracujÄ…cych z pakie- ponowanego programatora posÅ‚u-
jak i oczywiście obsługa
tem BASCOM 8051, a dzisiaj zaj- gujÄ…c siÍ darmowÄ… wersjÄ… BAS-
programatorÛw wymaga miemy siÍ banalnie prostym ukÅ‚a- COM-a AVR tylko do programo-
dem programatora procesorÛw AVR wania procesorÛw.
zakupienia lub wykonania we
wspÛÅ‚pracujÄ…cym z pakietem BAS- Po drugie, ukÅ‚ad opisany
własnym zakresie dodatkowego
COM AVR. Schemat tego progra- w tym artykule jest zmodyfikowa-
hardware'u.
matora został opublikowany przez ną wersją programatora STK200
MCS Electronics, a ja pozwoliłem firmy Kanda, bardzo popularnego
sobie jedynie na rozbudowanie go wÅ›rÛd elektronikÛw. W Internecie
i wykonanie do niego pÅ‚ytek ob- moÅ‚na znaleüĘ sporo oprogramo-
wodÛw drukowanych. wania obsÅ‚ugujÄ…cego ten progra-
Z pewnoÅ›ciÄ… wielu CzytelnikÛw mator, dostÍpnego jak shareware.
zapyta o sens budowy programato- Proponowany układ mołe słu-
ra zwiÄ…zanego ìna Å›mierĘ i Å‚ycieî Å‚yĘ programowaniu procesorÛw
z konkretnym pakietem oprogra- AVR w trybie programowania sze-
mowania. Moim zdaniem takie regowego wykorzystujÄ…cego magis-
dziaÅ‚anie ma sens, i to z dwÛch tralÍ SPI. Procesory moÅ‚na pro-
powodÛw. Po pierwsze, program gramowaĘ zarÛwno w podstaw-
BASCOM AVR jest dostÍpny takÅ‚e kach wyposaÅ‚onych w niezbÍdny
w darmowej wersji demo (mołna rezonator kwarcowy, jak i w sys-
go ściągnąĘ z naszej witryny inter- temie, za pomocą specjalnego złą-
netowej www.ep.com.pl/ftp). Wer- cza ISP. Poniewał nie wszystkie
sja ta posiada wprawdzie ograni- układy bazujące na procesorach
czenie długości kodu wynikowego, AVR posiadają takie złącza, po-
ale nie posiada ładnych ograni- zwoliłem sobie zaprojektowaĘ spe-
czeÒ kodu generowanego przez cjalne zÅ‚Ä…cza umoÅ‚liwiajÄ…ce pro-
inne kompilatory i wczytywanego gramowanie w systemie bez ko-
w celu wykorzystania w programa- nieczności dolutowywania prze-
Elektronika Praktyczna 6/2000
55
Programator procesorów AVR do kompilatora BASCOM AVR
Rys. 1. Schemat elektryczny programatora.
wodÛw czy doÅ‚Ä…czania ich za CON4, CON5, CON8 lub CON10 niego impulsu o czasie trwania
pomocÄ… chwytakÛw. w drugiej czÍÅ›ci ukÅ‚adu. Ta czÍśĘ, dwÛch cykli zegarowych.
Programator jest układem banal- połączona z programatorem za po- 2. Po upływie co najmniej 20 ms
nie prostym i mołliwym do wyko- mocą przewodu taśmowego, za- programator musi wysłaĘ do proce-
nania nawet przez poczÄ…tkujÄ…cego wiera takÅ‚e kwarc, kondensatory sora instrukcjÍ zezwolenia na pro-
elektronika. Takłe koszt budowy i zasilacz, potrzebne do zapewnie- gramowanie. Składnia tej i innych
urzÄ…dzenia nie powinien zbytnio nia warunkÛw pracy procesora instrukcji podana jest w tab. 1.
nadszarpnąĘ niczyjego budłetu. podczas programowania. Działa- 3. Kolejną czynnością jest
nie programatora najlepiej prześ- sprawdzenie poprawności trans-
Opis działania układu ledziĘ omawiając algorytm szere- misji. Po wysłaniu przez progra-
Schemat elektryczny układu gowego programowania proceso- mator drugiego bajtu instrukcji
programatora AVR pokazano na rÛw AVR. Programming Enable, procesor po-
rys. 1. Jak Å‚atwo zauwaÅ‚yĘ, po- Aby zaprogramowaĘ pamiÍci winien odpowiedzieĘ ìodesÅ‚a-
niewaÅ‚ caÅ‚a inteligencja progra- procesora, programator musi wy- niemî do programatora wartoÅ›ci
matora skupiona zostaÅ‚a w jego konaĘ nastÍpujÄ…ce czynnoÅ›ci: tego bajtu. JeÅ‚eli tak siÍ stanie,
czÍÅ›ci software'owej, ukÅ‚ad zostaÅ‚ 1. Podczas wÅ‚Ä…czania zasilania to naleÅ‚y uznaĘ, Å‚e transmisja jest
maksymalnie uproszczony i zawie- powinien wymusiĘ stan niski na prawidłowa i przystąpiĘ do wyko-
ra jedynie jeden aktywny element: wejściach RESET! i SCK procesora. nywania kolejnych instrukcji. Je-
IC1 - 74HCT244. Nie wszystkie programatory (w tym Å‚eli jednak programator nie otrzy-
Na rys. 1a przedstawiono wÅ‚aÅ›- opisywany) sÄ… w stanie wykonaĘ maÅ‚ ìechaî od procesora, to na-
ciwy ukÅ‚ad programatora, wypo- tÍ czynnośĘ i w takim przypadku leÅ‚y powtÛrzyĘ prÛby nawiÄ…zania
saÅ‚onego w zÅ‚Ä…cze ISP transmitu- konieczne jest, po wymuszeniu transmisji. Brak ìechaî po 32
jÄ…ce sygnaÅ‚y do procesora znajdu- stanu niskiego na wejÅ›ciu SCK, prÛbie Å›wiadczy o niemoÅ‚noÅ›ci
jÄ…cego siÍ w jednej z podstawek podanie na wejÅ›cie RESET! dodat- zsynchronizowania ukÅ‚adÛw.
Elektronika Praktyczna 6/2000
56
Programator procesorów AVR do kompilatora BASCOM AVR
4. Po nawiÄ…zaniu transmisji
Tab. 1.
programator powinien wysyłaĘ do
Format instrukcji
Instrukcja Działanie
procesora kolejne instrukcje prze-
Bajt 1 Bajt 2 Bajt 3 Bajt 4
widziane dla aktualnie wykony-
Programming 1010 1100 0101 0011 xxxx xxxx xxxx xxxx Zezwolenie na programowanie
wanego zadania. Mołliwe jest za- Enable
programowanie zarÛwno pamiÍci
Chip Erase 1010 1100 100x xxxx xxxx xxxx xxxx xxxx Kasowanie obydwóch pamięci
danych, jak i programu, odczyt
Read Program 0010 H000 xxxx xxaa bbbb bbbb oooo oooo Odczyt górnej lub dolnej (H)
ich zawartości oraz zabezpiecze- Memory części danych spod adresu a:b
nie pamiÍci programu za pomocÄ… Write Program 0100 H000 xxxx xxaa bbbb bbbb iiii iiii Zapis górnej lub dolnej (H)
Memory części danych spod adresu a:b
dwÛch bitÛw zabezpieczajÄ…cych.
Read EEPROM 1010 0000 xxxx xxxx xbbb bbbb oooo oooo Odczyt z pamięci danych spod
5. Po zakoÒczeniu programo-
Memory adresu b
wania ustawienie stanu wysokiego
Write EEPROM 1100 0000 xxxx xxxx xbbb bbbb iiii iiii Zapis do pamięci danych pod
na wejściu RESET procesora
Memory adres b
umoÅ‚liwia jego poprawnÄ… pracÍ.
Write Lock 1010 1100 111x xABx xxxx xxxx xxxx xxxx Zapis bitów zabezpieczających
Bits A i B
Montał i uruchomienie
Read Signature 0011 0000 xxxx xxxx xxxx xxbb oooo oooo Odczyt typu układu o spod
Na rys. 2 pokazano rozmiesz-
Bits adresu b
czenie elementÛw na pÅ‚ytkach
Komentarz: a - wyższe bity adresu
obwodÛw drukowanych. Wszyst-
b - niższe bity adresu
kie płytki zostały wykonane na
H=0 - niższy bajt, H=1 - wyższy bajt
laminacie jednostronnym, a ich o - odczyt danych
i - zapis danych
liczba z pewnością zdziwiła wielu
x - bez znaczenia
CzytelnikÛw. Przed rozpoczÍciem
A - bit zabezpieczajÄ…cy 1
montału wyjaśnijmy sobie zatem,
B - bit zabezpieczajÄ…cy 2
do czego słuły kałda z płytek,
tym bardziej, Å‚e nie wszystkie
musimy od razu montowaĘ. Na tej płytce mołemy programo- Płytka C słuły do programo-
Na pÅ‚ytce A umieszczony zo- waĘ procesory AVR o 20 wypro- wania procesorÛw o 40 nÛÅ‚kach,
stał właściwy układ programatora wadzeniach (np. AT90S2313) i 8 z zasilaniem doprowadzonym do
wraz z wtykiem DB25 i złączem wyprowadzeniach (np. AT90S2323 20 i 40 wyprowadzenia, np.
ISP o rozkÅ‚adzie wyprowadzeÒ lub AT90S2343). Jumper JP1 sÅ‚u- AT90S8515. PÅ‚ytkÍ D moÅ‚emy
zgodnym z zaleceniami firmy AT- ły do odłączania rezonatora kwar- wykorzystaĘ do prac z procesora-
MEL. PÅ‚ytka B zawiera dwie cowego w przypadku programo- mi 40-nÛÅ‚kowymi, z zasilaniem
podstawki, kwarc z niezbÍdnymi wania procesorÛw AT90S2343 lub doprowadzonym do pinÛw 10
kondensatorami oraz złącze ISP. ATTINY. i 11, np. AT90S4434.
Rys. 2. Rozmieszczenie elementów na płytkach drukowanych (widok zmniejszony do 95%).
Elektronika Praktyczna 6/2000
57
Programator procesorów AVR do kompilatora BASCOM AVR
WYKAZ ELEMENTÓW
Rezystory
R1: 100k&!
Kondensatory
C1: 1µF
C2, C9, C10: 100nF
C3, C4, C6, C7, C12, C13: 33pF
Rys. 3. Sposób montażu płytki pod
C5, C8, C11: 100µF/10V
procesor.
Półprzewodniki
IC1: 74HCT244
Rys. 4. Okno konfiguracji
Jest oczywiste, Å‚e nie wszys-
Różne
programatora.
tkie pÅ‚ytki bÍdÄ… nam od razu
CON1, CON2: 2x5 goldpin
potrzebne i mołemy montowaĘ je 1. Po uruchomieniu programu
CON2: złącze DB25M lutowane
dopiero w momencie, kiedy zaj- BASCOM AVR (lub BASCOM
w płytkę
dzie potrzeba zaprogramowania AVR Demo) wybieramy z menu
CON4: podstawka precyzyjna DIL
jakiegoÅ› konkretnego typu proce- OPTIONS pozycjÍ PROGRAMMER. 20
sora. MontaÅ‚ wszystkich pÅ‚ytek 2. Ze spisu dostÍpnych progra- CON5: podstawka precyzyjna DIL
wykonujemy w typowy, wielokrot- matorÛw wybieramy STK200/ 8
nie juÅ‚ opisywany sposÛb, a do STK300 programmer JP1: 2x goldpin + jumper
poÅ‚Ä…czenia ich ze sobÄ… uÅ‚yjemy 3. Ustawiamy konfiguracjÍ pro- Q1, Q2, Q3: rezonator kwarcowy
przewodu taÅ›mowego i wtykÛw za- gramatora stosownie do aktual- 4MHz
ciskanych typu Z-LPV10, ktÛrych nych potrzeb (rys. 4). 2 wtyki Z-LPV10
4 złącza pozostaną nie wykorzys- 4. Jełeli mamy zamiar programo- przewód taśmowy 10-żyłowy ok.
tane. waĘ procesor programem napisa- 0,5mb
Otwarta pozostaje jeszcze spra- nym w MCS BASIC, to kompiluje- 2 dodatkowe podstawki
precyzyjne DIL20
wa zastosowania pozostałych czte- my go (klawisz F7) i uruchamiamy
3 dodatkowe podstawki
rech płytek, oznaczonych jako E, programator (klawisz F4). Procesor
precyzyjne DIL8
F, G i H. Mogą one posłułyĘ do zostanie automatycznie rozpoznany
4 dodatkowe podstawki
zbudowania prostych, ale nie- i, jełeli uprzednio zaznaczyliśmy op-
precyzyjne DIL40
zwykle uÅ‚ytecznych gadgetÛw, cjÍ ìAUTO FLASHî, zaprogramowa-
2 listwy goldpinów 1-rzędowych
ktÛre mogÄ… znacznie uÅ‚atwiĘ pro- ny bez naszego udziaÅ‚u.
prostych
gramowanie procesorÛw w goto- 5. JeÅ‚eli korzystamy z pliku
wych układach. Programowanie BIN lub HEX utworzonego w in-
ISP ma wiele zalet, lecz korzys- nym kompilatorze, to wczytujemy Wzory płytek drukowanych w for-
tanie z niego jest niejednokrotnie ten plik do bufora (rys. 5) i pro- macie PDF sÄ… dostÍpne w Internecie
bardzo utrudnione. Rzadko kiedy gramujemy nim procesor. pod adresem: http://www.ep.com.pl/
mołemy umieściĘ na płytce ukła- Zbigniew Raabe, AVT pcb.html oraz na płycie CD-EP06/
du mikroprocesorowego złącze ISP zbigniew.raabe@ep.com.pl 2000 w katalogu PCB.
i albo zmuszeni jesteśmy progra-
mowaĘ procesor poza systemem,
albo dolutowywaĘ do płytki do-
datkowe przewody czy teł posłu-
giwaĘ siÍ miniaturowymi chwyta-
kami teletechnicznymi. Z płytek
E..H moÅ‚emy w prosty sposÛb
(rys. 3) zmontowaĘ ìprzejÅ›ciÛwkiî,
w ktÛrych umieszczamy procesor,
doÅ‚Ä…czamy do zÅ‚Ä…cza ISP przewÛd
do programatora, a całośĘ umiesz-
czamy w podstawce procesora
uruchamianego systemu. SzczegÛ-
Å‚y tego rozwiÄ…zania sÄ… wyraünie
widoczne na fotografiach.
Jak juł wiemy, opisany progra-
mator przeznaczony jest w zasa-
dzie wyÅ‚Ä…cznie do wspÛÅ‚pracy
z pakietem BASCOM AVR. Szcze-
gÛÅ‚owy opis tego oprogramowania
zamieścimy w kolejnych numerach
Elektroniki Praktycznej, tak Å‚e
podam teraz jedynie skrÛcony
opis korzystania z naszego progra-
matora.
Rys. 5. Widok okien programatora ISP.
Elektronika Praktyczna 6/2000
58


Wyszukiwarka

Podobne podstrony:
avt 515 Programator mikrokontrolerów AVR i AT89S8252
programator procesorów AVR 1
programator procesorów AVR 2
avt 2502 Programator procesorów 89CX051 INNY
avt 1307 Programatorek AVR
avt 887 Programator sterowany z pakietu BASCOM
avt 868 Programowalny zegar z LCD proc 89
zestaw uruchomieniowy dla procesorów AVR i 51 2
Programator procesorów 51 firmy Atmel README2
cw 3 programowanie procesow

więcej podobnych podstron