Reklama

Programovací propojky mikrokontroléru ATmega16/32

Úvod

Při programování mikrokontroléru budeme muset také kromě vlastního programu nastavit programovací propojky. K nastavení programovacích propojek mikrokontroléru ATmega32 slouží šestnáct bitů. Horní byte bývá v programovacích aplikacích nazývaný jako např. HighValue, nebo hFuse. Spodní byte bývá označován jako např. LowValue, nebo lFuse. Původní nastavení propojek v aplikaci PROGISP ukazuje následující obrázek Obr. 1.
obr1

Obr. 1: Původní nastavení programovacích propojek v programu PROGISP.

Horní byte propojek

 
OCDEN – Pokud je tento bit nastaven do stavu log. 1, je zakázáno ladění na čipu.
JTAGEN – Pokud je tento bit nastaven do stavu log. 1, je zakázaná funkce JTAG.
SPIEN – Pokud je tento bit nastaven do stavu log. 1, je zakázaná funkce sériového programování a stahování dat.
CKOPT – Nastavení oscilátoru.
EESAVE – Pokud je tento bit nastaven do stavu log. 1, tak při smazání čipu dojde i ke smazání paměti EEPROM.
BOOTSZ1, BOOTSZ0 – nastavení velikosti místa bootloaderu. Jednotlivé kombinace nastavení ukazuje tabulka Tab. 1.
BOOTRST – pokud je tento bit nastaven do stavu log. 1, jsou vektory přerušení a resetu uloženy ve Flash paměti, v opačném případě jsou uloženy v sekci pro bootloader.

Tab. 1: Nastavení velikosti místa bootloaderu.

BOOTSZ1 BOOTSZ0 Velikost
1 1 256 words
1 0 512 words
0 1 1024 words
0 0 2048 words

 

Dolní byte propojek

 
BODLEVEL – Vybírá úroveň pro detekci výpadku napájení a také mění čas naběhnutí mikrokontroléru. Pokud je tento bit nastaven do stavu log. 1, tak je vybrána úroveň 2,7 V. V opačném případě je vybrána úroveň 4 V.
BODEN – Pokud je tento bit nastaven do stavu log. 1, tak dojde k vypnutí detektoru výpadku napájení.
SUT1, SUT0 – Vybírá čas nastartování mikrokontroléru z režimů Power-down a Power-save. Nastavení času nastartování ukazuje Tab. 2.

Tab. 2: Nastavení startovacího času.

SUT1 SUT0 Startovací čas Přidané zpoždění (Vcc = 5V)
0 0 6 CK -
0 1 6 CK 4,1 ms
1 0 6 CK 65 ms
1 1 rezervováno rezervováno

 
CKSEL3 , CKSEL2, CKSEL1, CKSEL0 – Slouží k nastavení zdroje hodinového signálu. Jednotlivé nastavení ukazuje Tab. 3.

Tab. 3: Nastavení zdroje hodinového signálu.

CKSEL3 – CKSEL0 Zdroj hodinového signálu
1111 – 1010 Externí krystal, nebo keramický rezonátor
1001 Externí nízkofrekvenční krystal
1000 – 0101 Externí RC oscilátor
0100 – 0001 Kalibrovaný vnitřní oscilátor
0000 Externí hodinový signál

 

Nastavení bitů CKSEL3 – CKSEL1 a CKOPT při použití krystalového oscilátoru, viz Obr. 2 a Tab 4.:

Obr. 2: Připojení krystalového oscilátoru, viz. [1]

Obr. 2: Připojení krystalového oscilátoru, viz. [1]

Tab. 4: Výběr frekvenčního rozsahu pro krystalový oscilátor.

CKOPT CKSEL3 – 1 Frekvenční rozsah [MHz] Doporučená velikost kondenzátorů C1 a C2 [pf]
1 101 0.4 – 0.9 Pouze keramické rezonátory
1 110 0.9 – 3.0 12 – 22
1 111 3.0 – 8.0 12 – 22
0 101, 110, 111 1.0 ≤ 12 – 22

 

Nastavení bitů CKSEL0 a SUT1 – SUT0 při použití krystalového oscilátoru:

Tab. 5: Výběr startovacího času pro krystalový oscilátor.

CKSEL0 SUT1 – 0 Startovací čas pro Power-down a Power-save Přidané zpoždění [ms] pro Ucc = 5V Doporučené použití
0 00 258 hodinových cyklů 4,1 keramické rezonátory – rychlý náběh
0 01 258 hodinových cyklů 65 keramické rezonátory – pomalý náběh
0 10 1k hodinových cyklů - keramické rezonátory – povolena detekce poklesu napětí
0 11 1k hodinových cyklů 4,1 keramické rezonátory – rychlý náběh
1 00 1k hodinových cyklů 65 keramické rezonátory – pomalý náběh
1 01 16k hodinových cyklů - krystalové oscilátory – povolena detekce poklesu napětí
1 10 16k hodinových cyklů 4,1 krystalové oscilátory – rychlý náběh
1 11 16k hodinových cyklů 65 krystalové oscilátory – pomalý náběh

 
Nastavení jednotlivých bitů pro režimy: Nízkofrekvenční krystalový oscilátor, Externí RC oscilátor, Kalibrovaný interní oscilátor a Externí zdroj hodinového signálu zde popisovat nebudu, ale lze je nalézt ZDE
 
K nastavení programovacích propojek lze také použít online nástroj dostupný na: http://www.engbedded.com/fusecalc/

 
Aktualizace: 28.5.2015
 

[1] ATMEL. 8-bit Microcontroller with 32KBytes In-System Programmable Flash. [online] citováno 4. dubna 2015. Dostupné na www: http://www.atmel.com/images/doc2503.pdf
Následující a předchozí příspěvek v kategorii:

 

Následující: Řízení RGB LED pásku pomocí mikrokontroléru ATmeg16

Předchozí: Vytvoření zpoždění pro mikrokontrolér ATmega v programovacím jazyce C

 
Tajned facebook
 

Za případné chyby v textu, ve zdrojovém kódě, nebo ve schématickém zapojení se omlouváme.
AUTOŘI NEBEROU ŽÁDNOU ODPOVĚDNOST ZA PŘÍPADNÉ ÚJMY NA ZDRAVÍ ČI MAJETKU.