找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5740|回复: 4
打印 上一主题 下一主题
收起左侧

AVR开发前准备—熔丝位(Fuse)快速入门

[复制链接]
跳转到指定楼层
楼主
ID:104835 发表于 2016-2-4 04:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

AVR通过熔丝来控制芯片内部的一些功能,比如JTAG,时钟的使用,掉电检测电压,是否允许调试等。
AVR Studio 中 STK500 处理熔丝位有巨大的优势:它是以功能组合让用户配置。 这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,可以用“巨大优势”来形容):
  • 有效避免因不熟悉熔丝位让芯片锁死 (这是初学者的恶梦), 笔者曾经锁死过三片Atmega16。
  • 不需要靠记忆与查文档,就能配置熔丝位(这也是初学者的恶梦)
  • 动手之前:请你一定弄清楚了,你这样改会有什么后果,除非你有很多钱不在乎多锁死几个芯片。备份你的熔丝位状态,在点击Program之前再次检查熔丝位设置正确与否,不要误点了某项而没有注意到。

通过下图的方法打开连接:

使用操作界面如下: (注意:下图中,打勾的表示选中,代表0。没有打勾的表示1)。

上图的资料有很多相关项,你需要认识以下的代码,以理解意思。英文翻译说明如下:
英文中文
On-Chip Debug Enabled片内 调试 使能
JTAG Interface EnabledJTAG 接口 使能
Serial program downloading (SPI) enabled串行编程下载(SPI) 使能 (ISP下载时该位不能修改)
Preserve EEPROM memory through the Chip Erase cycle;芯片擦除时EEPROM的内容保留
Boot Flash section size=xxxx words 引导(Boot)区大小为xxx个词
Boot start address=$yyyy;引导(Boot)区开始地址为 $yyyy
Boot Reset vector Enabled引导(Boot)、复位 向量 使能
Brown-out detection level at VCC=xxxx V;掉电检测的电平为 VCC=xxxx 伏
Brown-out detection enabled;掉电检测使能
Start-up time: xxx CK + yy ms 启动时间 xxx 个时钟周期 + yy 毫秒
Ext. Clock;外部时钟
Int. RC Osc.内部 RC(阻容) 振荡器
Ext. RC Osc.外部 RC(阻容) 振荡器
Ext. Low-Freq. Crystal;外部 低频 晶体
Ext. Crystal/Resonator Low Freq外部晶体/陶瓷振荡器 低频
Ext. Crystal/Resonator Medium Freq外部晶体/陶瓷振荡器 中频
Ext. Crystal/Resonator High Freq外部晶体/陶瓷振荡器 高频
注:以上中文是对照 ATmega16的中、英文版本数据手册而翻译。尽量按照了官方的中文术语。
应用举例:
比如我们想使用片内的RC振荡(即不需要接晶振),可以选择选择下面三者之一:
  • Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms;
  • [CKSEL=0100 SUT=00] Int. RC Osc. 8 MHz; Start-up time: 6 CK + 4 ms;
  • [CKSEL=0100 SUT=01] Int. RC Osc. 8 MHz; Start-up time: 6 CK + 64 ms; [CKSEL=0100 SUT=10]
如图:内部1M晶振,默认情况典型设置。(两个图分别为上下两部分,没有显示的部分均为不选中状态。)

下图显示的是选择内部晶振,1 Mhz RC

比如我们想使用外部7.3728M晶振,可以选择选择下面三者之一:
  • Ext. Crystal/Resonator High Freq.;
  • Start-up time: 258 CK + 4 ms;
  • [CKSEL=1110 SUT=00] 或后面与Ext. Crystal/Resonator High Freq.;.... 有关的选择。
如下两图:7.3728M晶振典型融丝位(及本站的开发板使用时候的典型设置)


如果你在使用过程中遇到什么问题,欢迎讨论



后记:说说Mega128的熔丝位
ATmega128是avr系列中一款高性能的芯片,设计的时候兼容M103模式,但是这个M103模式经常害人。基于此,说说ATmega128的熔丝位,顺便说说其他的功能。

默认情况下M103模式是选中的,应该将其去掉;晶振是内部1M晶振,如果你使用外部晶振,应该进行修改。M128可以开启硬件的看门狗,选中此项,看门狗不需要程序初始化,只需要程序里面喂狗就可以了。

默认熔丝第一部分
M103兼容模式,使能JTAG,使能SPI,Bootloader区大小4096,未使能BOOT。

默认熔丝第二部分
DOD为2.7V,内部1M晶振。

下面是本站使用M128开发板的典型设置,M103模式取消,使用M128模式,使用外部7.3728M晶振。
典型熔丝第一部分(只说修改部分)
去掉了M103,从而使用M128模式。

典型熔丝第二部分

选择最后一项,即使用外部高频晶振。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:222998 发表于 2017-7-28 14:57 | 只看该作者
楼主厉害了  我用的AVR STIDUO 4.0  跟你这个不太一样   有的都没有
回复

使用道具 举报

板凳
ID:482048 发表于 2019-3-15 16:45 | 只看该作者
文章写得好。但本人才疏学浅,看了半天仍是不明白,到底如何才能正常设置熔丝?
回复

使用道具 举报

地板
ID:229361 发表于 2019-3-17 11:45 | 只看该作者
写的非常好,可是还是有些看不懂
回复

使用道具 举报

5#
ID:390392 发表于 2020-2-10 12:27 | 只看该作者
有在研究這個但是還是有點不懂
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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