Programator USB AVR
Instalacja sterowników
Celem zainstalowania sterowników należy podłączyć programator do portu USB w
komputerze. Po podłączeniu powinna zaświecić się czerwona dioda LED, a komputer
powinien wykryć nowe urządzenie “usbasp”, i poprosić o sterownik:
Należy wybrać drugą opcję, czyli zainstaluj sterownik z określonej lokalizacji:
A następnie wskazać folder, w którym znajdują się sterowniki (katalog sterowniki w
dołączonej paczce):
Po kliknięciu na „Dalej” urządzenie zostaje zainstalowane i jest gotowe do pracy, a w
menedżerze urządzeń znaleźć będzie można “usbasp”:
Podłączenie USB AVR do innego portu USB niż poprzednio wywoła okno instalacji
sterownika (jak przy każdym innym urządzeniu USB).
Instalacja oprogramowania
Aby móc korzystać z programatora należy wykonać poniższe czynności:
1.
Z katalogu „Giveio” wybrać i uruchomić plik „install_giveio.bat”, w tym momencie
zainstalowany zostanie dodatkowy sterownik LPT.
2.
Uruchomić plik instalacyjny „WinAVR-20081205-install.exe”, zalecam nie zmieniać
katalogu, w którym aplikacja zostanie zainstalowana.
3.
Przekopiować
zawartość
katalogu
„Avrdude”
do
katalogu
„C:\WinAVR
20081205\bin”, potwierdzając pytanie, czy zastąpić istniejące pliki.
Po wykonaniu powyższych czynności można już korzystać z programatora. Jednak, aby
przekonać się, czy sterowniki i oprogramowanie zostało poprawnie zainstalowane zalecam
podłączyć urządzenie do portu USB i następnie z menu „Start” wybrać „Uruchom…”, wpisać
„cmd” i zatwierdzić. W nowym okienku po znaku zachęty wpisać: „avrdude –p m8 –c
usbasp” i zatwierdzić (powinna zaświecić się i zgasnąć zielona dioda LED). Wpisane
polecenie ma odczytać sygnaturę podpiętego pod programator procesora, ale z racji tego, że
nie został podpięty żaden uP otrzymamy komunikat jak poniżej:
Otrzymany komunikat świadczy o tym, że zarówno sterowniki jak i oprogramowanie zostały
prawidłowo zainstalowane.
Po podłączeniu do programatora procesora i wydaniu tego samego polecenia powinien
pokazać się tym razem taki komunikat:
Zwracam uwagę, że w moim przypadku podpięty był procesor Atmega8, stąd oznaczenie m8.
Jeśli podłączany będzie inny procesor należy zmienić ten parametr na odpowiedni. Lista
oznaczeń uP dostępna jest po wpisaniu polecenia: „avrdude –c usbasp”.
Opis złączy programatora
6
1
1
1
1
Jumper J1 - zmiana szybkości programowania
ON (Slow SCK) - programowanie uP taktowanych <1,5 MHz
OFF (Speed SCK) - programowanie z maksymalną szybkością
Jumper J2
ON - zasilanie układu docelowego 5V przy
korzystaniu ze złącza ISP nr 1
Złącze programowania ISP nr1
Jumper J3 – zmiana firmware’u
W czasie normalnej pracy zworka powinna być OFF
Jumper J4
ON - zasilanie układu docelowego 5V przy korzystaniu ze
złącza ISP nr 2
Złącze programowania ISP nr 2
Programator konfiguruje się przy pomocy dwóch zworek J1, J2 i J4
J1
ON
zmniejszenie częstotliwości sygnału taktującego (w
przypadku gdy mikrokontroler jest taktowany sygnałem
mniejszym niż 1,5MHz)
OFF programowanie z maksymalną prędkością
J2,J4*
ON
układ docelowy jest zasilany z programatora
OFF układ docelowy nie jest zasilany z programatora
*Konfigurowana jest tylko jedna ze zworek w zależności od wybranego złącza ISP
Opis wyprowadzeń złącza programowania
Na płytce programatora znajdują się dwa złącza programujące ISP. Dają one możliwość
podłączenia programatora do układu docelowego w dwojaki sposób. Poniżej opis
wyprowadzeń obydwu złączy.
Złącze ISP nr 1 Złącze ISP nr 2
MOSI, MISO, SCK - sygnały magistrali SPI
RST - reset układu docelowego
VDD - napięcie zasilania układu docelowego
GND - masa układu docelowego
Jedno z tych złączy powinno być zamontowane na płytce z programowanym układem
docelowym. Złącza zamontowane w programatorze USB AVR umożliwiają bezpośrednie
wpięcie programatora w złącze interfejsu ISP układu docelowego. W przypadku zastosowania
niestandardowego ułożenia pinów, należy użyć odpowiedniej przejściówki.
Linie TXD i RXD w złączu nr 2 pozostają niewykorzystane w tej wersji firmware’u.
Podstawka programująca
+
+
+
+
----
4
4
4
4
2
2
2
2
1
1
1
1
3
3
3
3
Podstawkę podłącza się do złącza programującego nr 2 programatora. Znajduję się na niej
złącze ISP zgodne ze złączem programatora, dodatkowy reset dołączany zworką, złącze
zewnętrznego zasilania, gniazda pod rezonator kwarcowy oraz wyprowadzenia wszystkich
portów programowanego układu. Przy pomocy podstawki można programować
mikroprocesory jak w tabeli:
Numer podstawki
Programowany mikrokontroler
1
attiny15, attiny85, attiny45, attiny25, attiny13, attiny12
2
atmega8, atmega168, atmega88, atmega48
3
attiny2313
4
atmega16, atmega32
Korzystając z podstawki 1 i 2 zworki należy ustawić na listwie nr 1, a kwarc umieścić w
gnieździe nr 1, zaś dla podstawki 3 i 4 zworki należy przełożyć na listwę nr 2, kwarc wsunąć
w gniazdo nr 2.
Dodatkowy reset nr 1 odnosi się do podstawki 1 i 2, natomiast nr 2 do podstawki 3 i 4.
Złącze programujące ISP
Dodatkowy reset nr 1
Złącze zewnętrznego zasilania
Listwa nr 1
Listwa nr 2
Gniazdo pod kwarc nr 1
Gniazdo pod kwarc nr 2
Dodatkowy reset nr 2
Użytkowanie programatora
Programator USB AVR obsługiwany jest za pomocą darmowego programu AVRDUDE,
który jest rozpowszechniany na licencji GNU GPLv2. Strona domowa programu to:
http://savannah.nongnu.org/projects/avrdude
. Współpracuje ze środowiskiem WinAVR,
AVRStudio (za pośrednictwem AVRDUDE), Bascom-AVR (za pośrednictwem AVRDUDE).
Avrdude
Właściwości programu AVRDUDE:
- obsługiwany z lini poleceń, co umożliwia uruchamianie z poziomu innych aplikacji
- działa w systemach, takich jak: Windows, Linux, MacOS X, FreeBSD
- umożliwia zapis i odczyt pamięci Flash, EEPROM, fuse i lock bitów
Obsługiwane mikrokontrolery AVR to między innymi:
- ATmega6450, ATmega3250, ATmega645, Atmega325
- ATmega2561, ATmega2560, ATmega1281, Atmega1280,
- Atmega640
- ATmega168, ATmega88, Atmega48
- ATmega8535, ATmega8515, ATmega8, Atmega161,
- ATmega32, ATmega6490, ATmega649, ATmega3290P,
- ATmega3290, ATmega329P, ATmega329, Atmega169,
- ATmega163, ATmega162, ATmega644P, Atmega644,
- ATmega324P, ATmega164P, Atmega16
- ATmega128, ATmega64, ATmega103
- ATtiny15, ATtiny13, ATtiny12, Attiny11
- Attiny2313
- ATtiny84, ATtiny44, Attiny24
- ATtiny85, ATtiny45, Attiny25
- ATtiny861, ATtiny461, Attiny261, ATtiny26
Avrdude Gui
Avrdude Gui jest graficzną nakładką na program AVRDUDE. Należy jej szukać w katalogu
C:\WinAVR-20081205\bin\ avrdude-gui.exe”.
Konfiguracja:
1)
W polu Location of avrdude podajemy ścieżkę dostępu do programu avrdude.exe
2)
W polu Alt. Config file można podać ścieżkę dostępu do alternatywnego pliku
configuracyjnego avrdude.conf
3)
W polach -p Device, -c Programmer oraz -P Port podajemy odpowiednio typ
programowanego mikrokontrolera, typ programatora (usbasp), oraz wpisujemy rodzaj
portu (usb)
4)
W polu Flash podajemy ścieżkę dostępu do pliku z programem dla programowanego
mikrokontrolera i zaznaczamy typ operacji (odczyt, zapis, weryfikacja)
5)
W polu Flash podajemy ścieżkę dostępu do pliku z programem dla programowanego
mikrokontrolera i zaznaczamy typ operacji (odczyt, zapis, weryfikacja)
6)
Po naciśnięciu przycisku Execute mikrokontroler zostanie zaprogramowany oraz
zostaną wyświetlone informacje o przebiegu programowania.
AVR8 Burn-O-Mat
Jest to kolejna nakładka na AVRDUDE z tym, że w odróżnieniu od avrdude gui wymaga
zainstalowania Javy. Nakładka znajduje się w katalogu „AVR8_Burn-O-Mat”, wywoływana
poprzez uruchomienie pliku „start.bat”.
Konfiguracja:
1) Z głównego menu wybieramy Settings AVRDUDE
3) W polu AVRDUDE location podajemy ścieżkę dostępu do programu avrdude.exe
3) W polu Programmer wybieramy programator usbasp
4) W polu Port wpisujemy usb
5) Zatwierdzamy wprowadzone parametry przyciskiem Ok.
6) Wybieramy typ mikrokontrolera
7) W polu Flash podajemy ścieżkę dostępu do pliku programu mikrokontrolera
8) W celu zaprogramowania mikrokontrolera wciskamy przycisk Write
Konfiguracja Bascom-AVR
1)
Z głównego menu wybieramy Options Programmer
2)
W zakładce Programmer z rozwijanej listy wybieramy External programmer
3)
Poniżej w zakładce Other w oknie Program podajemy ścieżkę dostępu do programu
avrdude.exe
4)
Poniżej w zakładce Other w oknie Program podajemy ścieżkę dostępu do programu
avrdude.exe
5)
W oknie Parameter podajemy:
- typ procesora (np. -p m8)
- typ programatora (-c usbasp)
- port (-P usb)
- ścieżkę dostępu do pliku HEX (katalog projektu) (-U flash:w:"{FILE}":a i
ewentualnie -U flash:v:"{FILE}":a)
Powinno to wyglądać w ten sposób:
"avrdude" -p m8 -c usbasp -U flash:w:"{FILE}":a -U flash:v:"{FILE}":a –e
6)
Należy zaznaczyć opcję Use HEX file
Przykładowa definicja parametrów: -p m8 -c usbasp -P usb -U flash:w:"test_1.hex”:a -U
flash:v:"test_1.hex”:a
UWAGA!!!
Proszę zwrócić szczególną uwagę przy podłączaniu wyprowadzeń złącza
programującego nr 1 z układem docelowym, a zwłaszcza przy podłączaniu
„plusa” i „minusa” z programatora do programowanego uP, jeśli zasilanie nie
jest pobierane z zewnątrz. Zwarcie tych linii może spowodować uszkodzenie
portu USB w komputerze.