AVR fuse grunderna: kör en avr med en extern klocka (4 / 6 steg)
Steg 4: En inblick till klockor och oscillatorer.
Vad är en klocka?
En klocka är helt enkelt en anordning som håller reda på tiden, det ger slags dig ett beat att flytta till. Klockan på väggen räknar i steg om sekunder, till exempel. En metronom för ditt instrument kan ge dig ett beat varje halv eller full näst. Antalet gånger en Klockan tickar (cyklar per understöder) kallas dess frekvens, dess mäts i Hertz (Hz eller cykler/sekund). Likaså Atmega har en klocka inuti också, och dess hastighet direkt relaterar till hur många instruktioner ut fullgöra per sekund (på varje tick/cykel av klockan). Standard klockhastighet som kommer med de flesta AVRs är 1 MHz (1 miljon cyklar per understöder).
Den enda disadvntage med en intern oscillator är att dess frekvens byter med spänningen och med temperatur vilket inte är fallet i andra klocka källor.
Hur kan vi ställa en klockfrekvens?
Vi har två alternativ:
Använda den inre, eller använda en extern källa. Om vi skriver en kod som gör grundläggande saker, och inte kräver precision timing, borde den interna klockan räcka. I andra fall, särskilt för kommunikation (dvs. med UART till exempel), timing är kritisk. I så fall, behöver vi en alternativ metod, så vi använder saker som kristaller, resonatorer, oscillatorer och klockor. De är alla lämpliga att producera beat vi söker, för den frekvens som vi söker, men de vanligaste bland hobbyister är kristaller och resonator. Vi kommer att använda en kristall för denna tutorial.
Om du vill använda kristallen kräver vi också två keramiska 18-22 pF kondensatorer. En resonator, har å andra sidan, kondensatorer och kristall inbyggt i ett paket, vilket gör det lite mer kompakt. Det är ganska mycket bara skillnaden, men det kan vara subtila skillnader i inställningen fuse bitar om en resonator används. Oscillatorer kräver en extern strömkälla att fungera, och har oftast fyra stift.
Starttid (SUT)
Klockan källor behöver vanligtvis lite tid att värma upp och börja ge oss en pålitlig signal när mikrokontroller är aktiverat. Detta kallas starttiden.