Programator ISP mikrokontrolerów AVR - microsense.pl · AVR USB PROG Opis Obs³ugiwane...

12
AVR USB PROG 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 1,8V - 5,5V - standardowy interfejs KANDA 10 pin - 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 - dodatkowa dioda LED sygnalizuj¹ca pod³¹czenie programatora STK500v2 do wirtualnego portu szeregowego (COM) - wyprowadzone linie Rx i Tx, co po zmianie firmware'u umo¿liwia ³atwe u¿ywanie programatora równie¿ jako portu szeregowego - konstrukcja umo¿liwiaj¹ca pod³¹czenie programatora do uk³adu bez dodatkowej taœmy - ma³e wymiary (28x58mm) Programator USB AVR PROG 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 PROG mo¿e tak¿e wspó³pracowaæ ze œrodowiskami AVRStudio, Bascom-AVR, CodeVisionAVR. Programator USB AVR PROG umo¿liwia programowanie wszystkich mikrokontrolerów rodziny AVR z interfejsem ISP obs³ugiwanych przez AVRDUDE i po zmianie firmware'u równie¿ przez AVRStudio. Programator USB AVR PROG 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 PROG 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 1,8 V - 5,5V. AVR USB PROG m icro Programator ISP mikrokontrolerów AVR

Transcript of Programator ISP mikrokontrolerów AVR - microsense.pl · AVR USB PROG Opis Obs³ugiwane...

AVR USB PROG

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 1,8V - 5,5V

- standardowy interfejs KANDA 10 pin

- 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

- dodatkowa dioda LED sygnalizuj¹ca pod³¹czenie programatora STK500v2 do wirtualnego portu szeregowego (COM)

- wyprowadzone linie Rx i Tx, co po zmianie firmware'u umo¿liwia ³atwe u¿ywanie programatora równie¿ jako portu szeregowego

- konstrukcja umo¿liwiaj¹ca pod³¹czenie programatora do uk³adu bez dodatkowej taœmy

- ma³e wymiary (28x58mm)

Programator USB AVR PROG 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 PROG mo¿e tak¿e wspó³pracowaæ ze œrodowiskami AVRStudio, Bascom-AVR, CodeVisionAVR.

Programator USB AVR PROG umo¿liwia programowanie wszystkich mikrokontrolerów rodziny AVR z interfejsem ISP

obs³ugiwanych przez AVRDUDE i po zmianie firmware'u równie¿ przez AVRStudio.

Programator USB AVR PROG 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 PROG 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 1,8 V - 5,5V.

AVR USB PROG

micro

Programator ISP mikrokontrolerów AVR

Rysunek przedstawia przyk³adowy schemat pod³¹czenia programatora do mikrokontrolera ATmega8.

Opis z³¹czy programatora

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 PROG umo¿liwia 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.

Z³¹cze J6 w standardzie ISP

s³u¿¹ce do zmiany firmware'uZ³¹cze J4 - port COM

(linie RxD i TxD)

RxDTxD

Jumper J1ON - zasilanie uk³adu docelowego 5V

Z³¹cze programowania ISP (standard KANDA)

Jumper J7 - zmiana szybkoœci programowaniaON (Slow SCK) - programowanie uC taktowanych <1,5 MHzOFF (Speed SCK) - programowanie z maksymaln¹ szybkoœci¹

AVR USB PROG

micro

Do konfiguracj i programatora s³u¿¹

2 zworki J1 i J7:

J7

J1

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

Instalacja sterowników

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

AVR USB PROG

micro

Instalacja sterowników 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 PROG do innego portu USB ni¿ poprzednio wywo³a okno instalacji sterownika (jak przy ka¿dym innym

urz¹dzeniu USB).

AVR USB PROG

micro

U¿ytkowanie

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

Programator USB AVR PROG 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).

AVR USB PROG

micro

Przyk³ad programowania mikrokontrolera ATmega8 programatorem USB AVR PROG i programem AVRDUDE z lini poleceñ.

AVRDUDE-c.d.

AVR USB PROG

micro

AVRDUDE GUI

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.

AVR USB PROG

micro

AVR8 Burn-O-Mat

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

AVR USB PROG

micro

Konfiguracja AVRStudio

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 AVR USB PROG lub np. Ctrl+D

AVR USB PROG

micro

Konfiguracja Bascom-AVR

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

AVR USB PROG

micro

WinAVR

Naturalnym œrodowiskiem pracy programatora PRG AVR USB (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

zale¿noœci od potrzeby dodaj uzupe³nij cykl programowania o programowanie pamiêci eeprom i bajtów

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ê J1, 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).

AVR USB PROG

micro

Aktualizacja firmware'u

Zmiana firmware'u do STK500v2S

CK

RS

T

MIS

O

MO

SI

GN

D

VC

C

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

Z³¹cze J6 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 J6 i zaprogramowaæ go odpowiednim plikiem *.hex.

Programator AVR USB PROG pracu j¹cy w t ryb ie zgodnoœc iz STK500v2

AVR USB PROG

micro