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, November
Anonim
Programátor VUSBTiny AVR SPI
Programátor VUSBTiny AVR SPI

potom, čo som urobil usbtiny isp programátor a používal som ho 6 mesiacov, hľadal som výrobu iného na prenášanie. Páči sa mi jednoduchosť dizajnu usbtiny isp, ale chcel by som ho ešte zmenšiť a vziať menej dielov. jedna vec v pôvodnom dizajne, ktorú chcem zmeniť, je vylúčiť používanie hodinového kryštálu. jedno riešenie, ktoré som našiel, je, že ovládače v-usb podporujú interný oscilátor 16,5 MHz na zariadeniach attiny25/45/85. tak začínam tento projekt, aby usbtiny isp používa v-usb na komunikáciu USB. okamžitou výhodou je, že šetrí miesto a má menší počet súčiastok (už žiadne kryštály). popis USB z https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny je softvérová implementácia nízkorýchlostného USB protokol pre mikrokontroléry Atmel ATtiny. Fungovať to bude samozrejme aj na sérii ATmega. Softvér je napísaný pre AVR s taktom 12 MHz. Pri tejto frekvencii trvá každý bit na zbernici USB 8 hodinových cyklov a pri mnohých podvodoch je možné softvérovo dekódovať a zakódovať priebehy USB. Ovládač USB potrebuje približne 1 250 až 1 350 bajtov flash priestoru (bez voliteľných identifikačných reťazcov), v závislosti od konfigurácie a verzie kompilátora, a 46 bajtov pamäte RAM (bez miesta v zásobníku). Rozhranie C pozostáva z 3 až 5 funkcií, v závislosti od konfigurácie. Popis vusb z https://www.obdev.at/products/vusb/ V-USB je iba softvérovou implementáciou nízkorýchlostného USB zariadenia pre Atmel's Mikrokontroléry AVR, ktoré umožňujú vytvárať hardvér USB s takmer akýmkoľvek mikrokontrolérom AVR, ktorý nevyžaduje žiadny ďalší čip. Video o konštrukcii a použití

Krok 1: Vlastnosti a diely

Vlastnosti a diely
Vlastnosti a diely

* logika programovania z usbtiny isp, vyspelá podpora AVR-frajera * malá stopa * minimálne komponenty * napája cieľové zariadenie na vedomie, že io linky do cieľového mcus nie sú chránené. do SCK a MOSI môžete pridať rezistory 1k-2k a chrániť sa pred možným nesprávnym pripojenímreferencie na základe prác nachádzajúcich sa na v-usb z rámca https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~ dicks/avr/usbtiny/zoznam dielov * attiny45/85 (85 sa dá získať jednoduchšie) * 3,6V zenerove diódy (1n747, BZX79,..vyhnite sa 1W typom) * 68ohm odpor x 2 * 1,5K odpor * mini breadboard 170 tiepoints * USB kábel (dolár v obchode USB kábel k tlačiarni je v poriadku) * 1k/2k odpory na ochranu io liniek (voliteľné) potrebné nástroje * pracujúci avr programátor (áno, je to catch22, na jeho výrobu potrebujeme jeden) * pracovné alebo programovacie prostredie

Krok 2: Rozloženie, schéma a konštrukcia Breadboardu

Rozloženie, schéma a konštrukcia na doske
Rozloženie, schéma a konštrukcia na doske
Rozloženie, schéma a konštrukcia dosky Breadboard
Rozloženie, schéma a konštrukcia dosky Breadboard

konštrukcia

* Riaďte sa rozložením dosky, nie sú tam žiadne komponenty, 3 odpory, 2 diódy, 1 kryt a 8 pinový MCU. * získajte dolár v obchode USB kábel tlačiarne odrezaný koniec tlačiarne, budú existovať 4 odkryté vodiče, zaistené a urobené z nich 4 -kolíková zástrčka, ktorú použijeme na pripojenie k breadboardu. rozloženie a priradenie pinov (J1) nájdete v schéme. * dávajte pozor na polaritu diódy.

budovanie a blikanie projektu

projekt bol postavený v lucidnom boxe linux ubuntu s reťazcom nástrojov avr-gcc. predpokladá sa, že už také prostredie máte, alebo sa na internete môžete informovať, ako ho nastaviť. zdrojové kódy sú gnu gpl v2 licencované z dedičnosti.

