Programator USB (AVR): opis, przeznaczenie. Programiści mikrokontrolerów AVR Programator szeregowy AVR w obwodzie

Programator ten nie wymaga wstępnego programowania - wytrawiasz płytkę drukowaną, lutujesz ją i używasz. Autor tego urządzenia jest wymieniony na końcu artykułu, ale tutaj przytoczę krótki fragment instrukcji, żeby było jaśniej o czym mówimy: odpowiedni programator USB to tak naprawdę rzecz uniwersalna. Można go podłączyć do dowolnego nowoczesnego komputera i łatwo zaktualizować wybrany mikrokontroler o dowolną ilość pamięci FLASH z dość dużą szybkością. Ale kluczowym słowem jest tutaj „poprawny”, który działa normalnie bez strojenia i tańczy z tamburynem od razu po zamontowaniu i złożeniu części. Który nie powoduje zakłóceń podczas przenoszenia z jednego komputera na drugi lub zmiany systemu operacyjnego. Prawidłowy to taki, dla którego istnieją sterowniki dla dowolnej nowoczesnej, powszechnie używanej wersji systemu operacyjnego i te sterowniki nie zawierają błędów. Każdy sam ustali dla siebie jeszcze kilkanaście kryteriów poprawności, ale powyższe to te główne, bez których w zasadzie normalna praca z mikrokontrolerem nie będzie możliwa.

Obecnie Internet jest pełen różnych schematów. Umownie można je podzielić na dwie duże grupy.

Pierwsza grupa obejmuje programatory zbudowane w oparciu o mikrokontrolery (w szczególności AVR). Zebrałem kilka sztuk programistów firmy Prottoss (AVR910) dla siebie i moich znajomych, a także kilka sztuk USBasp. Dwóch moich znajomych obdarowanych tymi urządzeniami jest zachwyconych. Od kilku lat z sukcesem szyją kamienie. Innym (w szczególności mnie osobiście) zgromadzeni programiści nie sprawili wiele radości. Nie twierdzę, że są złe, po prostu okoliczności były takie: na jednym komputerze działa, na drugim nie. Lub po kilku godzinach pracy okazały się niewidoczne dla oprogramowania, za pomocą którego wszyty jest kamień. I wiele więcej. Od razu powiem, że nie zrozumiałem oprogramowania sterowników, na których montowane są te programatory. To prawda, próbowałem kilku programów do flashowania, dzięki którym ci programiści wydają się być w stanie szyć kamienie bez żadnych problemów. Jednak wynik w postaci częstych usterek nie szczególnie mnie satysfakcjonował. Jedynym wyjątkiem był program AVRDUDE w połączeniu z powłoką graficzną SinaProg, ale dowiedziałem się o tym zbyt późno. Swoją drogą zauważyłem taką tendencję: im starszy sprzęt PC, tym lepiej pracują ci programiści. Cóż, najbardziej nieprzyjemnym momentem dla tych, którzy wybrali drugą opcję zapoznania się z mikrokontrolerami AVR, jest to, że aby programista mógł działać, trzeba czymś sflashować zawarty w nim kamień. Oznacza to, że wygląda to tak: aby użyć programatora, musisz stworzyć/znaleźć programistę, aby sflashować mózg tego programisty. To takie błędne koło.

I druga grupa Programatory USB zawierają rozwiązanie oparte na specjalizowanym chipie FT232Rx. Kiedyś ten mikroukład stał się rodzajem rewolucji. Nie tylko konwertuje USB na UART bez żadnych problemów dla programisty (i prawdopodobnie 95% programistów używa go właśnie w tym celu). Potrafi także emulować pełnoprawny port COM, a stan „podrzędnych” linii (takich jak RTS, CTS, DTR itp.) można ustawić/odczytać nie z wirtualnego portu COM, a bezpośrednio poprzez sterownik FTDI ( opracowany przez FT232Rx). Tym samym pojawiło się nowe rozwiązanie umożliwiające flashowanie mikrokontrolerów, bez konieczności wstępnego oprogramowania mózgu programisty, a przy tym jest ono dość szybkie.

Schemat ideowy programatora USB

