avt 524 Programator USB mikrokontrolerów ATmega ISP


Programator USB mikrokontrolerów ATmega - ISP
P R O J E K T Y
Programator USB
mikrokontrolerów
ATmega - ISP, część 1
AVT-524
Programatory ISP dla
mikrokontrolerÛw AVR to
temat od dawna znany
i obfitujÄ…cy w rozmaite
rozwiÄ…zania - zarÛwno
komercyjne jak i amatorskie
(jedno z moÅ‚liwych rozwiÄ…zaÒ
przedstawiamy
w Miniprojektach). Pojawia
siÍ wiÍc pytanie, czy warto
od podstaw opracowywaĘ coś
nowego? Na pewno nie ma
sensu powielanie typowego
Podczas konstruowania progra- - mikrokontroler programatora
projektu opartego np. na
matora prezentowanego w artyku- mołna wyposałyĘ w bootloader,
porcie rÛwnolegÅ‚ym LPT. Co
le nie koncentrowaÅ‚em siÍ na co pozwoli na szybkie i spraw-
w zamian? Oczywiście USB!
zapewnieniu jego maksymalnej ne wymiany wersji oprogramo-
Rekomendacje: programator prostoty i obniłeniu ceny, wał- wania za pośrednictwem tego
niejsze były jego cechy ułytkowe. samego łącza USB.
dla wymagajÄ…cych
Dlatego teł:
konstruktorÛw, przede
- komunikacja z komputerem ste- Konstrukcja programatora
wszystkim tych, ktÛrzy
rujÄ…cym jest zrealizowana za Schemat elektryczny urzÄ…dze-
korzystajÄ… z mikrokontrolerÛw
pomocÄ… Å‚Ä…cza USB, co czÍsto nia przedstawiono na rys. 1.
ATmega.
jest jedynym dostÍpnym sposo- MoÅ‚na na nim wyrÛÅ‚niĘ trzy
bem dla posiadaczy laptopÛw, podstawowe bloki funkcyjne:
- własne oprogramowanie sterują- interfejs USB, mikrokontroler
ce pozwala na dowolne mody- sterujÄ…cy oraz buforowany in-
fikacje, poprawki i rozszerzenia terfejs ISP.
a takłe na stosunkowo łatwą Połączenie z magistralą USB
integracjÍ z rozmaitymi Å›rodo- jest zrealizowane z pomocÄ… ukÅ‚a-
wiskami, du U1 - FT8U232BM - w typo-
- płytka programatora posiada op- wej aplikacji proponowanej
rÛcz buforowanego interfejsu ISP przez FTDI. PamiÍĘ U2 pozwala
wyprowadzone takłe inne inter- na wprowadzenie własnych
fejsy (I2C, SPI) oraz linie prze- identyfikatorÛw programatora.
twornika A/C, PWM itd. co Tranzystor Q3 zapewnia - zgod-
pozwala na jej wykorzystanie na nie z wymaganym standardem
rozmaite sposoby, USB - wyłączanie zasilania pro-
Programator prezentowany w artykule współpracuje ze
środowiskiem projektowym dla AVR-GCC - AVRSide (dostępne
bezpłatnie na stronie http://www.avrside.fr.pl oraz na
CD-EP8/2003B). Możliwości jego wczesnej wersji opisaliśmy
w EP1/2003).
Elektronika Praktyczna 8/2003
25
Programator USB mikrokontrolerów ATmega - ISP
Rys. 1. Schemat elektryczny programatora
Elektronika Praktyczna 8/2003
26
Programator USB mikrokontrolerów ATmega - ISP
gramatora podczas enumeracji Å›ciem OC (U4) oraz trÛjstanowego ZwrÛcmy teÅ‚ uwagÍ na sposÛb
oraz w stanie uśpienia kompu- bufora HC244 (U5). Bufor U5 oraz włączania linii RST interfejsu.
tera - hosta. pull-up y jego linii wejÅ›ciowych Sekwencja przebiega nastÍpujÄ…co:
Mikrokontroler U3 steruje in- sÄ… zasilane napiÍciem docelowego - ustawiamy programowo niski
terfejsem ISP zgodnie z komenda- systemu - zawsze wiÍc uzyskamy poziom SCK - bufor jest jeszcze
mi i danymi otrzymywanymi potrzebnÄ… zgodnośĘ poziomÛw lo- w stanie wysokiej impedancji
z dziaÅ‚ajÄ…cego na komputerze - gicznych. Inwerter U4 jest zasi- i na wyjÅ›ciu nic siÍ nie dzieje,
hoście oprogramowania. Zwraca lany dwustronnie poprzez diody - ustawiamy programowo niski
teł informacje o prawidłowym za- Schottky ego D1 i D2. Kostka poziom RST - bufor 244 zostaje
koÒczeniu kolejnych operacji lub pozostaje wiÍc ìpod napiÍciemî wÅ‚Ä…czony podajÄ…c na wyjÅ›cie
o zaistniaÅ‚ych bÅ‚Ídach. DziÍki za- niezaleÅ‚nie od chwilowego pod- SCK poziom niski, ale linia RST
stosowaniu mikrokontrolera AT- Å‚Ä…czenia zasilania - eliminuje to zostaje przestawiona z poziomu
mega 8 nie ma konieczności do- mołliwośĘ wysterowania wejśĘ wysokiego na niski dopiero po
dawania praktycznie Å‚adnych do- przy braku zasilania U4 (co ukÅ‚a- krÛtkiej chwili wynikajÄ…cej ze
datkowych peryferiÛw. Mikrokon- dy cyfrowe niezbyt lubiÄ…). Wyj- staÅ‚ej czasowej obwodu R17,
troler pracuje z wewnÍtrznym os- Å›cia typu otwarty kolektor pozwa- C12. W ten sposÛb gwarantuje-
cylatorem 8 MHz i ma wbudowa- lajÄ… na odpowiednie dopasowanie my stabilny stan niski SCK
ny ukÅ‚ad zerujÄ…cy oraz watchdog. poziomÛw logicznych (dla pozio- w chwili zakoÒczenia zerowa-
Jednocześnie dysponuje całą gamą mu niskiego 0 V, a dla poziomu nia, zgodnie z zaleceniami At-
dodatkowych sprzÍtowych inter- wysokiego Vcc - niezaleÅ‚nie od mela dotyczÄ…cymi wchodzenia
fejsÛw: I2C, SPI, wielokanaÅ‚owym jego wartoÅ›ci - oczywiÅ›cie w ra- w tryb programowania szerego-
przetwornikiem analogowo- mach mołliwości układu, czyli do wego.
cyfrowym, wyjÅ›ciami PWM. Od- 6 V). Nie ma to wiÍkszego zna-
powiednie styki wyprowadzono czenia przy zasilaniu obu ukła- Montał układu
na pÅ‚ytce, co pozwoli na ewen- dÛw jednakowym napiÍciem (czy- CaÅ‚ośĘ ukÅ‚adu zostaÅ‚a zmonto-
tualne wykorzystanie programato- li +5 V - tyle programator otrzy- wana na dwuwarstwowej płytce
ra do rÛÅ‚nych innych celÛw (kon- muje z magistrali USB). Natomiast drukowanej, ktÛrej schemat mon-
wertery USB<->I2C, USB<->SPI, przy np. 3,3 V systemu docelowe- tałowy pokazano na rys. 2. Ułyto
programatory pamiÍci szerego- go mamy nastÍpujÄ…cÄ… sytuacjÍ: gÅ‚Ûwnie elementÛw SMD, co po-
wych, przetwornik A/C do kom- - zasilanie U5 = 3,3 V, zwoliło na zachowanie niewiel-
putera itd.). ObwÛd filtrujÄ…cy L2, - wysokie poziomy logiczne na kich wymiarÛw. Wyprowadzenia
C7 zasila obwody A/C, natomiast wejÅ›ciach i wyjÅ›ciach U5 = ok. interfejsÛw moÅ‚emy wyposaÅ‚yĘ
kondensator C10 dodatkowo filt- 3,3 V, w listwy goldpin albo pozostawiĘ
ruje wewnÍtrzne napiÍcie odnie- - zasilanie U4 = ok. 4,7...4,8 V do podÅ‚Ä…czeÒ przewodami - w za-
sienia 2,56 V, ktÛre zostaÅ‚o prze- (ok. +5 V z USB pomniejszone leÅ‚noÅ›ci od potrzeb. Do poluto-
widziane do wykorzystania o spadek na diodzie Schottky wania najlepiej ułyĘ grota mini
w układzie. ego), wave, ale poniewał rastry kostek
Wyprowadzenia interfejsu SPI - wysokie poziomy logiczne na nie nalełą do najmniejszych -
tworzÄ… zarazem wejÅ›cie magistrali wejÅ›ciach U4 od strony progra- tradycyjne techniki teÅ‚ bÍdÄ… zu-
ISP pozwalającej na szeregowe matora - ok. 5 V (co jest dopusz- pełnie wystarczające.
wpisanie do mikrokontrolera pro- czalne - nie przekraczamy na- Po zlutowaniu sprawdümy do-
gramu wykonawczego oraz usta- piÍcia zadziaÅ‚ania wejÅ›ciowych kÅ‚adnie, czy nie ma zwarĘ ani
wieÒ konfiguracyjnych. wewnÍtrznych diod ochronnych przerw. Wskazane jest teÅ‚ prze-
Interfejs ISP Å‚Ä…czy linie I/O kostki), mycie pÅ‚ytki jednym z dostÍpnych
mikrokontrolera sterujÄ…cego z wej- - wysoki poziom logiczny na wej- preparatÛw chemicznych (np.
ściami ISP docelowego układu. ściu U4 od strony bufora (wy- PCC). Podłączenie do ISP proto-
Musi on speÅ‚niĘ nastÍpujÄ…ce wy- prowadzenia 12, 13) = ok. 3,3 typowego docelowego ukÅ‚adu wy-
magania: V. Jest to jedyna linia wyma- konamy według własnych potrzeb
- caÅ‚kowicie uniezaleÅ‚niĘ zespÛÅ‚ gajÄ…ca dokÅ‚adniejszego spraw- niezbyt dÅ‚ugim (najwyÅ‚ej kilkana-
urzÄ…dzeÒ od kolejnoÅ›ci wÅ‚Ä…cza- dzenia: z danych serii HC wy- Å›cie centymetrÛw) przewodem taÅ›-
nia zasilania, nika, łe przy takiej wartości mowym.
- umoÅ‚liwiĘ doÅ‚Ä…czanie ukÅ‚adu napiÍcia zasilajÄ…cego minimalne
docelowego zasilanego innym napiÍcie rozpoznawane jako po- Uruchamianie
napiÍciem, ziom wysoki wynosi nieco mniej programatora
- uaktywniaĘ linie sterujÄ…ce ISP niÅ‚ 3,3 V, mieÅ›cimy siÍ wiÍc Sam sprzÍtowy ukÅ‚ad bez skon-
tylko i wyłącznie w trakcie pro- w wymaganym zakresie. figurowania i zaprogramowania
gramowania - normalnie powin- Wynika z tego, Å‚e ukÅ‚ady z za- nie przyda siÍ nam do niczego.
ny pozostawaĘ w stanie wyso- silaniem poniÅ‚ej 3,3 V mogÄ… spra- ìOÅ‚ywianieî pÅ‚ytki przebiega
kiej impedancji nie wpływając wiaĘ problemy. Jak nisko mołna w kilku etapach. Wszystkie przed-
w Å‚aden sposÛb na dziaÅ‚anie zejśĘ - pozostaje do praktycznego stawione opisy i programy doty-
docelowego ukÅ‚adu bez koniecz- sprawdzenia (zazwyczaj rzeczy- czÄ… systemu Windows. AdaptacjÍ
noÅ›ci odÅ‚Ä…czania. wiste wÅ‚aÅ›ciwoÅ›ci ukÅ‚adÛw sÄ… ukÅ‚adu do innych systemÛw ope-
Zadania te zostały zrealizowa- lepsze nił gwarantowane wartości racyjnych pozostawiam inwencji
ne przy pomocy inwertera z wyj- podawane w katalogach). CzytelnikÛw.
Elektronika Praktyczna 8/2003
27
Programator USB mikrokontrolerów ATmega - ISP
WYKAZ ELEMENTÓW
Niezbędne programy (łącznie ze środowiskiem AVRSide) oraz
pliki pomocnicze publikujemy na płycie CD-EP8/2003B.
Rezystory
R1, R4, R7, R10...R12: 3,3k&! 1206
R2, R3: 27&! 0805
Etap 1 - konfiguracja wtedy dla firmowych VID oraz
R5: 1,5k&! 0805
układu interfejsu USB PID zainstalowany inny zestaw
R6: 470&! 1206
Najpierw musimy wyposaÅ‚yĘ sterownikÛw (VCP), co wyklucza
siÍ w narzÍdzia ze strony produ- jednoczesne uÅ‚ycie D2xx. Jedy- R8: 2,2k&! 1206
centa (www.ftdichip.com) - bÍ- nym wyjÅ›ciem bÍdzie wtedy skon- R9: 10k&! 0805
dzie nam potrzebny sterownik figurowanie kostki FT8U232 na
R13...16: 100k&! 1206
tzw. bezpośredni (direct driver) innym komputerze i zmiana np.
Kondensatory
D2xx (najnowsza wersja z obsłu- PID. Taki sam zmieniony PID
C1, C11: 10µF/16V 6032 tantal
gÄ… ukÅ‚adÛw w wersji BM) oraz musimy rÍcznie wpisaĘ do pliku
C2: 33nF 0805
program Ftd2xxst.exe do obsługi *.inf sterownika D2xx, aby system
C3...C5, C13: 100nF 1206
szeregowej pamiÍci EEPROM umiaÅ‚ przypisaĘ pÅ‚ytce z nowym
C6, C12: 10nF 0805
93C46. Rozpakowane pliki PID właśnie ten sterownik. Ope-
C7...C9: 100nF 1206
umieszczamy na dysku i zapa- racje ze zmianÄ… PID (VID) muszÄ…
C10: 1µF/16V 3216 tantal
miÍtujemy lokalizacjÍ. byĘ przeprowadzone z naleÅ‚ytÄ…
Półprzewodniki
starannoÅ›ciÄ… - jeÅ›li siÍ pomylimy
U1: FT8U232BM TQFP32
Instalacja sterownikÛw system w ogÛle nie bÍdzie w sta-
U2: 93C46 SO8
Teraz mołemy po raz pierwszy nie obsłułyĘ płytki (zgłaszając
U3: Atmega 8 TQFP32
podłączyĘ nasz układ do magis- tylko obecnośĘ nieznanego urzą-
U4: 74HC03 SO14
trali USB (bezpośrednio do gniaz- dzenia).
U5: 74HC244 SO20
da A komputera albo poprzez hu-
Q3: tranzystor P-MOS MMBF 2202
ba z wÅ‚asnym zasilaniem, nie Wpisy do deskryptorÛw FT8U232
PT1 SOT23
ograniczającego poboru prądu do Słuły do tego wspomniany
D1, D2: dioda uniwersalna
100 mA). powyÅ‚ej program narzÍdziowy
Schottky Minimelf
Po wÅ‚Ä…czeniu Windows wy- Ftd2xxst.exe. SposÛb jego uÅ‚ycia
Różne
Å›wietli informacjÍ o obecnoÅ›ci no- jest dokÅ‚adnie opisany w podrÍcz-
wego urzÄ…dzenia USB i poprosi niku, ktÛry w postaci elektronicz- Y1: rezonator ceramiczny 6,00
MHz CSTCC6.00MG - TC (Murata)
o podanie lokalizacji sterownika - nej publikujemy na CD-EP8/
SMD (można też powierzchniowo
odnajdujemy i zatwierdzamy loka- 2003B.
przylutować rezonator
lizacjÍ folderu z plikami (jak wy- Po wybraniu nowego pliku
przewlekany)
Å‚ej) - po chwili instalacja jest edytujemy wszystkie potrzebne
L1, L2: koralik ferrytowy
zakoÒczona. MenedÅ‚er urzÄ…dzeÒ pola:
przewlekany
w kluczu Kontrolery uniwersalnej Manufacturer = FTDI
J1: gniazdo USB typ B
magistrali szeregowej pokałe teraz Manufacturer ID = FT
listwy goldpin, przewód taśmowy
obecnośĘ urzÄ…dzenia ìFTDI Vendor ID = 0403
FT8U2XX DEVICEî. Product ID = 6001 (chyba, Å‚e
Uwaga! Sprawa moÅ‚e siÍ po- wymagana jest zmiana zgodnie
wałnie skomplikowaĘ jeśli uły- z uwagą powyłej)
wamy juÅ‚ jakiegoÅ› ukÅ‚adu z kos- Description = avr isp loader (tej Po zakoÒczeniu edycji zapa-
tkÄ… FTDI obsÅ‚ugiwanÄ… jako wirtu- pozycji uÅ‚ywa program nadrzÍdny miÍtujemy plik i programujemy
alny port szeregowy. System ma PC do lokalizacji urzÄ…dzenia, nie EEPROM. Nowe ustawienia de-
moÅ‚e byĘ wiÍc ona zmieniana, skryptorÛw bÍdÄ… uÅ‚yte po nastÍp-
chyba Å‚e rÛwnolegle z kodem pro- nej enumeracji (czyli odÅ‚Ä…czeniu
gramu). i ponownym podłączeniu płytki).
W opcjach zaawansowanych Etap 2 - konfiguracja
ustawiamy: mikrokontrolera
Plug and Play - nie ATmega 8
Fixed Serial Number - dowolnie, UÅ‚ywamy do tego dowolnego
w prototypach ustawiÅ‚em na ìtakî, posiadanego programatora ISP.
wprowadzajÄ…c rÍcznie numery Prototypy byÅ‚y konfigurowane
20000001, 20000002 itd.) z poziomu AVRSide za pośrednic-
Self Powered - nie twem optoizolowanego programa-
Remote Wakeup - nie torka RS. ZwrÛĘmy tylko uwagÍ
Max Power (mA) - 250 mA na prawidłowe podłączenie linii
(wprawdzie sam programator mieÅ›- - za pomocÄ… schematu i rysunku
ci siÍ w podstawowych 100 mA, pÅ‚ytki zlokalizujemy bez trudu
ale byĘ moÅ‚e bÍdziemy stosowaĘ wyprowadzenia interfejsu ISP.
pÅ‚ytkÍ w innym celu i przyda siÍ Mikrokontroler zastosowany
moÅ‚liwośĘ zasilenia dodatkowych w projekcie pracuje z wewnÍt-
Rys. 2. Rozmieszczenie elementów
zewnÍtrznych podzespoÅ‚Ûw). rznym oscylatorem 8 MHz. Prze-
na płytce drukowanej
Elektronika Praktyczna 8/2003
28
Programator USB mikrokontrolerów ATmega - ISP
stawiamy wiÍc fabryczne 0001 (1 Uwaga! Konfiguracja fuseíÛw nym oprogramowaniem, caÅ‚kowi-
MHz) na 0100. PozostaÅ‚ych bitÛw wymaga uwagi i starannoÅ›ci. cie dostÍpnym - moÅ‚na wiÍc przy
moÅ‚emy w naszym zastosowaniu Sprawdümy dwa razy zanim coÅ› okazji go poprawiaĘ czy rozsze-
nie zmieniaĘ. Jednocześnie naleły ostatecznie wpiszemy do mikro- rzaĘ o nowe funkcje (na razie
odczytaĘ i zanotowaĘ wartośĘ baj- kontrolera. NiektÛre bity mogÄ… uruchomione sÄ… tylko podstawo-
tu kalibracyjnego dla 8 MHz. AT- nam bowiem całkiem zablokowaĘ we operacje dla serii ATmega).
mega po zerowaniu zawsze auto- interfejs ISP, ale nawet zmiana Otrzymany po kompilacji plik
matycznie Å‚aduje do korekcyjnego ürÛdÅ‚a taktowania (inne niÅ‚ po- wynikowy avrisp.hex Å‚adujemy do
rejestru OSCCAL wartośĘ dla trzebne ustawienie CSEL) sprawi mikrokontrolera dowolnym pro-
1 MHz. Musimy wiÍc w czÍÅ›ci w zmontowanym juÅ‚ urzÄ…dzeniu gramatorem ISP. Teraz moÅ‚emy
inicjalizacyjnej programu przeÅ‚a- mnÛstwo kÅ‚opotÛw. przystÄ…piĘ do praktycznych prÛb
dowaĘ samodzielnie OSCCAL od- ale o tym za miesiąc.
czytaną powyłej wartością. Wy- Etap 3 - Jerzy Szczesiul, AVT
maga to wprawdzie przekompilo- zaprogramowanie jerzy.szczesiul@ep.com.pl
wania programu oddzielnie dla mikrokontrolera
kałdego egzemplarza urządzenia, Jak zaznaczono wyłej, naleły
co jednak na etapie testÛw i uru- wpisaĘ do programu wÅ‚aÅ›ciwÄ… dla Wzory pÅ‚ytek drukowanych w for-
chamiania (czy teÅ‚ przy skÅ‚adaniu danego egzemplarza ATmega war- macie PDF sÄ… dostÍpne w Internecie
pojedynczych płytek na własne tośĘ OSCCAL (na początku fun- pod adresem: http://www.ep.com.pl/
potrzeby) nie jest ładnym utrud- kcji main() w module u_main.c). ?pdf/sierpien03.htm oraz na płycie
nieniem. Kod dla programatora jest wol- CD-EP8/2003B w katalogu PCB.
Elektronika Praktyczna 8/2003
29


Wyszukiwarka

Podobne podstrony:
avt 515 Programator mikrokontrolerów AVR i AT89S8252
avt 515 Programator mikrokontro Nieznany
avt 868 Programowalny zegar z LCD proc 89
avt 2502 Programator procesorów 89CX051 INNY
programator emulator mikrokontrolerów 89Cx051 (2)
programator emulator mikrokontrolerów 89Cx051 (1)
avt 871 Programator procesorów AVR przez BASCOM
avt 1307 Programatorek AVR
Programator USB AVR instrukcja up
avt 887 Programator sterowany z pakietu BASCOM
programowanie mikrokontrolerów
Programator ISP zl2prg(1)

więcej podobnych podstron