Obsah:

Programátor VUSBTiny AVR SPI: 3 kroky
Programátor VUSBTiny AVR SPI: 3 kroky

Video: Programátor VUSBTiny AVR SPI: 3 kroky

Video: Programátor VUSBTiny AVR SPI: 3 kroky
Video: LDmicro 22: платы Arduino с AVRDUDESS (программирование микроконтроллеров с помощью LDmicro) 2024, Listopad
Anonim
Programátor VUSBTiny AVR SPI
Programátor VUSBTiny AVR SPI

poté, co jsem udělal usbtiny ISP programátor a používal jej po dobu 6 měsíců, díval jsem se na výrobu dalšího pro přenášení. Líbí se mi jednoduchost designu usbtiny isp, ale chtěl bych ho ještě zmenšit a vzít méně dílů. jedna věc v původním designu, kterou chci změnit, je vyloučit použití hodinového krystalu. jedno řešení, které jsem našel, je, že ovladače v-usb podporují interní oscilátor 16,5 MHz na zařízeních attiny25/45/85. tak jsem zahájit tento projekt, aby usbtiny ISP používá v-USB pro komunikaci USB. okamžitou výhodou je, že šetří místo a má menší počet komponent (žádné další krystaly). popis USB z https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny je softwarová implementace USB s nízkou rychlostí protokol pro mikrokontroléry Atmel ATtiny. Samozřejmě to bude fungovat i na sérii ATmega. Software je napsán pro AVR s taktem 12 MHz. Při této frekvenci trvá každý bit na sběrnici USB 8 hodinových cyklů a díky spoustě triků je možné softwarově dekódovat a zakódovat průběhy USB. Ovladač USB potřebuje přibližně 1 250 až 1 350 bajtů volného místa (s výjimkou volitelných identifikačních řetězců), v závislosti na konfiguraci a verzi kompilátoru, a 46 bajtů RAM (bez místa v zásobníku). Rozhraní C se skládá ze 3 až 5 funkcí, v závislosti na konfiguraci. Popis vusb z https://www.obdev.at/products/vusb/ V-USB je softwarová implementace nízkorychlostního zařízení USB pro Atmel's Mikrokontroléry AVR, které umožňují vytvářet hardware USB téměř s jakýmkoli mikrokontrolérem AVR, nevyžadují žádný další čip. Video o konstrukci a použití

Krok 1: Funkce a součásti

Funkce a díly
Funkce a díly

* programovací logika z usbtiny isp, zralá podpora avr-dude * malý footprint * minimální komponenty * napájení cílového zařízení Všimněte si, že io linky do cílového mcus nejsou chráněny. do SCK a MOSI můžete přidat rezistory 1k-2k a chránit před možnými chybnými odkazy na odkazy na základě prací nalezených na v-usb z frameworku https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~ dicks/avr/usbtiny/parts list * attiny45/85 (85 je snadnější sehnat) * 3,6V zenerovy diody (1n747, BZX79,..vyhněte 1W typy) * 68ohm odpor x 2 * 1,5K odpor * mini breadboard 170 tiepoints * USB kabel (kabel do USB dolaru v obchodě je v pořádku) * 1k/2k odpory pro ochranu io linek (volitelně) potřebné nástroje * funkční avr programátor (ano, je to catch22, potřebujeme jeden na jeho výrobu) * pracovní nebo programovací prostředí

Krok 2: Rozložení, schéma a konstrukce Breadboardu

Uspořádání Breadboardu, schéma a konstrukce
Uspořádání Breadboardu, schéma a konstrukce
Uspořádání Breadboardu, schéma a konstrukce
Uspořádání Breadboardu, schéma a konstrukce

konstrukce

* Dodržujte rozložení prkénka, tam nejsou žádné komponenty, 3 odpory, 2 diody, 1 víčko a 8 pinový MCU. * získejte dolarový obchod USB kabel tiskárny odřízněte konec tiskárny, budou tam 4 odkryté vodiče, zajistěte je a udělejte z nich 4pinový samčí konektor, použijeme jej pro připojení k prkénku. viz schéma a přiřazení pinů (J1). * pozor na polaritu diody.

budování a blikání projektu

