AVR fuse basics: een avr met een externe klok (3 / 6 stap)

Stap 3: Hoe te programmeren zekeringen?

Voordat u begint, moeten we omhoog kijken naar de fuse-bits van Atmega8 en beginwaarde van hen. Sinds im waardoor dit instructable van mobiele, maakte ik een tabel met de vereiste gegevens. Ik heb gemaakt met behulp van google blad android app. Ik kon niet een manier vinden om hen omzetten in foto's. Dus hier im posten van de link.

Fuse-bits Atmega 8 (de im met behulp van in deze tutorial)

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

Nu gaan we over tot de details van hoe te programmeren van de fuse-bits in uw AVR afhankelijk van de specifieke programmeur die u gebruikt. In eerste instantie moeten we raadpleegt u de handleiding van de programmeur over de details. Als u een STK600 gebruikt met AVR Studio, het venster STK600 heeft bijvoorbeeld een tabblad met het label zekeringen, waar u de verschillende stukjes en waar kunt u het programma instelt, controleren of lezen van de fuse-bits.

(Im ' using een 8 Atmega voor mijn voorbeeld. Ik gebruik meestal Atmega 8 zoals het is goedkoop en genoeg geheugen voor de meeste van mijn projecten bevat).

Meeste mensen hebben verwarring over dit onderwerp. Heel simpel gezegd, er zijn slechts twee soorten zekeringen, hoge fuse (hfuse) en lage fuse (lfuse), sommige microcontrollers hebben een extra zekering byte bekend als uitgebreide fuse (efuse).
Het meest verwarrende deel komt hier. De unprogrammed staat van een fuse bit is logica hoog of 1, programmeren van de fuse-bits zal veranderen zijn niveau aan logica lage of 0.

"Uitzonderlijk gewoon zijn om in gedachten te houden is - de fuse-bits gerelateerde om de boot loader zijn niet toegankelijk vanaf software, maar deze kunnen worden geraadpleegd in programmeermodus te activeren met behulp van parallelle /serial programming tool."

Zoals beschreven in de bovenstaande afbeelding, wordt de zekering samen met de bitwaarde en bits getal weergegeven. Sommige functies van de de hierboven genoemde zekeringen zijn:-
(Ik gebruikte een gegevensblad Atmega 8 voor voor het diagram die ik gepost).

Hoge Fuse byte (hfuse)

1) eerste stukje is BOOTRST die is unprogrammed standaard (1). Als deze bit geprogrammeerd (0) dan is na het omhoog het aandrijven of apparaat resetten gestart programma uitvoeren van bootloader gedeelte van geheugen. Gewoon, als een bootlaoder wordt gebruikt om flash MCU, dit stukje moet zijn ingeschakeld. Als u upload uw firmware met behulp van ISP programmeur, dan laat dit stukje ongerepte.

BOOTSZ0 en BOOTSZ1 zijn ook belangrijk als bootloader wordt gebruikt. Deze bits kunt om bootloader sectie grootte te selecteren.

2) volgende beetje is EESAVE. Als deze zekering is geprogrammeerd (door te schrijven 0 naar het) blijft EEPROM geheugen volledig ongewijzigd tijdens procedure Chip wissen. Deze zekering kan soms nuttig zijn. Voor aanleg als u sommige belangrijke gegevens houden in het EEPROM geheugen zoals kalibratie waarden en moeten updateprogramma zonder verlies van deze gegevens, dan dit stukje program. Maar als u wilt dat altijd schoon chip na wissen, dan laat dit stukje ongerepte (ingesteld op 1).

3) WDTON-bit gebruikt om in eerste instantie ingesteld watchdog-timer. Als u dit programma zullen uw watchdog-timer worden gedwongen worden altijd op en houden chip regelmatig resetten als geen speciale zorg is genomen. Als geen noodzaak voor watchdog, dan laat het unprogammed.

4) SPIEN bits wordt gebruikt om te schakelen van seriële programmering modus ISP. Eigenlijk is het niet mogelijk om te schakelen van dit stukje van seriële modus. Het moet worden gedaan via hoogspanning programmering.

