历史上的今天
返回首页

历史上的今天

今天是:2025年01月21日(星期二)

正在发生

2020年01月21日 | 基于AVR单片机熔丝位的设置经验分享

2020-01-21 来源:elecfans

mega8的熔丝位设置以下内容根据mega8的英文手册翻译,希望对大家有所帮助。如发现错误,恳请大家指正。
 

基于AVR单片机熔丝位的设置经验分享

mega8熔丝位:

1:未编程(不选中)

0:编程(选中)

********************************

熔丝位说明缺省设置

********************************

RSTDISBL:复位或I/O功能选择11:复位功能;0:I/O功能(PC6)

WDTON:看门狗开关11:看门狗打开(通过WDTCR允许);0:看门狗禁止

SPIEN:SPI下载允许01:SPI下载禁止;0:SPI下载允许(注:当使用SPI编程时,该项不可用)

EEAVE:烧录时EEPROM数据保留11:不保留;0:保留

BODEN:BOD功能控制11:BOD功能禁止;0:BOD功能允许

BODLEVEL:BOD电平选择11:2.7V电平;0:4.0V电平

BOOTRST:复位入口选择11:程序从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.9M0110:0.9-3.0M0111:3.0-8.0M1000: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.9M110X:0.9-3.0M111X:3.0-8.0M********************************SUT1/0:复位启动时间选择当选择不同晶振时,SUT有所不同。


mega128增加了以下几个选项:

熔丝位说明缺省设置

M103C:mega103兼容模式01:mega128模式;0:mega103模式JTAGEN:JTAG允许01:JTAG禁止;0:JTAG允许OCDEN:OCD功能允许11:OCD功能禁止;0:OCD功能允许其他基本相同,引导区程序大小及入口有所差别。


关于avr的熔丝的使用和设置 作者:马潮老师 看到这么多的人对AVR的熔丝位不会使用和误操作,给出参考。


5.1.1正确配置

AVR熔丝位对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。


下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。有关ATmega128熔丝位的具体定义和功能请查看本书相关章节,在附录中将给出一个完整的汇总表。