projekt byl postaven v lucidním boxu linux ubuntu s avr-gcc toolchain. předpokládá se, že již takové prostředí máte, nebo můžete z internetu zjistit, jak jej nastavit. zdrojové kódy jsou gnu gpl v2 licencovány z dědičnosti.

zdrojový kód dodržuje konvenci doporučenou v-usb, můžete si stáhnout zdrojový balíček vusbtiny.tgz a nezaradit do adresáře projektu. ve vašem zdrojovém adresáři je main.c, což je moje verze upraveného programátoru usbtiny. a podadresář usbdrv, který obsahuje vrstvu v-usb. při stavbě dodržujte licenční podmínky z výše uvedených dvou projektů. můj zdroj logiky programátoru je založen na verzi Dicka Streeflanda a ne na verzi Ladyada (i když jsou téměř stejné).

pro ty, kteří nemají řetězec sestavení, můžete použít následující binární soubor

kliknutím stáhnete vusbtiny.hex

a pomocí avrdude flashujte firmware

avrdude -c usbtiny -p t45 -e -V -U flash: w: usbtiny.hex

(pokud je vaše zařízení tiny85, nahraďte -p t45 w/ -p t85)

zdroj lze stáhnout zde kliknutím stáhnete vusbtiny.tgz

rozbalte zdrojový balíček do pracovního adresáře

tar -zxvf vusbtiny.tgz

* do cd vsubtiny, pro změnu do pracovního adresáře vusbtiny * ajust makefile pro cílové zařízení podle čipu, který budete používat. tj. PROGRAMMER_MCU = t45 nebo t85 * proveďte make * připojte svého oblíbeného programátora ISP * upravte makefile a v případě potřeby změňte své avrdude parametry. akciový předpokládá programátor USBTiny. tj. AVRDUDE_PROGRAMMERID = usbtiny * flash firmware pomocí make install

po flashování firmwaru potřebujeme správně nastavit pojistku, v tomto projektu používáme reset pin 1 jako io

* hodiny ppl používané podle požadavků vrstvy v-usb pro časování USB * reset pin deaktivován, protože jej musíme použít jako io

avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m

toto nastavení zakazuje další programování přes 5V SPI, protože pro io potřebujeme pin RESET (pin1). k obnovení pojistky budete potřebovat přístup k programátoru HVSP.

Krok 3: Použití a aplikace

Použití a aplikace
Použití a aplikace
Použití a aplikace
Použití a aplikace
Použití a aplikace
Použití a aplikace

přímé blikání na prkénko

pokud používáte vusbtiny k flashování 8kolíkových AVR zařízení, můžete jednoduše stisknout cílové zařízení na horní straně zařízení programátoru. programátor byl navržen tak, aby programovací kolíky odpovídaly cílům. Existuje však jeden trik, budete muset izolovat kolíky 2 a 3 na MCU programátoru, protože jsou to USB D+ a D-piny připojující se k PC. Abych toho dosáhl, používám střih skotské pásky, můžete to vidět na fotografiích. zobrazit níže je tiny13v „jezdící“na tiny45, připravený přijímat firmware.

ISP bliká přes propojku

Chcete-li naprogramovat cílový obvod prostřednictvím ISP (programování v systému), potřebujete kabel ISP. zde nepoužívám standardní 2x3 nebo 2x5 pinové záhlaví. místo toho používám propojku 1x6, která je přátelštější pro chléb, můžete vytvořit záhlaví pinů 2x3 nebo 2x5 jejich mapováním na J2, jak je znázorněno na rozložení a schématech na prkénku. následující fotografie ukazuje miniaturní2313 připravenou k přenosu přes ISP.

řešení potíží

* nelze flashovat firmware? zkontrolujte původního programátora, možná bude nutné upravit časování pomocí příznaku -B v avrdude. zkuste přečíst čip 1, může to být špatná pojistka, možná váš čip potřebuje externí hodinový signál. možná budete muset opravit svůj čip zpět na výchozí 1. místo. * zkontrolujte připojení * pokud používáte různé io piny, kontrolujte kód a připojení * můžete nahradit zenerovy diody s 500mw, 400mw typy * můžete zkusit snížit hodnotu R3 na 1,2K nebo méně * je pravděpodobnější, že narazíte na problémy s časováním, zkuste to -B vlajka avrdude, pomůže kratší USB kabel

Doporučuje: