OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7362|回复: 4

关于AVR单片机熔丝位的设置

[复制链接]

21

主题

135

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
金钱
238
注册时间
2011-4-12
在线时间
0 小时
发表于 2011-6-17 21:09:54 | 显示全部楼层 |阅读模式

这是本人第一次发帖,我也只是一个初级菜鸟,刚入门学习AVR单片机不久,发此贴,是为了给碰到此问题的朋友一个帮助,也为了给帮助我太多太多的论坛和师兄一个小小的我现在能做到的支持!这论坛很好。这是关于熔丝位的配置的, 可能有错误。希望高手继续指点纠正。谢谢。
因为困惑于Atmega128熔丝位的问题,它和103兼容,导致好多资源用不了。所以为了修改它的熔丝位,早早就查找了很多关于如何配置熔丝位的文章和注意事项,但一直未敢动手,这几天看了马潮老师的《AVR单片机嵌入式系统原理与应用实践》之后,开始要写程序时,不得已尝试配置熔丝位,我是非常非常小心地细致的配置这些熔丝位的。首先说明一下,用于实验的是师兄做的开发板,芯片是Atmega32,下载器是网上买的比较便宜的下载器,软件是智锋公司的。
配置时一切很顺利,软件上都有熔丝位配置的说明,就是关于哪个管脚是开启,哪个配置是关闭,但是没有说该怎么配置的,这个结合资料和自己的要求,配置这个很关键很重要,要特别小心,否则配置错了很麻烦,但我个人觉得,不要把ISP或者JTAG两个给禁止了就行(JTAG要是不用可以禁止,建议初次尝试不要禁止,免得配置错误芯片被死锁,用JTAG恢复芯片时用不了)。
芯片默认的是内部的RC震荡器1MHZ,所以刚开始不熟悉的话,这个就不要改它,先检验其它的好不好使先。
我第一次就是这样改的,结果成功了。。然后我就试着做第二个尝试,改用外部晶振,外部的晶振就比较麻烦了。。因为软件上晶振最大只能设置3MHZ--8MHZ。。。而我开发板上的晶振是24MHZ!!!!!我就尝试了一下,很悲剧的告诉你,我的芯片终于死锁了!!
因为我没有禁止ISP或者JTAG的功能。其实解锁不麻烦,我可以用JTAG重新编程的,但是我没有。只能尝试其它方法,我也可以把开发板的晶振换成合适的,比如8MHZ,但是尝试过了,不好使,被死锁的芯片,ISP功能不能用了,因为没有时钟源,我就想到自己用单片机做一个高速脉冲来当时钟源,提供给开发板的晶振输入脚,但是很悲剧的是这个能做高速脉冲的单片机是同一个开发板的,也没法去实验室借下函数发生器,结果在师兄的帮助下,他叫我用另外一款单片机的晶振引到开发板上的输入脚也可以。我这才明白添加晶振的意思了。。。唉。。。愚钝啊。。。试了。。。把晶振成功解锁了。。然后马上又改回内部的RC振荡器先,因为有了这个方法解锁。我就更加敢于尝试了。把熔丝位的配置学会了。。。
但是正要庆祝大功告成时,悲剧就那么产生了。。拔晶振的时候不小心晶振掉到开发板上了。。因为开发板好多元器件都是贴片的,而且晶振也是金属,所以把开发板上的电阻电容不小心整短路了。。通过USB直接整到电脑去了。。我还没反应过来,电脑电源直接被关闭了。。。再怎么打都打不开了。。。第一个反应是电脑是我怎么这么倒霉,主板被烧坏了。。马上找来对修电脑很熟悉的同学,他也说应该被烧坏了。。这下我的心都快凉了。。晚上还想听下六级听力明天打下酱油的,听不了了。。既然烧坏了只能修了。。我也没啥继续伤心的。跑到同学那里去聊天了。。没想到同学听我说完就说肯定不是烧坏了。这样的话电脑主板怎么可能烧坏的那么快。。
于是,和同学回来开始准备拆笔记本了,电池卸下来了。。插上直流电源供电,结果电脑开启了。。。。因为开发板短路之后,通过USB下载器传到电脑的USB口,还好我的电脑USB口有保护电路。要不然真的烧坏了。。。为了证明刚才的设想。冒死再试一次。故意扔了个晶振到开发板上。电脑马上及电源被关闭了。。。又“主板被烧坏了”。哈哈。。。
从这个经历,虽然很冒险,很伤神伤脑,但是没有尝试没有牺牲,怎么能学到东西呢?怎么能体验到这份乐趣呢?呵呵
补充:还有一个比较容易混淆的问题。在智锋的那个编程器下载软件中,在使用外部晶振的设置中,它有两种选择,一种是外部RC振荡器,一种是外部晶振,应该选外部RC振荡器,而不是外部晶振,我个人觉得这里的外部晶振应该是有源晶振吧?不知是不是这样解释,高手指点
下面附带些资料,希望有用,这些都是可以从网上找到的。

熔丝位.rar

560.4 KB, 下载次数: 898

自信人生一百年
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-6-18 00:22:01 | 显示全部楼层
很不错的分析熔丝位.
其实做这些东西,最重要的是实践,别人说的不一定对,自己验证一下,记忆深刻,偶尔也可以点拨一下他人,呵呵.继续努力吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

135

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
金钱
238
注册时间
2011-4-12
在线时间
0 小时
 楼主| 发表于 2011-6-18 08:04:13 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
嗯~~原子哥说的对.想学到东西就应该自己动手实践,不懂也可以请教有经验的高手。但是光有理论却不实践,却只知其一不知其二,甚至还是学到错误的东西,实践才出真知~~
自信人生一百年
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-8-21
在线时间
2 小时
发表于 2018-8-22 10:15:11 | 显示全部楼层
谢谢楼主分享,.
回复 支持 反对

使用道具 举报

3

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2018-8-6
在线时间
6 小时
发表于 2018-8-25 08:59:25 | 显示全部楼层
本帖最后由 inlod 于 2018-8-25 09:02 编辑

我也是用这颗芯片,这颗芯片还有一个血的教训,楼主可以试一试。
现象:熔丝位开JTAG,程序中也用了PF4-PF7的ADC功能,在系统运转时,会随机(小概率,尤其是上电时刻,或者强干扰场合)的出现程序死机的现象,即使有软件看门狗也死机。
这个问题我一直解不开,我自己的理解是:PF4-PF7如果做ADC用的话,外部模拟量随机的,有可能满足JTAG协议,让单片机进入单步调试状态,死机了。
当时的解决办法是:刷完程序后,吧熔丝位中的JTAG关了,就再也没出现死机问题了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 06:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表