Étape 5: Configuration des fusibles sur l’AVR
Malgré l’importance cruciale du découplage, la configuration est très simple et intuitive. Voici comment nous allons le faire. Nous allons mettre deux condensateurs entre la source d’alimentation stabilisée et une diode de serrage de tension. Parallèlement à cela, nous allons ajouter une LED avec résistance associée à un indicateur de puissance. Vous aurez fait en 30 secondes environ.
Effectuer votre circuit de découplage
Fixez votre source d’alimentation stabilisée brillant et flambant neuf à votre maquette. Je me connecte via la puissance en haut postes de montage. Découvrez le régulateur de tension dans l’action. Vous voulez vos condensateurs de découplage que près de votre Vcc que possible, donc j’ai déplacé mon ATmega328P sur quelques trous, ainsi que les fils et grandi mon circuit de découplage de l’angle inférieur gauche. Exécutez positive sur la gauche, négatif sur la droite et placer un condensateur électrolytique de 47uF positif à la terre, suivie d’un 0.1uF condensateur tantale, également du positif au sol. Ensuite, placez une diode 1N4002 afin de serrer, prenant note de la direction (elle est polarisée). Enfin, placez un « pouvoir sur » LED avec c' est requise 1K Ohm résistance et qui est le circuit de découplage. Découvrez les photos.
Faire passer un fil de l’extrémité positive du circuit découplage à la broche 7 Vcc aux régulateurs et vous êtes fait ! Vous avez un assez complet, environnement de développement AVR riche de fonctionnalité.
Alors que diriez-vous nous baptiser notre tout nouveau AVR en le configurant ?
Configuration de votre nouveau AVR
La principale chose que nous devons configurer correspondent aux paramètres de fusible pour indiquer à l’AVR que nous voulons utiliser un cristal externe. Parallèlement à cela, nous allons configurer quelques paramètres au même temps qui spécifie la vitesse d’horloge, temps de démarrage et détection de brown-out.
Connecter votre programmateur à l’en-tête de l’ISP. J’utilise un USBTiny de Adafruit Industries. Notez la façon dont il se connecte. Assurez-vous que vous s’accoupler la femelle à l’en-tête dans le bon sens.
Lancez avrdude et lancez la commande suivante :
Vous devez être salués avec une invite de commandes, comme indiqué ci-dessous. Cliquez sur le [i] dans le coin supérieur gauche de l’image et sélectionnez la taille d’origine si vous trouvez l’image difficile à lire.
Ensuite exécutez la commande « partie » pour obtenir des informations de l’appareil, suivies de la commande suivante :
Il lit les paramètres du fusible inférieurs, qui nous intéresse, car il contient des paramètres de l’horloge. Vous vous souvenez de cette feuille de données de 400-some page que j’ai lié plus tôt ? Dans ce document, vous trouverez les paramètres pour le fusible inférieur au tableau 27-9. Les huit bits dedans sont :
Paramètres de fusible sont particulières, comme un 1 moyen non programmé et un 0 indique programmée. CKDIV8 est programmée à l’usine et divise l’horloge par 8. L’oscillateur interne RC est programmé par défaut à 8MHz et avec CKDIV8 programmé, qui définit la vitesse d’horloge à 1MHz. Nous allons changer cela.
Le registre entier inférieur de fusible correspond à un octet, et ce que nous allons faire est défini :
- CKDIV 1
- CKOUT inchangé
- SUT1 0
- SUT2 1
- CKSEL3 0
- CKSEL2 1
- CKSEL1 1
- CKSEL0 1
Le fusible inférieur est programmé à l’usine avec un paramètre de 0x62. Pour rendre nos changements, nous avons besoin pour convertir le hex en binaire, puis retour au sortilège pour faire notre changement. 0x62 en binaire est 0110 0010. Selon les changements que j’ai mentionné ci-dessus, nous voulons que ce registre contient 1101 0111 qui est 0xD7 en hexadécimal. Voici comment cela ressemble :
Avrdude le feu vers le haut et délivrer : avrdude - c usbtiny -p atmega328p -F -t
À l’invite, tapez
Il devrait vous donner un message sur l’écriture du fusible. Question « lu lfuse » pour lire le fusible et vérifier qu’il a écrit 0xD7. Une fois terminé, tapez « quit » pour quitter.
Votre AVR est désormais programmé pour s’exécuter à un flamboyant de 20MHz avec un temps de démarrage rapide et la détection de brown-out. Vous êtes encouragé à lire la section sur les réglages de fusible plus bas si rien de tout cela prête à confusion.
À ce stade, vous êtes en mesure de programmer votre AVR au contenu de votre coeur. Vous pouvez brancher LED et clignoter les, lire des interrupteurs DIP, drive motors, écrire à LCD, lecture des mémoires externes, etc.. Mais vous n’avez pas un moyen de capturer la sortie sur une grande échelle. C’est le prochain ordre du jour.