EDN首页   博客首页

日志档案

发表于 2007-6-15 9:35:54

2

标签: M16熔丝位  

ATmega16的熔丝设置详解

初学者对熔丝经常不解,AVR芯片使用熔丝来设定时钟、启动时间、一些功能的使能、BOOT区设定、当然还有最让初学者头疼的保密位,设不好锁了芯片很麻烦。要想使MCU功耗最小也要了解一些位的设定

在此写下自己对熔丝的理解,参照了一些MEGA16PDF文档,双龙的文档,以及大家的帖子。力求易懂、全面。

下面以双龙的在系统编程软件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电平; 04.0V电平

BODEN(BOD功能控制): 1BOD功能禁止;0BOD功能允许

使用方法:如果BODEN使能(复选框选中)启动掉电检测,则检测电平由BODLEVEL决定。一旦VCC下降到触发电平(2.7v4.0v)以下,MCU复位;当VCC电平大于触发电平后,经过tTOUT 延时周后重新开始工作。

注:1.复选框选中代表00电平有效。            

   2.因为M16L可以工作在2.7v5.5v,所以触发电平可选2.7v(BODLEVEL=0)4.0v(BODLEVEL=1);M16工作在4.55.5V,所以只能选BODLEVEL=0BODLEVEL=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="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="111"1 SUT="01"