Programator na USB (USBasp)


9.66667
Ocena: None Średnia: 9.7 (9 głosujących)

Opisywany układ jest programatorem mikrokontrolerow AVR, wzorowanm na bardzo popularnym projekcie opracowanym przez http://www.fischl.de/usbasp/. Zaletą układu jest prostota (Tylko mikrokontroler ATMEGA8 i kilka dodatkowych elementow) i łatwość obsługi, a fakt że wspołpracuje on z komputerem przez port USB sprawia, że bez problemu można go używać na laptopie oraz komputerach z płytami głownymi pozbawionymi portu LPT (obecnie coraz trudniej o dobrą płytę z portem LPT). Transmisją sygnału przez USB zajmuje się mikrokontroler, więc nie jest wymagany żaden dodatkowy kontroler USB. Dodatkową ważną zaletą tego projektu jest szybkość programowania dochodząca do 5KB/s oraz możliwość jej zredukowania na potrzeby programowania mikrokontrolerow z zegarem <1.5MHz. Jedynym problemem jaki pojawi się na początku to konieczność zaprogramowania mikrokontrolera sterującego za pomocą dowolnego innego programatora. Najprościej jest to zrobić korzystając z opisu dostępnego tutaj. Do obsługi programatora najlepiej nadaje się program avrdude, gdyż działa on na wielu systemach operacyjnych. Testowałem go na Archlinux 64 , PLD Titanium, Windows XP i Vista.

Działanie:


Schemat ideowy programatora przedstawiony jest na rysunku poniżej:

Sercem układu jest mikrokontroler U1 (Atmega8) wraz z rezonatorem kwarcowym X1 (12MHz) i kondensatorami C1 (22pF) i C2 (22pF). Złącze RxD/TxD wraz z rezystorem R7 (1k) umożliwiają budowę interfejsu RS232 (w tej wersji nie jest wykorzystywany). Diody D3 i D4 wraz z rezystorami R5 (470R) i R6 (470R) stanowią kontrolkę zasilania i programowania. Rezystor R1 (10k) wymusza stan wysoki na pinie reset mikrokontrolera, gdy nie jest on wykorzystywany (po zaprogramowaniu układu U1). Z1 jest złączem USB typu B, służącym do komunikacji z komputerem i zasilania programatora oraz programowanego układu (gdy prąd nie przekracza 500mA). Kondensatory C3 (4,7uF) i C4 (100nF) filtrują napięcie zasilające a diody D1 (Zenera 3,6V) i D2 (Zenera 3,6V) dbają aby napięcia na liniach D+ i D- portu USB nie przekroczyły 3,6V. Rezystory R2 (2,2k) oraz R3 (68R) i R4 (68R) są konieczne dla poprawnego działania USB. Złącze Prog jest złączem programującym przez które w pierszej fazie programujemy układ U1 a później stanowi ono wyjście naszego programatora. Zworka S_Prog (Self Program) umożliwia uaktalnienie oprogramowania w układzie (zaprogramowanie U1). S_SCK (Slow SCK) zapewnia obniżenie częstotliwości zegara taktującego programowanie i możliwość zaprogramowania mikrokontrolerów działających na niskiej częstotliwości (<1,5MHz). Zworka S_Target (SUpply Target) podłącza zasilanie do programowanego układu.

Budowa:


Programator można zbudować w oparciu o płytkę drukowaną dostępną tutaj lub dowolną inną dostępną na stronie http://www.fischl.de/usbasp/. Rysunek w odbiciu lustrzanym znajduje się tutaj. Montaż rozpoczynamy od wlutowania jednej zworki znajdującej się pod układem scalonym U1. Kolejność pozostałych elementów jest dowolna ale polecam rozpocząć montaż od złącza USB. Pod mikrokontroler zalecam zastosowanie podstawki. Pomocą przy konstrukcji może okazać się dostępny tutaj schemat montażowy.

Gdyby chtoś chciał wykonać wersję płytki ze złączem KANDA, poniżej znajdują się odpowiednie wyprowadzenia tego złącza:

Wykaz Elementów:


1x Listwa Goldpin 1x2 (RxD/TxD)
3x Listwa Goldpin 1x3 + zworka
1x Listwa Goldpin 1x8
1x Złącze USB typu B (do druku)
1x Kabel USB_A - USB_B (taki jak do drukarki)

1x 1k
1x 2,2k
1x 10k
2x 68R
2x 470R

2x 22pF
1x 100nF
1x 4,7uF Elektrolit

1x Rezonator Kwarcowy 12MHz
2x Dioda Zenera 3V6
2x Dioda LED
1x Mikrokontroler ATMEGA8 + Podstawka

Programowanie:


Program do mikrokontrolera został napisany przez Thomasa Fischl'a i wszystkie jego wersje, począwszy od tych najwcześniejszych (wraz z kodami źródłowymi) można znaleźć na stronie autora. W moim projekcie zastosowałem wersję programu usbasp.2006-12-29.tar.gz dla mikrokontrolera ATMega8. Do mikrokontrolera należy załadować plik usbasp.atmega8.2006-12-29.hex znajdujący się w katalogu "/bin/firmware/". Z nowszą wersją oprogramowania miałem pewne problemy ale może to tylko przypadek :).

Po zaprogramowaniu mikrokontrolera czas na ustawienie jego bitow konfiguracyjnych (Fuse Bitow). Ogolnie powinno to wyglądać tak: ("1" oznacza bit niezaprogramowany, tak jak w kartach katalogowych)

Fuse high byte: 0xc9 (szesnastkowo)
RSTDISBL = 1
WDTON = 1
SPIEN = 0
CKOPT = 0
EESAVE = 1
BOOTSZ1 = 0
BOOTSZ0 = 0
BOOTRST = 1

Fuse low byte: 0x9f (szesnastkowo)
DODLEVEL = 1
BODEN = 0
SUT 1..0 = 01
CKSEL 3..0 = 1111

Rysunek poniżej przedstawia ustawienia fusebitów (Screen z programu BASCOM AVR):

Ustawienia fusebitów w programie Burn-O-Mat przedstawione są poniżej:

Obsługa:


a) Linux


1. Instalujemy program avrdude ze standardowego repozytorium
2. Podłączamy programator do portu USB (zworka S_Prog powinna być rozwarta)
3. Podstawowe komendy:

Tylko odczyt sygnatury: (m8 to typ mikrokontrolera)

avrdude -p m8 -c usbasp

Odczyt programu z pamięci mikrokontrolera do pliku *.hex

avrdude -p m8 -c usbasp -U flash:r:program.hex

Zapis programu z pliku *.hex do pamięci mikrokontrolera

avrdude -p m8 -c usbasp -U flash:w:program.hex

b) Windows


1. Włączamy programator do portu USB
2. Rozpocznie się instalacja sterownika dla USBasp. Wybieramy sterownik z folderu "/bin/win-driver/" (znajdziemygo po rozpakowaniu pliku usbasp.2006-12-29.tar.gz)
3. Ściągamy skompilowaną wersję programu avrdude (patrz załączniki)
4. Uruchamiamy konsolę "cmd"
5. Dalsze czynności tak jak dla systemu Linux od punktu 2

Pod Windowsem istnieje możliwość współpracy opisywanego programatora z programem BASCOM AVR. Aby to zrobić wykonujemy następujące czynności:
1. Klikamy Options->Programmer
2. W polu programmer wybieramy extrenal programmer
3. W części other w polu program wybieramy scieżkę do avrdude
4. W części other w polu parameter wpisujemy : "avrdude" -p m8 -c usbasp -U flash:w:"{FILE}":a -U flash:v:"{FILE}":a

"m8" musimy zamienić na odpowiedni typ mikrokontrolera, który chcemy programować (najczęściej jest to: t2313, m8, m16, m32 lub m162)

Zdjęcia Projektu:

ZałącznikWielkość
Schemat63.12 KB
Płytka11.52 KB
Płytka (odbicie lustrzane)11.56 KB
Płytka (6 na stronie)55.19 KB
Montowanie15.67 KB
Opis płytki 6.59 KB
Opis płytki (odbicie lustrzane)6.63 KB
Punkty lutownicze6.38 KB
Punkty lutownicze (odbicie lustrzane)6.43 KB
Płytka (Złącze KANDA)12.07 KB
Płytka (Złącze KANDA) (odbicie lustrzane)12.05 KB
Płytka (Złącze KANDA) (8 na stronie)78.15 KB
Montowanie (Złącze KANDA)16.36 KB
Opis płytki (Złącze KANDA)6.69 KB
Opis płytki (Złącze KANDA) (odbicie lustrzane)6.67 KB
Punkty lutownicze (Złącze KANDA)6.66 KB
Punkty lutownicze (Złącze KANDA) odbicie lustrzane) 6.66 KB
AVRDUDE 5.5 (plik *.exe i *.conf)95.06 KB



Portret użytkownika gosc

Świetną rzeczą są

Świetną rzeczą są nakładki graficzne na avrdude. Dostępne tutaj:
http://sourceforge.net/projects/avrdude-gui/
http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.html
Dostępne dla kilku systemów. Burn-O-Mat napisany jest w javie więc chodzi na każdym systemie.
Osobiście korzystam z drugiej bo nie potrzebuję rozbudowanych opcji. A z pierwszą miałem problem.
Dodatkowo ta druga ostrzega których fusebitów nie powinniśmy ruszać.

Portret użytkownika mirley

Znam avr8-burn-o-mat i

Znam avr8-burn-o-mat i czasami używam ale częściej konfiguracji umożliwiającej działanie avrdude w bascomie bo najczęściej w nim piszę. Dzięki za zainteresowanie :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika joozwa

Czy to zadziała podłączone przez HUBa?

Witajcie. Czy to zadziała podłączone do PC przez hub'a? Poza tym projekt świetny, mam na myśli bardzo zgrabne PCB. Na oryginalnej stronie takiego nie ma (chyba). Gratulacje i pozdrowienia dla autora :)

Portret użytkownika mirley

U mnie układ działa

U mnie układ działa podłączony do huba w czytniku kart (czytnik wewnętrzny do kart SD itp. z hubem usb). Całość podłączona jest kabelkiem do złącza w płycie głownej. Na hubie USB też bedzie działało bo właśnie to sprawdziłem (test na starym hubie usb 1.0 z przewodem 1m + dodatkowy kabel 1m do programatora od huba. Wgrałem trzykrotnie program ok 15kb do atmega162 i przeszło weryfikację za każdym razem)

Dzięki za zainteresowanie, pozdrawiam

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika grizz

To, ze nie działa z hubem,

To, ze nie działa z hubem, może byc kwestią tego, ze hub zabiera trochę napięcia i po prostu jest za słaby, ergo to czy zadziała zalezy od konkretnego modelu huba.

Portret użytkownika joozwa

dzięki

Jeszcze nie wiem, czy działa, bo jeszcze nie zmontowałem układu :D (mam dopiero gotową płytkę). Pytałem uprzedzając nieco fakty. Rzeczywiście o problemach z zasilaniem nie pomyślałem, raczej o niezgodności sprzętu, itp., bo z tym co rusz są problemy. Pozdrawiam raz jeszcze ;)

Portret użytkownika joozwa

jak skonfigurować?

Dzisiaj odpaliłem ten programatorek. Zadziałał od pierwszego razu na avrdude :)
Ale mam z kolei inny problem: jak skonfigurować nakładkę graficzną do avrdude (link podawał już ktoś: http://sourceforge.net/projects/avrdude-gui/ ), żeby działała z usbasp? w liście wyboru nie ma go (mogę ręcznie dopisywać go do parametru, ale chyba nie o to chodzi w nakładce)? Przepraszam za takie pytania, ale jestem bardzo początkujący. Dzięki,pozdrawiam

Portret użytkownika mirley

Wlaśnie pobrałem z tej

Wlaśnie pobrałem z tej strony ten program i też nie wiem jak go ustawić. Ręczne dopisanie -c usbasp sprawia że coś działa ale nie pokazuje odczytanych fusebitów. Proponuje abyś skorzystał z drugiej nakładki graficznej ( avr8-burn-o-mat). Działa bez problemu i wczytuje wszystko co jest potrzebne :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika joozwa

burn o mat działa

rzeczywiście super :) Na elektroda.pl wyczytałem coś o avrdude-gui v0.2.1, która niby obsługiwała usbasp, ale coś nie mogę znaleźć :\ a inne, które mi się udało ściągnąć nie działają w ogóle (wywala błąd problemy z "inicjalizacją aplikacji"). Natomiast ta nakładka działa super.
Dzięki
Pozdrawiam

Portret użytkownika gosc

USBASP

zrobiłem sobie taki programator chciałem zaprogramować do niego atmegę8 w innym programatorze usbasp
w averdude ustawłem low fuse i high fuse według opisu i chyba uszkodziłem programator nie da się nim teraz programować

avrdude: error: programm enable: target doesn't answer. 1
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

avrdude done. Thank you.
po zaznaczeniu -F override signature check mam tak

avrdude: error: programm enable: target doesn't answer. 1
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA8 is 1E 93 07
avrdude: erasing chip
avrdude: error: programm enable: target doesn't answer. 1
avrdude: reading input file "C:\Documents and Settings\EZNP\NONAME1.HEX"
avrdude: input file C:\Documents and Settings\EZNP\NONAME1.HEX auto detected as Intel Hex
avrdude: writing flash (1152 bytes):

Writing | ################################################## | 100% 8.99s

avrdude: 1152 bytes of flash written
avrdude: verifying flash memory against C:\Documents and Settings\EZNP\NONAME1.HEX:
avrdude: load data flash data from input file C:\Documents and Settings\EZNP\NONAME1.HEX:
avrdude: input file C:\Documents and Settings\EZNP\NONAME1.HEX auto detected as Intel Hex
avrdude: input file C:\Documents and Settings\EZNP\NONAME1.HEX contains 1152 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 6.48s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x12 != 0x00
avrdude: verification error; content mismatch

avrdude done. Thank you.
czy na programatorze usbasp można programować fusebity bez obawy zablokowania programatora

Portret użytkownika jacek

avrdude-gui

witam, miałem ten sam problem. Znalazłem na stronie Tomasza Ostrowskiego potrzebne pliki z działającym avrdude-gui. Jeżeli nie chce się Panu szukać podaję link do całej paczki http://rapidshare.com/files/177642730/PROGR_AVR_USBASP.rar.html

pozdrawiam

Portret użytkownika gosc

usbasp

dzięki za zainteresowanie ale mój problem tkwi w tym że nie mogę teraz programować programatorem usbasp którym chciałem zaprogramować układ do tego z tej strony ,oczywiście wcześniej działał do momentu gdy programowałem układ do projektu z tej strony ustawiłem w averdude fuse bity jak tu w opisie i wtedy straciłem możliwość programowania a programowany układ też chyba nie został zaprogramowany bo ten nowy programator też się nie uruchamia po podłączeniu do usb jest ciemny nie pali się żadna dioda a system rozpoznaje nie znane urządzenie tak więc teraz mam dwa i żaden nie działa czy myślisz że problem jest w averdude no i nie mam pojęcia jak reanimować ten pierwszy nie ma żadnych zworek do uaktualniania tylko
2 do zasilania układu programowanego i zmniejszania szybkości (nadmienię jeszcze że jestem jeszcze zielony w tym temacie. dzięki spróbuję z tym softem mam nadzieją że się uda

Portret użytkownika mirley

Re: USBAsp

Po pierwsze jak juz pisałem wczesniej na pytanie o nakładkę na AVRDUDE, polecam Burn-O-Mat. Jest prosty w obsłudze i nie sprawia problemów. Często go uzywam do ustawiania fusów i wszystko za pomocą USBaspa. Jeżeli robisz pierwszego USbaspa to zaprogramować ATMEGA8 możesz za pomocą programatora na LPT w postaci kabelka i rezystorów.(Opis tutaj) Jeśli chcesz zaprogramować nowego USBaspa za pomocą takiego samego programatora to po pierwsze należy zewrzeć zworkę "S_SCK" w programatorze a w układzie programowanym (tym nowym USBaspie) zwieramy tylko zworkę S_Prog. DO mikrokontroleraq programowanego należy też doprowadzić napięcie za pomocą zworki S_Target w programatorze.

Fusy należy ustawić tylko w mikrokontrolerze programowanym a nie w programatorze. Tego działającego USBaspa nie należy tykać :) (a szczególnie jego ustawień). Piszę to bo z twojego opisu zrozumiałem że zmieniłeś fusebity w programatorze

Czy ten pierwszy USBasp działa prawidłowo?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

usbasp

