一文详解ATMEGA128熔丝位配置

发布者:Yuexiang最新更新时间:2019-12-24 来源: elecfans关键字:ATMEGA128  熔丝位  配置 手机看文章 扫描二维码
随时随地手机看文章

AVR系列单片机在仿真调试之前,首先必须对AVR的熔丝位和锁定位进行配置。如果配置不当,则可能造成单片机不能正常工作,严重时可能导致单片机死锁。因此,对单片机熔丝位和锁定位的正确配置显得尤为重要。


熔丝位是对单片机具体功能和工作模式的限定,其正确配置与否直接影响到单片机能否正常工作;锁定位是对单片机的程序和数据进行加密,以防止单片机中的程序和数据被读出或写入。在进行配置时,一般先配置熔丝位,再配置锁定位。锁定位又分为引导程序区锁定位和程序及数据存储器锁定位两类。对引导程序区锁定位进行编程可以实现两套保护模式,即应用区保护模式和Boot Loader区保护模式;不同的编程配置可以实现不同的加密级别。对程序及数据存储器锁定位进行编程可以禁止对并行和SPI/JTAG串行编程模式中 Flash和EEPROM进一步编程,从而对程序和存储器中的数据进行保护。


由于引导程序锁定位和程序及数据存储器锁定位的配置具有可逆性,因此可根据不同的需要多次编程,灵活改变。但是,在配置熔丝位时应特别注意,部分熔丝位(如OCDEN、JTAGEN和SPIEN等)的配置是不可逆的。在采用单一编程下载情况下(例如只采用JTAG下载或者只采用AVRISP并行下载),一旦配置后将不可改变。鉴于熔丝位配置的重要性,本文以AVR系列的ATmega128单片机为例,详细介绍熔丝位的配置以及在配置过程中常出现的一些问题,并给出相应的解决办法,成功地解决了因熔丝位配置不当而引起的单片机不能正常工作和死锁等一系列问题。


1 熔丝位的配置

ATmega128的熔丝位共有3个字节: 熔丝位扩展字节、熔丝位高字节和熔丝位低字节。表1、表2和表3分别描述了所有熔丝位的功能、默认值以及它们是如何映射到熔丝位字节的。如果熔丝位被编程,则返回值为0。表中0代表编程,1代表未编程。

表1 熔丝位扩展字节

一文详解ATMEGA128熔丝位配置

表2 熔丝位高字节

一文详解ATMEGA128熔丝位配置

表3 熔丝位低字节

一文详解ATMEGA128熔丝位配置

2 熔丝位配置常见问题

(1) ATmega128部分引脚功能不可用


特点无法使用,直接导致ATmega128部分引脚功能不可用。

(2) ATmega128启动后停止在Boot Loader区

这是一个复位向量熔丝位和Boot区大小选择熔丝位没有正确配置的问题。ATmega128具有128 KB的系统内可编程Flash。它由两个区构成,即应用区和Boot Loader区;两个区的大小可通过BOOTSZ熔丝位配置。在默认配置下,应用区区间为0000H~EFFFH;Boot Loader区区间为F000H~FFFFH。

(3) USART不能或不能正确收发数据

这是一个较难解决的问题,可分两步来排除错误。首先检查USART的工作模式、数据帧和波特率等设置是否正确;然后根据表4中波特率的计算公式计算 BAUD值和UBRR值。如果计算出的BAUD值与设置的波特率值相差很远,则说明晶振没有正常工作或晶振频率选择得不对,这时应对晶振的熔丝位进行正确配置。在默认状态下,ATmega128工作于内部提供的晶振1 MHz下。若要使ATmega128工作于外部晶振下,应对相应的熔丝位进行配置。

表4 波特率计算公式

一文详解ATMEGA128熔丝位配置

(4) ATmega128的PF口不能正常工作

ATmega128的PF口是普通I/O口、数模转换口和JTAG接口的分时复用口。PF口用作JTAG接口后,不能再用作普通I/O口;若想作普通I/O使用,则须对熔丝位进行编程禁止JTAGEN使能端。

(5) JTAG仿真器不能连接到目标板

出现这一问题主要是由于JTAGEN使能端熔丝位被编程为禁止。如果使用JTAG仿真器进行程序编程下载,则此时JTAGEN使能端的熔丝位不可恢复。


3 ATmega128死锁的预防和解救措施

