您的位置 首页 培训

AVR单片机熔丝位设置

对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关

AVR熔丝位的装备是比较详尽的作业,用户往往忽视其重要性,或感到不易把握。下面给出对AVR熔丝位的装备操作时的一些关键和需求留意的相关事项。

(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功用挑选11:复位功用;0:I/O功用(PC6)
WDTON:看门狗开关11:看门狗翻开(经过WDTCR答应);0:看门狗制止
SPIEN:SPI下载答应01:SPI下载制止;0:SPI下载答应(注:当运用SPI编程时,该项不可用)
EEAVE:烧录时EEPROM数据保存11:不保存;0:保存
BODEN:BOD功用操控11:BOD功用制止;0:BOD功用答应
BODLEVEL:BOD电平挑选11:2.7V电平;0:4.0V电平
BOOTRST:复位进口挑选11:程序从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 msCKSEL=”0000″ SUT=”00″
外部时钟6 CK + 4.1 msCKSEL=”0000″ SUT=”01″
外部时钟6 CK + 65 msCKSEL=”0000″ SUT=”10″
内部RC振动1MHZ6 CK + 0 msCKSEL=”0001″ SUT=”00″
内部RC振动1MHZ6 CK + 4.1 msCKSEL=”0001″ SUT=”01″
内部RC振动1MHZ6 CK + 65 msCKSEL=”0001″ SUT=”10″
内部RC振动2MHZ6 CK + 0 msCKSEL=”0010″ SUT=”00″
内部RC振动2MHZ6 CK + 4.1 msCKSEL=”0010″ SUT=”01″
内部RC振动2MHZ6 CK + 65 msCKSEL=”0010″ SUT=”10″
内部RC振动4MHZ6 CK + 0 msCKSEL=”0011″ SUT=”00″
内部RC振动4MHZ6 CK + 4.1 msCKSEL=”0011″ SUT=”01″
内部RC振动4MHZ6 CK + 65 msCKSEL=”0011″ SUT=”10″
内部RC振动8MHZ6 CK + 0 msCKSEL=”0100″ SUT=”00″
内部RC振动8MHZ6 CK + 4.1 msCKSEL=”0100″ SUT=”01″
内部RC振动8MHZ6 CK + 65 msCKSEL=”0100″ SUT=”10″
外部RC振动≤0.9MHZ18 CK + 0 msCKSEL=”0101″ SUT=”00″
外部RC振动≤0.9MHZ18 CK + 4.1 msCKSEL=”0101″ SUT=”01″
外部RC振动≤0.9MHZ18 CK + 65 msCKSEL=”0101″ SUT=”10″
外部RC振动≤0.9MHZ6 CK + 4.1 msCKSEL=”0101″ SUT=”11″
外部RC振动0.9-3.0MHZ18 CK + 0 msCKSEL=”0110″ SUT=”00″
外部RC振动0.9-3.0MHZ18 CK + 4.1 msCKSEL=”0110″ SUT=”01″
外部RC振动0.9-3.0MHZ18 CK + 65 msCKSEL=”0110″ SUT=”10″
外部RC振动0.9-3.0MHZ6 CK + 4.1 msCKSEL=”0110″ SUT=”11″
外部RC振动3.0-8.0MHZ18 CK + 0 msCKSEL=”0111″ SUT=”00″
外部RC振动3.0-8.0MHZ18 CK + 4.1 msCKSEL=”0111″ SUT=”01″
外部RC振动3.0-8.0MHZ18 CK + 65 msCKSEL=”0111″ SUT=”10″
外部RC振动3.0-8.0MHZ6 CK + 4.1 msCKSEL=”0111″ SUT=”11″
外部RC振动8.0-12.0MHZ18 CK + 0 msCKSEL=”1000″ SUT=”00″
外部RC振动8.0-12.0MHZ18 CK + 4.1 msCKSEL=”1000″ SUT=”01″
外部RC振动8.0-12.0MHZ18 CK + 65 msCKSEL=”1000″ SUT=”10″
外部RC振动8.0-12.0MHZ6 CK + 4.1 msCKSEL=”1000″ SUT=”11″
低频晶振(32.768KHZ)1K CK + 4.1 msCKSEL=”1001″ SUT=”00″
低频晶振(32.768KHZ)1K CK + 65 msCKSEL=”1001″ SUT=”01″
低频晶振(32.768KHZ)32K CK + 65 msCKSEL=”1001″ SUT=”10″
低频石英/陶瓷振动器(0.4-0.9M) 258 CK + 4.1 msCKSEL=”1010″ SUT=”00″
低石英/陶瓷振动器(0.4-0.9M)258 CK + 65 msCKSEL=”1010″ SUT=”01″
低石英/陶瓷振动器(0.4-0.9M)1K CK + 0 msCKSEL=”1010″ SUT=”10″
低石英/陶瓷振动器(0.4-0.9M)1K CK + 4.1 msCKSEL=”1010″ SUT=”11″
低石英/陶瓷振动器(0.4-0.9M)1K CK + 65 msCKSEL=”1011″ SUT=”00″
低石英/陶瓷振动器(0.4-0.9M)16K CK + 0 msCKSEL=”1011″ SUT=”01″
低石英/陶瓷振动器(0.4-0.9M)16K CK + 4.1msCKSEL=”1011″ SUT=”10″
低石英/陶瓷振动器(0.4-0.9M)16K CK + 65msCKSEL=”1011″ SUT=”11″
中石英/陶瓷振动器(0.9-3.0M)258 CK + 4.1 msCKSEL=”1100″ SUT=”00″
中石英/陶瓷振动器(0.9-3.0M)258 CK + 65 msCKSEL=”1100″ SUT=”01″
中石英/陶瓷振动器(0.9-3.0M)1K CK + 0 msCKSEL=”1100″ SUT=”10″
中石英/陶瓷振动器(0.9-3.0M)1K CK + 4.1 msCKSEL=”1100″ SUT=”11″
中石英/陶瓷振动器(0.9-3.0M)1K CK + 65 msCKSEL=”1101″ SUT=”00″
中石英/陶瓷振动器(0.9-3.0M)16K CK + 0 msCKSEL=”1101″ SUT=”01″
中石英/陶瓷振动器(0.9-3.0M)16K CK + 4.1msCKSEL=”1101″ SUT=”10″
中石英/陶瓷振动器(0.9-3.0M)16K CK + 65msCKSEL=”1101″ SUT=”11″
高石英/陶瓷振动器(3.0-8.0M)258 CK + 4.1 msCKSEL=”1110″ SUT=”00″
高石英/陶瓷振动器(3.0-8.0M)258 CK + 65 msCKSEL=”1110″ SUT=”01″
高石英/陶瓷振动器(3.0-8.0M)1K CK + 0 msCKSEL=”1110″ SUT=”10″
高石英/陶瓷振动器(3.0-8.0M)1K CK + 4.1 msCKSEL=”1110″ SUT=”11″
高石英/陶瓷振动器(3.0-8.0M)1K CK + 65 msCKSEL=”1111″ SUT=”00″
高石英/陶瓷振动器(3.0-8.0M)16K CK + 0 msCKSEL=”1111″ SUT=”01″
高石英/陶瓷振动器(3.0-8.0M)16K CK + 4.1msCKSEL=”1111″ SUT=”10″
高石英/陶瓷振动器(3.0-8.0M)16K CK + 65msCKSEL=”1111″ SUT=”11″
注:1、出厂默认设置
留意:CKOPT=1(未编程)时,最大作业频率为8MHZ
内部RC振动1MHZ6 CK + 4.1 msCKSEL=”0001″ SUT=”01″

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/258027.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部