Étape 4: Fusible de sélection pour le ATTiny 2313A
La première tâche de programmation consiste à définir les bits de fusible qui fournissent les caractéristiques de la MCU comme la source d’horloge et le diviseur d’horloge. Au départ de la plupart des projets, vous aurez besoin de décider s’il faut utiliser la source de l’horloge interne ou utiliser un cristal externe avec deux condensateurs de 22pf. L’oscillateur interne permet de réduire le nombre de pièces, mais offre une précision de mauvais timing de 3 à 10 % comme calibré à l’usine pour des applications de faible précision de chronométrage ; Toutefois, l’oscillateur interne peut être calibré à 1 % comme décrit dans Atmel Application Note #AVR053 [16,17]. L’oscillateur interne généralement ne serait pas approprié pour les ports série de l’USART. Blinky et la ligne de vie, l’horloge n’a pas besoin d’être précis, mais nous ne voulons pas le nombre de pièces sera minime. Nous allons donc utiliser l’horloge interne de 8MHz.
Suivez les étapes ci-dessus, raccorder la batterie au prototype à bord de l’expérimentateur et connecter le programmateur de l’adaptateur et de l’USB (si pas déjà tous connectés). Les "Outils > dispositif de programmation" dialogue doit être ouvert. Dans le menu sur le côté gauche, sélectionnez l’onglet de fusible.
Attention à ce que vous faites!! Certains paramètres de fusible peuvent tuer (c.-à-d., brique) la MCU. Parfois, le fusible peut être réinitialisé en construction ou en achetant des programmeurs de haute tension (12V) tel que discuté dans démarrage #5. Cochez ou décochez les éléments fusibles selon la liste suivante et puis fermez la boîte de dialogue périphérique de programmation. Enregistrez et fermez la solution. Remarque : La solution complète peuvent être sauvegardés en cliquant sur l’icône avec les plusieurs disques dans la barre d’outils ou bien utilisez fichier > enregistrer tout.
Tableau 1: Fonctions et paramètres de fusible
Nom de fusible | État | Description |
SELFPRGEN | AUCUNE VÉRIFICATION | Similaire au SPM – ne touchez pas ! |
DWEN | AUCUNE VÉRIFICATION | Déboguer fil activer – ne touchez pas ! Active l’interface DebugWire qui utilise la broche Reset et substitue l’interface SPI. Une JTAG simplifiée. |
EESAVE | AUCUNE VÉRIFICATION | EEProm Economisez : Empêche l’effacement lors d’un événement d’effacement MCU l’EEProm. |
SPIEN | VÉRIFIÉ | Interface de programmation série activer – ne touchez pas ! Ceci doit être activé pour pouvoir utiliser le programmateur Atmel (ou compatible). Décochez que le MCU et ne sera pas programmable ! |
WDTON | AUCUNE VÉRIFICATION | Minuterie de veille chien : une minuterie indépendante permettant de réinitialiser le MCU, dans le cas où le MCU cesse de fonctionner correctement. La minuterie de WD à rebours à zéro et va réinitialiser le MCU à moins que la minuterie de WD revient tout d’abord par le programme. |
BODLEVEL | PERSONNES HANDICAPÉES | Brown sur le niveau de détection : Le MCU surveille la tension d’alimentation et passe en mode de réinitialisation pour éviter tout fonctionnement imprévisible quand la tension d’alimentation inférieure à la valeur indiquée. Pour le fonctionnement de 5V, on utiliserait 4V3 = 4,3 volts |
RSTDSBL | AUCUNE VÉRIFICATION | Reset Disable – ne touchez pas ! Si activé, la broche de remise à zéro ne réinitialise plus la MCU. Le programmeur doit être en mesure d’utiliser la broche de remise à zéro ; par conséquent si activé, les SCM ne peut pas être programmé ! |
CKDIV8 | AUCUNE VÉRIFICATION | Horloge de diviser par 8: la fréquence d’horloge sera diminué d’un facteur 8. |
CKOUT
AUCUNE VÉRIFICATION
Horloge sur : Envoie le signal d’horloge à la broche 6 sur le ATTiny 2313A MCU
SUT_CKSEL
INTRCOSC_8MHz_
14CK_0MS
Installation minuterie et horloge sélection (aka, CKSEL)
La source d’horloge sera l’oscillateur interne à 8MHz. Le MCU retardera à partir de 14 cycles d’horloge et 0 millisecondes afin que la source d’horloge stabiliser.
Quelques notes sur les fusibles :
Veuillez configurer vos fusibles comme indiqué au tableau 1 étant donné que ces paramètres ont été testés. Problèmes avec le choix des paramètres incorrects pour CKSEL et CKDIV8 sont les résolu par la ligne de vie, mais qui n’est pas encore construite. Le SUT_CKSEL offre une variété de sources d’horloges mais les détails de chacun peuvent varier de 1 au prochain type de microcontrôleur. Les Microcontrôleurs Atmel appuient généralement, quatre grandes catégories de sources d’horloges [18,19].
Oscillateur externe : Un cristal avec deux condensateurs de 22pF. Il s’agit d’horloge la plus précise. Le cristal sera souvent établie par XAL, XTAL ou X. Les cristaux de microcontrôleurs AVR Atmel varient généralement jusqu'à 20MHz.
Horloge externe : Un module qui produit le signal d’horloge. Il contient généralement un cristal ainsi que d’autres composants pour le chronométrage de précision.
RC interne (a.k.a., oscillateur interne): utilise un résistance et condensateur inclus dans le MCU pour le chronométrage. Alors que le RC interne représente la configuration la plus simple possible qui ne nécessite pas de parties externes, il a calibré en usine pauvre précision de 3 à 10 %.
RC externe : Utilise un condensateur externe pour le chronométrage.
Le fusible ATTiny 2313A SUT_CKSEL a options marquées par
INTRCOSC xMHz
Le INTRCOSC se réfère à l’horloge interne RC fourni par Atmel et le x dans xMHz sont sélectionnables en 4 ou 8 (etc.). Nous allons utiliser le paramètre de 8MHz.
EXTXOSC xMHz-yMHz
Le EXTXOSC se réfère à un oscillateur à quartz (a.k.a., oscillateur externe) et la gamme xMHz-yMHz qui comprend la fréquence du cristal réel placé dans le circuit doit être sélectionné. La vitesse de Microcontrôleurs Atmel peut être 20MHz, mais la vitesse maximale dépend de la tension appliquée à la MCU-consulter les spécifications sur la première page ou deux du manuel [1].
EXTCLK
L’option EXTCLK fait référence à un module horloge prêtes à l’emploi adapté pour produire une horloge pour le MCU Atmel. Le module aurait besoin d’avoir la fréquence et la tension de sortie compatible.
Certaines options ont des options de suffixe comme 14CK_64MS. Ceux-ci mentionnent le nombre de horloge de cycles et millisecondes de retard jusqu'à ce que le processeur commence dans l’ordre pour la source d’horloge stabiliser. La plupart des conseillers suggèrent d’utiliser les délais plus longs, bien que certains paramètres semblent interférer avec l’exécution du programme.
Comme mentionné, la fréquence d’horloge utilisable maximum pour un MCU dépend de la source de tension appliquée entre Vcc et encore (broches 20 et 10, respectivement pour ATTiny2313A). La première page du manuel d’utilisation [1] pour ce MCU affiche la liste de catégorie de vitesse :
Tableau 2: Classes de vitesse
0 à 4 MHz à 1,8 – 5.5V
0-10 MHz @ 2,7 – 5.5V
0 à 20 MHz @ 4,5 – 5,5 v
La ligne de vie, par exemple au démarrage #5, utilise trois piles AA qui peuvent avoir une tension totale allant de 3 à 4,9. Les spécifications indiquent que le ATTiny2313A peut fonctionner jusqu'à 10MHz pour cette gamme de tension. Donc, étant donné que nous tiendrons la tension de l’ordre de 2,7-5.5V et nous prévoyez d’utiliser l’oscillateur interne, sélectionnez la valeur de 'INTRCOSC_8MHz' pour le fusible SUT_CLKSEL. En prévision de la construction de la ligne de vie, choisissez l’entrée ayant le suffixe de 14CK_0MS. Une fois terminée la bouée de sauvetage, les différentes autres options horloge pour un MCU de rechange peuvent être essayées sans se soucier de faire ce MCU non programmables.
Autres Microcontrôleurs Atmel ont d’autres options SUT_CKSEL. Par exemple, les offres ATMega328 (populaire pour Arduino)
EXTCLK – Module horloge externe :
Un module qui produit le signal d’horloge. Il contient généralement un cristal ainsi que d’autres composants pour le chronométrage de précision.
INTRCOSC-oscillateur RC interne
Utilise un résistance et condensateur inclus dans le MCU pour le chronométrage – précision médiocre.
EXTLOFXTAL – cristal externe basse fréquence
Le MCU peut utiliser un cristal montre fonctionnant à 32,768 kHz.
EXTFSXTAL – cristal externe bat son plein
Les circuits de cristal produit le swing de tension d’amplitude maximale pour l’alimentation en tension MCU mis en œuvre. Ce mode peut être utilisé pour alimenter d’autres composants qui requièrent de l’horloge, mais elle requiert plus d’énergie que le mode EXTXOSC.
EXTXOSC-oscillateur à quartz externe
La EXTXOSC utilise la puissance minimale et représente le mode de fonctionnement préféré.
Concernant le fusible BODLEVEL, plupart Microcontrôleurs Atmel comme le ATTiny2313A ai brun sur détection (la puce passe en mode reset quand la tension descend en dessous d’une valeur réglable). Normalement, pour le fonctionnement de 5V, la BODLEVEL serait 4v3 = 4.3V pour empêcher le MCU de façon erratique si/quand la tension est inférieure à 4.3V. En particulier, étudier les spécifications pour le ATTiny2313A dans le manuel [1]. Regardez les tensions de fonctionnement (voir le tableau 2 ci-dessus). Nous allons lancer l’oscillateur interne de 8MHz. La puce peut fonctionner à ce rythme pour n’importe quelle tension entre 2,7 et 5.5V. Pour la ligne de vie, nos 3 piles AA produira moins de tension de 3V (essentiellement morts) à environ 4.9V (nouveau). Nous n’aurez pas besoin de la BODLEVEL.