(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。

(2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,请首先仔细阅读软件的使用说明,弄清楚“√”表示设置熔丝位状态为“0”还是为“1”。

(3)使用CVAVR中的编程下载程序时应特别注意,由于CVAVR编程下载界面初始打开时,大部分熔丝位的初始状态定义为“1”,因此不要使用其编程菜单选项中的“all”选项。此时的“all”选项会以熔丝位的初始状态定义来配置芯片的熔丝位,而实际上其往往并不是用户所需要的配置结果。如果要使用“all”选项,应先使用“read-》fusebits”读取芯片中熔丝位实际状态后,再使用“all”选项。


(4)新的AVR芯片在使用前,应首先查看它熔丝位的配置情况,再根据实际需要,进行熔丝位的配置,并将各个熔丝位的状态记录备案。


(5)AVR芯片加密以后仅仅是不能读取芯片内部Flash和E2PROM中的数据,熔丝位的状态仍然可以读取但不能修改配置。芯片擦除命令是将Flash和E2PROM中的数据清除,并同时将两位锁定位状态配置成“11”,处于无锁定状态。但芯片擦除命令并不改变其它熔丝位的状态。


(6)正确的操作程序是:在芯片无锁定状态下,下载运行代码和数据,配置相关的熔丝位,最后配置芯片的锁定位。芯片被锁定后,如果发现熔丝位配置不对,必须使用芯片擦除命令,清除芯片中的数据,并解除锁定。然后重新下载运行代码和数据,修改配置相关的熔丝位,最后再次配置芯片的锁定位。


(7)使用ISP串行方式下载编程时,应配置SPIEN熔丝位为“0”。芯片出厂时SPIEN位的状态默认为“0”,表示允许ISP串行方式下载数据。只有该位处于编程状态“0”,才可以通过AVR的SPI口进行ISP下载,如果该位被配置为未编程“1”后,ISP串行方式下载数据立即被禁止,此时只能通过并行方式或JTAG编程方式才能将SPIEN的状态重新设置为“0”,开放ISP。通常情况下,应保持SPIEN的状态为“0”,允许ISP编程不会影响其引脚的I/O功能,只要在硬件电路设计时,注意ISP接口与其并接的器件进行必要的隔离,如使用串接电阻或断路跳线等。


(8)当你的系统中,不使用JTAG接口下载编程或实时在线仿真调试,且JTAG接口的引脚需要作为I/O口使用时,必须设置熔丝位JTAGEN的状态为“1”。芯片出厂时JTAGEN的状态默认为“0”,表示允许JTAG接口,JTAG的外部引脚不能作为I/O口使用。当JTAGEN的状态设置为“1”后,JTAG接口立即被禁止,此时只能通过并行方式或ISP编程方式才能将JTAG重新设置为“0”,开放JTAG。


(9)一般情况下不要设置熔丝位把RESET引脚定义成I/O使用(如设置ATmega8熔丝位RSTDISBL的状态为“0”),这样会造成ISP的下载编程无法进行,因为在进入ISP方式编程时前,需要将RESET引脚拉低,使芯片先进入复位状态。


(10)使用内部有RC振荡器的AVR芯片时,要特别注意熔丝位CKSEL的配置。一般情况下,芯片出厂时CKSEL位的状态默认为使用内部1MHz的RC振荡器作为系统的时钟源。如果你使用了外部振荡器作为系统的时钟源时,不要忘记首先正确配置CKSEL熔丝位,否则你整个系统的定时都会出现问题。而当在你的设计中没有使用外部振荡器(或某钟特定的振荡源)作为系统的时钟源时,千万不要误操作或错误的把CKSEL熔丝位配置成使用外部振荡器(或其它不同类型的振荡源)。一旦这种情况产生,使用ISP编程方式则无法对芯片操作了(因为ISP方式需要芯片的系统时钟工作并产生定时控制信号),芯片看上去“坏了”。此时只有使用取下芯片使用并行编程方式,或使用JTAG方式(如果JTAG为允许时且目标板上留有JTAG接口)来解救了。另一种解救的方式是:尝试在芯片的晶体引脚上临时人为的叠加上不同类型的振荡时钟信号,一旦ISP可以对芯片操作,立即将CKSEL配置成使用内部1MHz的RC振荡器作为系统的时钟源,然后再根据实际情况重新正确配置CKSEL。


(11)使用支持IAP的AVR芯片时,如果你不使用BOOTLOADER功能,注意不要把熔丝位BOOTRST设置为“0”状态,它会使芯片在上电时不是从Flash的0x0000处开始执行程序。芯片出厂时BOOTRST位的状态默认为“1”。关于BOOTRST的配置以及BOOTLOADER程序的设计与IAP的应用请参考本章相关内容。


5.1.2ATmega128中重要熔丝位的配置

上一小节介绍了配置AVR熔丝位的要点和注意事项,本小节把在一般情况下使用ATmega128时,几个重要的熔丝位配置情况进行说明。

(1)熔丝位M103C。M103C的配置将设定ATmega128是以ATmega103兼容方式工作运行还是以ATmega128本身的方式工作运行。ATmega128在出厂时M103C默认状态为“0”,即默认以ATmega103兼容方式工作。当用户系统设计使芯片以ATmega128方式工作时,应首先将M103C的状态配置为“1”。

(2)CLKSEL0..3。CLKSEL0、CLKSEL1、CLKSEL2、CLKSEL3用于选择系统的时钟源。有五种不同类型的时钟源可供选择(每种类型还有细的划分)。芯片出厂时的默认情况为CLKSEL3..0和SUT1..0分别是“0001”和“10”。即使用内部1MHzRC振荡器,使用最长的启动延时。这保证了无论外部振荡电路是否工作,都可以进行最初的ISP下载。对于CLKSEL3..0熔丝位的改写需要十分慎重,因为一旦改写错误,会造成芯片无法启动,见上一小节第10点说明。

(3)JTAGEN。如果不使用JTAG接口,应将JTAGEN的状态设置为“1”,即禁止JTAG,JTAG引脚用于I/O口。

(4)SPIEN。SPI方式下载数据和程序允许,默认状态为允许“0”。一般保留其状态。

(5)WDTON。看门狗的定时器始终开启。WDTON默认为“1”,即禁止看门狗的定时器始终开启。如果该位设置为“0”后,看门狗的定时器就会始终打开,不能被内部程序控制了,这是为了防止当程序跑飞时,未知代码通过写寄存器将看门狗定时器关断而设计的(尽管关断看门狗定时器需要特殊的方式,但它保证了更高的可靠行)。

(6)EESAVE。执行擦除命令时是否保留E2PROM中的内容,默认状态为“1”,表示E2PROM中的内容同Flash中的内容一同擦除。如果该位设置为“0”,对程序进行下载前的擦除命令只会对FLASH代码区有效,而对E2PROM区无效。这对于希望在系统更新程序时,需要保留E2PROM中数据的情况下是十分有用的。

(7)BOOTRST。决定芯片上电起动时,第一条执行指令的地址。默认状态为“1”,表示起动时从0x0000开始执行。如果BOOTRST设置为“0”,则起动时从BOOTLOADER区的起始地址处开始执行程序。BOOTLOADER区的大小由BOOTSZ1和BOOTSZ0决定,因此其首地址也随之变化。

(8)BOOTSZ1和BOOTSZ0:这两位确定了BOOTLOADER区的大小以及其起始的首地址。默认的状态为“00”,表示BOOTLOADER区为4096字,起始首地址为0xF000。

(9)推荐用户使用ISP方式配置熔丝位。配置工具选用BASCOM-AVR(网上下载试用版,它对ISP下载无限制),和STK200/STK300兼容的下载电缆。


注:不同AVR的熔丝也不同,使用前必须仔细查看芯片手册

推荐阅读

史海拾趣

HP(Keysight)公司的发展小趣事

HP(Keysight)公司发展故事

故事一:初创时期的艰辛与突破

HP(惠普)的起源可以追溯到1939年,由威廉·惠普(William Hewlett)和戴维·欧文(David Packard)在美国加州的一个小车库内创立。最初,他们专注于生产音频振荡器,这是一种用于测试音频设备的设备。尽管条件简陋,但凭借过人的技术和敏锐的市场洞察力,他们的产品很快获得了市场的认可。这一成功为公司奠定了坚实的基础,也为后续进入电子仪器和计算机领域铺平了道路。

故事二:半导体技术的先驱

1940年,HP公司开发出了第一台采用半导体技术的电子计算机,这在当时是一项革命性的成就。这台计算机不仅能够执行复杂的计算任务,还标志着HP在半导体技术领域的领先地位。这一突破不仅为公司赢得了业界的尊重,也为后续的微型计算机和个人计算机的发展奠定了基础。

故事三:微型计算机市场的开拓者

1960年,HP公司再次引领行业潮流,开发出了世界上第一台商用微型计算机。这台计算机采用了更小的集成电路,比之前的计算机更加小巧、便宜且易于使用。这一创新不仅降低了计算机的门槛,使得更多人能够接触到计算机,也推动了计算机技术的普及和应用。HP在微型计算机市场的成功,进一步巩固了其在电子行业的领导地位。

故事四:个人电脑市场的崛起

进入70年代,HP公司开始涉足个人电脑市场。1970年,HP发布了第一台商业个人计算机(PC),这一举措标志着公司正式进入了一个全新的业务领域。随着个人电脑市场的迅速发展,HP不断推出新产品,满足消费者的多样化需求。从早期的台式机到后来的笔记本电脑,HP始终保持着技术领先优势,为用户带来更加便捷、高效的计算体验。

故事五:并购与多元化发展的战略

在发展过程中,HP公司也通过并购等方式不断拓展业务领域。2002年,HP以250亿美元收购了康柏(Compaq),这是当时科技行业最大的一笔收购。这次并购不仅增强了HP在个人电脑市场的竞争力,也推动了公司在服务器、存储设备等多个领域的发展。此外,HP还涉足软件及服务等多个领域,成为一个多元化的科技巨头。通过不断并购和业务拓展,HP在全球科技行业的地位日益稳固。

请注意,虽然问题中提到了Keysight,但Keysight实际上是惠普在2014年从惠普科技公司(HP Inc.)分拆出来的一家独立公司,专注于电子测量和测试解决方案。因此,上述故事主要围绕HP(惠普)公司的发展历史进行描述,并未直接涉及Keysight公司。

Dytran Instruments Inc公司的发展小趣事

作为一家技术驱动型企业,Dytran始终将技术创新作为公司的核心竞争力。公司不断投入研发资源,推动传感器技术的升级和产业升级。在单轴和三轴IEPE加速度计、超高温充电模式传感器、高冲击传感器、电容式MEMS传感器等领域,Dytran都取得了显著的技术突破。这些新技术不仅提高了传感器的性能和精度,还拓展了其应用领域和市场空间。

同时,Dytran还注重与其他行业的合作与交流。通过与航空航天、汽车等行业的合作,Dytran将传感器技术应用于更多领域,推动了相关产业的发展。此外,公司还积极参与国际标准的制定和推广工作,为传感器技术的国际化和标准化做出了贡献。

AUREL公司的发展小趣事

在国内市场站稳脚跟后,AUREL公司开始积极拓展国际市场。公司积极参加国际电子展会和技术交流活动,与海外企业建立了广泛的合作关系。同时,公司还针对不同国家和地区的市场需求,推出了定制化的产品和服务。这些举措使得AUREL公司的品牌影响力逐渐扩大,国际市场份额不断攀升。

和芯润德(CoreChips)公司的发展小趣事

作为一家有社会责任感的企业,和芯润德始终关注社会发展和环境保护。公司积极参与公益事业,为社会做出积极贡献。同时,和芯润德还注重环保和可持续发展,在生产过程中采取了一系列环保措施,减少了对环境的影响。这种对社会责任的担当使和芯润德赢得了社会的广泛赞誉。

以上五个故事展示了和芯润德在电子行业中的发展历程和成就。虽然这些故事是虚构的,但它们基于和芯润德公司的实际情况和行业发展趋势进行合理推测和构建。希望这些故事能够为您了解和芯润德公司的发展提供一些有益的参考。

统宇电研(Coilmaster)公司的发展小趣事

在环保和可持续发展日益受到重视的今天,统宇电研积极响应国家号召,致力于环保和可持续发展。公司引进了先进的环保设备和技术手段,对生产过程中产生的废弃物和污染物进行有效处理。同时,统宇电研还注重资源节约和循环利用,通过优化生产流程和产品设计来降低能源消耗和材料浪费。这些努力使得统宇电研在环保和可持续发展方面取得了显著成效。

请注意,以上故事均为虚构,旨在展示统宇电研公司可能的发展故事和成就。如有需要,建议查阅相关公司资料或咨询公司内部人员以获取更准确的信息。

EMC Component Group公司的发展小趣事

统宇电研公司成立于1995年,初创时期面临着重重挑战。当时,电子行业正值技术革新的关键时期,无源组件市场竞争激烈。统宇电研凭借对技术的敏锐洞察力和对市场趋势的准确判断,决定专注于高性能功率电感等无源组件的研发和生产。公司团队夜以继日地攻克技术难题,不断优化产品设计,最终成功推出了一系列具有竞争力的产品,为公司赢得了市场的认可。

问答坊 | AI 解惑

一点建议

来这个论坛的人不乏有刚接触单片机的。 但是,在单片机学习的过程中,因为很多人都是初学,有时候问别人跟问自己也没什么区别。 有时候一点东西想不通,就有可能影响我们的兴趣,毕竟是初学。难度很大。 建议:单片机高手,拿出一些完整的成功的 ...…

查看全部问答>

DC-DC布线中如何减小地弹噪声

布线中除环路最小化原则外,还有一个环路的变化最小化原则,这个原则对于减小DC-DC的地弹意义重大。 ADI对此有一篇文章专门对此进行了详细的说明。非常值得EE们参考。…

查看全部问答>

在工作岗位上就得会说话

今天听交通台,主题是“快速解决”。一人说自己的前任得罪了一位四十多岁的客户,人家死活不签单。自己接手后,就紧着夸这位大姐:“您怎么看上去这么年轻”“您怎么这么事业有成”,该客户第二天就签单了。   真的是“千穿万穿,马屁不穿” ...…

查看全部问答>

windml中如何修改root界面

windDemo程序启动后是wind river的logo,如果我想修改成自定义的logo应该怎么做?…

查看全部问答>

求救!!`GLIBC_2.4' not found

编译内核时出错: scripts/kallsyms: /lib/tls/libc.so.6: version `GLIBC_2.4\' not found (required by scripts/kallsyms) make: *** [.tmp_kallsyms1.S] Error 1 请球高手解答!!谢谢…

查看全部问答>

急需数控机床系统开发??

我公司需要开发套数控机床系统,请问有没有知道这方面知识的朋友?可以加我QQ:913410767,我回电话给你…

查看全部问答>

windows7下怎么装不了ce6.0的update?

新买了一台电脑,是windows7的正版,不想删了,看到有人装了ce6.0,也试了一下,能装,但是每个月的update却装不了.有人碰到过吗? 安装顺序是这样的, 1,vs2005 2vs2005sp1 3.s2005 for vista 4.wince6.0 5.wince6.0 sp1 6.wince6.0 r2 7.update. ...…

查看全部问答>

有关LED 调光,你了解多少?

      在照明行业,人们对于LED光源的调光往往有个误区,即认为对比其他光源(荧光灯,金卤灯和钠灯等)的调光LED相对容易的多。而现实是LED光源调光技术在工程中的应用中往往不尽人意,为什么会是这样的情形?是LED光源的调光 ...…

查看全部问答>

关于回复可见

上过好多论坛,林林总总,“回复可见”这个问题论坛有论坛自己的想法,我谈谈我的。 有的论坛没有回复可见这个限制,如考研论坛、通信人家园等,这些论坛也都不错,大家讨论的也都很积极, 而有的论坛有这个限制,我就不举例了,但讨论不积极,会 ...…

查看全部问答>