0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AVR熔丝位操作时的要点和需要注意的相关事项。

MCU开发加油站 2018-04-06 13:35 次阅读

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

下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。

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

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

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

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

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

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

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

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

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

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

使用支持IAP的AVR芯片时,如果你不使用BOOTLOADER功能,注意不要把熔丝位BOOTRST设置为“0”状态,它会使芯片在上电时不是从Flash的0x0000处开始执行程序。芯片出厂时BOOTRST位的状态默认为“1”。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AVR
    AVR
    +关注

    关注

    11

    文章

    1122

    浏览量

    78006
  • 编程
    +关注

    关注

    88

    文章

    3438

    浏览量

    92316

原文标题:如何正确配置AVR单片机的熔丝位?

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于用AVR Studio 5编程EESAVE的问题

    我用的ATmega1280环境是最新的AVR Studio 5现在的问题描述如下:我勾选EESAVE,选择编程改变它的值,重新上电,读出,一切正常,对EESAVE
    发表于 02-21 19:13

    AVR学习

    AVR学习
    发表于 07-16 09:01

    AVR 设置及拯救方法

    AVR 设置及拯救方法
    发表于 07-26 22:48

    AVR操作时的要点需要注意相关事项

    RSTDISBL的状态为“0”),这样会造成ISP的下载编程无法进行,因为在进入ISP方式编程时前,需要将RESET引脚拉低,使芯片先进入复位状态。使用内部有RC振荡器的AVR芯片时,要特别注意
    发表于 04-08 10:25

    AVR的配置操作时的要点注意事项有哪些?

    AVR的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR
    发表于 03-18 07:40

    AVR的配置操作时有哪些需要注意相关事项以及相应的拯救方法?

    是什么意思?对AVR进行配置有哪几种方
    发表于 07-07 07:19

    AVR的复位源是什么?AVR的配置方式有哪些?

    AVR的复位源是什么?AVR的复位方式有哪些?mega16的有哪些?AVR
    发表于 07-07 07:04

    AVR单片机的

    1.简介:状态为“1”表示未编程,
    发表于 07-13 07:36

    如何对AVR进行配置

    AVR的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR
    发表于 07-13 07:24

    如何设置AVR单片机加密

    什么是?如何设置AVR单片机加密
    发表于 09-24 06:55

    AVR的配置操作时有哪些注意要点事项

    AVR的配置操作时有哪些注意要点
    发表于 09-26 06:54

    AVR进行配置需要注意哪些事项

    是什么意思?对AVR进行配置
    发表于 10-29 08:01

    AVR单片机时配置出现的一些问题

    AVR单片机的配置是AVR单片机初学者很容易出错的地方,其实只要注意一些
    发表于 11-23 07:03

    avr单片机熔丝位设置方法及步骤及设置注意事项

    AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点需要注意
    发表于 11-22 15:02 2.4w次阅读
    <b class='flag-5'>avr</b>单片机熔丝位设置方法及步骤及设置<b class='flag-5'>注意事项</b>

    AVR熔丝位配置的一些要点需要注意相关事项资料下载

    电子发烧友网为你提供AVR熔丝位配置的一些要点需要注意相关事项资料下载的电子资料下载,更有其他相关
    发表于 04-11 08:52 6次下载
    <b class='flag-5'>AVR</b>熔丝位配置的一些<b class='flag-5'>要点</b>和<b class='flag-5'>需要注意</b>的<b class='flag-5'>相关</b><b class='flag-5'>事项</b>资料下载