Obwód ten po prostu kieruje sygnały MOSI, MISO, SCK i RESET, które są generowane odpowiednio na pinach DCD, DTR, RTS i DSR układu DD1 (FT232RL), do pożądanych pinów flashowanego mikrokontrolera (tj. jest właściwie odpowiednikiem „starożytnych” programistów). Co więcej, robi to tylko w momencie programowania kamienia, innym razem programator jest odłączony od flashowanej płytki ze względu na 4 elementy buforowe układu DD2 (74HC125D). Stan linii MOSI, MISO, SCK i RESET ustawia/odczytuje oprogramowanie sprzętowe w komputerze. Przesyłanie danych pomiędzy komputerem PC a układem FT232RL odbywa się poprzez magistralę USB (z której programator otrzymuje również zasilanie).

Dioda HL2 („PWR”) sygnalizuje, że programator otrzymuje zasilanie z magistrali USB. Dioda HL1 („PROG”) sygnalizuje proces flashowania mikrokontrolera (świeci tylko podczas flashowania). To w zasadzie cały opis samego schematu obwodu elektrycznego. Jedyne, na co chciałbym zwrócić uwagę, to: po pierwsze, aby podłączyć programator do flashowanej płytki, stosuje się złącze IDC-10MR (XP2 „ISP”), którego pinout pokrywa się z powszechnym pinoutem złącza programatora
STK200/STK300:

Złącze XP2 „ISP” umożliwiające podłączenie urządzenia do programowalnego mikrokontrolera

Złącze XP3 „MISC” umożliwiające wykorzystanie dodatkowych funkcji programatora

Ogólnie układ FT232RL ma dość poważny potencjał dla programisty (przykładowo linie magistrali CBUS można wykorzystać jako zwykłe linie I/O mikrokontrolera), więc dobrze byłoby mieć dostęp do wszystkich jego pinów. Cóż, dostęp do napięć +5,0 V i +3,3 V też nigdy nie będzie zbędny. W załączeniu płytka drukowana i pełny szczegółowy opis. Rozwój i podręcznik - [e-mail chroniony] , test - SssaHeKkk.

Omów artykuł PROGRAMATOR USB

W Internecie dostępnych jest wiele układów programujących mikrokontrolery. Przedstawiam wersję uniwersalnego programatora USB w obwodzie z możliwością debugowania, którego sam używam. Możesz złożyć ten programator własnymi rękami.

Podstawą programatora jest układ FT2232D. Jest to konwerter USB na dwa porty UART. Osobliwością jest to, że „górny” kanał A może pracować w trybach JTAG, SPI i I 2 C, co jest wymagane do programowania mikrokontrolerów, różnych układów pamięci itp.

Rozwój tego programatora USB odbywa się na komputerze z wykorzystaniem bibliotek z FTDI Chip.

Urządzenie zasilane jest z interfejsu USB. Jeżeli obwód jest prawidłowo zmontowany, obwód nie wymaga konfiguracji. Funkcjonowanie urządzenia zależy od umiejętności programisty. Rezystory R8, R9, R12, R13, R14, R15, R16 ograniczają prąd w przypadku nieprawidłowego podłączenia do urządzenia, w związku z tym zaciski programowalnego urządzenia nie powinny być łączone z innymi elementami w obwodzie ani mieć takich podciągnięć co nie zniekształciłoby logiki przy tworzeniu poziomów dzielników napięcia. Chip U1 służy do zapisywania ustawień użytkownika.

Piny U2 ​​(kanał A):
24 - ADBUS0 – wyjście - w trybie JTAG TCK, w trybie SPI SK;
23 - ADBUS1 – wyjście - w trybie JTAG TDI, w trybie SPI DO;
22 - ADBUS2 – wejście - w trybie JTAG TDO, w trybie SPI DI;
21 - ADBUS3 – wyjście - w trybie JTAG TMS, w trybie SPI jako sygnał pomocniczy (CS);
20 - ADBUS4 – w trybie JTAG wejście/wyjście, w trybie SPI wyjście pomocnicze. Ten pin służy do dostarczenia sygnału RESET do mikrokontrolera;
15 - AСBUS0 – dowolnie programowalne wejście/wyjście we wszystkich trybach (opcjonalnie wykorzystywane do zasilania programowalnego urządzenia);
13 - AСBUS1 – dowolnie programowalne wejście/wyjście we wszystkich trybach.