ATmega128的JTAG接口支持片内调试和程序下载,还能实现对Flash、EEPROM、熔丝位和锁定位的编程,其接口电路如图1所示。虽然JTAG接口使用非常方便,但是存在因熔丝位JTAGEN使能端配置不当而造成单片机死锁的安全隐患。

一文详解ATMEGA128熔丝位配置

图1 ATmega128的JTAG接口电路


ATmega128死锁的预防原理: ATmega128程序的下载方式有JTAG下载和AVRISP下载两种,通过这两种方式都可以进行熔丝位的配置。如果只使用JTAG接口,则当熔丝位 JTAGEN使能端配置为禁止时,不能再通过JTAG接口恢复。理论上,如果只使用AVRISP接口,则当熔丝位SPIEN使能端禁止后也不能再通过 AVRISP接口恢复。但这种情况一般不会出现,因为芯片在出厂时已默认为SPI编程使能,且不可再对其进行配置。因此当使用JTAG接口时应预设 AVRISP接口,以便当JTAGEN使能端被禁止时仍可通过AVRISP接口恢复,从而达到预防单片机死锁的目的。


ATmega128死锁后解救措施: 首先制作一条AVRISP并行下载线,电路如图2所示。对于ATmega128和ATmega64,图中MOSI和MISO分别用引脚 PE0(PDI/RXD)和PE1(PDO/TXD)替代。把并行口连接到计算机,10针接口与目标板上单片机预留的AVRISP接口相连;通过双龙公司的SLAVRISP软件进行相应的熔丝位配置,就能重新使能JTAGEN使能端,从而达到单片机死锁后解救的目的。


ATmega128死锁后解救措施: 首先制作一条AVRISP并行下载线,电路如图2所示。对于ATmega128和ATmega64,图中MOSI和MISO分别用引脚 PE0(PDI/RXD)和PE1(PDO/TXD)替代。把并行口连接到计算机,10针接口与目标板上单片机预留的AVRISP接口相连;通过双龙公司的SLAVRISP软件进行相应的熔丝位配置,就能重新使能JTAGEN使能端,从而达到单片机死锁后解救的目的。

一文详解ATMEGA128熔丝位配置

4 结论

熔丝位的正确配置是学习和使用AVR单片机的第一步。熔丝位配置不当,可能出现单片机不能正常工作和死锁等一系列问题。本文列举了熔丝位在配置过程中常出现的一些典型问题,并给出了相应的解决办法,尤其详细介绍了一种ATmega128死锁的预防和解救办法。这些典型问题和解决办法有助于正确地理解与配置AVR单片机的熔丝位,对初学者起到参考作用。

关键字:ATMEGA128  熔丝位  配置 引用地址:一文详解ATMEGA128熔丝位配置

上一篇:大神提供的AVR单片机的相关总结
下一篇:由AVR单片机、数据采集模块与控制电路设计的智能控制系统

推荐阅读最新更新时间:2024-11-23 22:54

7.STM32F407ZG串口通信配置流程
步骤: 1.时钟使能:GPIO时钟使能,串口时钟使能。 RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); 2.端口配置:GPIO引脚配置,复用模式。 GPIO_InitTypeDef GPIO_Struct; GPIO_Struct.GPIO_Pin=GPIO_Pin_9; GPIO_Struct.GPIO_Mode=GPIO_Mode_AF; GPIO_Struct.GPIO_Speed=GPIO_Speed_50MHz;
[单片机]
浅谈S7-300 CPU集成PN口配置的Modbus TCP通讯技术
2.配置S7-300单站系统通过CPU集成PN口作为Client进行Modbus TCP通讯 下面以S7-300单站系统及Modbus Slave软件为例,详细介绍如何将S7-300单站系统CPU的集成PN口配置为Client,Modbus Slave作为Server进行Modbus TCP通讯。 2.1硬件设备及软件 本例中所用的硬件设备如下表: 名称 数量 订货号 S7-300电源模块PS 307 10A 1 6ES7307-1KA02-0AA0 S7-300 CPU317-2PN/DP 1 6ES7317-2EK14-0AB0(V3.2) 网线 若干 笔记本电脑 1 所用到软件如下表: 名
[嵌入式]
浅谈S7-300 CPU集成PN口<font color='red'>配置</font>的Modbus TCP通讯技术
沃尔沃s90,“雷锤之神”的LED大灯,安全配置方面很高
面对如今多样化的汽车市场,很多消费者在购买豪华中大级车时也不仅仅局限于BBA阵营,从而给了一些二线豪华品牌机会,作为北欧的沃尔沃同样也抓住了这一机遇,推出了全新一代旗舰中大级车S90,同时引入国内市场进行国产化,作为一个新晋人物,相比于BBA到底有哪些值得称赞的地方呢? 前脸造型比较大气,中网内部搭配了竖状的镀铬装饰条,看上去比较精致,“雷锤之神”的LED大灯造型显得有几分科技感,下方保险杠没有进行过多的修饰,两侧配备了雾灯,引擎盖上线条设计比较凸出,给它增加了力量感,前脸颜值还是有的,光车标也可以证明自己的身份。 车身侧面没有什么花哨的设计,给人一种稳重成熟的感觉车身线条非常流畅,车窗周围的镀铬装饰条,提升了不少质感,轴
[汽车电子]
基于MPLAB X IDE配置位设置讲解
在讲基于MPLAB X IDE 配置位配置前我先讲讲如何配置配置位。 比如PICLF1823的数据手册 可以再器件配置中找到两个寄存器。一个是配置字1 ,一个是配置字2. 对于初学者来说如此多的配置选项,该如何配置呢?我们要抓主重点。 配置字中最重要的配置选项就是: 看门狗配置 如:WDTE 1;0 ; 一般选择关闭看门狗 MCLRE复位脚的配置 如:MCLRE;一般选择复位脚作I/O 震荡器的选择: 如:FOSC 2:0 ;根据实际情况配置,我这里一般选择用 INTOSC 内部振荡器. 因为如果这三个没有配置好的话程序根本无法运行。其他配置可以看数据手册此不赘述。 MPLAB X IDE和MPLA
[单片机]
一种迷你数控雕刻机系统的设计方案
随着艺术模型、机械加工、工装模具等产业的飞速发展,对加工设备提出的要求越来越高,雕刻机作为上述产业的重要组成部分也发生了快速的发展。 目前,传统雕刻机体积大、操作复杂、售价高。不仅需要专门的计算机搭载专门的软件,还需要专业操作人员进行控制,而且传统雕刻机主要用于批量生产,对于一些雕刻机爱好者和模具设计师想利用雕刻机雕刻单件自己设计的作品,传统雕刻机专业性强,费用高,不切实际。此外,一些传统的雕刻机使用之前需要人工通过转动三轴方向的手轮对雕刻头进行初步定位,精度、效率低。还有一些高端雕刻机采用软件对雕刻头初步定位,但是设备昂贵。 鉴于此,精心设计了一种迷你数控雕刻机系统。该系统不仅操作简单、方便,而且雕刻头初步定位精度精确、效率高。
[电源管理]
一种迷你数控雕刻机系统的设计方案
如何配置stm32中断的优先级
写作原由:因为之前有对stm32 优先级做过研究,但是没时间把整理的东西发表,最近项目需要2个串口,但是不是两个串口同时使用,只是随机使用其中一个,程序对2个串口的优先级需要配置; 此文思路:“中断优先级”思维导图--》关键要点---》结合图和要点相关程序应用例程讲解; 我们先来看ST公司的一张图: 我自己依据此图理解,应用思维导图画了一张方便理解:(如果看不清可通过ctrl+鼠标滑轮 放大看;) 前提条件1:组别优先顺序(第0组优先级最强,第4组优先级最弱):NVIC_PriorityGroup_0》NVIC_PriorityGroup_1》NVIC_PriorityGroup_2》NVIC_PriorityGrou
[单片机]
如何<font color='red'>配置</font>stm32中断的优先级
TI推出全球首款具有可配置低泄漏跨阻放大器的微控制器
2016年3月22日,北京讯 德州仪器(TI)(NASDAQ: TXN)日前宣布其用户现在能够利用全新的MSP430FR2311微控制器(MCU)来延长感测和测量应用中的电池使用寿命。该款器件是业内唯一一款具有集成型低泄漏跨阻放大器(TIA)的MCU,同时其流耗仅有50pA。作为TI超低功耗MSP430 MCU系列的延伸产品,该款全新MCU的泄露值较其它电压和电流感测解决方案低20倍,并且能够在不牺牲电池使用寿命或电路板空间的情况下提供模拟和存储技术的可配置性。 支持可配置模拟的高集成MCU解决方案可帮助开发人员简化电路原理图,同时节省高达75%的PCB空间。MSP430FR2311 MCU使开发人员能够利用ADC、运算放大器
[模拟电子]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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