AVR单片机熔丝位设置详细知识文档

1.编程与状态说明       

(1)在avr的器件手册中,使用已编程(programmed)和未编程(unprogrammed)定义熔丝位的状态。未编程表示熔丝位状态为“1”(禁止);已编程表示熔丝位状态为“0”(允许)。       

(2)avr的熔丝位可以多次编程,不是一次性的opt熔丝。    

(3)熔丝位的配置可以通过并行方式、isp串行方式和jtag串行方式实现。    

(4)avr芯片加密锁定后(lb2/lb1=1/0,0/0)不能通过任何方式读取芯片内部的flash和eeprom数据,但是熔丝位的状态仍然可以读取,只是不能修改配置。    

(5)芯片擦除命令是将flash和eeprom中的数据清除,并同时将两位锁定位状态配置成无锁定的状态(lb2/lb1=1/1),但芯片擦除命令不改变其熔丝位的配置。    

(6)下载编程的正确操作程序是:对芯片无锁定状态下,下载运行代码和数据,配置相关的熔丝位,最后配置芯片的加密锁定位。    

(7)如果芯片被加密锁定后,发现熔丝位配置不对,则必须使用擦除命令,清楚芯片的数据,解除加密锁定,然后重新下载运行代码和数据,修改配置相关的熔丝位,最后再次配置芯片的加密锁定位。

2.芯片加密锁定熔丝

加密锁定位

保护类型(用于芯片加密)

加密锁定方式

lb2

lb1

1(出厂设置)

1

1

无任何编程加密锁定保护

2

1

0

禁止串/并行方式的再编程

3

0

0

禁止串/并行方式的再编程和校验

3.功能熔丝

熔丝位名称

说明

出厂设置

wdton

看门狗有软件控制

看门狗始终工作,软件只能调节溢出时间

1

spien

禁止isp串行编程

允许isp串行编程

0

jtagen

禁止jtag口

允许jtag口

0

eesave

芯片擦除时同时擦除eeprom数据

芯片擦除时不擦除eeprom数据

1

boden

禁止低电压检测功能

允许低电压检测功能

1

bodlevel

低电压检测门限电平为2.7v

低电压检测门限电平为4.0v

1

ocden

禁止jtag口的在线调试功能

允许jtag口的在线调试功能

1

4.bootloader的熔丝位(1)上电启动地址选择

熔丝位名称

说明

出厂设置

bootrst

芯片上电后从地址0x0000开始执行

上电后从boot区开始执行

1

(2)bootloader区大小设置

bootsz1

bootsz0

boot区大小/字

起始地址

出厂设置

0

0

1024

0x1c00

00

0

1

512

0x1e00

1

0

256

0x1f00

1

1

128

0x1f80

5.有关系统时钟源的选择熔丝位(1)系统时钟选择

系统时钟源

cksel[3:0]

外接石英/陶瓷晶体

1111~1010

外接低频晶体(32.768khz)

1001

外接rc振荡器

1000~0101

使用可校准的内部rc振荡器

0100~0001(出厂设置0001,1mhz)

外部时钟

0

(2)使用外部晶体时的工作模式配置

熔丝

工作频率范围/mhz

c1、c2容量/pf

适用晶体

ckopt

cksel[3:0]

1

101

0.4~0.9

注释(1)

陶瓷晶体

1

110

0.9~3.0

12~22

石英晶体

1

111

3.0~8.0

12~22

0

101~111

>=1.0

12~22

注释(1):对陶瓷晶体振荡所配的电容,请按照厂家说明使用;    
注释(2):当ckopt=0时,振荡器的输出振幅较大,适用于干扰大的场合;反之,振荡器的输出振幅较小,可以降低功耗,对外电磁辐射也较小;
   
注释(3):ckopt默认状态为“1”。

熔丝位的解锁:avr单片机熔丝位如果操作失误,可能导致单片机假死,比如设定的晶振频率与实际晶振不匹配,一般来讲,由于晶振设置的错误可以通过更改实际的晶振或者使用有源晶振进行解锁,有源晶振按照工作电路接好以后,接入到单片机的外部时钟引脚,然后使用单片机isp设备打开熔丝位,更改单片机的时钟为内部1m或者其他内部时钟频率,就可以达到解锁的目的。

posted on 2012-07-10 16:01  Arrow.Lu  阅读(1612)  评论(0)    收藏  举报