关于avr熔丝位的学习

本文介绍了在使用Atmega88PA-AU单片机时遇到的熔丝位问题,特别是关于掉电检测(BOD)、复位启动时间(SUT)和时钟源选择(CKSEL)的设置。错误的配置导致了芯片被锁,强调了理解熔丝位的重要性,以避免不必要的成本。同时,列举了不同熔丝位组合对MCU功耗和启动时间的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前在学校只学过51系列的单片机,当然对于如今的很多系统,用51单片机已经不能满足系统的需求了,包括 处理速度,定时/计数器,IO口等。最近公司要做个智能遥控器系统,经过选择和论证,决定采用Atmega88PA-AU的芯片。设计好原理图,PCB板,等板子到了,就迫不及待想试试。

由于Atmega88PA-AU(以下简称avr88)没有Jtag口,所以只能用debugWire,当然就只能买MKII的调试器(挺贵的,不过都是公司的钱)。由于对于熔丝位不太懂,所以不敢轻举妄动,写好程序后,点击了program,诶!不错,下进去了,没问题!于是乎信心大增,开始大胆把dwen勾上了,点击program,结果悲剧了,弹出对话框(一堆英文,意思是说复位线被占用),看来真悲剧了,一片芯片被锁了,貌似还只能用高压编程解锁了。这样一来又要买高压编程器,测试座(由于是贴片的),公司肯定不敢啦!之前为了系统测试,还特定加了复位电路,想不到现在竟成了绊脚石,那没有办法,只能重新焊上一块芯片,然后把复位电路拆了,重新调熔丝位,就OK啦!初学avr,没办法,总得费几块片子的,所以还是得大胆的测。不过得先看懂文档来,不然盲目测,公司肯定吃不消!大笑

以下是熔丝位(转载自http://www.fxdzw.com/dpj/avr_rsw.htm


要想使MCU功耗最小也要了解一些位的设定。
1:未编程  
0:编程 
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)以下,MCU复位;当VCC电平大于触发电平后,经过tTOUT 延时周后重新开始工作。             
因为M16L可以工作在2.7v~5.5v,所以触发电平可选2.7v(BODLEVEL=1)或4.0v(BODLEVEL=0);而M16工作在4.5~5.5V,所以只能选BODLEVEL=0,BODLEVEL=1不适用于ATmega16。 
2、复位启动时间选择 
SUT 1/0:  当选择不同晶振时,SUT有所不同。 
    如果没有特殊要求推荐SUT 1/0设置复位启动时间稍长,使电源缓慢上升。

3、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"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值