历史上的今天
返回首页

历史上的今天

今天是:2025年02月18日(星期二)

正在发生

2020年02月18日 | 看看这个关于AVR单片机的镕丝位配置的文章

2020-02-18 来源:eefocus

简介:对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。


正确配置AVR熔丝位


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


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


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

推荐阅读

史海拾趣

Elcoma公司的发展小趣事

随着公司业务的不断发展,Elcoma意识到要进一步拓展市场,必须与国际同行建立合作关系。他们积极寻求与全球知名电子企业的合作机会,通过技术交流和合作研发,不断提升自身的技术水平和市场竞争力。同时,Elcoma还积极参与国际电子展会和论坛,展示公司的最新技术和产品,吸引了众多国际客户的关注。这些国际合作不仅为Elcoma带来了更多的商业机会,也进一步提升了公司的国际影响力。

Electro-Optical Systems Inc公司的发展小趣事

为了保持技术领先地位和市场竞争力,EOS不断加大研发投入,积极推动产品创新。他们与多所知名高校和研究机构建立产学研合作关系,共同开展前沿技术研究。同时,EOS也积极拓展国际市场,产品出口到欧美、东南亚等多个国家和地区。通过持续创新和国际拓展,EOS在红外探测器领域的地位日益稳固。

ETAL公司的发展小趣事

ETAL公司成立于XXXX年,由一群富有远见和热情的电子工程师创立。他们看到了电子技术在全球范围内的广泛应用和巨大潜力,决定投身于这一行业。起初,ETAL主要专注于电子元器件的研发和生产,通过不断的技术创新和产品优化,逐渐在市场上树立了良好的口碑。

Furukawa Electric Co Ltd公司的发展小趣事

随着全球环保意识的提高,ETAL也积极响应号召,将绿色环保理念融入到生产和经营中。公司采用了环保材料和清洁能源,减少了对环境的污染。同时,ETAL还注重节能减排和资源循环利用,努力降低生产成本和提高资源利用效率。这些措施不仅有助于保护环境,还为公司带来了长期的经济效益。

台湾奇力(Chip)公司的发展小趣事

在市场拓展方面,奇力公司采取了多元化的销售策略。除了与大型知名企业合作外,奇力公司还积极开拓国内外市场,参加各类展会和论坛,提升品牌知名度和影响力。同时,奇力公司还注重品牌建设,通过提升产品质量和服务水平,树立了良好的企业形象。

Bel Power Solutions公司的发展小趣事

在国内市场取得一定成绩后,Bel Power Solutions开始积极拓展国际市场。公司通过与全球知名企业的合作,成功将产品打入国际市场,并赢得了良好的声誉。同时,公司还积极寻求与系统集成商、分销商等建立长期稳定的合作关系,共同开拓市场。这些合作伙伴关系的建立,不仅为公司带来了更多的商业机会,还提升了公司的品牌影响力和市场份额。

问答坊 | AI 解惑

ARM入门者的天堂(一点经验)

一 首先说说ARM的发展       可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。       广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式 ...…

查看全部问答>

电子无忧网 批量供应Xilinx USB 下载电缆企业版

本产品适用于Xilinx 全系列CPLD/FPGA芯片的下载调试。 Xilinx USB 下载电缆 Xilinx Platform USB Cable 全兼容XILINX USB下载电缆,xilinx impact下载线 产品特点 1.完全兼容XILINX原厂Xilinx Platform Cable USB电缆,支持自动升级固件程序; ...…

查看全部问答>

嵌入式C 标准研究报告 ---MISRA C标准工程师笔记

C语言是开发嵌入式应用的主要工具,然而C语言并非是专门为嵌入式系统设计,相当多的嵌入式系统较一般计算机系统而言对软件安全性(可靠性)有更苛刻的要求,所以因此会带来更多的安全隐患。经过了四年的研究和准备,MISRA于1998年发布了一个针对汽 ...…

查看全部问答>

概念电动自行车

这是德国大众的一款概念电动自行车Vokswagen Bik.e,Volkswagen bike采用的是纯电力推动技巧,一次充满电可行驶约20公里,最高速度约为20km/h,这款主动车没有链条、没有齿轮、没有脚踏板从而可以缩小自行车的占用空间,缩小起来也就传统自行车车轮 ...…

查看全部问答>

软件上对FIQ怎么处理

请教各位一个问题: 一般情况下,OAL和Kernel里面对FIQ是怎么处理的?它和VIC哪个更加快一点?…

查看全部问答>

求救!!WinCE和WebServices!!

在vs2003中开发的web服务,能在wince(模拟)中使用吗? 能在wince(模拟)中提供web服务即可! 在wince(模拟)中能搭建.net环境吗? 初学且急用中,请高手详细介绍一下!…

查看全部问答>

想实现跨平台手机软件开发的朋友们看这里

此次发布的ECDS-MUI V1.0全功能评估版,包含ECDS-MUI V1.0编译好的示例、示例所有的C++源代码,开发文档。我们建议用户在使用之前先详细阅读我们的开发文档、使用教程及如何创建工程等文档,这将有利于你更加高效的使用ECDS-MUI V1.0进行开发。 EC ...…

查看全部问答>

难道真的没有人会吗?????????????

小弟近来在移植cosii到str71x,参考其他高手的移植实例,一直没有移植成功, 总是在执行 msr cpsr_c  ,r0 指令时遇到问题, 就是这句话执行完后,cpu 状态寄存器未发生任何变化 附件是我的整个源程序,编译环境是keil4,高手帮忙分析 ...…

查看全部问答>

gcc -O3优化后readelf查看地址对齐方式【探讨】

本帖最后由 lzwml 于 2014-12-15 10:59 编辑 为了给控制端加入的命令特性,我借鉴uboot的U_BOOT_CMD方式定义一个端,命名为W_BOOT_CMD,并在Uboot基础上添加些独有特性。但是我在地址对齐上遇到个bug,目前bug已经解决,发帖只是想和大家探讨关于 ...…

查看全部问答>