zdrojový kód dodržiava konvenciu odporúčanú v-usb, môžete si stiahnuť zdrojový balík vusbtiny.tgz a bez označenia v adresári projektu. vo vašom zdrojovom adresári je main.c, čo je moja verzia upraveného programátora usbtiny. a podadresár usbdrv, ktorý obsahuje vrstvu v-usb. Pri výstavbe dodržujte licenčné podmienky z vyššie uvedených dvoch projektov. môj zdroj o logike programátora je založený na verzii Dick Streefland a nie na verzii Ladyada (aj keď sú takmer rovnaké).

pre tých, ktorí nemajú reťazec zostavy, môžete použiť nasledujúci binárny súbor

kliknutím stiahnete vusbtiny.hex

a pomocou avrdude flashujte firmvér

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

(ak je vaše zariadenie tiny85, nahraďte -p t45 w/ -p t85)

zdroj je možné stiahnuť tu kliknutím na stiahnutie vusbtiny.tgz

rozbaľte zdrojový balík do vášho pracovného adresára

tar -zxvf vusbtiny.tgz

* do cd vsubtiny, na zmenu do pracovného adresára vusbtiny * ajust makefile pre cieľové zariadenie podľa čipu, ktorý budete používať. tj PROGRAMMER_MCU = t45 alebo t85 * urobte značku * pripojte svojho obľúbeného programátora ISP * upravte makefile a v prípade potreby zmeňte svoje horúce parametre. akciový predpokladá programátor USBTiny. t. j. AVRDUDE_PROGRAMMERID = usbtiny * flash firmvér pomocou príkazu make install

po bliknutí firmvéru musíme správne nastaviť poistku, v tomto projekte používame reset pin 1 ako io

* hodiny ppl používané podľa požiadaviek vrstvy v-usb na načasovanie usb * resetovací kolík je deaktivovaný, pretože ho musíme používať ako io

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

toto nastavenie zakazuje ďalšie programovanie cez 5V SPI, pretože pre io potrebujeme pin RESET (pin1). na obnovu poistky budete potrebovať prístup k programátoru HVSP.

Krok 3: Použitie a aplikácia

Použitie a aplikácia
Použitie a aplikácia
Použitie a aplikácia
Použitie a aplikácia
Použitie a aplikácia
Použitie a aplikácia

priame blikanie na doske

Ak používate vusbtiny na flashovanie 8 -pinových zariadení AVR, stačí stlačiť cieľové zariadenie na vrchu programátora. programátor bol navrhnutý tak, aby sa programovacie kolíky zhodovali s cieľmi. Existuje však jeden trik, budete musieť izolovať kolíky 2 a 3 na MCU programátora, pretože sú to konektory USB D+ a D-pin, ktoré sa pripájajú k počítaču. Na dosiahnutie tohto cieľa používam strih škótskej pásky, môžete to vidieť na fotografiách. nižšie uvedená ukážka je „jazda“na tiny45v na tiny45, pripravená na prijatie firmvéru.

ISP bliká cez prepojku

na naprogramovanie cieľového obvodu prostredníctvom ISP (programovanie v systéme) potrebujete kábel ISP. Tu nepoužívam štandardné 2x3 alebo 2x5 pinové záhlavia. namiesto toho používam prepojku 1x6, ktorá je priateľskejšia k breadboardu, môžete vytvoriť hlavičku 2x3 alebo 2x5 pinov tak, že ich namapujete na J2, ako je znázornené na rozložení a schémach na breadboarde. Nasledujúca fotografia ukazuje miniatúrny2313, ktorý je pripravený na prenos prostredníctvom ISP.

riešenie problémov

* nemôže flashovať firmvér? skontrolujte pôvodného programátora, pravdepodobne bude potrebné upraviť načasovanie pomocou príznaku -B v avrdude. skúste prečítať čip 1, môže to byť zlá poistka, možno váš čip potrebuje externý hodinový signál. možno budete musieť svoj čip opraviť na predvolené 1. miesto. * skontrolujte pripojenia * ak používate rôzne io piny, skontrolujte kód a pripojenia * môžete nahradiť zenerove diódy s typmi 500 mw, 400 mw * môžete skúsiť znížiť hodnotu R3 na 1,2 K alebo menej * je väčšia pravdepodobnosť, že narazíte na problémy s načasovaním, skúste to -B flag of avrdude, have a short USB cable all helps

Odporúča: