正确配置AVR熔丝位的建议

发布者:快乐家庭最新更新时间:2016-05-27 来源: eefocus关键字:正确配置  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->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”。关于BOOTRST的配置以及BOOTLOADER程序的 设计与IAP的应用请参考本章相关内容。
二、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:程序从引导区
                                                                                                确定的入口地址开始执行
关键字:正确配置  AVR  熔丝位 引用地址:正确配置AVR熔丝位的建议

上一篇:AVR Mega16的熔丝位用法总结
下一篇:使用AVR Studio 设置熔丝位并烧写程序

推荐阅读最新更新时间:2024-03-16 14:55

AVR fuse位详解
初学者对熔丝经常不解,AVR芯片使用熔丝来设定时钟、启动时间、一些功能的使能、BOOT区设定、当然还有最让初学者头疼的保密位,设不好锁了芯片很麻烦。要想使MCU功耗最小也要了解一些位的设定 在此写下自己对熔丝的理解,参照了一些MEGA16的PDF文档,双龙的文档,以及大家的帖子。力求易懂、全面。 首先记住: 1:未编程(检查框不打钩) 0:编程 (检查框打钩) 建议在配置熔丝之前先 读取配置 读出原来的设定,再自己编辑。 看看 M16的出厂设置。 默认设置为:内部RC振荡8MHZ 6 CK + 65 ms CKSEL=0100 SUT=10 高位:时钟及启动时间设置: BODLEVEL: BOD电平选择 1:2.7V
[单片机]
AVR单片机T1中断定时1秒程序
#include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int uchar num=0; #pragma interrupt_handler miao:9 #pragma data:code // T/C1中断入口 void miao(void) { if(num==100) {num=0;} else {num++;} TCNT1H=0X85;//重新装载T/C1的初值 TCNT1L=0XED; } void Time1Init(void) { TCCR1B=0X04;//
[单片机]
AVR 矩阵键盘程序源代码V3.5(有连续按键功能,有组合键功能)
程序特点: 1.有连续按键功能 2.有组合键功能 3.连续按键起始时间和间隔时间自定义 4.可根据需要扩展组合键 使用方法: 将文件 Keypad.h 和 Keypad.c 放入您的工程,将按键需要执行的函数赋值给对应的函数指针 注:需要执行的函数必须为无参数,无返回值 例:您按下A时需要执行以下函数: void fun(void) { printf( 我按下了A ); } 只需执行下列语句 p_Key_A = MenuExit; 并在主循环中调用 KeypadPoll(); 以下是两个文件源码 Keypad.h /******** AVR 4*4矩阵键盘扫描程序 ******** * 版
[单片机]
AVR中定时器几种工作模式的总结
AVR有三个定时计数器,其中定时计数器0和定时计数器2是8位的,定时计数器1是16位。 在学习AVR定时计数器时,刚开始被一大堆的寄存器搞的有点晕了,后来认真的把Datasheet中的有关寄存器先看了一遍,再重新看定时计数器的内容才理清了。这里做个总结吧,加深自己的印象。 定时计数器0和定时计数器2基本上是相同的。以定时计数器0来总结它的几种工作模式的不同。 普通模式:不做介绍,和51里面是一模一样的。 CTC模式:当寄存器TCNT0与OCR0相等时(即匹配),OC0按照COM0 的值相应的改变(置位,清零或取反)。同时TCNT0清零,TCNT0从0x00重新开始计数,当计数结果和下一个OCR0寄存器中值相等时又发生匹配。
[单片机]
揭秘AVR单片机高性能便携式仪表电路 —电路图天天读(75)
  随着计算机技术。微电子技术的发展,工业化仪表已逐渐发展成为具有微处理器系统的智能化仪表。便携式智能仪表因其携带方便。操作方便。界面友好。人机接口丰富。功耗低等特性,使得其在当今生活中越来越普及。本文以ATMEL 公司生产的高性能AVR 单片机ATXmega128A1为核心,设计了一种高可靠、低功耗、多用途的便携式仪表电路,并对其硬件进行了分析。   无线通信电路设计   在仪表使用过程中,当两台仪表需要相互通信或者不便于与PC 机进行有线连接的情况下,需要将数据进行无线传输。而能够进行无线传输也成为诸多仪器仪表适应多条件。多功能的体现.Zigbee 是近年新兴的无线网络通信技术标准,功耗小。成本低,在应用中有着突出优势。其
[单片机]
揭秘<font color='red'>AVR</font>单片机高性能便携式仪表电路 —电路图天天读(75)
基于AVR单片机的多通道温湿度传感器检定系统
随着地面自动气象站的投入业务使用,山东省的大监自动气象站和区域自动气象站已经建成1 500多个,使我省的业务水平大幅提高,随着业务量增加的同时,也给计量检定工作能力提出了新的要求。但近些年来温湿度传感器的检定很大程度上仍停留在人工检定阶段。这种检定方法耗时、检定效率低,因此迫切设计出一套自动检定温湿度传感器的系统,为了改善这种状况,在VC 6.0环境下使用MSComm通信控件和数据库技术,开发了自动站温湿度传感器数据采集及处理系统,实现8路温湿传感器的数据批量采集,用以提高温湿度传感器的检定效率和准确度。 1 系统的整体结构及功能描述 该设计以AVR单片机和高精度A/D转换芯片ADS1232为核心,能对温湿度传感器进行检定。
[单片机]
基于<font color='red'>AVR</font>单片机的多通道温湿度传感器检定系统
AVR 内部EEPROM读写范例
*********************************************** **** AVR 内部EEPROM读写范例 *** **** 编译器:WINAVR20050214 *** **** *** **** www.OurAVR.com 2005.9.24 *** ***********************************************/ /* 本程序简单的示范了如何使用ATMEGA16的EERPOM EEPROM的简介 EEPROM的写操作 EEPROM的读操作 出于简化程序考虑,各种数据没有对外输出,学习时建议使用JTAG ICE硬件仿真器 在打开调试文
[单片机]
AVR单片机硬件I2C接口驱动程序
今天上午写了atmega16的I2C硬件接口程序,程序不难,只是给初学的朋友一个思路,不过通过和51的软件模拟I2C程序比较发现,AVR的I2C硬件接口使程序更简单了, 程序功能:先由atmega16向EEPROM中某地址写数字71,然后再从EEPROM里读出来显示到数码管上; #include iom16v.h #include avrdef.h unsigned char const duacode ={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,
[单片机]
<font color='red'>AVR</font>单片机硬件I2C接口驱动程序
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved