打印

AVR单片机的熔丝位设置问题

[复制链接]
1831|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yajinji|  楼主 | 2013-3-1 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  初学者对熔丝经常不解,AVR芯片使用熔丝来设定时钟、启动时间、一些功能的使能、BOOT区设定、当然还有最让初学者头疼的保密位,设不好锁了芯片很麻烦。要想使MCU功耗最小也要了解一些位的设定。
  1:未编程
  0:编程
  1、BOD(Brown-out Detection) 掉电检测电路
  BODLEVEL(BOD电平选择): 1: 2.7V电平; 0:4.0V电平
  BODEN(BOD功能控制): 1:BOD功能禁止;0:BOD功能允许
  使用方法:如果BODEN使能(复选框选中)启动掉电检测,则检测电平由BODLEVEL决定。一旦VCC下降到触发电平(2.7v或4.0v)以下,MCU复位;当VCC电平大于触发电平后,经过tTOUT 延时周后重新开始工作。
  因为M16L可以工作在2.7v~5.5v,所以触发电平可选2.7v(BODLEVEL=1)或4.0v(BODLEVEL=0);而M16工作在4.5~5.5V,所以只能选BODLEVEL=0,BODLEVEL=1不适用于ATmega16。
  2、复位启动时间选择
  SUT 1/0: 当选择不同晶振时,SUT有所不同。
  如果没有特殊要求推荐SUT 1/0设置复位启动时间稍长,使电源缓慢上升。
  3、CKSEL3/0: 时钟源选择(时钟总表)
  时钟总表:
  时钟源 启动延时 熔丝
  外部时钟 6 CK + 0 ms CKSEL=0000 SUT="00"
  外部时钟 6 CK + 4.1 ms CKSEL=0000 SUT="01"
  外部时钟 6 CK + 65 ms CKSEL="0000" SUT="10"
  内部RC振荡1MHZ 6 CK + 0 ms CKSEL="0001" SUT="00"
  内部RC振荡1MHZ 6 CK + 4.1 ms CKSEL="0001" SUT="01"
  内部RC振荡1MHZ1 6 CK + 65 ms CKSEL="0001" SUT="10"
  内部RC振荡2MHZ 6 CK + 0 ms CKSEL="0010" SUT="00"
  内部RC振荡2MHZ 6 CK + 4.1 ms CKSEL="0010" SUT="01"
  内部RC振荡2MHZ 6 CK + 65 ms CKSEL="0010" SUT="10"
  内部RC振荡4MHZ 6 CK + 0 ms CKSEL="0011" SUT="00"
  内部RC振荡4MHZ 6 CK + 4.1 ms CKSEL="0011" SUT="01"
  内部RC振荡4MHZ 6 CK + 65 ms CKSEL="0011" SUT="10"
  内部RC振荡8MHZ 6 CK + 0 ms CKSEL="0100" SUT="00"
  内部RC振荡8MHZ 6 CK + 4.1 ms CKSEL="0100" SUT="01"
  内部RC振荡8MHZ 6 CK + 65 ms CKSEL="0100" SUT="10"
  外部RC振荡≤0.9MHZ 18 CK + 0 ms CKSEL="0101" SUT="00"
  外部RC振荡≤0.9MHZ 18 CK + 4.1 ms CKSEL="0101" SUT="01"
  外部RC振荡≤0.9MHZ 18 CK + 65 ms CKSEL="0101" SUT="10"
  外部RC振荡≤0.9MHZ 6 CK + 4.1 ms CKSEL="0101" SUT="11"
  外部RC振荡0.9-3.0MHZ 18 CK + 0 ms CKSEL="0110" SUT="00"
  外部RC振荡0.9-3.0MHZ 18 CK + 4.1 ms CKSEL="0110" SUT="01"
  外部RC振荡0.9-3.0MHZ 18 CK + 65 ms CKSEL="0110" SUT="10"
  外部RC振荡0.9-3.0MHZ 6 CK + 4.1 ms CKSEL=0110 SUT="11"
  外部RC振荡3.0-8.0MHZ 18 CK + 0 ms CKSEL=0111 SUT="00"
  外部RC振荡3.0-8.0MHZ 18 CK + 4.1 ms CKSEL="0111" SUT="01"
  外部RC振荡3.0-8.0MHZ 18 CK + 65 ms CKSEL=0111 SUT="10"
  外部RC振荡3.0-8.0MHZ 6 CK + 4.1 ms CKSEL="0111" SUT="11"
  外部RC振荡8.0-12.0MHZ 18 CK + 0 ms CKSEL=1000 SUT="00"
  外部RC振荡8.0-12.0MHZ 18 CK + 4.1 ms CKSEL="1000" SUT="01"
  外部RC振荡8.0-12.0MHZ 18 CK + 65 ms CKSEL="1000" SUT="10"
  外部RC振荡8.0-12.0MHZ 6 CK + 4.1 ms CKSEL="1000" SUT="11"
  低频晶振(32.768KHZ) 1K CK + 4.1 ms CKSEL="1001" SUT="00"
  低频晶振(32.768KHZ) 1K CK + 65 ms CKSEL="1001" SUT="01"
  低频晶振(32.768KHZ) 32K CK + 65 ms CKSEL="1001" SUT="10"
  低频石英/陶瓷振荡器(0.4-0.9MHZ) 258 CK + 4.1 ms CKSEL="1010" SUT="00"
  低频石英/陶瓷振荡器(0.4-0.9MHZ) 258 CK + 65 ms CKSEL="1010" SUT="01"
  低频石英/陶瓷振荡器(0.4-0.9MHZ) 1K CK + 0 ms CKSEL=1010 SUT="10"
  低频石英/陶瓷振荡器(0.4-0.9MHZ) 1K CK + 4.1 ms CKSEL="1010" SUT="11"
  低频石英/陶瓷振荡器(0.4-0.9MHZ) 1K CK + 65 ms CKSEL="1011" SUT="00"
  低频石英/陶瓷振荡器(0.4-0.9MHZ) 16K CK + 0 ms CKSEL=1011 SUT="01"
  低频石英/陶瓷振荡器(0.4-0.9MHZ) 16K CK + 4.1ms CKSEL="1011" SUT="10"
  低频石英/陶瓷振荡器(0.4-0.9MHZ) 16K CK + 65ms CKSEL="1011" SUT="11"
  中频石英/陶瓷振荡器(0.9-3.0MHZ) 258 CK + 4.1 ms CKSEL="1100" SUT="00"
  中频石英/陶瓷振荡器(0.9-3.0MHZ) 258 CK + 65 ms CKSEL="1100" SUT="01"
  中频石英/陶瓷振荡器(0.9-3.0MHZ) 1K CK + 0 ms CKSEL=1100 SUT="10"
  中频石英/陶瓷振荡器(0.9-3.0MHZ) 1K CK + 4.1 ms CKSEL="1100" SUT="11"
  中频石英/陶瓷振荡器(0.9-3.0MHZ) 1K CK + 65 ms CKSEL="1101" SUT="00"
  中频石英/陶瓷振荡器(0.9-3.0MHZ) 16K CK + 0 ms CKSEL="1101" SUT="01"
  中频石英/陶瓷振荡器(0.9-3.0MHZ) 16K CK + 4.1ms CKSEL="1101" SUT="10"
  中频石英/陶瓷振荡器(0.9-3.0MHZ) 16K CK + 65ms CKSEL="1101" SUT="11"
  高频石英/陶瓷振荡器(3.0-8.0MHZ) 258 CK + 4.1 ms CKSEL="111"0 SUT="00"
  高频石英/陶瓷振荡器(3.0-8.0MHZ) 258 CK + 65 ms CKSEL="111"0 SUT="01"
  高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 0 ms CKSEL="111"0 SUT="10"
  高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 4.1 ms CKSEL="111"0 SUT="11"
  高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 65 ms CKSEL="1111" SUT="00"
  高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 0 ms CKSEL="1111" SUT="01"
  高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 4.1ms CKSEL="111"1 SUT="10"
  高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 65ms CKSEL="1111" SUT="11"
  高位(BOOT区设置):
  1、 JTAGEN(JTAG允许):
  1:JTAG禁止;
  0:JTAG允许
  OCDEN(OCD功能允许):
  1:OCD功能禁止;
  0:OCD功能允许
  注:OCDEN(On-chip Debug):片上调试使能位
  JTAGEN(JTAG使能): JTAG测试访问端口
  使用方法:在JTAG调试时,使能OCDEN JTAGEN两位(复选框打勾),并保持所有的锁定位处于非锁定状态;在实际使用时为降低功耗,不使能OCDEN JTAGEN,大约减少2-3mA的电流。
  2、 SPIEN(SPI下载允许):
  1:SPI下载禁止;
  0:SPI下载使能
  注:在ISP的软件里,SPIEN是不能编辑的,默认为0。
  3、 CKOPT(选择放大器模式):
  CKOPT=0:高幅度振荡输出;
  CKOPT=1:低幅度振荡输出
  当CKOPT 被编程时振荡器在输出引脚产生满幅度的振荡。这种模式适合于噪声环境,以及需要通过XTAL2 驱动第二个时钟缓冲器的情况,而且这种模式的频率范围比较宽。当保持CKOPT 为未编程状态时,振荡器的输出信号幅度比较小。其优点是大大降低了功耗,但是频率范围比较窄,而且不能驱动其他时钟缓冲器。
  对于谐振器,当CKOPT未编程时的最大频率为8 MHz,CKOPT编程时为16 MHz。内部RC振荡器工作时不对CKOPT编程。
  4、EEAVE(烧录时EEPROM数据保留):
  1:不保留;
  0:保留
  5、BOOTRST(复位入口选择):
  1:程序从0x0000地址开始
  0:复位后
  从BOOT区执行(参考BOOTSZ0/1)
  6、BOOTSZ 1/0(引导区程序大小及入口):
  00: 1024Word/0xc00;
  01: 512Word/0xe00;
  10: 256Word/0xf00;
  11: 128Word/0xf80

相关帖子

沙发
hkl_fs| | 2013-3-1 21:10 | 只看该作者
拜读学习了很好啊

使用特权

评论回复
板凳
huangfeng33| | 2013-3-3 17:09 | 只看该作者
很不错的资料啊,不恰当的设置会造成芯片锁死,带来不必要的麻烦,学习了

使用特权

评论回复
地板
cjhk| | 2013-3-3 19:28 | 只看该作者
谢谢了  AVR单片机没有用过   这一块了解的不多   谢谢你的总结  谢谢了  好好   资料有空需要好好整理消化一下   谢谢了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:单线压筋机http://www.masxdf.com/,可压筋和交叉骨压筋。

5

主题

5

帖子

0

粉丝