Stap 4: Fuse selectie voor de ATTiny 2313A
De eerste taak van de programmering bestaat uit het instellen van de fuse-bits waarmee de kenmerken van het MCU zoals het klokbron en klok divider. Aan het begin van de meeste projecten, zal u moeten beslissen over de vraag of gebruik van de bron van de interne klok of een externe kristal met twee 22pf condensatoren. De interne oscillator vermindert het aantal delen maar biedt slechte timing nauwkeurigheid van 3% - 10% gekalibreerd in de fabriek voor lage-precisie timing toepassingen; de interne oscillator kan echter worden gekalibreerd naar 1%, zoals beschreven in Atmel Application Note #AVR053 [16,17]. De interne oscillator zouden in het algemeen niet geschikt voor de USART seriële poorten. Voor Blinky en de levenslijn, de klok hoeft niet nauwkeurig te zijn, maar we willen het aantal onderdelen minimaal. We zullen dus de interne klok van 8MHz gebruiken.
Voer de bovenstaande stappen uit, sluit de accu aan het prototype aan boord van de experimentator en sluit de programmeur aan de adapterkabel en de USB (indien niet reeds alle aangesloten). De ' Tools > Device programmeren ' dialoogvenster moet openstaan. Het menu aan de linkerzijde, selecteer het tabblad Fuse.
Voorzichtig met wat je doet!! Sommigeinstellingenkunnen zekering kunnen dodelijk zijn (dat wil zeggen, steen) de MCU. Soms kan de zekering worden hersteld door bouwen of kopen van hoogspanning programmeurs (12V), zoals besproken in Startup #5. Controleren of uncheck de fuse artikelen volgens de volgende lijst en sluit vervolgens het dialoogvenster apparaat programmering. Opslaan en sluiten van de oplossing. Opmerking: De volledige oplossing gered kunnen worden door te klikken op het pictogram met meerdere schijven in de werkbalk of anders gebruik maken van bestand > alle opslaan.
Tabel 1: Fuse instellingen en functies
Fuse naam | Staat | Beschrijving |
SELFPRGEN | GEEN CONTROLE | Vergelijkbaar met SPM-niet aanraken! |
DWEN | GEEN CONTROLE | Wire Enable Debug-niet aanraken! De DebugWire-interface die gebruikt de resetpin en overschrijft de SPI interface maakt het mogelijk. Een vereenvoudigde JTAG. |
EESAVE | GEEN CONTROLE | EEProm opslaan: Voorkomt dat de EEProm wissen tijdens een MCU wissen-gebeurtenis. |
SPIEN | GECONTROLEERD | Seriële Programming Interface Enable-niet aanraken! Dit moet zijn ingeschakeld om de Atmel programmeur (of compatibele) gebruiken. Uncheck dat het en de MCU zullen niet programmeerbare! |
WDTON | GEEN CONTROLE | Horloge hond timer: een onafhankelijke timer gebruikt opnieuw instellen van het MCU ingeval de MCU stopt naar behoren functioneren. De WD-timer telt af om nul en zal opnieuw de MCU tenzij de WD timer eerst opnieuw wordt ingesteld door het programma. |
BODLEVEL | HANDICAP | Brown Out detectie niveau: De MCU bewaakt de voedingsspanning en reset modus om te voorkomen dat onvoorspelbare werking wanneer het voedings voltage zakt tot onder de opgegeven waarde invoert. Voor 5V werking, zou men gebruik maken van 4V3 = 4.3 volt |
RSTDSBL | GEEN CONTROLE | Herstellen uitschakelen-niet aanraken! Als ingeschakeld, kan het zijn dat de MCU niet meer opnieuw de resetpin zal worden ingesteld. De programmeur moet kunnen gebruiken de resetpin; bijgevolg als ingeschakeld, de MCU niet kan worden geprogrammeerd! |
CKDIV8 | GEEN CONTROLE | Klok kloof door 8: de kloksnelheid wordt verlaagd met een factor 8. |
CKOUT
GEEN CONTROLE
Klok uit: De klok signaal naar pin 6 op de ATTiny 2313A MCU
SUT_CKSEL
INTRCOSC_8MHz_
14CK_0MS
Instellen van de Timer en klok selectie (a.k.a, CKSEL)
Het klokbron zullen de interne oscillator draait op 8MHz. De MCU zal vertragen vanaf voor 14 klokcycli en 0 milliseconden om de klokbron te stabiliseren.
Een paar opmerkingen over zekeringen:
Stel uw zekeringen zoals vermeld in tabel 1, omdat deze instellingen zijn getest. Problemen met het kiezen van de verkeerde instellingen voor CKSEL en CKDIV8 zijn opgelost door de levenslijn, maar dat nog niet gebouwd. De SUT_CKSEL biedt een scala aan klok bronnen maar de details van elk kunnen variëren van de ene naar de volgende MCU-type. In het algemeen ondersteunen Atmel MCU's vier brede categorieën van klok bronnen [18,19].
Externe Oscillator: Een kristal met twee 22pF condensatoren. Dit is de nauwkeurigste klok. Het kristal zullen vaak worden aangegeven door XAL, XTAL of X. De kristallen voor Atmel AVR MCU's variëren in het algemeen tot 20MHz.
Externe klok: Een module die het kloksignaal produceert. Het bevat doorgaans een kristal met andere componenten voor precisie timing.
Interne RC (aka, interne oscillator): gebruikt een weerstand en een condensator opgenomen in het MCU voor timing. Terwijl de interne RC de eenvoudigste mogelijke configuratie waarvoor geen externe onderdelen nodig vertegenwoordigt, heeft het slechte fabriek gekalibreerd nauwkeurigheid van 3% tot 10%.
Externe RC: Maakt gebruik van een externe condensator voor timing.
De zekering ATTiny 2313A SUT_CKSEL heeft gelabeld door opties
INTRCOSC xMHz
De INTRCOSC verwijst naar de interne RC klok kopen van Atmel en de x in xMHz als 4 of 8 (enz.) kan worden geselecteerd. Wij zullen de 8MHz-instelling gebruiken.
EXTXOSC xMHz-yMHz
De EXTXOSC verwijst naar een kristal oscillator (aka, externe Oscillator) en het bereik xMHz-yMHz moet worden geselecteerd waarin de frequentie van het werkelijke kristal geplaatst in het circuit. De snelheid van Atmel MCU's kunnen 20MHz maar het maximumpercentage, hangt af van de spanning toegepast op de MCU-verwijzen naar de specificaties op de eerste pagina of twee van de handleiding [1].
EXTCLK
De optie EXTCLK verwijst naar een kant en klare klok module geschikt voor het produceren van een klok voor de Atmel MCU. De module zou moeten compatibel output voltage en frequentie.
Sommige opties hebben achtervoegsel opties zoals 14CK_64MS. Deze verwijzen naar het aantal klok cycli en milliseconden vertraging tot de processor om de klokbron begint te stabiliseren. De meeste adviseurs stel met behulp van de langste vertraging mogelijk, hoewel sommige instellingen lijken te interfereren met de uitvoering van het programma.
Zoals vermeld, is de maximale bruikbare kloksnelheid voor een MCU afhankelijk van de spanningsbron toegepast tussen Vcc en Grnd (de pin 20 en 10, respectievelijk voor ATTiny2313A). De eerste pagina van de gebruikershandleiding [1] voor dat MCU toont de lijst snelheid rang:
Tabel 2: Snelheid rangen
0-4 MHz @ 1.8-5.5V
0 – 10 MHz @ 2.7-5.5V
0-20 MHz @ 4.5-5.5V
De levenslijn, bijvoorbeeld in Startup #5, gebruikt drie AA batterijen die totale spanning, variërend van 3 tot en met 4.9 kunnen hebben. De specificaties laten zien dat de ATTiny2313A tot 10MHz voor dit bereik van spanning kan functioneren. Dus, omdat we de spanning in het bereik van 2.7 houden-5.5V en wij van plan te gebruiken de interne oscillator, selecteert u de waarde van 'INTRCOSC_8MHz' voor de SUT_CLKSEL-zekering. In afwachting van de bouw van de levenslijn, door het item met het achtervoegsel van 14CK_0MS te kiezen. Nadat levenslijn is voltooid, kunnen de verschillende andere klok opties voor een reserve MCU worden geprobeerd zonder zich het ongerust maken over het maken van dat MCU nonprogrammable.
Andere Atmel MCU's hebben andere SUT_CKSEL opties. Bijvoorbeeld, de ATMega328 (populair voor Arduino) aanbiedingen
EXTCLK-externe klok Module:
Een module die het kloksignaal produceert. Het bevat doorgaans een kristal met andere componenten voor precisie timing.
INTRCOSC – interne RC-oscillator
Gebruikt een weerstand en een condensator opgenomen in het MCU voor timing – slechte nauwkeurigheid.
EXTLOFXTAL-externe lagefrequentie-Crystal
De MCU kunt een horloge kristal op 32.768 kHz.
EXTFSXTAL-externe volop Crystal
De kristal-circuits produceert de maximale amplitude spanning schommel voor de uitgevoerde voedingsspanning van MCU. Deze modus kan worden gebruikt voor het aandrijven van andere componenten die nodig hebben van de klok, maar het vereist meer macht dan de EXTXOSC-modus.
EXTXOSC-externe kristal Oscillator
De EXTXOSC minimaal stroomverbruik en vertegenwoordigt de aangewezen wijze van bewerking.
Met betrekking tot de BODLEVEL-fuse hebben de meeste Atmel MCU's zoals de ATTiny2313A bruin uit detectie (de chip zal reset modus komen als de spanning kleiner wordt dan een ingestelde niveau). Voor 5V operatie, zou de BODLEVEL normaal, 4v3 = 4.3V om te voorkomen dat de MCU onregelmatig te handelen als/wanneer de spanning zakt tot onder 4.3V. In het bijzonder, kijken naar de specificaties voor de ATTiny2313A in het handboek [1]. Kijk naar de operationele spanningen (zie tabel 2). We organiseren de interne oscillator van 8MHz. De chip kan functioneren op dat tarief voor alle spanning tussen 2.7 en 5.5V. Voor de levenslijn, zal onze 3 AA batterijen produceren spanning minimum van 3V (hoofdzakelijk dood) tot ongeveer 4.9V (nieuw). We niet nodig hebben van de BODLEVEL.