USB AVR ISP I (USBasp) manual - microsense.pl · USB AVR ISP I mo¿e tak¿e wspó³pracowaæ ze...
Transcript of USB AVR ISP I (USBasp) manual - microsense.pl · USB AVR ISP I mo¿e tak¿e wspó³pracowaæ ze...
Opis
Obs³ugiwane mikrokontrolery
Wspó³praca z programami
Podstawowe w³aœciwoœci
- umo¿liwia programowanie w systemie wszystkich mikrokontrolerów AVR
- pod³¹czany do portu USB komputera PC umo¿liwia programowanie mikrokontrolerów równie¿ z notebooków
- wspó³pracuje z WinAVR, Bascom-AVR, AVRStudio, CodeVisionAVR
- wspó³praca z uk³adami zasilanymi napiêciami 2,0V - 5,5V
- standardowy interfejs KANDA 10 pin
- zabezpieczenie nadpr¹dowe chroni¹ce port USB (bezpiecznik polimerowy)
- diody LED sygnalizuj¹ce stan pracy programatora w wersji USBasp i STK500v2
- mo¿liwoœæ zasilania uk³adu docelowego z portu USB (5V)
- mo¿liwoœæ programowania mikrokontrolerów taktowanych zegarem <1,5 MHz
- z³¹cze ISP umo¿liwiaj¹ce zmianê firmware'u programatora
- ³atwa zmiana firmware'u umo¿liwiaj¹ca pracê jako programator STK500v2
- ma³e wymiary (41x47mm)
Programator USB AVR ISP I wspó³pracuje z programem AVRDUDE, który jest natywnym interfejsem programowania
œrodowiska WinAVR. AVRDUDE mo¿na tak¿e obs³ugiwaæ z poziomu linii poleceñ lub za pomoc¹ ró¿nych nak³adek GUI, takich jak:
AVRDUDE-GUI, AVR 8 Burn-O-Mat.
USB AVR ISP I mo¿e tak¿e wspó³pracowaæ ze œrodowiskami AVRStudio, Bascom-AVR, CodeVisionAVR.
Programator USB AVR ISP I (USBasp) umo¿liwia programowanie wszystkich mikrokontrolerów rodziny AVR z interfejsem ISP
obs³ugiwanych przez AVRDUDE, Bascom i po zmianie firmware'u równie¿ przez AVRStudio.
Programator USB AVR ISP I (USBasp) jest programatorem ISP 8-bitowych
mikrokontrolerów AVR firmy Atmel. Pod³¹czany do portu USB komputera PC umo¿liwia
³atwe programowanie mikrokontrolerów z notebooków, które obecnie nie posiadaj¹
w standardzie portów RS-232 i LPT.
Wspó³pracuje z programem AVRDUDE jako USbasp, a po zmianie firmware'u
mo¿e pracowaæ jako programator STK500v2.
USB AVR ISP I posiada interfejs ISP w standardzie Kanda (10 pin), co uniemo¿liwia
ewentualne pomy³ki w pod³¹czaniu do uk³adu docelowego.
Zastosowany bufor napiêciowy umo¿liwia programowanie mikrokontrolerów zasilanych
napiêciami 2,0 V - 5,5 V.
AVR USB PROGUSB AVR ISP I
micro
Programator ISP mikrokontrolerów AVRUSB AVR ISP I (USBasp)
- 1 -
Rysunek przedstawia przyk³adowy schemat pod³¹czenia programatora do mikrokontrolera ATmega8.
Rozmieszczenie sygna³ów z³¹cza w standardzie KANDA
Pod³¹czenie z uk³adem docelowym
NC
SCK
MOSI
RST
MISO
GND
GND
VCC
GND
GND
1 2
MOSI, MISO, SCK - sygna³y magistrali SPI
RST - reset uk³adu docelowego
VCC - napiêcie zasilania uk³adu docelowego
GND - masa uk³adu docelowego
Rysunek przedstawia z³¹cze interfejsu ISP w standardzie
KANDA, które powinno byæ zamontowane na p³ytce
z programowanym uk³adem docelowym. Z³¹cze zamontowane
w programatorze USB AVR ISP I umo¿liwia pod³¹czenie
programatora za pomoc¹ standardowej taœmy IDC.
W przypadku zastosowania niestandardowego u³o¿enia pinów,
nale¿y u¿yæ odpowiedniej przejœciówki.
Opis z³¹czy programatora i diod LED
USB AVR ISP I
micro
Do konf igurac j i p rogramatora s ³u¿¹
2 zworki J6 i J4A:
J4A
J6
ON
OFF
ON
OFF
zmniejszenie czêstotliwoœci sygna³u taktuj¹cego (w przypadku gdy mikrokontro ler jest taktowany sygna³em mniejszym ni¿ 1,5MHz)
programowanie z maksymaln¹ prêdkoœci¹
uk³ad docelowy jest zasilany z programatora
uk³ad docelowy nie jest zasilany z programatora
- 2 -
Z³¹cze J2 w standardzie ISP
s³u¿¹ce do zmiany firmware'u
Z³¹cze programowania ISP (standard KANDA)
Jumper J6ON - zasilanie uk³adu docelowego 5V
LED zielona D7 - pod³¹czenie do portu USB, zasilanie programatora
LED czerwona D5 - programowanie
uk³adu docelowego
Jumper J4A - zmiana szybkoœci programowaniaON (Slow SCK) - programowanie uC taktowanych <1,5 MHzOFF (Speed SCK) - programowanie z maksymaln¹ szybkoœci¹
Instalacja sterowników (Windows XP)
1) Pod³¹czyæ programator do portu USB za pomoc¹ kabla miniUSB B(Canon)-USB A
2) Przy pierwszym pod³¹czeniu programatora do komputera, system Windows poinformuje u¿ytkownika o wykryciu nowego
urz¹dzenia i przyst¹pi do jego instalacji
3) W oknie kreatora nale¿y zaznaczyæ opcjê Nie, nie tym razem i wybraæ Dalej
4) W nastêpnym oknie zkreatora aznaczyæ Zainstaluj z listy lub okreœlonej lokalizacji i wybraæ Dalej
USB AVR ISP I
micro
- 3 -
Instalacja sterowników (Windows XP) c.d.
5) Nastêpnie wybraæ opcjê Wyszukaj najlepszy sterownik w tych lokalizacjach oraz Uwzglêdnij tê lokalizacjê
w wyszukiwaniu i podaæ œcie¿kê dostêpu do sterownika. Po wybraniu lokalizacji sterowników, wybraæ Dalej
6) Po poprawnej instalacji programatora, w oknie Mened¿era urz¹dzeñ powinna pojawiæ siê pozycja LibUSB-Win32 Devices
a w niej USBasp
Pod³¹czenie USB AVR ISP I do innego portu USB ni¿ poprzednio wywo³a okno instalacji sterownika (jak przy ka¿dym innym
urz¹dzeniu USB).
USB AVR ISP I
micro
- 4 -
Instalacja sterowników - Linux (Ubuntu).
Do obs³ugi programatora wymagana jest biblioteka libusb. Je¿eli nie jest zainstalowana, nale¿y j¹ zainstalowaæ, najproœciej
poprzez wykonanie w Terminalu komendy (posiadaj¹c po³¹czenie z internetem):
Do obs³ugi natywnym oprogramowaniem dla systemów GNU GPL jest AVRDUDE.
Najproœciej poprzez wykonanie w Terminalu komendy:
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install avrdude
U¿ytkowanie
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
Programator USB AVR ISP I (USBasp) 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), natywnie z Bascom-AVR (za
poœrednictwem AVRDUDE dla wersji < 1.11.9.6).
AVRDUDE
USB AVR ISP I
micro
- 5 -
Przyk³ad programowania mikrokontrolera ATmega8 programatorem USB AVR ISP I i programem AVRDUDE z lini poleceñ.
AVRDUDE-c.d.
USB AVR ISP I
micro
- 6 -
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) Po naciœniêciu przycisku Execute mikrokontroler zostanie zaprogramowany oraz zostan¹ wyœwietlone informacje o
przebiegu programowania.
AVRDUDE GUI
USB AVR ISP I
micro
- 7 -
1) Z g³ównego menu wybieramy Settings Z 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
AVR8 Burn-O-Mat
USB AVR ISP I
micro
- 8 -
1) Z g³ównego menu wybieramy ToolsZ Customize
2) W zak³adce Tools z Menu contens wybieramy New i wpisujemy nazwê programatora
3) W oknie Command podajemy œcie¿kê dostêpu do programu avrdude.exe
3) W oknie Arguments podajemy parametry:
- 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)
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
4) W oknie Initial directory podajemy œcie¿kê dostêpu do katalogu projektu
5) Zatwierdzamy wprowadzone parametry przyciskiem Close
6) Dobrze jest przypisaæ klawisze skrótu, jak pokazano poni¿ej
7) W celu zaprogramowania mikrokontrolera wybiaramy ToolsZ USB AVR ISP I lub np. Ctrl+D
Konfiguracja AVRStudio
USB AVR ISP I
micro
- 9 -
Konfiguracja Bascom-AVR (wersja < 1.11.9.6)
1) Z g³ównego menu wybieramy Options Z 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
3) 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)
4) 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
USB AVR ISP I
micro
- 10 -
Konfiguracja Bascom-AVR
1) Z g³ównego menu wybieramy Options Z Programmer
2) W zak³adce Programmer z rozwijanej listy wybieramy USBASP
3) Poni¿ej w zak³adce Clock Frequency mo¿emy ustawiæ czêstotliwoœæ programowania ISP (przy zdjêtej zworce J4A)
dostosowan¹ do czêstotliwoœci taktowania mikrokontrolera lub zostawiamy AUTO
UWAGA! W NOWEJ WERSJI BASCOM-AVR JEST B£¥D OBS£UGI PROGRAMATORA USBASP, NALE¯Y PODMIENIÆ PLIK NA PLIK ZA£¥CZONY NA CD!!! bascavr.exe
WinAVR
Naturalnym œrodowiskiem pracy programatora USB AVR ISP I (USBasp) jest pakiet WinAVR.
Aby korzystaæ z programatora z poziomu Programmers Notepada lub podobnego IDE nale¿y w pliku makefile projektu
zdeklarowaæ u¿ycie tego programatora:
-
i
-
-
f
znajdŸ i zakomentuj (dodaj znak # na pocz¹tku) wiersze rozpoczynaj¹cy siê od AVRDUDE_PROGRAMMER
AVRDUDE_PORT
dopisz wiersz: AVRDUDE_PROGRAMMER = usbasp
dopisz wiersz: AVRDUDE_PORT = usb
usebitów/lockbitów:
AVRDUDE_WRITE_EEPROM = -U eeprom:w:eeprom.hex
AVRDUDE_WRITE_LOCK = -U lock:w:0x3C:m
AVRDUDE_WRITE_HFUSE = -U hfuse:w:0xC9:m
AVRDUDE_WRITE_LFUSE = -U lfuse:w:0x9F:m
Je¿eli któraœ z tych opcji nie jest potrzebna, wskazane jest zakomentowanie zwi¹zanego z ni¹ wiersza
W pliku makefile powinna znaleŸæ siê linia:
program: $(TARGET).hex $(TARGET).eep
(lub np. program: $(TARGET).hex eeprom.eep)
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
$(AVRDUDE_WRITE_HFUSE) $(AVRDUDE_WRITE_LFUSE) $(AVRDUDE_WRITE_LOCK)
! Nieostro¿noœæ przy ustalaniu wartoœci fusebitów mo¿e zakoñczyæ siê zablokowaniem mikrokontrolera, niemo¿liwym do
usuniêcia bez wysokonapiêciowego programatora równoleg³ego; konieczne jest dok³adne zapoznanie siê z kart¹ katalogow¹.
Po przeprowadzeniu powy¿szych operacji mo¿liwe jest programowanie mikrokontrolera poprzez opcjê Tools/Program
Programmer's Notepada.
UWAGA! W przypadku, gdy wyst¹pi b³¹d programowania, poprzedzony odczytem przez avrdude zerowej
sygnatury (avrdude: Device signature = 0x000000) win¹ mo¿e byæ niskie taktowanie lub du¿e opóŸnienie
startowe programowanego mikrokontrolera – nale¿y za³o¿yæ w programatorze zworkê J4A, aby zmniejszyæ
szybkoœæ SPI przy programowaniu. Dotyczyæ to mo¿e m.in. fabrycznie nowych mikrokontrolerów (dla
Atmega8 ustawione fusebity SUT daj¹ du¿e opóŸnienie startowe a Ÿród³em taktowania jest generator 1MHz).
USB AVR ISP I
micro
- 11 -
Zmiana firmware'u do STK500v2
Z³¹cze J2 umo¿liwia zmianê firmware'u programatora np. do programatora zgodnego z STK500v2 lub upgrade'u obecnego
firmware'u. W tym celu nale¿y do³¹czyæ zewnêtrzny programator ISP do z³¹cza J2 i zaprogramowaæ go odpowiednim plikiem *.hex.
USB AVR ISP I
micro
- 12 -
Problem Mo¿liwa przyczyna Rozwi¹zanie
SprawdŸ napiêcie zasilania mikrokontrolera.Pod³¹cz zewnêtrzne zasilanie.
Z b y t n i s k i e n a p i ê c i e z a s i a n i a mikrokontrolera.
Mimo poprawnego pod³¹czenia uk³adu docelowego, nie mo¿na po³¹czyæ siê z mikrokontrolerem.
Zbyt du¿a ustawiona czêstotliwoœæ magistrali SPI (zbyt ma³e opóŸnienie), w porównaniu do c z ê s t o t l i w o œ c i z e g a r a t a k t u j ¹ c e g o mikrokontroler.
Za³ó¿ zworkê J4A (kolor czarny) zmniejszaj¹c¹ czêstotliwoœæ programowania.SprawdŸ po³¹czenie z mikrokontrolerem i je¿eli jest komunikacja, zwiêksz czêstotliwoœæ zegara mikrokontrolera.
SprawdŸ poprawnoœæ instalacji sterowników.Nieprawid³owo zainstalowane sterowniki.
FAQ (Rozwi¹zanie najczêstszych problemów)
Programator nie jest widziany w Menad¿erze urz¹dzeñ, nie wykrywany jest w systemie.
SC
K
RS
T
MIS
O
MO
SI
GN
D
VC
C
12
MOSI, MISO, SCK - sygna³y magistrali SPI
RST - reset uk³adu docelowego
VCC - napiêcie zasilania uk³adu docelowego
GND - masa uk³adu docelowego
Aktualizacja firmware'u
Wymiary : 41 x 47 x 10 mm
Waga : ok. 30 g
Po³¹czenie do PC : USB
Kabel programuj¹cy : 30 cm
Z³¹cze programuj¹ce : IDC-10 0.1” standard KANDA
Czêstotliwoœæ zegara ISP : 1,845 MHz
Napiêcie uk³adu docelowego : Vtarget 2-5,5V
Zasilanie uk³adu docelowego : Vtarget 4,5 V
Pobór pr¹du z portu USB : 50 mA
Dane techniczne