Table des matières:
- Étape 1: Caractéristiques et pièces
- Étape 2: mise en page, schéma et construction de la planche à pain
- Étape 3: Utilisation et application
Vidéo: Programmeur VUSBTiny AVR SPI : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
après avoir créé un programmeur usbtiny ISP et l'avoir utilisé pendant 6 mois, je cherchais à en créer un autre pour le transporter. j'aime la simplicité de la conception usbtiny ISP mais j'aimerais le rendre encore plus petit et prendre moins de pièces. une chose dans la conception originale que je veux changer est d'éliminer l'utilisation du cristal d'horloge. une solution que j'ai trouvée est que les pilotes v-usb prennent en charge l'oscillateur interne 16,5 MHz sur les appareils attiny25/45/85. Je commence donc ce projet pour que usbtiny ISP utilise v-usb pour la communication usb. les avantages immédiats sont qu'il économise de l'espace et a moins de composants (plus de cristaux). protocole pour les microcontrôleurs Atmel ATtiny. Bien sûr, cela fonctionnera également sur la série ATmega. Le logiciel est écrit pour un AVR cadencé à 12 MHz. A cette fréquence, chaque bit sur le bus USB prend 8 cycles d'horloge, et avec beaucoup de ruse, il est possible de décoder et d'encoder les formes d'onde USB par logiciel. Le pilote USB a besoin d'environ 1250 à 1350 octets d'espace flash (à l'exclusion des chaînes d'identification facultatives), selon la configuration et la version du compilateur, et de 46 octets de RAM (à l'exclusion de l'espace de pile). L'interface C se compose de 3 à 5 fonctions, selon la description de configuration.vusb de https://www.obdev.at/products/vusb/ V-USB est une implémentation logicielle uniquement d'un périphérique USB à faible vitesse pour Atmel Microcontrôleurs AVR, permettant de construire du matériel USB avec presque n'importe quel microcontrôleur AVR, ne nécessitant aucune puce supplémentaire.vidéo sur la construction et l'utilisation
Étape 1: Caractéristiques et pièces
* logique de programmation de usbtiny ISP, support avr-dude mature * petite empreinte * composants minimaux * alimente le périphérique cible notez que les lignes io vers le mcus cible ne sont pas protégées. vous pouvez ajouter des résistances 1k-2k à SCK et MOSI et vous protéger contre d'éventuelles références de connexions erronées basées sur les travaux trouvés sur v-usb à partir du framework https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~dicks/avr/usbtiny/parts list * attiny45/85 (85 est plus facile à trouver) * Diodes Zener 3.6v (1n747, BZX79,..éviter les types 1W) * Résistance 68ohm x 2 * Résistance 1.5K * mini planche à pain 170 points de liaison * câble usb (le câble d'imprimante usb de magasin de dollars est bien) * résistances 1k/2k pour la protection des lignes io (facultatif) outils requis * un programmeur avr fonctionnel (oui, c'est un catch22, nous en avons besoin pour en faire un) * environnement de programmation avr de travail
Étape 2: mise en page, schéma et construction de la planche à pain
construction
* suivez la disposition de la maquette, il n'y a pas de composants, 3 résistances, 2 diodes, 1 capuchon, plus un mcu à 8 broches. * obtenez un câble d'imprimante usb dollar shop coupé l'extrémité de l'imprimante, il y aura 4 fils exposés, fixez-les et transformez-les en un en-tête mâle à 4 broches, nous l'utiliserons pour nous connecter à la planche à pain. consulter le schéma pour la disposition et l'affectation des broches (J1). * attention à la polarité des diodes.
construire et flasher le projet
le projet a été construit dans une boîte lucide linux ubuntu avec la chaîne d'outils avr-gcc. il est supposé que vous disposez déjà d'un tel environnement, ou vous pouvez découvrir sur Internet comment en configurer un. les codes sources sont sous licence gnu gpl v2 par héritage.
le code source suit une convention recommandée par v-usb, vous pouvez télécharger le package source vusbtiny.tgz et le décompresser dans un répertoire de projet. dans votre répertoire source, il y a un main.c, qui est ma version du programmeur usbtiny modifié. et un sous-répertoire usbdrv, qui contient la couche v-usb. veuillez respecter les conditions de licence des deux projets ci-dessus lors de la construction de celui-ci. ma source sur la logique du programmeur est basée sur la version Dick Streefland et non sur la version ladyada (bien qu'elles soient presque les mêmes).
pour ceux qui n'ont pas de build too-chain, vous pouvez utiliser le binaire suivant
cliquez pour télécharger vusbtiny.hex
et utilisez avrdude pour flasher le firmware
avrdude -c usbtiny -p t45 -e -V -U flash:w:usbtiny.hex
(si votre appareil est un tiny85, remplacez -p t45 par -p t85)
la source peut être téléchargée ici cliquez pour télécharger vusbtiny.tgz
décompressez le paquet source dans votre répertoire de travail
tar -zxvf vusbtiny.tgz
* faire cd vsubtiny, pour passer au répertoire de travail vusbtiny * ajuster le makefile pour le périphérique cible en fonction de la puce que vous utiliserez. c'est-à-dire PROGRAMMER_MCU=t45 ou t85 * faites un make * attachez votre programmeur ISP préféré * modifiez le makefile et changez vos paramètres avrdude si nécessaire. celui d'origine suppose le programmeur USBTiny. c'est-à-dire AVRDUDE_PROGRAMMERID=usbtiny * flash firmware via make install
après avoir flashé le firmware, nous devons régler correctement le fusible, nous utilisons la réinitialisation de la broche 1 comme io dans ce projet
* horloge ppl utilisée comme requis par la couche v-usb pour la synchronisation usb * broche de réinitialisation désactivée car nous devons l'utiliser comme io
avrdude -c usbtiny -p t45 -V -U lfuse:w:0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xff:m
ce paramètre désactive la programmation ultérieure via 5V SPI car nous avons besoin de la broche RESET (broche1) pour io. vous aurez besoin d'accéder à un programmeur HVSP pour récupérer le fusible.
Étape 3: Utilisation et application
flash direct sur maquette
si vous utilisez vusbtiny pour flasher des appareils AVR à 8 broches, vous pouvez simplement appuyer sur votre appareil cible au-dessus de l'appareil de programmation. le programmeur a été conçu pour que les broches de programmation correspondent aux cibles. il y a une astuce cependant, vous devrez isoler les broches 2 et 3 sur le programmeur mcu, car ce sont les broches USB D+ et D- se connectant au PC. J'utilise un morceau de scotch pour réaliser cela, vous pouvez le voir sur les photos. montrer ci-dessous est un tiny13v "à cheval" sur le tiny45, prêt à recevoir le firmware.
FAI clignotant via cavalier
pour programmer un circuit cible via ISP (programmation in-system), vous avez besoin d'un câble ISP. ici, je n'utilise pas les en-têtes à broches standard 2x3 ou 2x5. au lieu de cela, j'utilise un cavalier 1x6 qui est plus convivial pour la maquette, vous pouvez créer un en-tête à broches 2x3 ou 2x5 en les mappant sur J2 comme indiqué sur la disposition et les schémas de la maquette. la photo suivante montre un tiny2313 prêt à être flashé via ISP.
dépannage
* impossible de flasher le firmware ? vérifiez votre programmeur d'origine, vous devrez peut-être ajuster la synchronisation via le drapeau -B dans avrdude. essayez de lire la puce en premier, peut-être un mauvais fusible, peut-être que votre puce a besoin d'un signal d'horloge externe. vous devrez peut-être réparer votre puce par défaut en premier. * vérifiez les connexions * si vous utilisez des broches io différentes, vérifiez le code et les connexions * vous pouvez remplacer les diodes Zener par des types de 500 mw, 400 mw * vous pouvez essayer de réduire la valeur R3 à 1,2 K ou moins * vous êtes plus susceptible de rencontrer des problèmes de synchronisation avrdude, essayez -B drapeau d'avrdude, avoir un câble USB plus court tout aide
Conseillé:
Arduino en tant que FAI -- Graver un fichier hexadécimal dans AVR -- Fusible dans l'AVR -- Arduino en tant que programmeur : 10 étapes
Arduino en tant que FAI || Graver un fichier hexadécimal dans AVR || Fusible dans l'AVR || Arduino en tant que programmeur :………………………Veuillez vous abonner à ma chaîne YouTube pour plus de vidéos……..Cet article est tout à propos d'arduino en tant que fournisseur d'accès Internet. Si vous souhaitez télécharger un fichier hexadécimal ou si vous souhaitez configurer votre fusible dans l'AVR, vous n'avez pas besoin d'acheter un programmeur, vous pouvez le faire
Programmeur AVR avec haute tension : 17 étapes
Programmeur AVR avec haute tension : il s'agit de mon premier Instructable. La carte que j'ai conçue est un programmeur AVR. La carte combine les fonctions de 4 cartes prototypes distinctes que j'ai construites au cours des dernières années : - Un programmeur AVR haute tension, principalement utilisé sur les appareils ATtiny pour régler le fu
Comment télécharger le code C sur ِAVR en utilisant Arduino Uno en tant que programmeur: 6 étapes
Comment télécharger le code C sur ِAVR en utilisant Arduino Uno en tant que programmeur : Bonjour à tous : D Ici, je vais partager un moyen simple de programmer n'importe quelle puce AVR en utilisant Arduino Uno R3 programmeur qui coûte cher
Programmeur AVR STK500 bon marché pour Atmel Studio : 7 étapes
Programmeur AVR STK500 bon marché pour Atmel Studio : Atmel Studio est un outil puissant pour créer des programmes AVR, mais l'écriture d'un programme est la première étape. Pour utiliser votre programme, vous devez faire un circuit et transférer votre code dans le microcontrôleur. Vous pouvez programmer votre AVR depuis Atmel Studio en utilisant
Programmeur ISP pour microcontrôleurs AVR : 4 étapes
Programmeur ISP pour microcontrôleurs AVR : Un programmeur de microcontrôleur est un dispositif matériel accompagné d'un logiciel qui est utilisé pour transférer le code de langage machine vers le microcontrôleur/EEPROM depuis le PC. Le programmeur ISP pour les microcontrôleurs AVR est un programmeur série qui utilise le s