AVR fuse grunderna: kör en avr med en extern klocka (3 / 6 steg)

Steg 3: Hur man programmerar säkringar?

Innan du börjar, måste vi titta på fuse bitar av Atmega8 och startvärde av dem. Sedan im göra detta instructable från mobil, gjorde jag en tabell som innehåller uppgifterna som krävs. Jag skapade den med google blad android app. Jag kunde inte hitta ett sätt att konvertera dem till bilder. Så här im utstationering länken.

Fuse bitar av Atmega 8 (den en im använder i denna handledning)

https://docs.Google.com/Spreadsheets/d/1haE2Sprdsa-NgKYsOQlwI99WHfGqCItJutG4h-MnOus/Edit?USP=docslist_api

Nu går vi vidare till detaljerna i hur man programmerar fuse bitar i din AVR beroende på den särskilda programmen du använder. Först bör vi konsultera manualen för programmeraren om detaljer. For exempel, om du använder en STK600 med AVR Studio, STK600 fönstret har en flik som heter säkringar, där du ställer in de olika bitarna och där du kan programmera, kontrollera eller läsa fuse bitar.

(Jag använder en Atmega 8 för mitt exempel. Jag använder oftast Atmega 8 eftersom det är billigt och innehåller tillräckligt med minne för de flesta av mina projekt).

De flesta människor har förvirring när det gäller detta ämne. För att uttrycka det mycket enkelt, det finns bara två typer av säkringar, hög fuse (hfuse) och låg säkring (lfuse), några mikrokontroller har en extra säkring byte kallas utökade fuse (Eka).
Den mest förvirrande delen kommer här. Unprogrammed lite fuse är logic hög eller 1, programmering någon säkring bit kommer att ändra sin nivå logik låg eller 0.

"Ett undantag bara för att hålla i åtanke är - fuse bitar med för att starta upp loader inte är åtkomliga från programvara, men dessa kan nås i programmeringsläget med parallella /serial programmering verktyg."

Som beskrivs i bilden ovan, visas säkringen tillsammans med dess stycke värde och bitarstal. Vissa funktioner i den ovan nämnda säkringarna är:-
(Jag använde ett Atmega 8 datablad för för diagrammet som jag postat).

Övre Fuse byte (hfuse)

1) första biten är BOOTRST som är unprogrammed som standard (1). Om denna bit är programmerad (0) sedan efter att ha slagit upp eller enheten återställa det startar programmet utförande från bootloader minne avsnitt. Helt enkelt, om en bootlaoder används till flash MCU, denna bit måste aktiveras. Om du laddar helt enkelt upp din firmware med ISP programmerare, sedan lämna denna bit orörda.

BOOTSZ0 och BOOTSZ1 är också viktigt om bootloader används. Dessa bitar kan välja bootloader avsnitt storlek.

2) nästa bit är EESAVE. Om detta säkring är programmerad (genom att skriva 0 till det) kvar EEPROM-minne orörd under Chip radera förfarandet. Denna säkring kan ibland vara till hjälp. För instans om du håller några viktiga data i EEPROM-minne som kalibrering värden och behöver uppdatera program utan att förlora denna data och sedan programmera denna bit. Men om du alltid har rena chip efter radera och sedan lämna denna bit orörd (värdet 1).

3) WDTON bit används för att först ange watchdog timer. Om du programmera detta kommer din watchdog timer att tvingas vara alltid på och hålla återställa chip regelbundet om ingen särskild vård tas. Om inget behov av watchdog, sedan lämna den unprogammed.

4) SPIEN bit används för att inaktivera serial programming mode ISP. Det är faktiskt inte möjligt att inaktivera detta lite från seriell läge. Det måste göras genom hög spänning programmering.

5) samma situation är med RSTDSBL bit. Det används för att inaktivera reset-funktionen som konverterar Återställ pin i till I/O. I allmänhet rekommenderas det inte. Och det kan inte inaktiveras när enheten är programmerad i ISP läge.

6) CKOPT bit används för att välja alternativ för oscillator.

Låga säkringar (lfuse)

Kan ser ut vid låg byte av säkringar.

