AVR熔丝位设置大全

发布者:行者无疆1978最新更新时间:2016-10-31 来源: eefocus关键字:AVR  熔丝位设置 手机看文章 扫描二维码
随时随地手机看文章
对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。有关ATmega128熔丝位的具体定义和功能请查看本书相关章节,在附录中将给出一个完整的汇总表。 
(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。 
(2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,请首先仔细阅读软件的使用说明,弄清楚“√”表示设置熔丝位状态为“0”还是为“1”。 
(3)使用CVAVR中的编程下载程序时应特别注意,由于CVAVR编程下载界面初始打开时,大部分熔丝位的初始状态定义为“1”,因此不要使用其编程菜单选项中的“all”选项。此时的“all”选项会以熔丝位的初始状态定义来配置芯片的熔丝位,而实际上其往往并不是用户所需要的配置结果。如果要使用“all”选项,应先使用“read->fuse bits”读取芯片中熔丝位实际状态后,再使用“all” 选项。 
(4)新的AVR芯片在使用前,应首先查看它熔丝位的配置情况,再根据实际需要,进行熔丝位的配置,并将各个熔丝位的状态记录备案。 
(5)AVR芯片加密以后仅仅是不能读取芯片内部Flash和E2PROM中的数据,熔丝位的状态仍然可以读取但不能修改配置。芯片擦除命令是将Flash和E2PROM中的数据清除,并同时将两位锁定位状态配置成“11”,处于无锁定状态。但芯片擦除命令并不改变其它熔丝位的状态。 
(6)正确的操作程序是:在芯片无锁定状态下,下载运行代码和数据,配置相关的熔丝位,最后配置芯片的锁定位。芯片被锁定后,如果发现熔丝位配置不对,必须使用芯片擦除命令,清除芯片中的数据,并解除锁定。然后重新下载运行代码和数据,修改配置相关的熔丝位,最后再次配置芯片的锁定位。 
(7)使用ISP串行方式下载编程时,应配置SPIEN熔丝位为“0”。芯片出厂时SPIEN位的状态默认为“0”,表示允许ISP串行方式下载数据。只有该位处于编程状态“0”,才可以通过AVR的SPI口进行ISP下载,如果该位被配置为未编程“1”后,ISP串行方式下载数据立即被禁止,此时只能通过并行方式或JTAG编程方式才能将SPIEN的状态重新设置为“0”,开放ISP。通常情况下,应保持SPIEN的状态为“0”,允许ISP编程不会影响其引脚的I/O功能,只要在硬件电路设计时,注意ISP接口与其并接的器件进行必要的隔离,如使用串接电阻或断路跳线等。 
(8)当你的系统中,不使用JTAG接口下载编程或实时在线仿真调试,且JTAG接口的引脚需要作为I/O口使用时,必须设置熔丝位JTAGEN的状态为“1”。芯片出厂时JTAGEN的状态默认为“0”,表示允许JTAG接口,JTAG的外部引脚不能作为I/O口使用。当JTAGEN的状态设置为“1”后,JTAG接口立即被禁止,此时只能通过并行方式或ISP编程方式才能将JTAG重新设置为“0”,开放JTAG。 
(9)一般情况下不要设置熔丝位把RESET引脚定义成I/O使用(如设置ATmega8熔丝位RSTDISBL的状态为“0”),这样会造成ISP的下载编程无法进行,因为在进入ISP方式编程时前,需要将RESET引脚拉低,使芯片先进入复位状态。 
(10)使用内部有RC振荡器的AVR芯片时,要特别注意熔丝位CKSEL的配置。一般情况下,芯片出厂时CKSEL位的状态默认为使用内部1MHz的RC振荡器作为系统的时钟源。如果你使用了外部振荡器作为系统的时钟源时,不要忘记首先正确配置CKSEL熔丝位,否则你整个系统的定时都会出现问题。而当在你的设计中没有使用外部振荡器(或某钟特定的振荡源)作为系统的时钟源时,千万不要误操作或错误的把CKSEL熔丝位配置成使用外部振荡器(或其它不同类型的振荡源)。一旦这种情况产生,使用ISP编程方式则无法对芯片操作了(因为ISP方式需要芯片的系统时钟工作并产生定时控制信号),芯片看上去“坏了”。此时只有使用取下芯片使用并行编程方式,或使用JTAG方式(如果JTAG为允许时且目标板上留有JTAG接口)来解救了。另一种解救的方式是:尝试在芯片的晶体引脚上临时人为的叠加上不同类型的振荡时钟信号,一旦ISP可以对芯片操作,立即将CKSEL配置成使用内部1MHz的RC振荡器作为系统的时钟源,然后再根据实际情况重新正确配置CKSEL。 
(11)使用支持IAP的AVR芯片时,如果你不使用BOOTLOADER功能,注意不要把熔丝位BOOTRST设置为“0”状态,它会使芯片在上电时不是从Flash的0x0000处开始执行程序。芯片出厂时BOOTRST位的状态默认为“1”。关于BOOTRST的配置以及BOOTLOADER程序的设计与IAP的应用请参考本章相关内容。 
二、mega8熔丝位:1:未编程(不选中)0:编程(选中)
***************************************
熔丝位        说明            缺省设置
***************************************
RSTDISBL:    复位或I/O功能选择    1        1:复位功能;0:I/O功能(PC6)
WDTON:       看门狗开关           1        1:看门狗打开(通过WDTCR允许);0:看门狗禁止
SPIEN:       SPI下载允许          0        1:SPI下载禁止;0:SPI下载允许(注:当使用SPI编程时,该项不可用)
EEAVE:      烧录时EEPROM数据保留  1        1:不保留;0:保留
BODEN:       BOD功能控制          1        1:BOD功能禁止;0:BOD功能允许
BODLEVEL:    BOD电平选择          1        1:2.7V电平;0:4.0V电平
BOOTRST:    复位入口选择          1        1:程序从0x0000地址开始执行;0:程序从引导区确定的入口地址开始执行
***************************************
BOOTSZ1/0:  引导程序大小及入口    00        
00:1024Word/0xc00;
01:512Word/0xe00;
10:256Word/0xf00;
11:128Word/0xf80
***************************************
BLB02/01:   程序区指令位选择      11
11:SPM和LPM指令都允许执行
10:SPM指令禁止写程序区
01:引导区LPM指令禁止读取程序区内容;如果中断向量定义在引导区,则禁止该中断在程序区执行。
00:SPM指令禁止写程序区;引导区LPM指令禁止读取程序区内容;如果中断向量定义在引导区,则禁止该中断在程序区执行。
***************************************
BLB12/11:   引导区指令位选择      11
11:SPM和LPM指令都允许执行
10:SPM指令禁止写引导区
01:程序区LPM指令禁止读取引导区内容;如果中断向量定义在程序区,则禁止该中断在引导区执行。
00:SPM指令禁止写引导区;程序区LPM指令禁止读取引导区内容;如果中断向量定义在程序区,则禁止该中断在引导区执行。
***************************************
LB2/1:      程序区加密位选择      11        
11:未加密
10:程序和EEPROM编程功能禁止,熔丝位锁定
00:程序和EEPROM编程及校验功能禁止,熔丝位锁定
(注:先编程其他熔丝位,再编程加密位)
***************************************
CKSEL3/0:    时钟源选择           0001
CKOPT:       晶振选择             1
SUT1/0:      复位启动时间选择     10
***************************************
CKSEL3/0=0000:外部时钟,CKOPT=0:允许芯片内部XTAL1管脚对GND接一个36PF电容;CKOPT=1:禁止该电容
----------------
CKSEL3/0=0001-0100:已经校准的内部RC振荡,CKOPT总为1
0001:1.0M
0010:2.0M
0011:4.0M
0100:8.0M
----------------
CKSEL3/0=0101-1000:外部RC振荡,CKOPT=0:允许芯片内部XTAL1管脚对GND接一个36PF电容;CKOPT=1:禁止该电容
0101:<0.9M
0110:0.9-3.0M
0111:3.0-8.0M
1000:8.0-12.0M
----------------
CKSEL3/0=1001:外部低频晶振,CKOPT=0:允许芯片内部XTAL1/XTAL2管脚对GND各接一个36PF电容;CKOPT=1:禁止该电容
----------------
CKSEL3/0=1010-1111:外部晶振,陶瓷振荡子,CKOPT=0:高幅度振荡输出;CKOPT=1:低幅度振荡输出
101X:0.4-0.9M
110X:0.9-3.0M
111X:3.0-8.0M
***************************************
SUT1/0:        复位启动时间选择
当选择不同晶振时,SUT有所不同。
三、时钟选择一览表
时钟源                     启动延时            熔丝 
外部时钟                   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振荡1MHZ             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.9M) 258 CK + 4.1 ms    CKSEL=1010 SUT=00 
低石英/陶瓷振荡器(0.4-0.9M)   258 CK + 65 ms     CKSEL=1010 SUT=01 
低石英/陶瓷振荡器(0.4-0.9M)    1K CK + 0 ms      CKSEL=1010 SUT=10 
低石英/陶瓷振荡器(0.4-0.9M)    1K CK + 4.1 ms    CKSEL=1010 SUT=11 
低石英/陶瓷振荡器(0.4-0.9M)    1K CK + 65 ms     CKSEL=1011 SUT=00 
低石英/陶瓷振荡器(0.4-0.9M)   16K CK + 0 ms      CKSEL=1011 SUT=01 
低石英/陶瓷振荡器(0.4-0.9M)   16K CK + 4.1ms     CKSEL=1011 SUT=10 
低石英/陶瓷振荡器(0.4-0.9M)   16K CK + 65ms      CKSEL=1011 SUT=11 
中石英/陶瓷振荡器(0.9-3.0M)   258 CK + 4.1 ms    CKSEL=1100 SUT=00 
中石英/陶瓷振荡器(0.9-3.0M)   258 CK + 65 ms     CKSEL=1100 SUT=01 
中石英/陶瓷振荡器(0.9-3.0M)   1K CK + 0 ms       CKSEL=1100 SUT=10 
中石英/陶瓷振荡器(0.9-3.0M)   1K CK + 4.1 ms     CKSEL=1100 SUT=11 
中石英/陶瓷振荡器(0.9-3.0M)   1K CK + 65 ms      CKSEL=1101 SUT=00 
中石英/陶瓷振荡器(0.9-3.0M)  16K CK + 0 ms       CKSEL=1101 SUT=01 
中石英/陶瓷振荡器(0.9-3.0M)  16K CK + 4.1ms      CKSEL=1101 SUT=10 
中石英/陶瓷振荡器(0.9-3.0M)  16K CK + 65ms       CKSEL=1101 SUT=11 
高石英/陶瓷振荡器(3.0-8.0M)    258 CK + 4.1 ms   CKSEL=1110 SUT=00 
高石英/陶瓷振荡器(3.0-8.0M)    258 CK + 65 ms    CKSEL=1110 SUT=01 
高石英/陶瓷振荡器(3.0-8.0M)    1K CK + 0 ms      CKSEL=1110 SUT=10 
高石英/陶瓷振荡器(3.0-8.0M)    1K CK + 4.1 ms    CKSEL=1110 SUT=11 
高石英/陶瓷振荡器(3.0-8.0M)    1K CK + 65 ms     CKSEL=1111 SUT=00 
高石英/陶瓷振荡器(3.0-8.0M)    16K CK + 0 ms     CKSEL=1111 SUT=01 
高石英/陶瓷振荡器(3.0-8.0M)    16K CK + 4.1ms    CKSEL=1111 SUT=10 
高石英/陶瓷振荡器(3.0-8.0M)    16K CK + 65ms     CKSEL=1111 SUT=11 
注:1、出厂默认设置 
注意:CKOPT=1(未编程)时,最大工作频率为8MHZ 
内部RC振荡1MHZ    6 CK + 4.1 ms    CKSEL=0001 SUT=01
 
进入不了编程模式的解决方法?
 
1.进入不了编程模式,提示连接不正常的,可以这样修复,我亲自试过,好极了。也是转帖的
当改动了AVR的熔丝位配置,重新加电后,想再用ISP下载,提示:“进入编程模式失败”等,极有可能是搞错了熔丝位,导致芯片不知道使用何种主频而无法正常工作(仅限于内部RC振荡的情况)。
通过外加有源晶振的办法,让其恢复。
使用51系列单片机的ALE引脚作为外部时钟源,将51系列的ALE引脚与M16的XTAL1引脚相连接。我亲手试了一下,效果是立竿见影,很快的恢复了错误设置的熔丝位
 
2.可能是因为烧了外部晶振熔丝位。需要加个外部晶振。如果加上了还不行,可能是因为晶振两边的电阻太大了,对于mega8L的话,一般8M的石英晶振需要20pF左右的电容。当时大彪同学就是因为加了0.1u的电容,结果太大了,振不起来了。
关键字:AVR  熔丝位设置 引用地址:AVR熔丝位设置大全

上一篇:24c32 ICC程序
下一篇:AVR单片机的复位

推荐阅读最新更新时间:2024-03-16 15:18

关于AVR单片机I/O口使用注意事项
1. 先正确设置DDRx方向寄存器,再进行I/O口的读写操作。 2. I/O口复位后的初始状态全部为输入工作方式,内部上拉电阻无效,外部引脚呈现三态高阻输入状态。 3. 当I/O口工作在输入方式时,且要读取外部引脚上的电平时,应读取PINxn的值,而不是PORTxn的值。 4. 当I/O工作在输入方式时,要根据实际情况使用或不使用内部的上拉电阻。 5. 一旦将I/O口的工作方式由输出设置成输入方式后,必须等待1个时钟周期后才能正确读到外部引脚PINxn的值。
[单片机]
AVR控制4线触摸屏程序
四线电阻式触摸屏是是电阻式家族中应用最广、最普及的一种。其结构由下线路(玻璃或薄膜材料)导电ITO层和上线路(薄膜 材料)导电ITO层组成。中间有细微绝缘点隔开,当触摸屏表面无压力时,上下线路成开路状态。一旦有压力施加到触摸屏上, 上下线路导通,控制器通过下线路导电ITO层在X坐标方向上施加驱动电压,通过上线路导电ITO层上的探针,侦测X方向上的电 压,由此推算出触点的X坐标。通过控制器改变施加电压的方向,同理可测出触点的Y坐标,从而明确触点的位置。 screen.width-500)this.style.width=screen.width-500; border=0 AVR单片机自带10位AD,这对控制4线的
[单片机]
<font color='red'>AVR</font>控制4线触摸屏程序
AVR单片机为控制核心的数字正弦逆变电源设计
逆变电源应用广泛,特别是精密仪器对逆变电源性能要求更高。好的逆变电源不仅要求工作稳定、逆变效率高、输出的波形特性好、瞬态响应特性好,还要求逆变电源小型化、智能化、并且具备可扩展性。因此,这里提出一种基于AVR 系列单片机AT90PWM2 的数字正弦逆变电源, 前级SG3525A采用PWM 控制升压电路实现输入和过热保护。后级单片机AT90PWM2 使用单极性倍频SPWM 控制方式进行全桥逆变,且进行输出保护。 1 总体设计及工作原理 逆变电源的系统整体框图如图1 所示,系统的主电路采用前级推挽升压和后级全桥逆变的2 级结构[2],这样可以避免使用工频变压器,有效降低电源的体积和质量,提高逆变效率。其工作原理为:12 V 的直流输入
[单片机]
以<font color='red'>AVR</font>单片机为控制核心的数字正弦逆变电源设计
基于AVR单片机的电力投切装置开发
一、前言 在工矿企业用电设备中存在大量的感性负载,如电弧炉、直流电机调速系统、整流逆变设备等,它们在消耗有功功率的同时,也占用了大量感性无功功率,致使电力功率因数下降。由于无功功率虚占了设备容量、增大了线路的电流值,而线路损耗与电流的平方成正比,因此造成电力资源的巨大浪费。另外,这些感性负载工作时还会产生大量的电力谐波,对电网造成谐波污染,使电能质量恶化,电器仪表工作异常。为了提高功率因数、治理谐波,可以采用动态滤波补偿,由电容器和电感器串联形成消谐回路,起到无功补偿和滤除谐波的作用。各种滤波补偿系统,基本都由电力电容器、铁芯电抗器、无功补偿控制器和电力投切装置等构成,其中电力投切装置负责与电网接通、切断任务,是整个补偿系统中关
[单片机]
基于<font color='red'>AVR</font>单片机的电力投切装置开发
AVR单片机中左移位和右移位指令
计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。 AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。 SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令, 而我们所做的11个实验程序仅用了34条指令, 我们重点讲这34条指令, 其余指令就可自学了。 AVR器件(指令速查表) 118条指令器件 AT90S2313/2323/2343/2333 ,AT90S4414/4433/4434/85
[单片机]
<font color='red'>AVR</font>单片机中左移位和右移位指令
AVR看门狗心得
简介:AVR单片机系列(例如,ATMEGA168等)使用增强功能的看门狗(Enhanced Watchdog Timer),与原来的看门狗相比较,除了有相同复位的功能以外,还增加了中断的功能设计时。使用看门狗的中断功能,可以实现从Power Down状态唤醒CPU;另外同时能使中断和复位功能,可以在系统发生错误时,先进入中断状态,保存关键数据到EEPROM,然后在进行系统复位。 AVR单片机系列(例如,ATMEGA168等)使用增强功能的看门狗(Enhanced Watchdog Timer),与原来的看门狗相比较,除了有相同复位的功能以外,还增加了中断的功能设计时。使用看门狗的中断功能,可以实现从Power Down状态唤醒
[单片机]
<font color='red'>AVR</font>看门狗心得
AVR第7课:动态数码管
动态数码管。 /* *author:ChenLu *date:2014.11.20 */ //input the head file so that the program can work normally //iom16v---know the register //macros---know the BIT(x) #include iom16v.h #include macros.h //use those can make your study very conveninet #define uint unsigned int #define uchar unsigned char //display m
[单片机]
基于AVR单片机高精度电子秤设计
0 引言 随着电子技术和自动化测量技术的不断发展,传统的称重系统在功能、精度、性价比等方面已难以满足人们的需要,尤其在智能化、便携式、对微小质量的测量方面更显得力不从心。近年来,新型单片机的出现和集成电路技术的发展为更新产品设计,研制高性价比的称重控制器提供了条件。本设计采用AVR单片机为控制核心,结合电阻应变式压力传感器和相应的信号采集电路,设计出一种高精度、多功能、低成本的新型电子秤。 1 系统总体设计 首先由称重传感器采集因压力变化而产生的电压信号,通过A/D转换器将模拟信号转换为数字信号,把数字信号送入AVR单片机,单片机做相应的处理后,得到当前物体重量的数据,并通过LCD显示出来。系统硬件结构如图1所示。 系
[单片机]
基于<font color='red'>AVR</font>单片机高精度电子秤设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved