ATMAG16设计应用
本说明以AVR单片机中ATmega16的熔丝位为例,说明熔丝位如何正确设置。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
外接石英/陶瓷晶体 1111~1010
外接低频晶体(32.768khz) 1001
外接RC振荡器 1000~0101
使用可校准的内部RC振荡器 0100~0001(出厂设置0001,1MHZ)
外部时钟 0
(2)使用外部晶体时的工作模式配置
熔丝位 工作频率范围/MHZ
C1、C2容量/pF 适用晶体
CKOPT CKSEL
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”。
页:
[1]