AVR 熔丝位设置1
更新时间:2023-11-10 10:25:01 阅读量: 教育文库 文档下载
- avr是什么意思推荐度:
- 相关推荐
AVR单片机烧录和熔丝位的操作初步
熔丝是一个保护知识产权的设计。
简单的说,你在特定的引脚上加电压,足够的电流,就可以烧断里边的这根熔丝,烧断以后,片里的程序就不可以被读出来也不能改写了,只能用来运行。 一般成品出售时都这样做。专用的写片机支持这个功能。 自己也可以根据芯片的官方文档来操作。
熔丝位是在一个特定的地址上可以读到熔丝状态的一个位。0和1分别用来表示未熔断和已熔断。
mega8熔丝位:1:未编程(不选中)0:编程(选中) ******************************** 熔丝位 说明 缺省设臵 ********************************
RSTDISBL: 复位或I/O功能选择 1 1:复位功能;0:I/O功能(PC6)
WDTON: 看门狗开关 1 1:看门狗打开(通过WDTCR允许);0:看门狗禁止
SPIEN: SPI下载允许 0 1:SPI下载禁止;0:SPI下载允许(注:当使用SPI编程时,该项不可用)
EEAVE: 烧录时EEPROM数据保留 1 1:不保留;0:保留 BODEN: BOD功能控制 1 1:BOD功能禁止;0:BOD功能允许 BODLEVEL: BOD电平选择 1 1:2.7V电平;0:4.0V电平
BOOTRST: 复位入口选择 1 1:程序从0x0000地址开始执行;0:程序从引导区确定的入口地址开始执行 ********************************
BOOTSZ1/0: 引导区程序大小及入口 00 00:1024Word/0xc00; 01:512Word/0xe00; 10:256Word/0xf00; 11:128Word/0xf80
******************************** BLB02/01: 程序区指令位选择 11 11:SPM和LPM指令都允许执行 10:SPM指令禁止写程序区
01:引导区LPM指令禁止读取程序区内容;如果中断向量定义在引导区,则禁止该中断在程序区执行。
00:SPM指令禁止写程序区;引导区LPM指令禁止读取程序区内容;如果中断向量定义在引导区,则禁止该中断在程序区执行。 ******************************** BLB12/11: 引导区指令位选择 11 11:SPM和LPM指令都允许执行 10:SPM指令禁止写引导区
01:程序区LPM指令禁止读取引导区内容;如果中断向量定义在程序区,则禁止该中断在引导区执行。
00:SPM指令禁止写引导区;程序区LPM指令禁止读取引导区内容;如果中断向量定义在程序区,则禁止该中断在引导区执行。
********************************
LB2/1: 程序区加密位选择 11 11:未加密
10:程序和EEPROM编程功能禁止,熔丝位锁定 00:程序和EEPROM编程及校验功能禁止,熔丝位锁定 (注:先编程其他熔丝位,再编程加密位) ******************************** CKSEL3/0: 时钟源选择 0001 CKOPT: 晶振选择 1 SUT1/0: 复位启动时间选择 10 ********************************
CKSEL3/0=0000:外部时钟,CKOPT=0:允许芯片内部XTAL1管脚对GND接一个36PF电容;CKOPT=1:禁止该电容 ----------------
CKSEL3/0=0001-0100:已经校准的内部RC振荡,CKOPT总为1 0001:1.0M 0010:2.0M 0011:4.0M 0100:8.0M ----------------
CKSEL3/0=0101-1000:外部RC振荡,CKOPT=0:允许芯片内部XTAL1管脚对GND接一个36PF电容;CKOPT=1:禁止该电容 0101:<0.9M 0110:0.9-3.0M 0111:3.0-8.0M 1000:8.0-12.0M ----------------
CKSEL3/0=1001:外部低频晶振,CKOPT=0:允许芯片内部XTAL1/XTAL2管脚对GND各接一个36PF电容;CKOPT=1:禁止该电容 ----------------
CKSEL3/0=1010-1111:外部晶振,陶瓷振荡子,CKOPT=0:高幅度振荡输出;CKOPT=1:低幅度振荡输出 101X:0.4-0.9M 110X:0.9-3.0M 111X:3.0-8.0M
******************************** SUT1/0: 复位启动时间选择 当选择不同晶振时,SUT有所不同。
AVR单片机由于接口丰富,功能齐全,性价比好,运用越来越广。一些朋友利用网上下载的程序烧录芯片时,由于对熔丝位的意义没搞清楚,而任意改动其设臵,结果造成芯片被锁定,即不能用下载线对其读写了。(甚至会误认为芯片已坏)下面将以ATmega8(M8)为例,简单的介绍AVR单片机烧录相关知识和熔丝位的操作方法。一。内部RC振荡器
bs.yleee.net9 ^# H/ p4 w- \\( N. ^, Z
玩51单片机的朋友知道,晶振为CPU提供时钟源,单片机没有时钟源是不可能运行的。但AVR则不同,没有晶振单片机照样运行。原因是其内部有1M,2M,4Mt和8M四种频率的RC振荡器。新购入的芯片内部RC振荡器出厂默认值为1MHz。也就是只要将程序烧录到M8中,程序即可运行。当然此时单片机时钟源由内部1MHzRC振荡器提供。
bs.yleee.net6 x' ~0 M4 Q. S( o
由于芯片工艺制作上的离散性,每个芯片内部RC振荡器频率有不同的误差。因此M8在只读存储器中存储了对内部RC振荡器进行校正的字节,每个芯片校正字节的参数是不同的。
(当然在精度不高的场合,可以不作校正)
bbs.yleee.net1 X* R5 v0 Z% s; A1 u% O/ X! L
校正方法是:接好下载线,插入芯片后从烧录软件PonyPr0g2000菜单“命令”下的“读振荡器校正字节”即可中读取。如读取的字节为0xaa;我们只要在程序的初始化中加入 OSCCAL=0xaa; //校正内部RC振荡器频率,不同的芯片参数有差异
特别说明的是,使用内部RC振荡器出厂默认值为1MHz,硬件会自动将校正参数装入。只有系统在选用其它三个内部RC振荡器时,才需要将校正参数在程序中加入。
5 p/ q) z: r4 u- V 因此AVR单片机和51单片机不同的是:根据需要除可选用外部晶振作为时钟源。当然也可选用内部RC振荡器作为时钟源。
2 W W9 D* F: P( e6 |
而如何设臵是用内部时钟源还是用外部时钟源,AVR系列单片机是通过对熔丝位的操作来实现的。
( n$ n' j- A* |; s, S$ t) a
二。熔丝位的操作
AVR的芯片的烧录和熔丝位的操作,是由ISP下载线配合软件进行的,ISP下载线,十分简单,可以自制,我目前使用的冯老师制作的BBMV并口下载线,软件虽大多用PonyPr0g,但我和老冯一样还是偏爱晓奇老师的。全中文界面,操作提示,使用十分方便,祥见:http://shop.yleee.net/BBS/viewthread.php?tid=1&extra=page=1
熔丝位的操作主要为二个部分。熔丝位低字节(时钟及延时启动)和熔丝位高字节(引导),不能搞错,因为有些作品发布时不会附熔丝位设臵图,往往只告知低字节和高字节是多少。请见下图,图中熔丝位低字节是oxe1,熔丝高字节是oxd9.有了这样二个数据,你可以方便地进行熔丝位的操作了。
其实熔丝位的操作十分简单,因为绝大部分是采用的出厂默认值。下图为M8熔丝位的设臵界面。图中已用红线将其对应的功能标出。如:BODLEVEL--对应的是监测电压。你如果在BODLEVEL前的小方框内打钩,对应的功能说明区内就会有相应的说明。可以对每项都试一下,以便对熔丝位的操作功能有一定的了解。(可以不接ISP下载线只要打开软件就能试)
一乐社区9 D( r% K& _7 X8 S. q, y0 f1 c3 |3 b# t% u' X- t) g
一乐社区8 n- X! P8 U+ b: k+ ~, j$ Y' B
在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态, “Unprogrammed”表示熔丝位的状态为1(禁止);“Programmed” 表示熔丝位的状态为0(允许)。因此,配臵 熔丝位的过程实际上是“配臵熔丝位成为未编程状态1或成为已编程状态0”。 新的AVR芯片在使用前,应先查看它的熔丝位的配臵情况,建议在没有高压并行编程器的情况下,最好将各个熔丝位的状态记录备案。再根据实际需要进行熔丝位的配臵。
a56 D! f1 c C G$ m) j/ Y0 Y2 r, ^
bbs.yleee.net8 j J5 @& n. q% d0 \\7 D* ~2 |
?
对熔丝位低字节部分操作
广东yleee电子,一乐,一乐社区,yleee\ d3 B* [) ~( Q% R P: V由主要是时钟部分,启动延时二部分
广东yleee电子,一乐,一乐社区,yleee F& L4 _; x! \\5 s6 r启动延时部分可设臵一中等启动时间或采用保留黙认值。要设臵的是时钟部分 。Atmega8有4个不同时钟来源:
3 f; ]% ^. y: J
外部晶振或谐振器;外部低频率晶振;
一乐社区; i9 h6 J9 U5 {+ x. I9 l
外部RC振荡器或被校准的内部RC振荡器; 外部时钟来源。
由CKSEL0, CKSEL1, CKSEL2, CKSEL3组合决定。祥细配臵见下表,
5 P n/ b b; y1 }
$ p) f/ T) u9 a% ~ J, a
其中 外RC振荡器用的不多,如图 图中: f=1/(3RC)
w!5 K4 u2 J8 g o+ C! C8 r8 }# O2 {. R1 Q, l4 P9 f
下载 (3.78 KB) 2008-11-16 20:03
. L# T: ] g5 s0 P2 K. S5 _
对熔丝位高字节部分操作
这部分主要涉及对看门狗定时器,晶振幅度,EEPROM的操作,这不难理解,也容易设臵。没涉及这些内容时可使用黙认值。
3.AVR芯片烧录和熔丝位的操作实例 以烧录一简单的程序为例:
将AVR下载线插入目标板上,上电,打开软件,在时钟延时启动和引导部分按读键,即可了解当前芯片熔丝位的配臵状态。
W95 l. f$ B- ~ Q0 ? t) Z
如当前读出的熔丝位芯片时钟为内1MHz,现要写入芯片时钟的是内8MHz,操作如下图示。
广东yleee电子,一乐,一乐社区,yleee ]3 u: h1 L5 z
要说明的是:
如当前读出的熔丝位芯片时钟和现要写入芯片时钟一致时,可以不按《熔丝》键。直接写入。要更改芯片时钟源一定要按《熔丝》键,有的朋友在更换芯片程序写入后,发现显示出现显示闪烁等状态,不妨查一下是否更改了时钟设臵。序无法写入运行,芯片必锁无疑!
在学习熔丝位设臵操作时,建议无论是用外晶振还是内RC振荡器,还是在你的目标板或实验板上加一晶振。这也是芯片防锁的方法。
结语:在学用AVR时,曾在熔丝位设臵操作上做了些功课,以上仅供参考!更准确的还是以AVR数据手册为准。 ? ? ?
用PonyProg2000 for Windows烧写AVR MCU (zhuan)
2010-12-03 15:38 发表 系统分类:电源管理 自定义分类:avr_atmega16 标签:PonyProg2000 Windows 烧写 AVR MCU
u3/ r% I; {1 M: c8 X% t# d
在用选择外部时钟时,目标板一定要有晶振,因为你选择外部晶振,目标板上又不接晶振,程
摘要:本文主要介绍了PonyProg2000 版本2.06c beta for Windows的安装和用该程序开发AVR系列微控制器的方法,希望对于广大使用
该程序的朋友们能起到一定的帮助作用。
PonyProg2000简介:
PonyProg2000是由Claudio Lanconelli先生编制的一个可以对微控制器、电可擦写存储器进行在线串行编程的程序,PonyProg2000目前可以支持AVR微控制器、AT89S微控制器、PIC 16微控制器、PIC 12微控制器、ImBUS eeprom、SDE2506 eeprom和X2444 eeprom,PonyProg2000 V2.06c在使用中非常稳定,可以很方便的开发支持在线串行编程的微控制器。
PonyProg2000的对系统的运行环境要求不高,目前可以运行在Microsoft Windows 95/98/Me/NT/2000/XP及GNU/Linux kernel 2.4.x上,这也大大方便了跨平台的开发者。
PonyProg2000的安装:
安装前,请务必去PonyProg2000程序的主网站(http://www.LancOS.com)去下载最新的版本。
请下载PonyProg的Windows版本,下载完成后在下载的文件夹中执行解压缩操作,用鼠标点击setup.exe的图标,一切按照提示操作,就可以顺利的安装上软件。安装成功后PonyProg会在Windows的开始菜单中加入PonyProg程序项。
制作并行口烧写电缆:
下面简单的介绍一下制作并行口烧写电缆,该电缆可以用于做AVR微控制器和AT89S微控制器的在线串行编程(ISP)之用。该电缆也是本文讲述PonyProg使用的烧写电缆。
这里介绍一款最简单的烧写电缆,电路图如图1:
图1 最简单的并口编程电缆电路图
该电路的主要优点是非常简单,没有任何有源器件,适用于对3.3V至5V的器件进行编程。
对于要求比较高的朋友,这里有一款带缓冲器的下载电路,适用于对3.3V至5V的器件进行编程,该电路的优点是在编程结束后,下载电缆与用户电路的信号线都会变成高阻态,从而对用户电路的影响尽可能的小,有一定基础的朋友可以试试。电路图如图2:
图2 带缓冲的并口编程电缆电路图
PonyProg2000的设置:
PonyProg安装成功后必须进行必要的配置,例如执行烧写电缆的设置,执行系统时序校正等等,下面进行介绍: 点击开始菜单,程序,PonyProg程序组,整个过程如图3所示:
图3 在“开始”菜单中选择PonyProg程序
单击鼠标右键,出现PonyProg2000的启动画面,如图4:
图4 PonyProg启动时的欢迎界面
单击OK按钮取消,出现图5界面:
图5 PonyProg程序的主窗口
在程序的菜单中点击Setup,Interface Setup?,如图6:
图6 在PonyProg中选择端口设置选项
出现端口设置窗口,如图7:
图7 PonyProg端口设置对话框
如果你使用的是Windows 95/98/ME,在出现的“I/O port setup”窗口中单击Parallel,选择Avr ISP API,并选择LPT1,如图8的设置:
正在阅读:
AVR 熔丝位设置111-10
C4-C9冲孔桩施工组织设计 - 图文03-15
全市高中教学会议交流材料以改革创新为动力,推动高中教育快速发03-08
基于碳纳米管修饰丝网印刷碳糊电极的葡萄糖和尿酸生物传感器08-05
二阶RC有源滤波器的设计05-31
中国人为什么喜欢韩剧05-03
餐饮服务与管理课程标准05-31
渴望作文500字06-21
生活启示作文500字06-19
Excel表格函数公式大全07-31
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 设置
- AVR
- 2018年高考生物考前冲刺易错知识点梳理(超强)
- 六(上)期末模拟试题(一)
- 2019年秋季版二年级语文上册第9课青蛙看海教案苏教版
- 道路工程制图作业1
- 2019-2025年中国包装饮料行业市场调查研究报告(目录) - 图文
- 湖南大学机械设计课件第9章
- 初中宾语从句超详讲解及针对性练习(附答案)
- ERP综合实验报告 - 图文
- 2011年全国中考语文试题分类超级大汇编(172套):专题18 课外文言文阅读:62个试题(黄金版)
- 华英学校4月1日扫墓活动报道 - 图文
- 原创高三导数压轴题题型归纳 - 图文
- 数字信号处理实验讲义(修订版)
- 东财《特殊会计准则》在线作业三答案
- Oracle GL 笔记
- 应用文复习题(含答案)
- 2015年度宝丰县五星石墨有限公司销售收入与资产数据报告 - 图文
- 高一英语英语必修三Unit2导学案及练习题
- 2015-2016学年山东省高一历史课时分段精讲教案:第4课《专制集权的不断加强》6(岳麓版必修1) - 图文
- 2018-2019年初中语文苏教版《七年级上》《第五单元 关注科学》《24.《梦溪笔谈》二则》综合
- 信号与线性系统分析(吴大正 第四版)第四章习题答案