2013/01/23 Atmega328のヒューズビットを勉強する。

 ============== 
自作のまとめページ 
http://emaken.com/project/2012/2012.html 
============== 
boards.txtにあるヒューズビットについて調べました。

疑問点がいくつか。

・BODの設定が3.3V用になっている。3.3Vでも動作しそう。
・BOOTSZの設定は、bootloaderの領域を指しているのか?
・水晶振動子の場合もLow power crystalでいいのか?

#################################################
uno.name=Arduino Uno
uno.upload.protocol=stk500
uno.upload.maximum_size=32256
uno.upload.speed=115200
uno.bootloader.low_fuses=0xff
uno.bootloader.high_fuses=0xde
uno.bootloader.extended_fuses=0x05

uno.bootloader.path=optiboot
uno.bootloader.file=optiboot_atmega328.hex
uno.bootloader.unlock_bits=0x3F
uno.bootloader.lock_bits=0x0F
uno.build.mcu=atmega328p
uno.build.f_cpu=16000000L
uno.build.core=arduino
################################################


Extended Fuse Byte or ATmega328/328P

Extended Fuse Byte Bit No Description Default value unoの設定
(boards.txt)
- 7 - 1 0
- 6 - 1 0
- 5 - 1 0
- 4 - 1 0
- 3 - 1 0
BODLEVEL2 2 Brown-out Detector trigger level 1(unprogrammed) 1
BODLEVEL1 1 Brown-out Detector trigger level 1(unprogrammed) 0
BODLEVEL0 0 Brown-out Detector trigger level 1(unprogrammed) 1

(doc8271.pd, Table28-6より転載)

BODLEVEL Fuse Coding

BODLEVEL 2:0 Fuses Min. Vbot Typ Vbot Max Vbot Units 備考
111 BOD Disabled
110 1.7 1.8 2.0 V
101 2.5 2.7 2.9 Unoの設定
100 4.1 4.3 4.5
011 Reserved
010
001
000

(doc8271.pdf, Table 29-13より転載)


Fuse High Byte or ATmega328/328P

High Fuse Byte Bit No Description Default Value Unoの設定
(boards.txt)
RSTDISBL 7 External Reset Disable 1(unprogrammed)
RESETピン 1:有効、0:無効
1
DWEN 6 debugWIRE Enable 1(unprogrammed)
オンチップデバッグ
0:有効、1:無効
1
SPIEN 5 Enable Serial Program and Data Downloading 0 (programmed, SPI programming enabled)
0:ISP書き込み許可、1:禁止
0
WDTON 4 Watchdog Timer Always On 1(unprogrammed)
1:通常、0:常時ON
1
EESAVE 3 EEPROM memory is preseverd through the Chip Erase 1(unprogrammed),EEPROM not reserved
チップイレーズ時、EEPROMを
1:消去、0:保持
1
BOOTSZ1 2 Select Boot Size 0(programmed) 1
BOOTSZ0 1 Select Boot Size 0(programmed) 1
BOOTRST 0 Select Reset Vector 1(unprogrammed) 0


Boot Size Configuration, ATmega328/328P

BOOTSZ1 BOOTSZ0 Boot size Pages Application
Flash
Section
Boot
Loader
Flash
Section
End
Application
Section
Boot Reset Address
(Start Boot Loader Section)
1 1 256 words 4 0x0000 - 0x3EFF 0x3F00 - 0x3FFF 0x3EFF 0x3F00 Unoの設定
1 0 512 words 8 0x0000 - 0x3DFF 0x3E00 - 0x3FFF 0x3DFF 0x3E00
0 1 1024words 16 0x0000 - 0x3BFF 0x3C00 - 0x3FFF 0x3BFF 0x3C00
0 0 2048words 32 0x0000 - 0x37FF 0x3800 - 0x3FFF 0x37FF 0x3800

(doc8271.pdf, Table27-13より転載)


Fuse Low Byte

Low Fuse Byte Bit No Description Default Value Unoの設定
CKDIV8 7 Divide clock by 8 0(programmed) 1
CKOUT 6 Clock output 1(unprogrammed) 1 0(programmed):CLKOピンにシステムクロックを出力。
SUT1 5 Select start-up time 1(unprogrammed) 1
SUT0 4 Select start-up time 0(programmed) 1
CKSEL3 3 Select Clock source 0(programmed) 1
CKSEL2 2 Select Clock Source 0(programmed) 1
CKSEL1 1 Select Clock Source 1(unprogrammed) 1
CKSEL0 0 Select Clock Source 0(programmed) 1

(doc8271.pdf Table28-9より転載)

Start-up Times for the External Clock Selection

Power Conditions Start-up Time form Power
down and Power state
Additional Delay fom
Reset (Vcc=5.0V)
SUT 1..0
BOD Enabled 6CK 14CK 00
Fast rising power 6CK 14CK + 4.1ms 01
Slowly rising power 6CK 14CK + 65ms 10
Reserved 11 Unoの設定

(doc8271.pdf Table9-16より転載)

Device Clocking Options Select

Device Clocking Option CKSEL3..0
Low Power Crystal Oscillator 1111 - 1000
Unoで使用
Full Swing Crystal Oscillator 0111 - 0110 フルスイング、クリスタルで動作
0.4-20MHzで動作
CKSEL0でクロックの立ち上がりを規定(Table9-6)
Low Frequency Crystal Oscillator 0101 - 0100 外部32.768kHzクリスタルで動作
Internal 128kHz RC Oscillator 0011 内部128kHz発信回路で動作
Calibrated Internal RC Oscillator 0010 内部RC発信回路でクロックを生成
7.3 - 8.1MHzで動作
External Clock 0000 外部発信器で動作
0 - 20MHz
Reserved 0001

(doc8271.pdf, Table9-1より転載)


Low Power Crystal Oscillator Operating Modes

Frequency Range
(MHz)
Recommended Range for
Capactitos C1 and C2(pF)
CKSEL3..1
0.4 - 0.9 - 100
0.9 - 3.0 12 - 22 101
3.0 -8.0 12 - 22 110
8.0 - 16.0 12 - 22 111 Unoで使用

(doc8271.pdf Table 9 -3より転載)


Start-up Times fo the Low Power Crystal Oscillator Clock Selection

Oscillator Source/
Power Conditions
Start-up Time from
Power-down and
Power-save
Additional Delay
from Reset
(Vcc=5.0V)
CKSEL0 SUT1..0
Ceramic resonator, fast rising power 258CK 14CK + 4.1ms 0 00
Ceramic resonator, slowly rising power 258CK 14CK + 65ms 0 01
Ceramic resonator, BOD enabled 1K CK 14CK 0 10
Ceramic resonator, fast rising power 1K CK 14CK + 4.1ms 0 11
Ceramic resonator, slowly rising power 1K CK 14CK + 65ms 1 00
Crystal Oscillator, BOD enabled 16K CK 14CK 1 01
Crystal Oscillator, fast rising power 16K CK 14CK + 4.1ms 1 10
Cyrstal Oscillator, slowly rising power 16K CK 14CK + 65ms 1 11
コメント
トラックバック
この記事のトラックバックURL