W zasadzie wnioski te są wielofunkcyjne. Ich zachowanie zależy od wybranego trybu po otwarciu portu.

Kanał B służy do debugowania programowalnego urządzenia. Aby to zrobić wystarczy posiadać w mikrokontrolerze nieużywany port UART. Następna kwestia to technologia. W programie mikrokontrolera używamy sformatowanej funkcji wyjściowej printf() w odpowiednich miejscach.

40 -BDBUS0 – wyjście - w trybie UART TXD;
39 -BDBUS1 – wejście - w trybie UART RXD;
28 - BСBUS2 – wyjście - w trybie UART wskaźnik LED (świeci podczas transmisji danych przez USB);
27 - BСBUS3 – wyjście - wskaźnik LED w trybie UART (świeci podczas odbioru danych przez USB).

Poniżej znajduje się płytka programatora

Dziś ten uniwersalny programator obsługuje mikrokontrolery AVR poprzez interfejsy JTAG i SPI. Co więcej, prędkość oprogramowania układowego Atmega64 przez JTAG wynosi nie więcej niż 5 sekund, przez SPI nie więcej niż 8 sekund. W zasadzie można flashować dowolne mikrokontrolery, których dotyczy specyfikacja programatora. Obecnie trwają np. prace nad obsługą mikrokontrolerów NEC.

Formularz roboczy jest podzielony na dwie części: po lewej stronie znajdują się tabele do pracy z FLASH (na górze) i EEPROM (na dole), tutaj możesz otwierać pliki lub pobierać oprogramowanie układowe z mikrokontrolera, przeprowadzać weryfikację, edytować zawartość komórek pamięci; po prawej stronie znajduje się pole tekstowe do debugowania, wyświetlane są tu dane z kanału B, można tam również wpisać tekst, który zostanie wysłany do portu (funkcjonalnie jest to analogia HyperTerminal). Rozwój odbywa się na platformie Visual C# dla Windows. Istnieje również możliwość rozwoju w innych językach. Programista może także pracować pod Linuksem.

Używane książki:
1. AV Evstigneev „Mikrokontrolery AVR z rodziny Tiny i Mega firmy ATMEL”, Wydawnictwo M. „Dodeka-XXI”, 2005.
2. Future Technology Devices International Ltd. „FT2232D Podwójny układ scalony USB UART/FIFO” ,Arkusz danych, 2006.
3. Future Technology Devices International Ltd. „Przewodnik programisty D2XX dotyczący tworzenia aplikacji”, dokument, 2009.
4. Future Technology Devices International Ltd. „Przewodnik programisty po szybkiej bibliotece FTCJTAG DLL”, Nota aplikacyjna AN_110, 2009.
5. Future Technology Devices International Ltd. „Przewodnik programisty dotyczący szybkich bibliotek DLL FTCSPI”, nota aplikacyjna AN_111, 2009.
6. Andrew Troelsen „C# i platforma .NET” M., S-P. Piotr, 2007.

Możesz pobrać źródła oprogramowania i płytkę drukowaną w formacie poniżej

Borysow Aleksiej () Syzran, obwód Samara.

Lista radioelementów

Przeznaczenie Typ Określenie Ilość NotatkaSklepMój notatnik
U1 ŻetonAT93C46D-8S1 Do notatnika
U2 ŻetonFT2232D1 Do notatnika
VT1 Tranzystor MOSFET

BSS84

1 Do notatnika
C1 Kondensator0,01 µF1 Do notatnika
C2, C3 Kondensator27 pF2 Do notatnika
C4, C5, C7, C9, C10 Kondensator0,1 µF5 Do notatnika
C6 Kondensator0,033 µF1 Do notatnika
C8 Kondensator elektrolityczny10 µF1 Do notatnika
R1 Rezystor

2,2 kOhm

1 0,05 W Do notatnika
R2 Rezystor

10 kiloomów

1 0,05 W Do notatnika
R3, R4 Rezystor

27 omów

2 0,05 W Do notatnika
R5 Rezystor

470 omów

1 0,05 W Do notatnika
R6, R7 Rezystor

1,5 kOhm

2 0,05 W Do notatnika
R8-R16 Rezystor

Inżynierowie radiowi, którzy lubią projektować urządzenia elektroniczne, od czasu do czasu muszą w swoich pracach wykorzystywać mikrokontrolery. Zastosowania tych urządzeń półprzewodnikowych