5) dezelfde situatie is met RSTDSBL bit. Wordt gebruikt voor het uitschakelen van reset functionaliteit die RESET converteert pin in voor I/O. Dit is in het algemeen niet aanbevolen. En het kan niet worden uitgeschakeld wanneer het apparaat is geprogrammeerd in de ISP modus.

6) CKOPT-bit gebruikt om oscillator opties te selecteren.

Lage zekeringen (lfuse)

Laat kijkt naar lage byte van zekeringen.

1) een groep van vier vergelijkbare bits die CKSEL0 naar CKSEL3 worden gebruikt om klokken opties te selecteren. CKSEL0 aan CKSEL3 zekeringen zijn standaard ingesteld om interne 8MHz RC-oscillator. Maar we weten dat AVR 's kunnen worden geklokt op meer manieren:

* Gekalibreerd interne RC-oscillator (standaard 8MHz)
* Externe RC-oscillator
* Externe kristal of crystal resonator
* Externe lagefrequentie-crystal
* Externe klok-signaalbron

Ik heb uitgelegd over SUT (start-up tijd) in de volgende stap.

Ik zou schrijven over hoe de berekening van deze waarden op onze eigen, later in dit instructable.

2) BODEN of bruine detectie inschakelen beetje kan bruin uit detectie. Brown uit detectie is over het algemeen uitgeschakeld (1). Programmering van deze bits laag (0) enanbles bruin uit detectie. De reden voor deze functie is dat wanneer de voedingsspanning lager is dan de spanning van de microcontroller voorgeschreven krijgt, begint onregelmatig gedragen. Het kan beginnen met zijn eigen geheugen wissen of willekeurige secties van de flitser kan worden uitgevoerd. Om dit te vermijden, heeft brown detectie functie gekregen. Zodra de levering spanning krijgt lager zijn dan het ingestelde niveau van BZV, de chip zal overschakelen van veilig. Wanneer de voedingsspanning keert weer terug naar normaal, wordt de chip opnieuw gestart.

BODLEVEL - met dit stukje wij annuleerteken troep naar de Brown Out detectie niveau. Voor voorbeeld - als de microcontroller uitgevoerd op 3,3 volt, kunnen we instellen de Brown Out detectie niveau 2.7 volt, zodat als de voedingsspanning dit lager wordt dan de microcontroller waas veilig dicht zal.

Een interessante functie hier op te merken is, andere AVR-microcontrollers zoals Atmega 32 hebben sommige verschillende zekeringen, zoals in de hoge fuse byte ze OCDEN en JTAGEN hebben en in de Atmega 328p er DWEN enz zijn.

Mijn excuses voor de slechte kwaliteit foto's want ik ben het maken van dit instructable van mijn android.

Gerelateerde Artikelen

Het 8Pin ATTINY programmering schild met een externe klok

Het 8Pin ATTINY programmering schild met een externe klok

Instructables schrijver extraordinaire Randofo een grote programmering schild gemaakt voor het gebruik van je Arduino te programmeren 8 pin ATTINY processors. Hij was zelfs genereus genoeg om 50 exemplaren van het uit te geven aan mensen die geschrev
Programmeren van AVR met Arduino als ISP zonder Bootloader en externe Crystal

Programmeren van AVR met Arduino als ISP zonder Bootloader en externe Crystal

Hallo!!. Ik ben Avra en dit is mijn eerste instructable. Hier ga ik uitleggen hoe te branden van codes op standalone AVR ICs zonder gebruik te maken van elke USBASP, elke externe crystal en elke bootloader. U hoeft alleen een Arduino board. Mogelijk
Met behulp van een externe harde aandrijving USB met je Raspberry Pi

Met behulp van een externe harde aandrijving USB met je Raspberry Pi

Experimentele introductie:In veel gevallen is SD capaciteit niet genoeg. Gelukkig kan de Raspberry Pi gemakkelijk worden aangesloten op externe USB harde schijven. Volg de stappen in deze sectie, en binnenkort zul je veel meer opslag aangesloten op j
USBASP Bootloading, een ATMega328p met een interne klok van 8mhZ

USBASP Bootloading, een ATMega328p met een interne klok van 8mhZ

