AVR单片机熔丝位设置以及搞错熔丝位导致芯片死锁的恢复办.docx
《AVR单片机熔丝位设置以及搞错熔丝位导致芯片死锁的恢复办.docx》由会员分享,可在线阅读,更多相关《AVR单片机熔丝位设置以及搞错熔丝位导致芯片死锁的恢复办.docx(14页珍藏版)》请在冰点文库上搜索。
AVR单片机熔丝位设置以及搞错熔丝位导致芯片死锁的恢复办
AVR单片机熔丝位设置详解
1、BOD(Brown-outDetection掉电检测电路
BODLEVEL(BOD|平选择:
1:
2.7V电平;0:
4.0V电平。
这需要根据芯片的工作电压来选择。
BODEN(BO功能控制:
1:
BOD功能禁止;0:
BOD功能允许
使用方法:
如果BODEN使能(复选框选中启动掉电检测,则检测电平由BODLEVEL决定。
一旦
VCC下降到触发电平(2.7v或4.0v以下,MCU复位;当VCC电平大于触发电平后,经过tTOUT
延时周后重新开始工作。
2、复位启动时间选择
SUT1/0:
当选择不同晶振时,SUT有所不同。
如果没有特殊要求,推荐SUT1/0设置复位启
动时间稍长,使电源缓慢上升(即SUT1:
0;SUT01)。
3、CKSEL3/2/10:
时钟源选择。
芯片出厂的默认情况下,CKSEL—0和SUT1SYT0分别设置
为“0001”和“10”,这样将使用芯片8mHz的内部晶振和使用最长的启动延时。
配置方法:
CtSEl.J0
Cl曲■:
i
nUDD
仙H
AflMU
IOI
BBID
ioii-ioin
9«ll
MWr
liui-tiua
u-3(■■■
Qioa
llll-IIID
HUKj.whcULI
I・暝握时屛宜聲
nt农
1111^10130
1.硕
*ivitvntt
空用E垃It的內鋼
BJW-0M1(iriXlMOl™LK.I
a
4、M103:
设置ATmega103兼容方式工作。
出厂时的默认设置为0,即以ATmega103兼容模式
下运行。
5、JTAGEN如果不使用JTAG接口,应该将JTAGEN的状态设置为1,即禁止JTAG功能,JTAG引脚用于I/O接口。
6、SPIEN:
SPI方式下载数据和程序允许,默认状态为允许0,—般保留其状态。
7、WDTON看门狗定时器始终开启。
默认情况下为“1”,即禁止看门狗定时器始终开启。
选择为“0”表示看门狗定时器始终开启,建议设置为0,防止程序跑飞。
8、EESAVEEESAVE设置为“1”表示对芯片进行擦除操作时,flash和EEPROM中的数据一同擦除,设置为“0”表示擦除操作只对flash中的数据有效而对EEPRO无效。
芯片出厂的默认设置为“1”。
在实际应用中需要根据实际需要进行设置。
9、BOOTRST决定上电启动时,第一条指令的地址。
默认状态为“1”,表示启动从0x0000开
始执行;如果BOOTRS设置为“0”,启动时从BOOTLOADE的起始位置开始启动(BOOTLOADER的首地址由BOOTSZ和BOOTSZ决定)。
BOOTSZ和BOOTSZ0这两位决定了BOOTLOADE的大小和起始地址。
默认状态为“00”表示4096字节,起始位置为0xF000。
BOOLOADE区大小配置:
打Bool]:
HK牛谊.■
soma'
0
0
0
L
fill
OOUEW
1
0
CKIFSMI
I1X
12R
注:
在做熔丝位设置时要先确定“V”表示的是1还是0
搞错熔丝位,导致芯片死锁的恢复办法
说明:
本贴仅具一般的参考性。
请有这方面的高手指正及投稿,让这个专题更加完整与专业。
当你改动了AVR的熔丝位配置,重新加电后,想再用ISP下载,提示:
“进入编程模式失败”等,极有可能是
你搞错了熔丝位,导致芯片不知道使用何种主频而无法正常工作(仅限于内部RC振荡的情况。
解决方法为:
1。
寄回给芯片服务商,让他们帮忙将芯片恢复
这是最省事,但是最费时间,最无可奈何的方法。
2。
使用编程器将芯片恢复到岀厂状态
这个方法,需要你有编程器。
3。
通过外加有源晶振的办法,让其恢复。
这个方法最可行。
它可以恢复大部分熔丝位搞错的芯片。
接法如下:
PB6
vcc
VCCOUT
NCGN1)
恢复方法:
接上上图的有源晶振,重新通电,就能用ISP下载线修改错误的熔丝位
了。
修改完成后,断电,将有源晶振拆走,看看是否已经恢复正常。
还有一个办法,如果没有有源晶振的话可以用其他工作正常的单片机的时钟作为外部晶振,只要将工作正常的单片机的XTAL2脚连接熔丝设置错误
的单片机的XTAL1引脚即可。
像我使用AVR910下载线的可直接把
AT90S2313的时钟输出连到被设置错的芯片就可恢复了,很方便。
(此方
法由彩虹数码提供。
后记与补充(2004-10-27:
本网站会员彩虹数码提供了在炜煌系列编程器
改熔丝位恢复芯片的办法。
这几天随着被锁定的芯片越来越多,手头已经没有可以用的芯片了,实在没办法就又把以前购买的炜煌500A并行编程器拿出来研究。
因为以前一
直没有发现该编程器有改AVR配置熔丝的选项(如下图),所以原本不太抱希望的。
在500A烧片程序中选择了M16芯片之后,弹出来了这样一个对话框,以前我都是看AVR-2适配器如何接线的,重来没有关注过下图红框框住的这几个字眼。
经过仔细研读,忽然想起SLISP中的配置熔丝界面也有高低字节位,于是赶紧打开来看看,果然如此,且高低位和扩展位分别对应不同功能的熔丝,如下图:
配■仪敷值|低桂字节:
卩F葛位字节;I)f|扩展字节;FF
时ft灵启劫时何设置-
rBODLEVEL厂BODEJ*^rjSVTiSUTO
rCK5EL3rj^ELl厂CKSELO
rootnfs:
:
:
■-rceopt
rB00TSZ1厂&OOTSZO厂IWTKST
耳它idf
r?
厂窃r5r4
厂3厂!
2厂1厂D
樹芷]
取消|
终于理解了所谓的熔丝原来就是3个字节的存储器,不同的数值代表了不同的功能设置,所以炜煌系列编程器只要在数据缓冲区把熔丝地址(不同芯片的熔丝地址会不同)的数据手工修改,然后写入即可,如下图:
附录一:
小资料:
晶体、晶振和有源晶振
晶体(crystal就是以特定方式(AT或BT等切割的水晶(天然或人造石英,利用水晶具有的压电效应来做频率基准。
加上振荡电路(如克莱拍,考皮兹等完成一个完整的电路功能,封装好,我们称之为有源晶震(Oscillator。
相对而言,没有电路的晶体,我们叫无源晶体或无源晶振。
FX0-31F
辭
2观一_<3
匚辱ecroN
1.IW
2CMD
[OUTPUTg丽HZ
(«3»a
附录二:
Mega8芯片使用SL_ISP1.3下的熔丝位参考图
8M内部RC振荡
1M内部RC振荡
配置低僅半节:
EL皑世。
节的扩展字节:
FF
慨怦瞪岂型时阖设置
厂B0DUVE1
广WEH
rsuri
1*SVTO
7CKSEL3
P-^SSL2
挣CKSELl
rEX3L€|
陶:
尽说置
r^-tt.ifTj.
rWDTt'N
rrropT
一EESAVE回B«;TSZL寸B⑴TE乔厂和口吓盯
KW幡gR*i咛甲ittit*ib|™
r7rere;r4
rsr2riru
関晦■]績程配量]确定|翩|
AVKISP
Pr«p«皿皿
'L#-rkB11f;AdvwnEilf^grdKutv
rDn-Clhi|iikba£En«bl«d:
rMimnQ]
PJT«皿l訶矗<■[JTACTM]
右£•"心irmpNH细rhlnuh轉(S?
I)w.b“此(SP1U=OJ
nFr«itrrtFETTOI界印叶剪thr^ndxdi4ChipErtxteytl«.fEE厂矢緘71*sJl¥«cti.w611#-120words鼬otst«rltddrtE-s-flFrBoolF].・di«clioniizt=&SGwo*d.i•■ivb■FhsK
e注21024■«&!
hoisttfltdJ4ar4-5i-Sl!
厂斛旗的曙Eftdl呻d(dtfmlC■松m■书00000,(ICOT
厂CffiFTfmt(4p«E-*ti<>n托“Ed边t«fCXSTLfuses);[CIDFr-Iskr«nr««tl«nl«tWtM0忱tlQIUnL^O)
Pdjft«cti.»l«wel«tVCC=2T甲.【KWLXHTtXI]
厂|br右■犷a・tdjtl«ctl^OLUL«bl«4r[90011=01厂LetCl*tk;Sttrtvuf"・■&Cl:
*Dmi.
[mtL^OCOSUT-
PJLnld¥«rii
2SfhtrtliorniPiEr
FwVflrifjr
thttrLBf|#44T«MksucA44*.POKI1bt4ih中间的一个也没有选,然后是选下面的最后一个
AVKISF
Fr*ayL«-rkB1txAdvuir#^||kpu-dkn怙
Ext
Ext
bl
血1t«ri珂|r砒pwinfnedj«.「9KSi*«.djikcfutto^n..omff.okLtftvisitprccrwninc・u4«OK1
你有可能改过下面的ISP处的频率,如果你改成921.6Khz的话,在内部1M晶振时是不能下载的。
当然如果已经是改为外部晶振了则没有关系。
AVKISF二X
Ballth*1ST&«qn«&[rymstbtl«sstkuiIMtftkt
tli^Crevisi«&£.H¥OsOfPSINijmf:
(ME,StViMrOkO&ttiRc41£311«1«"pKrw«t«ri..F^lvD】LShOiOO.SlNOwOI...OK
当你程序完全确定之后,出厂前,你需要对程序进行加密,如下界面
FuitiL^ckBiti||Bo«r4|Ant#|
厂W»dWolodeg"“d
厂M»d«2.FurtherproatMuacdis«bl«d
P3°Further>r«厂A)plic«tioaProtectioniod«1:
MolockonSPiandLF・inA:
厂A|plicttioaPr«t«ctio&Rod*2:
SPfpr«)ubit«dmAppliotic厂A>plicetioaPr・Q・clion3:
LWa»4SFf>r«h>bi<«42AfPA>plic«tioaPr«tectioaRod*4:
LFiprohibitedinApplicHolockgSMtadLPVlaB<
rBeotUU«rhrHectica・■・2:
厂B»«tLoaderProtectionRode3:
Snpr*hibiQ・4inBo«t"皿
LP1tadSPHprohibitedinBe
LPOprohibitedtaBootLo"
7MoVeril0S»trtVtniiac*
Pr*yIVwify
Znterixcwoas.inc«od«.OK!
R«UiMl>ckbiu・Oi”・0X1LLtevincprocrtrwwmc・od・OK1