otwiera przed inżynierami radiowymi ogromne perspektywy. Mikrokontrolery produkowane są tylko przez kilka firm, których liderami są MicrochipTechnology, ATMEL, ARMLimited. Główną cechą takich urządzeń jest potrzeba ich oprogramowania układowego. Dlatego właśnie potrzebni są programiści. Obecnie istnieje ogromny wybór różnych typów programistów, jednak cena takich produktów jest bardzo wysoka i nie każdy radioamator może sobie pozwolić na zakup takiego urządzenia.

W tym artykule przyjrzymy się programatorowi USB (AVR) opartemu na mikrokontrolerze sterującym Atmega 8. Produkt ten jest na tyle prosty, że radioamator może go samodzielnie złożyć i nie wydać dużo pieniędzy na markowy produkt. Wybrany przez nas programator USB (AVR) ma minimalne okablowanie mikrokontrolera, co pozwala na złożenie bardzo miniaturowego urządzenia. Produkt nie zajmuje dużo miejsca, posiada zwykły pendrive. Programator USB (AVR) w swoim obwodzie zawiera pakiet mikrokontrolera - TQFP 32 (nie mylić z pakietem DIP, ponieważ mają one różne piny). Schemat takiego urządzenia pokazano na zdjęciu.

Przejdźmy do opisu obwodu urządzenia. Zworkę J1 stosuje się, gdy zachodzi potrzeba wgrania oprogramowania układowego mikrokontrolera o częstotliwości taktowania poniżej 1,5 MHz. W razie potrzeby zworkę tę można łatwo wyłączyć z obwodu, w tym celu 25. pin sterownika jest podłączony do masy. W takim przypadku programator AVR-USB będzie zawsze działał ze zmniejszoną częstotliwością. Pamiętaj, że programowanie nie trwa dłużej, ale oczywiście decyzja należy do Ciebie. Diody Zenera D1, D2 służą do dopasowania poziomu pomiędzy magistralą USB a programatorem. Niebieska dioda sygnalizuje gotowość urządzenia do programowania mikrokontrolera, czerwona dioda świeci się w trakcie programowania. Układ posiada złącze IDC-06, które zawiera styki, których układ pinów odpowiada 6-pinowemu złączu ISP typu ATMEL. Podane złącze przenosi styki zasilania mikrokontrolerów, jest pobierane z portu USB komputera osobistego, dlatego należy uważać, aby programowanie sterownika nie odbywało się przy pomocy tego samego złącza.W tym celu należy należy połączyć styki Reset na sterowniku i na złączu (na schemacie zaznaczonym czerwoną linią przerywaną).

Zworka redukcji prędkości programatora oraz złącze mikrokontrolera znajdują się na końcu urządzenia. Tym właśnie jest programator USB (AVR), jak widać, wszystko jest elementarne.

Po złożeniu urządzenia należy sflashować mikrokontroler sterujący, w tym celu polecam skorzystać z programu PonyProg. Podczas programowania ustawiamy kryształ tak, aby działał z zewnętrznego źródła zegara o częstotliwości 12 MHz.

Programator USB dla AVR opisany w tym artykule współpracuje ze wszystkimi mikrokontrolerami typu AVR, pozwala na ich flashowanie, przeglądanie zapisanej zawartości urządzenia, kasowanie chipów i zmianę konfiguracji.

No cóż, przyszedł czas na zbudowanie programatora USB. Długo nie mogłem się zdecydować, jakiego programistę zbudować. Wybrałem je kierując się kryteriami prostoty konstrukcji i łatwości pracy z nimi, ale nic mi się nie spodobało. Przypadek pomógł mi w wyborze programisty. A raczej w ogóle go nie wybrałem - przypadkowo go zebrałem, nie wiedząc o tym!

I było tak. Kilka postów temu zmontowaliśmy konwerter USB na UART na ATtiny2313 (i nawet ulepszyliśmy płytkę drukowaną). Już przy wyborze obwodu konwertera planowałem go wykorzystać (wgrywając różne firmware) do pozyskiwania urządzeń o różnym przeznaczeniu. Nie miałem wtedy pojęcia, że ​​ten konwerter może mieć szersze zastosowanie, niż planowałem. Widząc schemat programatora USB - USBtiny na ATtiny2313, zdałem sobie sprawę, że mam już gotowy programator!

Patrząc na wykonany wcześniej schemat konwertera USB na UART(strona główna)


oraz schemat programatora USB USBTiny(Strona główna)

możesz to zobaczyć to ten sam schemat. Różnice są niewielkie – nie ma diod sygnalizacyjnych i kilka rezystorów. Aby konwerter stał się programatorem USB wystarczy wgrać mikrokontroler nowym firmware i wykonać kabel do podłączenia.

Teraz wszystko jest w porządku.
1 Najpierw należy zmontować konwerter(jeśli jeszcze tego nie zebrałeś).
Oto rysunek płytki drukowanej konwertera:
Jeśli jesteś zainteresowany, tutaj jest.
Po złożeniu konwerter wygląda następująco:

2 Zmodyfikuj trochę planszę
Aby zapewnić wszystkie niezbędne sygnały do ​​programowania, w linie nóg 12, 16, 17, 18, 19 wlutowujemy rezystory ochronne o wartości nominalnej 100 omów (wartość nie jest krytyczna - można ją zmieniać).


3 Teraz musisz sflashować mikrokontroler.
Linie dla programatora wyprowadzone są do wspólnego złącza na płytce (z wyjątkiem resetu, który jest osobny).

Chyba nie trzeba mówić, że do flashowania oprogramowania mikrokontrolera potrzebny będzie programista. Można go szybko złożyć i zszyć za pomocą .


Schemat obwodu jest prosty.

Jedną z cech jest to, że diodę sygnalizacyjną LED i rezystor balastowy do niej umieściłem na płytce na złączu - chodzi o to, aby płytkę można było wykorzystać do innych urządzeń bez konieczności ponownego lutowania (no cóż, tak jest chłodniej - dioda LED mruga bezpośrednio w złączu :)). Dodatkowo linia Vcc jest oddzielona od złącza ogólnego - dzieje się tak w przypadku, gdy programowalne urządzenie jest zasilane nie z USB, a z jego źródła (co w zasadzie jest pożądane). Zaleca się ekranowanie linii sygnałowych (SCK, MISO, MOSI) (np. poprzez naprzemienne układanie w pętli linii sygnałowych i uziemiających). Długość pociągu nie powinna być duża - do 50 cm, nie więcej. Jeśli chcesz zaprogramować urządzenie zdalne, zawsze możesz użyć przedłużacza USB - jest to bardziej niezawodne. Oto moja gotowa koronka:



5 Sam programista jest gotowy, teraz musisz zainstalować sterownik aby system Windows mógł z nim współpracować (w przypadku systemów Mac OS X i Linux najwyraźniej w ogóle nie jest potrzebny żaden sterownik). Tutaj wszystko jest proste:

5.1 Pobierz sterownik i rozpakuj go.
Strona ze sterownikami


5.2 Wkładamy nasz programator do portu USB.




5.3 Na pasku zadań pojawi się komunikat informujący, że znaleziono nowe urządzenie.



5.4 Uruchomi się Kreator znajdowania nowego sprzętu.



5.5 W oknie „lokalizacja wyszukiwania” określ folder ze sterownikiem.



5.6 Proces instalacji sterownika zostanie zakończony. Pojawi się okno wskazujące, że sterownik został zainstalowany. Aby sprawdzić co tam zainstalowaliśmy przejdź do „Mój komputer/Właściwości/Sprzęt/Menedżer urządzeń” i tam znajdź naszego programistę

Windows zobaczył nowe urządzenie i jest gotowy do pracy z nim.

Programator USBtiny obsługiwany przez AVRDude co oznacza, że ​​wiele środowisk programistycznych będzie z nim współpracować bez problemów. Kolejną zaletą pracy z AVRDude jest to, że istnieje wiele powłok GUI do pracy z AVRDude, spośród których możesz wybrać tę, która Ci odpowiada (ale o tym więcej w następnym artykule).

Nie miałem wcześniej do czynienia z USBTiny, ale opinie na jego temat w Internecie są pozytywne (jest niezawodny i szybki w programowaniu) – potwierdził to mój testowy firmware. ATtiny2313 miga w ciągu 10 sekund (obejmuje to sprawdzenie). Mikrokontroler jest wykrywany i programowany rzetelnie - podczas moich testów nie było ani jednego błędu. Przyjemny w obsłudze programista!


Pliki do artykułu:
- Rysunek PCB UART-USB na ATtiny2313
- Oprogramowanie programatora USBtiny dla ATtiny2313
- Bity bezpiecznikowe ATtiny2313 dla USBtiny
- Schemat kabla do programatora USBtiny

W tym artykule opiszemy krok po kroku etapy produkcji. Programator USBasp dla mikrokontrolerów AVR. W osobnych artykułach opiszemy instalację sterowników dla systemów operacyjnych Windows XP i Windows 7 (x64/x86). Na końcu postu znajduje się link z niezbędną dokumentacją do samodzielnego wykonania programatora USBasp.

Programator USBasp dzięki łatwości wykonania oraz zastosowaniu niedrogich i powszechnie dostępnych elementów zyskał dużą popularność wśród radioamatorów. Jego parametry pracy nie ustępują profesjonalnym i drogim programatorom mikrokontrolerów AVR.

Główne cechy programatora USBasp

  • Współpracuje z wieloma systemami operacyjnymi - Linux, Mac OS X i Windows - w tym Windows 8!
  • Nie wymaga zasilania zewnętrznego.
  • Możliwość programowania z szybkością do 5kB/s
  • Istnieje możliwość (przełącznik 2) zmniejszenia prędkości programowania - dla procesorów z kwarcem mniejszym niż 1,5 MHz
  • Zapewnia napięcie programowania (przełącznik 1) 5 woltów
  • Sygnalizacja pracy programatora za pomocą diody LED

Przed rozpoczęciem pracy warto zapoznać się z kolejnością wszystkich wykonywanych czynności, a mianowicie:

  1. Wybór projektu/wzoru płytki drukowanej
  2. Przeniesienie projektu płytki drukowanej na foliowy laminat z włókna szklanego
  3. Trawienie płytki drukowanej w roztworze chlorku żelaza
  4. Wiercenie otworów
  5. Montaż elementów (lutowanie)
  6. Programowanie programisty Atmaga8
  7. Podłączenie programatora do komputera
  8. Instalacja sterowników – Windows XP, Windows 7
  9. Wybór programu obsługującego USBasp

Istnieje wiele wersji programatora USBasp, jednak wszystkie opierają się na obwodzie głównym, którego autorem jest Thomas Fischl. Oprogramowanie programatora mikrokontrolera jest również jego autorstwa.

Oryginalny obwód programatora:

W tym przypadku jako podstawę wybrano oryginalny schemat. Ponieważ zastosowanie zworek w oryginalnym obwodzie nie jest do końca wygodne, zdecydowano się na zastosowanie przełączników DIP. Zmieniono także wartości niektórych rezystorów.
Co więcej, w oryginalnym obwodzie linie TxD i RxD są poprowadzone do złącza ISP, choć nie jest to konieczne (dokładniej nie są one stosowane w praktyce).

Poniżej schemat z wprowadzonymi zmianami:

Budowa programatora USBasp

Istnieje wiele wersji PCB do tego programatora, niektóre można znaleźć na oficjalnej stronie USBasp. Zrobiłem jednak własny w oparciu o powyższy schemat.

Niestety, w wyniku zastosowania przełączników DIP, konstrukcja płytki stała się nieco bardziej skomplikowana, co doprowadziło do zastosowania 2 krótkich zworek, aby płytka nadal była jednostronna.

Poniżej wynik PCB:

Jak widać na rysunku, programista nie zastosował elementów SMD. Pustą przestrzeń na płytce „wypełnia się” polem uziemiającym, głównie po to, aby nie wytrawić dużej ilości miedzi, a także aby zmniejszyć wpływ zakłóceń na programistę.

Lista elementów zastosowanych w programatorze USBasp:

  • R1: 10 tys
  • R2: 180
  • R3: 100
  • R5, R6: 68
  • R7: 2k2
  • C1, C2: 22p
  • C3: 10μ
  • C4: 100n
  • LED1: Czerwona dioda LED 20mA
  • LED2: Zielona dioda LED przy 20 mA
  • D2, D3: diody Zenera przy 3,6 V
  • X1: Złącze USB typu B
  • SV1: gniazdo IDC-10
  • P1: Kwarc 12 MHz, obudowa HC49-S
  • SW1: Przełącznik DIP w trzech pozycjach
  • IC1: Atmega8 ( UWAGA: Nie należy stosować mikrokontrolera Atmega8 - PU ze względu na ograniczenie maksymalnej częstotliwości taktowania do 8 MHz!)

Przeniesienie projektu płytki drukowanej programatora USBasp na włókno szklane wykonano metodą LUT(). Nie będziemy opisywać, jak to zrobić, ponieważ w Internecie jest wiele takich informacji.

Powiedzmy krótko, że najpierw na błyszczącym papierze drukuje się rysunek w skali 1:1, następnie nakleja się go na oczyszczoną i odtłuszczoną miedzianą stronę laminatu z włókna szklanego i mocuje taśmą papierową. Następnie stronę papierową dokładnie wygładzamy żelazkiem za pomocą żelazka 3-punktowego. Następnie całość moczymy w wodzie i dokładnie oczyszczamy z papieru.

Kolejnym krokiem jest wytrawienie płytki w roztworze chlorku żelaza. Podczas trawienia pożądane jest utrzymanie temperatury roztworu co najmniej 40 C, dlatego zanurz słoik z roztworem w gorącej wodzie:


Po zakończeniu procesu trawienia należy usunąć toner acetonem.

Teraz pozostaje tylko wywiercić otwory. Po zakończeniu procesu produkcji płytki można przystąpić do lutowania elementów programatora USBasp zaczynając od zworek.

Na końcu artykułu znajduje się gotowy do druku (w formacie PDF) rysunek PCB. Kilka opcji można znaleźć także na oficjalnej stronie projektu.

Pierwsze uruchomienie programatora USBasp

Teraz, gdy wszystkie części są już zlutowane, pozostaje jedynie „sflashować” mikrokontroler Atmegę8 samego programatora. Do tego potrzebny jest osobny programator, może to być np. STK 200 (port LPT), STK500 itp. Programator LPT podłącza się do USBasp poprzez złącze IDC-10.

Należy pamiętać, że rozkład pinów w złączu oryginalnego programatora (USBasp) znajduje się po prawej stronie, natomiast w wersji opisanej w tym artykule po lewej stronie:

Rozkład pokazany na rysunku po prawej stronie odpowiada rozkładowi stosowanemu przez firmę Atmel w jej oryginalnych programistach. Taki rozkład zmniejsza ryzyko zakłóceń podczas programowania w przypadku długich przewodów od programatora do sterownika, ponieważ każda linia sygnałowa jest ekranowana masą, z wyjątkiem MOSI.

Podczas programowania włącz tryb SELF, ustawiając przełącznik DIP nr 3 w pozycję ON. Dzięki temu możliwe staje się programowanie Atmega8. Po zakończeniu programowania położenie przełącznika (3) należy ustawić w pozycji OFF.

Najnowszą wersję oprogramowania można pobrać z oficjalnej strony internetowej. Polecamy wersję dla Atmega8, która znajduje się w archiwum: usbasp.2011-05-28.tar.gz.

Należy pamiętać, że przed zaprogramowaniem Atmega8 należy ustawić bezpieczniki o następujących wartościach:

  • # dla Atmega8: HFUSE=0xC9 LFUSE=0xEF
  • # dla Atmega48: HFUSE=0xDD LFUSE=0xFF

Jeżeli programowanie przebiegło pomyślnie, należy podłączyć programator do złącza USB komputera, powinna zaświecić się czerwona dioda LED, a komputer powinien powiadomić o wykryciu nowego sprzętu.

Instalowanie sterowników programatora USBasp

Sposób instalacji sterowników programatora opisano w osobnych artykułach, dostępne są tam również same sterowniki. Poniżej znajdują się bezpośrednie linki do tych artykułów:

  • Instalacja sterowników programatora USBasp pod Windows XP
  • Instalacja sterowników dla programatora USBasp Windows 7 x64/x86

Programy do obsługi programatora USBasp

Najpopularniejszym programem obsługującym programator USBasp jest program konsolowy AVRdude. Istnieje również wiele programów pochodnych, których użycie jest znacznie wygodniejsze. Zostały one zaprezentowane w artykule Porównanie programów obsługujących programator USBasp.