wat zijn we gaan doen is programma een ATMega328P zonder een externe kristal door met behulp van USBASP-programmeur en de Arduino IDE.Waarom zouden we dit willen? Het gebruikt minder componenten en dichter bij het weten hoe te programmeren met zoiets
Controle van Denon AVR met Arduino + Ethernet-shield

Controle van Denon AVR met Arduino + Ethernet-shield

Aan dit project heb ik het opbouwen van een eenvoudig bedieningspaneel voor mijn Denon AVR (AVR-X4100W).Meeste van Denon A / V-ontvangers zijn netwerk klaar, zodat u hen binnen een web interfase of een app bepalen kunt. Er is geen officiële documenta
Hoe een Laptop LCD converteren naar een externe Monitor.

Hoe een Laptop LCD converteren naar een externe Monitor.

Hallo daar. Dit is mijn eerste InstructableEen tijdje terug ik zat rond en vroeg zich af wat te doen met mijn stroomloos laptop. Ik wist dat de moederbord was gebakken maar alles was nog in werkende staat. Dientengevolge, ik besloten om een externe m
Geweldig idee voor een externe ontploft airsoft land mine!

Geweldig idee voor een externe ontploft airsoft land mine!

dit is een prototype voor een externe ontploft airsoft land mine. Ik wil aan herinneren dat dit een prototype dat niet is getest, maar thrugh reaserch en hopothosies verwachting zeer goed te werken. Ik ben ook niet aansprakelijk voor om het even wat
Een externe voeding toe te voegen aan een goedkope USB-hub

Een externe voeding toe te voegen aan een goedkope USB-hub

Op een dag vond ik mezelf in de behoefte aan een USB-hub met een eeuwige voeding maar toen ik ging naar een winkel die ik gecontroleerd dat kunnen zij vrij duurder dan degenen die niet ha\ve externe voeding. Geen big deal, "Ik zal gewoon door een goe
Intel iMac als een externe Monitor

Intel iMac als een externe Monitor

Ik had een 2006 Intel iMac die stierf (printplaat / grafische kaart mislukking) en in plaats van die het aan de bin, ik wilde zetten beide een externe monitor voor mijn scherm-minder 2009 MacBook Pro (LCD stuurprogramma mislukking, bij gebreke batter
Repareren van een gebroken sleutel gehechtheid op een externe ingang keyfob

Repareren van een gebroken sleutel gehechtheid op een externe ingang keyfob

ik kocht onlangs een tweedehands auto die kwam met een externe ingang keyfob.  Helaas, de bijlage voor de keyring was slecht ontworpen, en brak af.  Dus, de vorige eigenaar de sleutels bevestigd met een tuig, gemaakt van glasvezel tape... niet zeer b
Opnieuw purposing een iPhone in een externe iPhone-lader Unu

Opnieuw purposing een iPhone in een externe iPhone-lader Unu

onlangs mijn Unu iPhonegeval brak na, Nou... dropping van mijn telefoon. Het geval bleef niet langer samen, maar het werkte prima als een acculader. Ik voelde dat het zou een schande om te gooien naar het geval, dus heb ik besloten om opnieuw de lade
Een externe microfoon Mount voor een GoPro HERO3 maken

Een externe microfoon Mount voor een GoPro HERO3 maken

Als de GoPro HERO2 werd uitgebracht, daarin een externe microfoonaansluiting in gebouwd.  Het was een 3,5 mm jack aan de kant om aan te sluiten een kleine condensator microfoon in.  De HERO3 bevat ook een externe microfoon jack, maar het is in de vor
Spark Core activeert een externe auto Starter via WiFi

Spark Core activeert een externe auto Starter via WiFi

Externe Starters op auto's zijn geweldig! Ze warm uw auto tijdens de winter en koel in de zomer. Het is leuk om te hebben een afstandsbediening, maar wat als je wilt om te werken verder weg?In mijn kantoor, mijn afstandsbediening niet bereiken helema
Monteren van een externe harde schijf

Monteren van een externe harde schijf

deze tutorial leert u hoe een eenvoudige, goed functionerende externe harde schijf, met behulp van een externe harde schijf case en een interne harde schijf te monteren. U leert hoe om te upgraden of herstellen van een oude harde schijf, en hoe te bo