0to chodzi że ten pierwszy przestał dzialać błedy jak wyżej wybacz mi ale dopiero zaczynam i dlatego chcialbym prostej porady mam taki prog [url=http://http://www.allegro.pl/item510706172_nowosc_programator_isp_avr_usb_rohs_atmel_fv.html zworki są dwie jak w opisie do niego
"1. Zworka bliżej złącza ISP służy do podania zasilania 5V na ukłąd docelowy. Nie potrzeba wtedy dodatkowego zasilania. Jest pobierana z portu USB. Takie rozwiązanie polecam tylko wtedy, gdy mamy do zaprogramowania sam mikrokontroler. W innym przypadku należy zworkę zdjąć i skorzystać z zasilania płytki na której zainstalowany jest układ docelowy.

2. Zworka po zewnętrznej stronie płytki służy to obniżenia prędkości programowania. Powinna być założona przy programowaniu układów taktowanych zegarem poniżej 1,5MHz. i była założona
i pytanie - w avedude w zakladce Flasch poddałem scieżkę dostpu do pliku i zaznaczyłem write, niżej zaznaczylem ptaszki na low fuse i high fuse i wpisalem wartości no i na koniec execute czy w takim ustawieniu moglem zablokować programator programowany uklad był w podstawce połączony taśmą od programatora podczas moich pierwszych prób w ten sam sposób programowałem wiele razy i ze skutkiem czy odchaczając te low i high fuse
zmieniam układ w programatorze czy może powinienem wpisać te parametry w komand line u mnie wyglądalo to tak "avrdude" -p m8 -c usbasp -P lpt1 -U flash:w:"C:\usbasp.atmega8.2007-10-23.hex":a -U flash:v:"C:\usbasp.atmega8.2007-10-23.hex":a -U lfuse:w:0x9f:m -U hfuse:w:0xc9:m -e -E reset z nakładką nie probowałem bo nie mogłem jej jakoś odpalić. jeśli chodzi o ten pierwszy to niemam w nim zworki s_prog chyba że sam połączę jak w tym aby go reanimować sory za te bzdury ale czekam na odpowiedz sprubuję się podszkolić i nie zadawac takich pytań

Portret użytkownika mirley

Re: USBAsp

Żaden program nie powinien przestawić fusów w programatorze oni zmienić jego oprogramowania beż specjalnego podłączenia. Jeśli więc programator działał i nagle przestał musi to być wynikiem jego wady lub uszkodzenia. Mogłeś też przypadkiem przestawić jakieś zworki itp. które uniemożliwią komunikację z komputerem.

Polecam na początku zaprogramować twojego drugiego programatora za pomocą opisu o którym mówiłem i za pomocą bascoma. Jeśli już pójdzie to wtedy przejdziesz do obsługi pod avrdude. A tak na marginesie to zainstaluj nakładkę Burn-O-Mat na avrdude i będzie Ci łatwiej. Fusy ustawia się tam bardzo elegancko i bez problemu. (Po pierwszym uruchomieniu wybierz ścieżkę do avrdude i avrdude.conf, potem uruchom program ponownie i wejdź do ustawień AVRDUDE w menu u góry. Z listy programatorów wybierz USBASP i będzie on działał. Najpierw musisz oczywiście zaprogramować go za pomocą portu LPT i opisu tak jak powiedziałem)

Odnośnie programatora kupionego przez Ciebie na allegro to zajmiesz się nim potem jak juz skończysz z USBASPEM

Ps. Ja nie ustawiam fusebitów z linni komend, tylko raz to robiłem. Łatwo się jest pomylić a ustawienie przypadkiem samych zer spowoduje przejście na zewnetrzne źródło zegarowe i wtedy juz kwarc nie ruszy mikrokontrolera do życia :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

usbasp

dzieki za informacje udało mi się zaprogramować został wykryty zainstalowałem sterowniki świeci się czerwona przy programowaniu zielona ale nie programuje mam tak
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

avrdude.exe done. Thank you.
po zaznaczeniu -F

avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude.exe: Device signature = 0xffffff
avrdude.exe: Yikes! Invalid device signature.
avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: reading input file "C:\Users\ALEX\Downloads\4x_DS18b20,_LCD\NONAME2T.HEX"
avrdude.exe: input file C:\Users\ALEX\Downloads\4x_DS18b20,_LCD\NONAME2T.HEX auto detected as Intel Hex
avrdude.exe: writing flash (4256 bytes):

Writing | ################################################## | 100% 0.70s

avrdude.exe: 4256 bytes of flash written
avrdude.exe: verifying flash memory against C:\Users\ALEX\Downloads\4x_DS18b20,_LCD\NONAME2T.HEX:
avrdude.exe: load data flash data from input file C:\Users\ALEX\Downloads\4x_DS18b20,_LCD\NONAME2T.HEX:
avrdude.exe: input file C:\Users\ALEX\Downloads\4x_DS18b20,_LCD\NONAME2T.HEX auto detected as Intel Hex
avrdude.exe: input file C:\Users\ALEX\Downloads\4x_DS18b20,_LCD\NONAME2T.HEX contains 4256 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 0.59s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
0x12 != 0x00
avrdude.exe: verification error; content mismatch

avrdude.exe done. Thank you.
ten sam układ innym programatorem programuje się ok . na stronie projektu którą podałeś u siebie w pliku txt są podane takie dane
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
to pomyłka czy tak mają być ustawione fuse bity. może masz jakieś sugestie rowiązania problemu, połączenia sprawdzone kabelki itp

Portret użytkownika mirley

Re: USBasp

Wszystko na to wskazuje że programator jest sprawny. Na razie nie probuj wgrać programu do mikrokontrolera bo nic to na razie nie da. Najpierw musi zadziałać odczyt sygnatury mikroprocesora więc wykonuj tylko z wiersza poleceń (będąc w katalogu z avrdude) polecenie:

avrdude -p m8 -c usbasp

gdzie m8 to typ mikrokontrolera jaki chcesz zaprogramować za pomocą USBasp'a (patrz opis). Po pierwsze po zaprogramowaniu programatora należy rozłączyć zworkę S_Prog bo nie będzie już potrzebna. Piny złącza programującego należy podłączyć do odpowiednich pinów w programowanym mikrokontrolerze. Programowany układ musi być zasilany, możemy do tego celu wykorzystać zworkę S_Target i zasilać programowany procesor z portu USB za pomocą programatora.

Jeżeli programowany układ jest nowy to należy zewrzeć zworkę S_SCK. Obniży ona częstotliwość sygnałów programujących do takiej aby fabryczny układ na wewnetrznym oscylatorze 1MHz zdołał ją "zobaczyć". Zworka S_SCK ma być zwarta zawsze gdy mikrokontroler jest taktowany zegarem poniżej ok 1,5MHz

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

usbasp

ze zwartym S_SCK mam
avrdude.exe: error: programm enable: target doesn't answer. 0
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | avrdude.exe: error: wrong responds size
avrdude.exe: error: wrong responds size
################avrdude.exe: error: wrong responds size
################################## | 100% 0.00s

avrdude.exe: Device signature = 0x020202
avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07
Double check chip, or use -F to override this check.
i gaśnie czerwona dioda i programator jest nie wykrywany do momentu zdjęcia zworki

zworka rozwarta
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0xffffff
avrdude.exe: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

Portret użytkownika mirley

Re: USBAsp

Jeżeli zwarta jest zworka S_SCK to programator powinien działać zarówno z mikrokontrolerami taktowanymi wolno jak i tymi szybkimi (tylko programowanie będzie wolniejsze) Jeśli po zwarciu S_SCK programator się zawiesza to jest jednak oznaka jego nie dobrego działania albo jakiegoś zwarcia na płytce.

Możesz ponownie zaprogramować ATMEGA8 w programatorze i poraz kolejny sprawdzić jego fusebity. Podłącz też do innego portu USB w komputerze (bedzie trzeba znowu sterowniki zainstalować). Programator ten musi działać bo zrobiłem 2 takie i obecnie używam tylko ich, bez problemów żadnych.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

ok dzięki za cierpliwość

ok dzięki za cierpliwość wszystko jasne szukam usterki

Portret użytkownika gosc

usbasp

działa. jedynym elementem z odzysku był kwarc wylutowałem znalazłem drugi i ruszył dzięki za pomoc

Portret użytkownika mirley

Re: USBasp

To dobrze że działa. Na przyszłość proszę nie stosować rezonatora kwarcowego z odzysku, już wiele osób miało z takimi problem. Nie wiem czemu tak jest. Ja zawsze mam w zapasie jakieś po 5 sztuk nowych 16MHz, 12MHz i 8MHz :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

A można używać tego układu

A można używać tego układu pod samego BASCOM AVR??? (czy jednak trzeba się nieco przestawić na avr dude) ???

Portret użytkownika mirley

Re; USBasp

Można programować w bascomie ale tylko przez avrdude, tak jak napisałem. Sam bascom narazaie nie obsługuje takiego programatora

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

fusebity

Napisał Pan:
Fuse high byte: 0xc9 (szesnastkowo)
RSTDISBL = 1
WDTON = 1
SPIEN = 0
CKOPT = 0
EESAVE = 1
BOOTSZ1 = 0
BOOTSZ0 = 0
BOOTRST = 1

Fuse low byte: 0x9f (szesnastkowo)
DODLEVEL = 1
BODEN = 0
SUT 1..0 = 01
CKSEL 3..0 = 1111

Najpierw wgrałem Bascomem plik hex teraz czas na fusebity i raz się nie udało. Czy tak ustawione fusebity mogę zaprogramować zwykłym programatorem (pare kabelków z rezystororami do LPT wg opisu http://mirley.firlej.org/jak_zaprogramowac_pierwszy_avr)
czy nic się nie stanie jak SPIEN = 0 Bo obawiam się czy znowu atmega przestanie odpowiadać . Mogłbym jednak prosić o zdjęcie usatwionych fusebitów z Pony Ponga albo tej graficznej nakładki na AVR Dude, które kratki dokładnie maja być zaznaczone a które puste bo już mi sie wszystko misza więc jak na pierwszy raz to prosze taką prostą instrukcje bo w googlach różne odpowiedzi się wykluczają a nik tego nie weryfikuje.

Portret użytkownika mirley

Re: Fusebity

Jeśli do programowania używasz bascoma albo masz taką możliwośc to ustaw poprostu pracę z zewnętrznym kwarcem (ext.Crystal...) i dużą częstotliwością pracy >8MHz. Już powinno zacząć działać, to są najważniejsze opcje. W tym co napisałem 0 oznacza bit zaprogramowany (tak jak w kartach katalogowych) a 1 niezaprogramowany. Przeczytaj instrukcję od swojego programu i ustaw tak jak napisałem pamiętając o tym że 0 to zaprogramowany

SPIEN = 0 oznacza włączony SPI, więc nie ma problemu

Nie mam aktualnie dostępu do swojego komputera, w sobotę postaram się zrobić screenshot z Burn-O-Mat'a

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Marek

Fusebity

Na nowerj Atmedze8 PonyPong odczytuje takie coś niepoki mnie pierwsza kratka RSTDISABLE

pozostawienie jej pustej tak jak orginalnie spowoduje wyłączeni pinu reset i nie będę mógł używać programatora? Bo już raz tak sie stało znalażłem wczoraj taki opis podłączenia zewnętrzengo 12MHz też dla programatora USBasp http://ajd.czest.pl/~pawel.borkowski/wyklady/usbasp/obrazy/fuse_ponyprog.gif i zaraz po kliknięciu write Atmega przestała działać:( a to zdjęcie wg auora opisuje konfiguracje:
RSTDISBL = 1
WDTON = 1
SPIEN = 0
CKOPT = 0
EESAVE = 1
BOOTSZ1 = 0
BOOTSZ0 = 0
BOOTRST = 1
BODLEVEL = 1
BODEN = 1
SUT1 = 1
SUT0 = 0
CKSEL3 = 1
CKSEL2 = 1
CKSEL1 = 1
CKSEL0 = 1
A wg mnie to wszystko się kłuci, ale moje doświadczenie z fusebitami ogranicza się do 3wieczorów czytania róznych postów(nie robie reklamy forum) i jednej atmegi która już się nie daje wykryć. Jestem troche niecierpliwy, ale musze wytrzymać do soboty bo bascom to jednak za głęboka woda:)

Portret użytkownika mirley

Re: Fusebity USBasp

Jeżeli używasz programow ktorych nie jesteś pewien to potem tak się mikrokontroler blokuje. Ja nigdy nie ustawiałem nic w ponyProg i nie będe tego robił. Do fusebitow najlepszy jest Burn-O-Mat i ewentualnie Bascom AVR. Niektore programy wprowadzają zamieszanie w ustawieniach. Trzeba zawsze pamiętać że ustawienie wartości 0 na danym bicie to jest bit zaprogramowany (włączony, "Tak"). A zatem ustawienie RSTDISBL = 1 jest jak najbardziej poprawne bo oznacza dosłownie : "ResetWyłączony = Nie" i pin resetu będzie działał napewno. Jeżeli w twoim programie do fusebitow 1 oznacza 0 a 0 oznacza 1 to się robi zamieszanie i taki program należy wywalić do kosza.

Zamieszczę potem zrzut z Burn-O-Mata lub bascoma dobrych fusebitow. Popatrz jeszcze do mojego opisu fusebitow w dziale: artykuły rożne. Napisałem tam co i jak trzeba ustawić, aby nikt nie fatygował się w karcie katalogowej z tymi 4 stronami opisu :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Marek

Fusebity USBasp

Dziękuje za chęć pomocy co do pierwszego razu z fusebitami dla zewnętrznego kwarcu to jednak poczekam na screen:)(z wewnętrznym się udawało) Artykuł różne "Fuse Bity w mikrokontrolerach AVR" Już czytałem, ale pojęcia takie jak: "układ BOD", "napięcie zasilające szybko narasta", "jest stosowany gdy napięcie zasilające powoli narasta". To narazie za dużo jak na moją głowę, elektroniką bawię się tak hobbystycznie nie mam na jej temat szkolnej wiedzy tylko to czego sam się nauczę w Internecie ja jestem bardziej humanistą o rozległych zainteresowaniach;) I przy okazji poszerzam wiedze, także dzięki takim ludziom jak Pan:) PS b.dobra strona

