查看: 2049|回复: 0

关于ATMEGA 48 88 168 328熔丝位的配置

[复制链接]

该用户从未签到

发表于 2018-4-25 12:24 | 显示全部楼层 |阅读模式
之前因为把atmega644pa芯片的熔丝位配错了boot区大小导致bootloader损坏而无法上传程序,后来才知道把boot大小只配了128byte。


现汇总一下AVR单片机(atmega 48 88 168 328)的熔丝位配置:(注:熔丝位 “0” = 已编程; “1” = 未编程  正好相反)

熔丝低位(low fuse):

1.CKDIV8

CKDIV8位是配置mcu时钟的8分频,出厂默认是0,如果你是用16MHz(arduino uno 和 nano默认时钟)的话需要将这位改成1。

2.CKOUT

CKOUT位允许系统时钟从PORTB0输出,一般默认1就行,不用去配。



3.SUT1/0复位启动时间选择

SUT 1/0:  当选择不同晶振时,SUT有所不同。如果没有特殊要求推荐SUT 1/0设置复位启动时间稍长,使电源缓慢上升。默认“01”

3.CKSEL3/0: 时钟源选择(默认“0100”)

Low Power Crystal Oscillator                     1111 – 1000

Full Swing Crystal Oscillator                       0111 – 0110

Low Frequency Crystal Oscillator              0101 – 0100

Internal 128kHz RC Oscillator                    0011

Calibrated Internal RC Oscillator               0010

External Clock 0000 Reserved                    0001

atmega328p (UNO和NANO都是这个芯片) 出厂默认是8MHz再8分频,最终为1MHz的时钟。

而UNO和NANO默认是用16MHz外部晶振所以 CKSEL3/0 = “1111”   SUT 1/0 = “11”

熔丝高位(high fuse):

1.RSTDISBL: 复位或I/O功能选择

为硬复位功能使能端,如果置0,可以将reset端做数字IO使用,但在arduino上可能经常用到复位按键,所以这里置1。(此位如果配成0,芯片变板砖……)

2.DWEN: 调试线使能

DWEN用来激活DW调试,默认未编程。

3.SPIEN: 使能串行程序和数据下载

SPIEN位用来使能SPI下载,如果配成”1″那就无法用编程器上传程序和修改熔丝,默认”0″。

4.WDTON: 是否一直启用看门狗

置0后将打开看门狗,如不进行喂狗操作,将无限复位。一般我们的非工业制作都不使用看门狗功能,所以这里置1即可。

5.EESAVE: 执行芯片擦除时EEPROM 的内容保留

此位默认为”未编程”,即芯片重新烧录时EEPROM内容不保留。

6.BOOTSZ 1/0: boot区大小

00:1024Word
01:512Word
10:256Word
11:128Word

7.BOOTRST: 复位向量选择

1:程序从0x0000地址开始执行;0:程序从引导区确定的入口地址开始执行

如果你的芯片里面烧写了bootloader并想要复位后从引导区开始,就需要配置此位0。

熔丝扩展位(extended fuse):

6.BODLEVEL 2/0:BOD触发电平

使用方法:如果启动掉电检测,则检测电平由BODLEVEL决定。一旦VCC下降到触发电平以下,MCU复位;当VCC电平大于触发电平后,经过tTOUT 延时周后重新开始工作。            

BODLEVEL 2/0 熔丝位            BOD VOLT

111                                            禁用BOD

110                                            1.8V

101                                            2.7V

100                                            4.3V

另:扩展熔丝位只有BODLEVEL这3位。

最后你可以到boards.txt里看一下各开发板的熔丝配置。

[size=0.83em]boards.JPG (115.01 KB, 下载次数: 0)
下载附件
[color=rgb(153, 153, 153) !important]5 天前 上传





下面是UNO和NANO的默认熔丝:

UNO = FFDEFD(LOW-HIGH-EXT)

NANO = FFDAFD(LOW-HIGH-EXT)

这些都是我参照DATASHEET进行的归类,如有错误的地方还请指正。
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

热门推荐

设计了一款智能加湿器,出现了一些控制上的问题
设计了一款智能加湿器,出
最近在学习blinker,就想着把手头的加湿器改装成智能加湿器,用了一块WiFiduino、一个
关于Open Nul问题,
关于Open Nul问题,
如图所示,驱动安装的时候,没有出现错误(比如安装过程中没有出现系统找不到指定文件
Arduino模拟USB键盘
Arduino模拟USB键盘
[md] ### 模拟键盘输入信息 本示例将演示使用Arduino Leonardo模拟USB键盘输出信息。
小白求助
小白求助
小白刚接触arduino编程基础较差,发现可以使用图形编程软件,想问一下图片上的是什么
光敏电阻检测环境光实验
光敏电阻检测环境光实验
本文节选自《Arduino程序设计基础》 一些简单的电子元件就可以做传感器使用,例如我
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
快速回复 返回顶部 返回列表