1) en grupp av fyra liknande bitar som är CKSEL0 att CKSEL3 används för att markera klockning alternativ. Standard CKSEL0 att CKSEL3 säkringar är inställt att välja inre 8MHz RC-oscillator. Men vi vet AVRs kan klockas på fler olika sätt:

* Kalibrerad inre RC-oscillator (standard 8MHz)
* Yttre RC-oscillator
* Externa crystal eller kristall resonator
* Externa lågfrekventa crystal
* Extern klocka signalkälla

Jag har förklarat om SUT (tid att starta) i nästa steg.

Jag skulle skriva om hur man kan beräkna dessa värden på egen hand, senare i detta instructable.

2) BODEN eller brunt upptäckt aktivera bit kan brun ut upptäckt. Brunt ut upptäckt inaktiveras allmänt (1). Programmera denna bit låg (0) enanbles brun ut upptäckt. Anledningen till denna funktion är att - när matningsspänningen blir lägre än den spänning som krävs av mikrokontroller, det börjar bete sig oförutsägbart. Det kan börja radera sitt eget minne eller kan köra random avsnitt från dess flash. För att undvika detta, har brun ut-svar lämnats. En gång leverans spänning blir lägre än den inställda nivån för BOD, chip kommer att byta av säkert. När matningsspänningen tillbaka igen till det normala, börjar chip om igen.

BODLEVEL - med denna bit kan vi sätta brunt ut upptäckt nivå. För exempel - om mikrokontroller köra på 3,3 volt, kan vi sätta brunt ut upptäckt på 2,7 volt, så att om matningsspänningen blir lägre än detta sedan mikrokontroller stängs säkert.

Ett intressant inslag att notera här är, andra AVR microcontrollers som Atmega 32 har några olika säkringar som i den höga fuse byten de har OCDEN och JTAGEN och i Atmega 328p det är DWEN etc.

Jag ber om ursäkt för låg kvalitet bilderna eftersom jag gör detta instructable från min android.

Se Steg
Relaterade Ämnen

Med 8Pin ATTINY programmering skölden med en extern klocka

Instructables författare extraordinaire Randofo skapade en stor programmering sköld för att använda din Arduino för att programmera 8 pin ATTINY processorer. Han var även generösa nog att ge 50 kopior av ut till människor som skrivit instructables an...

Programming AVR med Arduino som ISP utan bootloader och externa crystal

Hej, jag är riktronics , och detta är min första instructable. Här förklarade jag hur till bränna program i din AVR microcontroller med en Arduino. Av detta behöver du inte köpa dyra AVR programmerare om du redan har en Arduino. Och jag antar att du...

Styra Denon AVR med Arduino + Ethernet shield

Med detta projekt har jag bygger en enkel kontrollpanel för min Denon AVR (AVR-X4100W).De flesta av Denon A / V-mottagare är nätverket redo, så att du kan styra dem inom en web interphasen eller en app. Det finns inga officiella dokumentation för HTT...

Med Minimus AVR med Arduino IDE

The Minimus AVR är en USB-ansluten mikrokontroller, som använder ATMEL 90USB192 mikrokontroller. Dess en billig åter programmerbara mikrokontroller med 21 digital input/output stift.De har använts av människor som mod spelkonsoler konsoler, för att l...

Driva din Arduino/AVR med ett Hand-Cranked batteri

om du någonsin velat driva din Arduino eller AVR från ett batteri för utveckling testning (batterierna har olika makt leverans kvaliteter än, säg, transformerad AC eller ens en reglerad vägg vårta i DC) testning men var trötta för att gå igenom batte...

USBASP Bootloading en ATMega328p med en inre klocka 8mhZ

vad är det vi ska göra är programmet en ATMega328P utan en extern kristall av använda USBASP programmerare och Arduino IDE.Varför skulle vi vilja det? Den använder mindre komponenter och får upp närmare att veta hur att programmera med något som WINA...

Bärbar sol spårning solpanel med A Windup klocka enhet

jag har bara konstruerade och byggde en hemmagjord solar tracker än kan enkelt ställa in att exakt anpassa till höjden av solen (eftersom det ändras dagligen, med årstiderna), och också troget följa solen, från soluppgång till solnedgång. Panelen spå...

Lära barn att tala om tid med en Strawbees klocka

Mycket enkelt 5 minuters projekt! Gör en klocka med händer som vänder sig till hjälpa ditt barn att lära sig att tala om tid. Ännu bättre, ditt barn kan göra och dekorera klockan med minimal vuxen hjälp.Steg 1: Samla ditt materialDu behöver:5 strån3...

16-nyckel knappsatsen avkodning med en AVR MCU

detta instructable visar dig hur gränssnittet en 16-nyckel knappsats till din AVR microcontroller och läsa nyckeln när en tangent är nedtryckt. Jag ska presentera knappsatsen först, sedan 74HC922 16-nyckel dekodern IC som pin-saving mekanism, sedan s...

Hur du använder Dragon Rider 500 med din AVR Dragon

detta instructable är en snabbkurs i hur man använder några av funktionerna av Dragon Rider 500 från Ecros Technologies. Tänk att det finns en mycket detaljerad Användarhandbok tillgänglig på webbplatsen Ecros.Dragon Rider är ett gränssnittskort för...

Hur du kommer igång med Eclipse och AVR

programmering AVRs är kul men ibland utvecklingsmiljöer tillverkare göra kod underhåll en syssla. Om du letar efter en gratis, cross-plattform, hög kvalitet programvara för programmering AVRs Eclipse är ett bra val.Flytta till en integrerad utvecklin...

Mitt svar på WS2811 med en AVR sak

första off - vill sägaBra om du Alan Burlison.Detta är inte menat att uppsamlare du på något sätt. Din kod gjorde det det måste göra. Stor framgång. Min första reaktion i en forum kommentar var faktiskt riktat mot folk som när det gäller icke-arbetan...

AVR/Arduino RFID-läsare med UART kod i C

RFID är vurm, överallt - från inventeringssystem badge ID-system. Om du någonsin varit på ett varuhus och gick genom dessa metall-detektor-ser saker på ingång/utgång points, då du har sett RFID.Det finns flera ställen att hitta bra information om hur...

AVR dubbla RGB Matrix föraren

En vän till mig hade en bra idé för ett fantastiskt projekt. Han ville skapa ett par av servo riggar som skulle efterlikna rörelsen av händerna med ett språng förslag. På toppen av servon skulle sitta några lasrar så han kunde skapa någon form av las...

AVR akustiska spektrumanalysator

AVR akustiska spektrumanalysator, baserat på Atmega8 AVR microcontroller, operationsförstärkare och några andra komponenter. Använda HD44780 kompatibel LCD eller VFD, ansluta ljudsignalen och njuta av effekten :) Du kan bygga på detta till din förstä...

En avancerad metod för Arduino & AVR programmering

Detta instructable är ett måste läsa för alla som är bekanta med core AVR chips och Arduino.Tja, mer konkret, när jag läste den instructable kommer du att kunna:1) vet väl skillnaden mellan AVR och Arduino.2) programmering Arduino med WinAVR & använd...

Universal programmerare för AVR: s och S51 plus ZIF socket!

Detta programmerare har utformats av företaget och har producerats minst 2500PCS av detta och det är ganska testad och standarder och nu vi inte tillverka denna version mer, här är en länk produkt (ledsen bara Farsi var tillgänglig)Universal AVR prog...

Bygga upp ett komplett AVR och spela Mastermind!

Spelet Mastermind har funnits länge, och jag minns att få en styrelse version med färgade pinnar när jag var liten. Jag älskar detta spel, eftersom det är lösbara genom ren logik. En spelare (eller en dator/mikrokontroller) väljer en sekvens av färge...

AVRSH: Ett kommando tolken skal för Arduino/AVR.

Någonsin velat "logga in" till din AVR microcontroller? Någonsin trodde det skulle vara häftigt att "katt" ett register att se dess innehåll? Har du alltid velat ha ett sätt att driva upp och stänga enskilda perifera sub system din AVR...