Indholdsfortegnelse:
- Trin 1: Funktioner og dele
- Trin 2: Brødbrætlayout, skematisk og konstruktion
- Trin 3: Anvendelse og anvendelse
Video: VUSBTiny AVR SPI Programmer: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
efter at have lavet en usbtiny isp programmer og brugt den i 6 måneder, kiggede jeg på at lave en anden til at bære rundt. Jeg kan godt lide den simple i usbtiny isp -designet, men vil gerne gøre det endnu mindre og tage færre dele. en ting i det originale design, som jeg vil ændre, er at fjerne brugen af urkrystal. en løsning, jeg fandt, er, at v-usb-drivere understøtter 16,5Mhz intern oscillator på attiny25/45/85-enheder. så jeg starter dette projekt for at få usbtiny isp beskæftiger v-usb til usb-kommunikation. de umiddelbare fordele er, at det sparer plads og har færre komponenttællinger (ikke flere krystaller).usbtiny beskrivelse fra https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny er en softwareimplementering af USB lavhastighed protokol til Atmel ATtiny mikrokontrollerne. Selvfølgelig vil det også fungere på ATmega -serien. Softwaren er skrevet til en AVR, der er klokket til 12 MHz. Ved denne frekvens tager hver bit på USB -bussen 8 urcyklusser, og med en masse tricky er det muligt at afkode og kode USB -kurverne med software. USB -driveren har brug for cirka 1250 til 1350 bytes flash -plads (undtagen de valgfrie identifikationsstrenge), afhængigt af konfiguration og kompilerversion, og 46 bytes RAM (eksklusive stakplads). C-grænsefladen består af 3 til 5 funktioner afhængigt af konfigurationen. Vusb-beskrivelse fra https://www.obdev.at/products/vusb/ V-USB er en software, der kun implementerer en USB-enhed med lav hastighed til Atmels AVR -mikrokontroller, hvilket gør det muligt at bygge USB -hardware med næsten enhver AVR -mikrokontroller, der ikke kræver yderligere chip. Video om konstruktion og brug
Trin 1: Funktioner og dele
* programmeringslogik fra usbtiny isp, moden avr-dude-understøttelse * lille fodaftryk * minimale komponenter * styrer målenheden Bemærk, at io-linjer til mål-mcus ikke er beskyttet. du kan tilføje 1k-2k modstande til SCK og MOSI og beskytte mod mulige forkerte forbindelserreferencer baseret på de værker, der findes på v-usb fra framework https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~ dicks/avr/usbtiny/deleliste * attiny45/85 (85 er lettere at få fat på) * 3,6v zenerdioder (1n747, BZX79,.. undgå 1W typer) * 68ohm modstand x 2 * 1,5K modstand * mini breadboard 170 tiepoints * usb -kabel (dollar shop usb -printerkabel er fint) * 1k/2k modstande til beskyttelse af io -linjer (valgfrit) værktøjer påkrævet * en fungerende avr -programmerer (ja, det er en catch22, vi skal bruge en til at lave en) * arbejdende avr programmeringsmiljø
Trin 2: Brødbrætlayout, skematisk og konstruktion
konstruktion
* følg breadboard layout, der er ikke det, der kan komponenter, 3 modstande, 2 dioder, 1 cap, plus en 8 pin mcu. * få en dollar -butik usb -printerkabel afskåret printerenden, der vil være 4 udsatte ledninger, sikre og gøre dem til en 4 -pins hanhoved, vi vil bruge det til at forbinde til brødbrættet. se skematisk for layout og pin -tildeling (J1). * pas på diodepolaritet.
bygge og blinke projektet
projektet blev bygget i en linux ubuntu lucid box med avr-gcc værktøjskæde. det antages, at du allerede har et sådant miljø, eller du kan finde ud af på internettet, hvordan du konfigurerer et. kildekoder er gnu gpl v2 licenseret fra arv.
kildekoden følger en konvention, der anbefales af v-usb, du kan downloade kildepakken vusbtiny.tgz og udtare i en projektmappe. i din kildekatalog er der en main.c, som er min version af modificeret usbtiny programmerer. og en usbdrv-undermappe, som indeholder v-usb-laget. Vær opmærksom på licensperioden fra de to ovenstående projekter, når du bygger dette. min kilde på programmeringslogikken er baseret på Dick Streefland -versionen og ikke ladyada -versionen (selvom de næsten er de samme).
for dem, der ikke har en build too-chain, kan du bruge følgende binære
klik for at downloade vusbtiny.hex
og brug avrdude til at flashe firmware
avrdude -c usbtiny -p t45 -e -V -U flash: w: usbtiny.hex
(hvis din enhed er en lille 85, skal du udskifte -p t45 m/ -p t85)
kilden kan downloades her klik for at downloade vusbtiny.tgz
fjern kildepakken i dit arbejdskatalog
tjære -zxvf vusbtiny.tgz
* gør cd vsubtiny, for at skifte til vusbtiny working directory * ajust makefile for target device i henhold til den chip, du vil bruge. dvs. PROGRAMMER_MCU = t45 eller t85 * lav et make * vedhæft din foretrukne ISP -programmer * rediger makefil og ændr dine avrdude -parametre, hvis det er nødvendigt. aktien antager man USBTiny -programmør. dvs. AVRDUDE_PROGRAMMERID = usbtiny * flash -firmware via fabrikatinstallation
efter blinkende firmware skal vi indstille sikringen korrekt, vi bruger pin 1 reset som io i dette projekt
* ppl ur bruges som krævet af v-usb lag til usb timing * reset pin deaktiveret, da vi skal bruge det som io
avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m
denne indstilling deaktiverer yderligere programmering via 5V SPI, da vi har brug for RESET pin (pin1) til io. skal du have adgang til en HVSP -programmør for at gendanne sikringen.
Trin 3: Anvendelse og anvendelse
blinker direkte på brødbrættet
hvis du bruger vusbtiny til at blinke 8 -pin AVR -enheder, kan du bare trykke på din målenhed oven på programmeringsenheden. programmøren var designet, så programmeringsstifterne matchede m/ mål. der er dog et trick, du bliver nødt til at isolere pin 2 og 3 på programmerings-mcu, da de er USB D+ og D-pins, der forbinder til pc'en. Jeg bruger et snit scotch tape til at opnå dette, du kan se det på billederne. Vis nedenfor er en lille13v "ridning" på den lille45, klar til at modtage firmware.
ISP blinker via jumper
for at programmere et målkredsløb via ISP (programmering i systemet), har du brug for et ISP-kabel. her bruger jeg ikke standard 2x3 eller 2x5 pin headers. i stedet bruger jeg en 1x6 jumper, som er mere breadboard -venlig, du kan lave 2x3 eller 2x5 pin header ved at kortlægge dem til J2 som vist på breadboard layout og skemaer. det følgende foto viser en lille 2313 klar til at blive flashet via internetudbyder.
fejlfinding
* kan ikke blinke firmwaren? tjek din originale programmør, skal muligvis justere timingen via -B flag i avrdude. Prøv at læse chip 1, kan være en dårlig sikring, kan være din chip har brug for et eksternt ur signal. du skal muligvis rette din chip tilbage til standard 1. * tjek forbindelser * hvis du bruger forskellige io -ben, tjek kode og forbindelser * du kan erstatte zenerdioder med 500mw, 400mw typer * du kan prøve at reducere R3 -værdien til 1,2K eller mindre * du er mere tilbøjelig til at støde på avrdude -timingproblemer, prøv -B flag avrdude, har et kortere USB -kabel, alt hjælper
Anbefalede:
Programmer dit eget 2048 -spil med Java !: 8 trin
Programmer dit eget 2048 -spil med Java !: Jeg elsker spillet 2048. Og derfor besluttede jeg mig for at programmere min egen version. Det ligner meget det egentlige spil, men selv at programmere det giver mig frihed til at ændre, hvad jeg vil, når jeg vil. Hvis jeg vil have et 5x5 -spil i stedet for det typiske 4x4, er et
Arduino som internetudbyder -- Brænd hexfil i AVR -- Sikring i AVR -- Arduino som programmerer: 10 trin
Arduino som internetudbyder || Brænd hexfil i AVR || Sikring i AVR || Arduino som programmerer: ……………………… Abonner venligst på min YouTube -kanal for flere videoer …….. Denne artikel handler alt om arduino som isp. Hvis du vil uploade hex -fil, eller hvis du vil indstille din sikring i AVR, behøver du ikke købe en programmør, du kan gøre
I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin
I2C / IIC LCD -skærm | Brug en SPI LCD til I2C LCD -skærmen Brug af SPI til IIC -modulet med Arduino: Hej fyre, da en normal SPI LCD 1602 har for mange ledninger at tilslutte, så det er meget svært at grænseflade det med arduino, men der er et modul på markedet, som kan konverter SPI -skærm til IIC -skærm, så du skal kun tilslutte 4 ledninger
Foreløbig* SPI på Pi: Kommunikation med et SPI 3-akset accelerometer ved hjælp af en Raspberry Pi: 10 trin
Preliminær* SPI på Pi: Kommunikation med et SPI 3-akset accelerometer Brug af en Raspberry Pi: Trin for trin guide til, hvordan du konfigurerer Raspbian og kommunikerer med en SPI-enhed ved hjælp af bcm2835 SPI-bibliotek (IKKE lidt banket!) Dette er stadig meget foreløbigt … Jeg er nødt til at tilføje bedre billeder af fysisk tilslutning og arbejde igennem nogle af de akavede koder
5 Transistor PIC Programmer *Skematisk tilføjet til trin 9 !: 9 trin
5 Transistor PIC -programmer *Skematisk tilføjet til trin 9 !: Lav din egen PIC -programmer til din computers parallelport. Dette er en variation af David Taits klassiske design. Det er meget pålideligt, og der er gratis programmeringssoftware tilgængelig gratis. Jeg kan godt lide IC-Prog og PICpgm programmerer. Bedst af alt, det