Portret użytkownika kogar

programowanie działa ale.

Witam serdecznie, zmontowałem ten programator po wielu próbach jednak się udało uruchomić i zaprogramować narazie atmega 88

ale mam następujący problem, gdy tylko podepnę USBasp do portu USB to mogę tylko jednorazowo zaprogramować, gdy będę znów chciał zaprogramować to muszę USBasp odłączyć od USB i podłączyć ponownie.
posiadam windows XP

niestety na Windows Vista nie da się zainstalować sterowników ;(

Portret użytkownika mirley

Re: USBasp

To dziwne co dzieje się z twoim programatorem. A czy skorzystałeś z wersji kodu źródłowego pod ATMEGA88? Czy ustawiłem mu poprawnie Fusebity? Ja wszędzie przedstawiam opis do ATMEGA8 a nie 88.

Pod systemem windows xp programator śmiga bez żadnych problemów i odrazu się instaluje. Pod Vista trzeba kliknąć "zezwalaj" a potem pozwolić zainstalować sterowniki nie podpisane cyfrowo i też śmiga :)

Sprawdzałem działanie programatorka pod wszystkimi systemami, które wymieniłem na wstępie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Marek

Re: programowanie działa ale.

Kogar a w czym programujesz? Może np w bascom zapomniałes kliknąć "reset chip"? A możesz wstawić screnna ustawień fuse bitów bo autor projektu narazie nie ma czasu więc moża mu pomóc w pomaganiu:)

Portret użytkownika kogar

już tłumaczę:) w

już tłumaczę:)
w programatorze usbavr siedzi atmega8 tym programatorem chcę zaprogramować atmege88 :)
powodem błędów pod XP była niezgodność avrdude i softu w atmedze, na XP działa ładnie, no ale moim założeniem było i jest nadal uruchomić programator ten pod windowsem Vista (ja mam Home premium) Gdy podpinam usbavr do USB pojawia mi się:
1 podpięcie do portu USB powoduje "szukanie sprzętu - instalowanie sterownika "domyślnego nie mam jak przerwać tego. Po chwili pokazuje się komunikat : " nie rozpoznano urządzenia USB
Jedno z urządzeń USB podłączonych do tego komputera ma awarię, ale system Windows nie może go rozpoznać. Aby uzyskać pomoc w rozwiązywaniu tego problemu kliknij ten komunikat. www.miecznet.pl/~kogar/1.jpg

2 więc kliknąłem : www.miecznet.pl/~kogar/2.jpg

3 wchodzę w menadżer urządzeń we właściwosci sterownika tego " nieznanego urządzenia" www.miecznet.pl/~kogar/3.jpg

4 udało mi się zainstalować Lib usb win 32 w ten sposób, że w menadżerze urządzeń klikam na nazwę komputera i wybieram :> dodaj starszy sprzęt. Ok udało się zainstalować jednak... co widać na obrazku aznaczonym wykrzyknikiem :
system" nie wie" do którego portu ma się odwołać ten sterownik. analizujac obrazek z pkt 3 i 4 myślę : ok nazwe portu mam , tylko to przenieść wystarczy, ale żeby to zobić to pewnie trzeba pogrzebać w rejestrze
www.miecznet.pl/~kogar/3a.jpg

www.miecznet.pl/~kogar/4.jpg

tylko czy ktoś ma pomysł jak ? ewentulnei gdzi szukać ? :/

Portret użytkownika Marek

Re: Fusebity USBasp

Może ktoś nawet w paincie zamalować poprawne kratki(tu są standardowe) i wstawić zdjęcie na jakiś sewer z obrazami?

http://images44.fotosik.pl/61/35d3c322b938710c.jpg

Tak żeby nikt kto pierwszy raz ustawia fusebity nie zrobił błedu. Przepraszam Mirley ale na nowym komputerze nie mam LPT i musze do kolegi specjalnie jechać(a troche drogi to jest) zaprogramować atege i chce żeby odrazu wszystko dobrze u niego ustawić.

Portret użytkownika mirley

Re: Fusebity - USBAsp

Witam Wszystkich

Przerobiłem ten plik i umieściłem w artykule, stare zdjęcie zdjąłem z odpowiedzi dla przejrzystości całości.

Odnośnie programatora pod Vistą to proszę podłąćzyć do innego portu, nic to nie daje? System nie powinien sam instalować sterownika

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika kogar

widocznie mój system jest

widocznie mój system jest inny;/ na moim nie działa. jak narazie ale to nie koniec wojny:)
pozdrawiam.

Portret użytkownika kogar

wojna wygrana:)

poprzednia wersja nie działała, byla ona zdubowana wg schematu ze strony http://www.fischl.de/usbasp/ i system wykrywal jako nieznane urządzenie,
zmontowałem układ z tej strony , podpiąłem i system sam zainstalował sterowniki, o nic nawet nie pytał! W końcu można zaczać zabawe z avr:)

dziękuję za podpowiedzi i zainteresowanie moim problemem;)
pozdrawiam

Portret użytkownika mirley

Re: Usbasp

Bardzo dobrze że wszystko śmiga. To dobry programator bo działa pod wieloma systemami operacyjnymi i pod dużą liczbą programów

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

USBasp + AVR Studio

Witam

A ja mam takie pytanko, czy konfigurowałeś ten programator pod AvrStudio? Ponieważ nie mogę sobie z tym poradzić, w Arguments: wrzucałem podobnie jak dla bascoma, Initial Directory: kombinowałem na różne sposoby,ścieżka do projektu,ścieżka do default,gdzie jest plik hex i nic, zawsze jest błąd:
error opening {FILE}: no such a file or directory.
a jak w argumentach wklepalem "plik.hex" i initial directory: default\ to problemu nie ma. Tyle że nie tedy droga by przy każdym projekcie klepać nazwę pliku:)
Będę wdzięczny za pomoc. Pozdrawiam

Portret użytkownika mirley

Re: USBasp +AVR Studio

Zainstalowałem już AVR Studio. Znalazłem następującą konfigurację w dokumencie http://www.microsense.pl/allegro/AVR_USB_PROG/manuals/AVR_USB_PROG_manual.pdf.

Zgodnie z tamtymi instrukcjami usbasp odpala się za pomocą avrdude w srodowisku AVR Studio. Nie mam jednak żadnego projektu napisanego pod AVR Studio więc nie sprawdzę czy sie kompiluje. Jeśli masz coś co miga diodami na porcie to prześlij mi na maila. Jak to uruchomię to dokładnie opiszę na stronie, w opisie programatora.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Marek

Zewnetrzne zasilanie układu

Może i to pytanie z podstaw elektroniki ale ja nie znam odpowiedzi. Chcąc zasilać uklad z zewnatrz na programaotrze należy zdjąć zworke +5V. Ale wtedy masa USB będzie połączona z masa np. zasilacza(muszą być połączone bo inaczej nie idze nawet odczyać sygnatury atmegi-sprawdziłem) Ale czy nic nie stanie sie z portem USB jeżeli jest do niego masa z zasilacza podłączona?

Portret użytkownika mirley

Re: Zasilanie

Masa MUSI być podłączona. Dla zasilania z zewnętrznego zasilacza rozwieramy zworkę S_target a do układu podłączamy linie programujące + Masa(GND). Zasialnie może być podawane tylko z jednego źródła.

Jeśli masa USB nie była by zwarta z masą zasilacza to jest 100 razy większe prawdopodobieństwo że coś spalisz.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Jak programowac i ustawiac fusy?

Witam. Mam moj zlozony nie zaprogramowany programator. Podlaczam go do dzialajacego programatora kolegi. Zmieniam zworke SCK i self programing. Teraz wrzucam hexa i zanim odlacze programatory wrzucam fusy? Czy jaka jest kolejnosc dzialania?

Portret użytkownika mirley

Re: USBasp

Kolejność działania jest dowolna. Ja przeważnie pierwsze ustawiam fusebity a dopiero potem programuje. Na zwartej zworce SLOW SCK możesz programować nawet gdy procesor chodzi na 12MHz więc nie ma problemu(poprostu pójdzie wolniej). Jeśli wgrasz najpierw fusebity to możesz od razu rozłączyć zworkę SLOW SCK i zaprogramować hex w normalnym tempie.

Do fusebitów i programowania zalecam program Burn-O-Mat

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

OK. Dzieki za pomoc. Dzis u

OK. Dzieki za pomoc. Dzis u kumpla zaprogramowalem skonstruowany USBasp i fusy tez ustawilem. Windows widzi wiec jest postep. Podlaczam do mojego programatora plytke z Atmega32 do zaprogamowania. Wpisuje: avrdude.exe -c usbasp -p m32 -U flash:w:program.hex
i dostaje:
found 5 busses
found 5 busses
avrdude.exe: error: could not find USB device "USBasp" with vid:0x16c0 pid=0x5dc

Proby programowania z nakladkami graficznymi daja podobny blad;/

Portret użytkownika mirley

Re: USBasp

Czy program.hex jest w tym samym folderze z którego jest wywoływany avrdude?

Wogóle na początku testuj programator za pomocą:

avrdude -c usbasp -p m32 

jeśli zobaczysz komunikat informujący o tym że procesor jest gotowy do przyjęcia instrukcji to możesz potem próbować wgrywać program. Wcześniej to nie ma sensu.

Na samym początku sprawdź czy fusy są dobrze ustawione, czy program wgrał się bez błędów i czy sterowniki w systemie są dobrze zainstalowane, według opisu powyżej.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Wpisalem to co mi napisales i

Wpisalem to co mi napisales i nic. Ten sam komunikat bledu...

Portret użytkownika grizz

A menadżer urządzeń widzi

A menadżer urządzeń widzi programator poprawnie?

Portret użytkownika Tomek

Re: ...

Raczej tak. Po podlaczeniu programatora do kompa: http://img17.imageshack.us/my.php?image=menadger.jpg
i do tego usbview:
http://img126.imageshack.us/my.php?image=usbviewjpg.jpg

Proba odczytu sygnatur poleceniem: avrdude -p m8 -c usbasp
nadal zwraca ten sam blad

Portret użytkownika mirley

Re: USBasp

Czy twój mikrokontroler to ATMEGA8 czy ATMEGA88? Spróbuj ponownie zaprogramować mikrokontroler
Czy połączenia i luty na płytce sprawdziłeś?

W poleceniu do odczytu sygnatur nazwę "m8" musisz zastąpić nazwą procesora podłączonego do programatora

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.