免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1362 | 回复: 0
打印 上一主题 下一主题

ATmega16的熔丝设置详解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-24 10:35 |只看该作者 |倒序浏览

http://cache.baidu.com/c?m=9d78d513d99007f00fb8c7690d67c0171343f6132ba6a0020fa0870fd33a541b0120a1ac26510d199680397001d80a02b5a17165377471eac4d5cd02cabce66e6a954763234afa1657920eafbc15648337912e95f85ca6c1862592d8d2d1df57&p=86368416d9c240ea49bd9b7e0c4ac1&user=baidu


初学者对熔丝经常不解,AVR芯片使用熔丝来设定时钟、启动时间、一些功能的使能、BOOT区设定、当然还有最让初学者头疼的保密位,设不好锁了芯片很麻烦。要想使MCU功耗最小也要了解一些位的设定
在此写下自己对熔丝的理解,参照了一些MEGA16的PDF文档,双龙的文档,以及大家的帖子。力求易懂、全面。
下面以双龙的在系统编程软件SLISP为例具体说明我对熔丝的理解。

a intro
b 低位(时钟及启动时间设置):
c 时钟总表
d 高位(BOOT区设置):
e 常用熔丝设置
 
打开运行SLISP.exe,首先记住:
1:未编程(配置熔丝检查框未打钩)

0:编程 (配置熔丝检查框打钩)
建议在配置熔丝之前先“读取配置”读出原来的设定,再自己编辑。
先了解一下M16的出厂设置。
默认设置为:内部RC振荡8MHz 6 CK + 65 ms CKSEL=0100 SUT=10
 


低位(时钟及启动时间设置):
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)         以下,MUC复位;当VCC电平大于触发电平后,经过tTOUT 延时周后重新开始工作。
注:1.复选框选中代表0,0电平有效。

   2.因为M16L可以工作在2.7v~5.5v,所以触发电平可选2.7v(BODLEVEL=0)或4.0v(BODLEVEL=1);而M16工作在4.5~5.5V,所以只能选BODLEVEL=0,BODLEVEL=1不适用于ATmega16。
2.复位启动时间选择
SUT 1/0:  当选择不同晶振时,SUT有所不同。
如果没有特殊要求推荐SUT 1/0设置复位启动时间稍长,使电源缓慢上升。
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=1110 SUT=00
高频石英/陶瓷振荡器(3.0-8.0MHZ)    258 CK + 65 ms    CKSEL=1110 SUT=01
高频石英/陶瓷振荡器(3.0-8.0MHZ)    1K CK + 0 ms      CKSEL=1110 SUT=10
高频石英/陶瓷振荡器(3.0-8.0MHZ)    1K CK + 4.1 ms    CKSEL=1110 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=1111 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下载使能
注:在双龙的软件里,SPIEN是不能编辑的,默认为0。
3. CKOPT(选择放大器模式): CKOPT=0:高幅度振荡输出;CKOPT=1:低幅度振荡输出
   当CKOPT 被编程时振荡器在输出引脚产生满幅度的振荡。这种模式适合于噪声环境,以及需要通过XTAL2 驱动第二个时钟缓冲器的情况,而且这种模式的频率范围比较宽。当保持CKOPT 为未编程状态时,振荡器的输出信号幅度比较小。

   其优点是大大降低了功耗,但是频率范围比较窄,而且不能驱动其他时钟缓冲器。(据我测量功耗差别在1mA左右)。
   对于谐振器,当CKOPT未编程时的最大频率为8 MHz,CKOPT编程时为16 MHz。内部RC振荡器工作时不对CKOPT编程。
4.EEAVE(烧录时EEPROM数据保留):  1:不保留;0:保留
  在一次使用EEProm时没注意EEAVE位的编程,调试程序每次烧flash时,EEProm都没了,后来才知道,EEAVE打了勾。
5.BOOTRST(复位入口选择):  1:程序从0x0000地址开始 0:复位后从BOOT区执行(参考BOOTSZ0/1)
6.BOOTSZ 1/0(引导区程序大小及入口):  
00: 1024Word/0xc00;
01: 512Word/0xe00;
10: 256Word/0xf00;
11: 128Word/0xf80



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22754/showart_575853.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP