Taula de continguts:
- Pas 1: funcions i peces
- Pas 2: disseny, esquema i construcció de taulers de pa
- Pas 3: ús i aplicació
Vídeo: Programador VUSBTiny AVR SPI: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Després de fer un programador usbtiny isp i fer-lo servir durant 6 mesos, estava mirant de fer-ne un altre per transportar-lo. M'agrada la simplicitat del disseny usbtiny isp, però m'agradaria fer-lo encara més petit i tenir menys parts. una cosa que vull canviar al disseny original és eliminar l’ús del cristall de rellotge. una solució que he trobat és que els controladors v-usb admeten l'oscil·lador intern de 16,5 MHz en dispositius attiny25 / 45/85. així que començo aquest projecte perquè usbtiny isp utilitzi v-usb per a la comunicació usb. els avantatges immediats són que estalvia espai i té menys recomptes de components (no més cristalls). protocol per als microcontroladors Atmel ATtiny. Per descomptat, també funcionarà a la sèrie ATmega. El programari està escrit per a un AVR de 12 MHz. Amb aquesta freqüència, cada bit del bus USB pren vuit cicles de rellotge i, amb molts enganys, és possible descodificar i codificar les formes d'ona USB mitjançant un programari. El controlador USB necessita aproximadament 1250 a 1350 bytes d’espai flaix (excloent les cadenes d’identificació opcionals), depenent de la configuració i la versió del compilador, i 46 bytes de RAM (excloent l’espai de la pila). La interfície C consta de 3 a 5 funcions, depenent de la configuració. Vusb descripció de https://www.obdev.at/products/vusb/. Microcontroladors AVR, que permeten construir maquinari USB amb gairebé qualsevol microcontrolador AVR, sense necessitat de cap xip addicional.
Pas 1: funcions i peces
* Lògica de programació a partir d'USBtiny isp, suport per a avr-dude per a adults * petita impressió * components mínims * Potències del dispositiu de destinació: tingueu en compte que les línies io al mcus de destinació no estan protegides. podeu afegir resistències 1k-2k a SCK i MOSI i protegir-vos de possibles connexions incorrectes referències basades en els treballs que es troben a v-usb del framework https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl / ~ dicks / avr / usbtiny / llista de peces * attiny45 / 85 (85 és més fàcil de trobar) * díodes zener de 3,6 v (1n747, BZX79,.. sense tipus 1W) * resistència de 68 ohmis x 2 * resistència de 1,5K * mini tauler de connexió 170 punts de connexió * cable USB (el cable de la impressora usb de la botiga del dòlar està bé) * Resistències 1k / 2k per a la protecció de línies io (opcional): es necessiten eines * un programador avr que funcioni (sí, és un catch22, en necessitem un per fer-ne un) * treballant entorn de programació avr
Pas 2: disseny, esquema i construcció de taulers de pa
construcció
* Seguiu el disseny de la taula de treball, no hi ha components, 3 resistències, 2 díodes, 1 tap, més un mcu de 8 pins. * Obteniu un cable de la impressora usb amb una botiga de dòlars tallada a l'extrem de la impressora, hi haurà 4 cables exposats, assegureu-los i converteu-los en una capçalera masculina de 4 pins, l'utilitzarem per connectar-vos a la placa. consulteu l’esquema per al disseny i l’assignació de pins (J1). * vigileu la polaritat dels díodes.
construint i projectant el projecte
el projecte es va construir en una caixa lúcida Ubuntu Linux amb cadena d’eines avr-gcc. se suposa que ja teniu un entorn així, o bé podeu trobar a Internet com configurar-ne un. els codis font són gnu gpl v2 amb llicència d'herència.
el codi font segueix una convenció recomanada per v-usb, podeu descarregar el paquet font vusbtiny.tgz i descarregar-lo al directori del projecte. dins del directori d'origen, hi ha un main.c, que és la meva versió del programador usbtiny modificat. i un subdirectori usbdrv, que conté la capa v-usb. si us plau, observeu el termini de llicència dels dos projectes anteriors a l’hora de construir-lo. la meva font sobre la lògica del programador es basa en la versió de Dick Streefland i no en la versió ladyada (tot i que són gairebé iguals).
per a aquells que no tenen una compilació massa cadena, podeu utilitzar el binari següent
feu clic per descarregar vusbtiny.hex
i utilitzeu avrdude per fer flash del firmware
avrdude -c usbtiny -p t45 -e -V -U flash: w: usbtiny.hex
(si el vostre dispositiu és un tiny85, substituïu -p t45 w / -p t85)
la font es pot descarregar aquí feu clic per descarregar vusbtiny.tgz
descomprimiu el paquet font al directori de treball
tar -zxvf vusbtiny.tgz
* fes cd vsubtiny, per canviar al directori de treball de vusbtiny * ajusta el fitxer makefile del dispositiu objectiu segons el xip que faràs servir. és a dir, PROGRAMMER_MCU = t45 o t85 * fes un make * adjunta el teu programador ISP favorit * modifica makefile i canvia els teus paràmetres d’avrdude si cal. l'estoc suposa el programador USBTiny. és a dir, AVRDUDE_PROGRAMMERID = usbtiny * firmware flash mitjançant make install
després de parpellejar el firmware, hem d’establir correctament el fusible, en aquest projecte estem fent servir el restabliment del pin 1 com a io
* rellotge ppl que s'utilitza segons requereix la capa v-usb per a la sincronització d'usb * restabliment del pin desactivat, ja que l'hem d'utilitzar
avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m
aquest paràmetre desactiva la programació addicional mitjançant SPI de 5 V, ja que necessitem el pin RESET (pin1) per a io. necessitareu accés a un programador HVSP per recuperar el fusible.
Pas 3: ús i aplicació
intermitent directe a la taula de treball
si utilitzeu vusbtiny per llampar dispositius AVR de 8 pins, només cal que premeu el dispositiu de destinació a sobre del dispositiu programador. el programador havia estat dissenyat de manera que els pins de programació coincideixin amb objectius. hi ha un truc, però, haureu d’aïllar els pins 2 i 3 del mcu del programador, ja que són els pins USB D + i D- que es connecten al PC. Utilitzo un tall de cinta adhesiva per aconseguir-ho, ho podeu veure a les fotos. A continuació es mostra un tiny13v "muntat" al tiny45, a punt per rebre el microprogramari.
ISP intermitent mitjançant pont
per programar un circuit de destinació mitjançant ISP (programació del sistema), necessiteu un cable ISP. aquí no estic fent servir les capçaleres de pin 2x3 o 2x5 estàndard. en lloc d'això, estic fent servir un pont 1x6 que és més adequat per a taulers de suport, podeu fer capçalera de pin de 2x3 o 2x5 assignant-los a J2 tal com es mostra a la disposició i esquemes de la tauleta de pa. la foto següent mostra un tiny2313 llest per ser intermitent mitjançant ISP.
resolució de problemes
* No es pot fer flaix el firmware? comproveu el programador original, potser haureu d’ajustar el temps mitjançant el senyalador -B a avrdude. intenteu llegir el xip en primer lloc, pot ser un mal fusible, pot ser que el vostre xip necessiti un senyal de rellotge extern. potser haureu de corregir el xip al valor predeterminat primer. * comproveu les connexions * si feu servir diferents pins io, comproveu el codi i les connexions * podeu substituir els díodes zener amb tipus de 500mw, 400mw * podeu provar de reduir el valor R3 a 1,2K o menys * és més probable que tingueu problemes de temporització avrdude, proveu -B bandera de avrdude, tenir un cable USB més curt tot ajuda
Recomanat:
Arduino com a ISP -- Grava fitxer hexadecimal a AVR -- Fusible a AVR -- Arduino com a programador: 10 passos
Arduino com a ISP || Grava fitxer hexadecimal a AVR || Fusible a AVR || Arduino com a programador: ……………………… SUBSCRIU-vos al meu canal de YouTube per obtenir més vídeos …….. Aquest article es tracta d’arduino com a isp. Si voleu penjar un fitxer hexadecimal o si voleu configurar el fusible a AVR, no necessiteu comprar cap programador, podeu fer
Programador AVR amb alta tensió: 17 passos
Programador AVR amb alta tensió: aquest és el meu primer instructable. La placa que vaig dissenyar és un programador AVR. La placa combina les funcions de 4 taules de prototipus independents que he construït en els darrers anys: - Un programador AVR d’alta tensió, que s’utilitza principalment en dispositius ATtiny per configurar fu
Com penjar codi C a ِ AVR mitjançant Arduino Uno com a programador: 6 passos
Com penjar el codi C a ِ AVR fent servir Arduino Uno com a programador: Hola a tothom: D Aquí compartiré una manera senzilla de programar qualsevol xip AVR mitjançant Arduino Uno R3 Tot el que necessiteu per gravar el codi al vostre microcontrolador és Arduino Uno en lloc de comprar específics programador que ha costat molt
Programador barat STK500 AVR per a Atmel Studio: 7 passos
Programador barat STK500 AVR per a Atmel Studio: Atmel Studio és una potent eina per crear programes AVR, però escriure un programa és el primer pas. Per utilitzar el vostre programa, heu de fer un circuit i transferir el vostre codi al microcontrolador. Podeu programar el vostre AVR des d’Atmel Studio mitjançant
Programador ISP per a microcontroladors AVR: 4 passos
Programador ISP per a microcontroladors AVR: un programador de microcontroladors és un dispositiu de maquinari acompanyat de programari que s’utilitza per transferir el codi de llenguatge de la màquina al microcontrolador / EEPROM des del PC. El programador ISP per a microcontroladors AVR és programador de sèrie que utilitza el s