Spisu treści:
- Krok 1: Funkcje i części
- Krok 2: Układ, schemat i konstrukcja płyty chlebowej
- Krok 3: Użycie i aplikacja
Wideo: Programator SPI VUSBTiny AVR: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
po zrobieniu programatora usbtiny isp i używaniu go przez 6 miesięcy, szukałem kolejnego do noszenia. Podoba mi się prostota projektu usbtiny isp, ale chciałbym, aby był jeszcze mniejszy i miał mniej części. jedną rzeczą w oryginalnym projekcie, którą chcę zmienić, jest wyeliminowanie użycia kryształu zegara. jednym z rozwiązań, które znalazłem, jest to, że sterowniki v-usb obsługują wewnętrzny oscylator 16,5 MHz na urządzeniach attiny25/45/85. więc zaczynam ten projekt, aby mieć usbtiny isp zatrudnia v-usb do komunikacji USB. bezpośrednie korzyści to oszczędność miejsca i mniejsza liczba komponentów (brak kryształów). Opis usbtiny z https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny to programowa implementacja USB o niskiej prędkości protokół dla mikrokontrolerów Atmel ATtiny. Oczywiście będzie działać również w serii ATmega. Oprogramowanie jest napisane dla AVR o taktowaniu 12 MHz. Przy tej częstotliwości każdy bit na magistrali USB zajmuje 8 cykli zegara i przy wielu sztuczkach możliwe jest dekodowanie i kodowanie przebiegów USB za pomocą oprogramowania. Sterownik USB wymaga około 1250 do 1350 bajtów pamięci flash (z wyłączeniem opcjonalnych ciągów identyfikacyjnych), w zależności od konfiguracji i wersji kompilatora oraz 46 bajtów pamięci RAM (bez miejsca na stosie). Interfejs C składa się z 3 do 5 funkcji, w zależności od opisu configuration.vusb dostępnego na stronie https://www.obdev.at/products/vusb/ V-USB to implementacja wyłącznie programowa urządzenia USB o niskiej prędkości dla urządzeń firmy Atmel. Mikrokontrolery AVR, dzięki którym można zbudować sprzęt USB z niemal każdym mikrokontrolerem AVR, nie wymagającym żadnego dodatkowego chipa. Film wideo na temat budowy i użytkowania
Krok 1: Funkcje i części
* Logika programowania z usbtiny isp, wsparcie dojrzałego avr-dude * mały ślad * minimalne komponenty * zasilanie urządzenia docelowego Uwaga, linie io do docelowego mcus nie są chronione. można dodać rezystory 1k-2k do SCK i MOSI i zabezpieczyć się przed ewentualnymi błędnymi połączeniami referencje na podstawie prac znalezionych na v-usb z frameworka https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~dicks/avr/usbtiny/parts list * attiny45/85 (85 jest łatwiejszy do zdobycia) * Diody Zenera 3,6V (typy 1n747, BZX79,..unikaj 1W) * Rezystor 68ohm x 2 * Rezystor 1,5K * mini płytka stykowa 170 punktów wiązania * kabel usb (kabel do drukarki dolar shop jest w porządku) * rezystory 1k/2k do ochrony linii io (opcjonalnie) wymagane narzędzia * działający programator avr (tak, to haczyk22, potrzebujemy go do zrobienia) * działające środowisko programistyczne avr
Krok 2: Układ, schemat i konstrukcja płyty chlebowej
budowa
* postępuj zgodnie z układem płytki stykowej, nie ma elementów, które mogą, 3 rezystory, 2 diody, 1 nasadka, plus 8-pinowe mcu. * zdobądź kabel usb drukarki dolarowy odetnij koniec drukarki, będą 4 odsłonięte przewody, zabezpiecz i zrób je w 4-pinowy męski nagłówek, użyjemy go do podłączenia do płytki stykowej. zapoznaj się ze schematem układu i przypisania pinów (J1). * uważaj na polaryzację diody.
budowa i obróbka blacharska projektu
projekt został zbudowany w lucid box linux ubuntu z toolchainem avr-gcc. zakłada się, że masz już takie środowisko, lub możesz dowiedzieć się z Internetu, jak je skonfigurować. kody źródłowe są na licencji dziedziczenia gnu gpl v2.
kod źródłowy jest zgodny z konwencją zalecaną przez v-usb, możesz pobrać pakiet źródłowy vusbtiny.tgz i rozpakować go w katalogu projektu. w twoim katalogu źródłowym znajduje się main.c, który jest moją wersją zmodyfikowanego programatora usbtiny. oraz podkatalog usbdrv, który zawiera warstwę v-usb. podczas tworzenia tego należy przestrzegać warunków licencjonowania z powyższych dwóch projektów. moje źródło o logice programisty jest oparte na wersji Dicka Streeflanda, a nie na wersji ladyada (chociaż są one prawie takie same).
dla tych, którzy nie mają kompilacji zbyt-łańcuchowej, możesz użyć następującego pliku binarnego
kliknij, aby pobrać vusbtiny.hex
i użyj avrdude do flashowania oprogramowania układowego!
avrdude -c usbtiny -p t45 -e -V -U flash:w:usbtiny.hex
(jeśli twoje urządzenie to tiny85, zamień -p t45 na -p t85)
źródło można pobrać tutaj kliknij, aby pobrać vusbtiny.tgz
rozpakuj pakiet źródłowy do swojego katalogu roboczego
tar -zxvf vusbtiny.tgz
* wykonaj cd vsubtiny, aby przejść do katalogu roboczego vusbtiny * dostosuj plik makefile dla urządzenia docelowego zgodnie z chipem, którego będziesz używać. np. PROGRAMMER_MCU=t45 lub t85 * wykonaj make * dołącz swojego ulubionego programistę ISP * zmodyfikuj plik makefile i zmień parametry avrdude w razie potrzeby. zapasowy zakłada programator USBTiny. tj. AVRDUDE_PROGRAMMERID=usbtiny * flashowanie firmware przez make install
po sflashowaniu firmware musimy odpowiednio ustawić bezpiecznik, używamy reset pin 1 jako io w tym projekcie
* zegar ppl używany zgodnie z wymaganiami warstwy v-usb dla taktowania usb * reset pin wyłączony, ponieważ musimy go używać jako io
avrdude -c usbtiny -p t45 -V -U bezpiecznik:s:0xe1:m -U bezpiecznik:s:0x5d:m -U bezpiecznik:s:0xff:m
to ustawienie wyłącza dalsze programowanie przez 5V SPI, ponieważ potrzebujemy pinu RESET (pin1) dla io. będziesz potrzebować dostępu do programatora HVSP, aby odzyskać bezpiecznik.
Krok 3: Użycie i aplikacja
bezpośrednie flashowanie na płytce stykowej
jeśli używasz vusbtiny do flashowania 8-pinowych urządzeń AVR, możesz po prostu nacisnąć urządzenie docelowe na górze urządzenia programatora. programator został zaprojektowany tak, aby piny programujące pasowały do celów. jest jednak jedna sztuczka, musisz odizolować piny 2 i 3 na MCU programatora, ponieważ są to piny USB D+ i D- łączące się z komputerem. używam do tego kawałka taśmy klejącej, widać to na zdjęciach. pokaż poniżej jest tiny13v "jazdy" na tiny45, gotowe do odbioru oprogramowania.
ISP miga przez zworkę
aby zaprogramować obwód docelowy przez ISP (programowanie w systemie), potrzebny jest kabel ISP. tutaj nie używam standardowych złączy kołkowych 2x3 lub 2x5. zamiast tego używam zworki 1x6, która jest bardziej przyjazna dla płytki prototypowej, możesz utworzyć nagłówek pinów 2x3 lub 2x5, mapując je na J2, jak pokazano na układzie i schemacie płytki prototypowej. Poniższe zdjęcie pokazuje tiny2313 gotowe do flashowania przez ISP.
rozwiązywanie problemów
* nie można sflashować oprogramowania? sprawdź swojego oryginalnego programistę, może być konieczne dostosowanie czasu za pomocą flagi -B w avrdude. spróbuj odczytać chip 1st, może to być zły bezpiecznik, może twój chip potrzebuje zewnętrznego sygnału zegara. być może będziesz musiał przywrócić swój chip do domyślnego 1. * sprawdź połączenia * jeśli używasz różnych pinów io, sprawdź kod i połączenia * możesz zastąpić diody Zenera typami 500mw, 400mw * możesz spróbować zmniejszyć wartość R3 do 1,2K lub mniej * bardziej prawdopodobne jest wystąpienie poważnych problemów z synchronizacją, spróbuj -B flaga avrdude, posiada krótszy kabel USB, wszystko to pomaga
Zalecana:
Programator ATTiny HV: 4 kroki
Programator ATTiny HV: Ta instrukcja dotyczy narzędzia do programowania ATTiny za pomocą ESP8266 i interfejsu użytkownika opartego na przeglądarce. Nawiązuje on do poprzedniego instruktażowego edytora Fuse do odczytu i ustawiania bezpieczników, ale teraz obsługuje kasowanie, odczytywanie i zapisywanie fla
Programator Bluetooth HC-05: 4 kroki
HC-05 Programator Bluetooth: Do zbudowania tego programatora potrzebne będą >Części: 1xFTDI232RL1xLP2985AIM 3,3 2x 0,1uF 1206 - kondensatory ceramiczne 2x 0R 12062x 0,1uF 0805 - kondensatory ceramiczne 4x 1k 0805 - rezystory 2x 120R 0805 - rezystory 2x 3mm led do wskazania (zielona dioda
Programator AVR z wysokim napięciem: 17 kroków
Programator AVR W/High Voltage: To mój pierwszy Instruktaż. Zaprojektowana przeze mnie płytka to programator AVR. Płytka łączy w sobie funkcje 4 oddzielnych płytek prototypowych, które zbudowałem w ciągu ostatnich kilku lat: - Programator High Voltage AVR, używany głównie w urządzeniach ATtiny do ustawiania fu
Tani programator STK500 AVR dla Atmel Studio: 7 kroków
Tani programator AVR STK500 dla Atmel Studio: Atmel Studio to potężne narzędzie do tworzenia programów AVR, ale napisanie programu to pierwszy krok. Aby użyć swojego programu, musisz stworzyć obwód i przenieść swój kod do mikrokontrolera. Możesz zaprogramować swój AVR z Atmel Studio za pomocą
Programator ISP dla mikrokontrolerów AVR: 4 kroki
Programator ISP dla mikrokontrolerów AVR: Programator mikrokontrolerów to urządzenie sprzętowe wraz z oprogramowaniem, które służy do przesyłania kodu języka maszynowego do mikrokontrolera/EEPROM z komputera. Programator ISP dla mikrokontrolerów AVR to programator szeregowy, który wykorzystuje s