ATMEGA128熔丝位配置详解

合集下载

ATmega128在开发应用中应注意的问题

ATmega128在开发应用中应注意的问题

ATmega128在开发应用中应注意的问题摘要: ATmega128是一种与51系列不同的单片机,本文应用ICCAVR和pony prog2000作为主要开发工具,通过分析其在开发过程中特殊的开发方法,从而达到更好地掌握和使用ATmega128的目的。

关键词: ATmega128 单片机ATmega128是AVR系列中功能最强的单片机,具有如下主要特点:(1)先进的RISC精简指令集结构:ATmega128具有133条功能强大的指令,大部分指令在单时钟周期内执行;有32b×8个通用工作寄存器;片内带有执行时间为2个时钟周期的硬件乘法器。

(2)非易失性程序和数据存储器:ATmega128具有128KB在线可重复编程Flash、4KB的E2PROM以及4KB内部SRAM。

在其BOOT区具有独立的加密位,可通过片内的引导程序实现在系统编程,写操作时真正可读。

(3)具有JTAG接口:通过JTAG接口对Flash、E2PROM熔丝位和加密位编程。

(4)增强的硬件功能:ATmega128具有2个带预分频器和一种比较模式的8位定时/计数器;2个扩充的带预分频器和比较模式、捕获模式的16位定时/计数器;独立振荡器的实时计数器;2通道8位PWM;6通道2~16位精度PWM;8通道10位A/D转换;输出比较调节器;8个单端通道;7个微分通道;2个增益为1x、10x或200x的微分通道;二线(I2C)串行接口;2路可编程串行UART接口;主/从SPI串行接口;带内部振荡器的可编程看门狗定时器等。

(5)独有的特点:上电复位和可编程的低电压检测;内部可校准的RC振荡器;5种睡眠模式,即空闲模式、ADC噪声抑制模式、省电模式、掉电模式、待命模式和扩展待命模式;可通过软件选择时钟频率;通过1个熔丝选定ATmega103兼容模式;全局上拉禁止。

笔者通过使用ATmega128单片机,总结出在使用ATmega128过程中应注意的问题,希望能给即将使用该单片机的读者提供有用的信息。

Atmega128熔丝位设置

Atmega128熔丝位设置

Atmega128熔丝位设置ZHJ初学A VR单片机时最复杂最不容易懂的是熔丝位的设置,一旦设置错了很麻烦。

(如果已设置错了,处理见《A VR熔丝位恢复方式ZHJ》)有了本文,告别设置的不知所措吧!本文是Atmega128单片机的设置界面,下载用的是A VR Studio 4.13,下载器用的是深圳研学电子公司的ISP下载器(不是打广告,个人觉得好用)闲话少话,逐条解释吧!1.Atmega103 Compatibility Mode不勾选。

Atmega103兼容模式。

如果你用Atmega128代替Atmega103才勾选。

2.Watchdog Timer always不勾选。

看门狗始终开启。

此位勾选后软件不能关闭看门狗(除非你不想让软件可暂停看门狗工作)3.On-Chip Debug Enabled不勾选。

片上调试使能。

一般用不上4.JTAG Interface Enaled一般勾选此条小心设置!!JTAG接口使能。

如果你用的是ISP下载,且现在将来不会用JTAG下载,且想用PF4~PF7四个引脚作普通IO口使用,才不勾选。

5.Serial program downloading (SPI) enabled一般勾选此条小心设置!!SPI下载使能。

在ISP下载模式下不能更改。

在JTAG模式下可以更改为不勾选,不勾选后不能使用ISP下载。

6.Preserve EEPROM memory through the Chi Erase cycle勾选。

保护EEPROM中的数据,下载FLASH时不会被破坏。

7.Boot Flash section size=512 words Boot start address=$fe08.Boot Flash section size=1024 words Boot start address=$fe09.Boot Flash section size=2048 words Boot start address=$fe010.Boot Flash section size=4096 words Boot start address=$fe0四选一。

atmega128熔丝位配置

atmega128熔丝位配置

这几天一直在搞AVR ATmega128的程序,显示最基本的功能,但是因为用到了PORTG端口,而这个端口在ATmega128中是放在内部SRAM中的,是为了与ATmega103兼容,出厂时默认是不可以访问的。

因为这个问题,耽搁了几天。

现在看到如下文章,终于“柳暗花明”了。

转载于此,为记!对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”,处于无锁定状态。

ATMEGA128熔丝位配置详解

ATMEGA128熔丝位配置详解

ATMEGA128熔丝位配置详解熔丝位配置2009-07-29 11:51在配置熔丝位时应特别注意,部分熔丝位(如OCDEN、JTAGEN和SPIEN等)的配置是不可逆的2009年04月17日星期五 11:28引言AVR系列单片机在仿真调试之前,首先必须对AVR的熔丝位和锁定位进行配置。

如果配置不当,则可能造成单片机不能正常工作,严重时可能导致单片机死锁。

因此,对单片机熔丝位和锁定位的正确配置显得尤为重要。

熔丝位是对单片机具体功能和工作模式的限定,其正确配置与否直接影响到单片机能否正常工作;锁定位是对单片机的程序和数据进行加密,以防止单片机中的程序和数据被读出或写入。

在进行配置时,一般先配置熔丝位,再配置锁定位。

锁定位又分为引导程序区锁定位和程序及数据存储器锁定位两类。

对引导程序区锁定位进行编程可以实现两套保护模式,即应用区保护模式和Boot Loader区保护模式;不同的编程配置可以实现不同的加密级别。

对程序及数据存储器锁定位进行编程可以禁止对并行和SPI/JTAG串行编程模式中Flash和EEPROM进一步编程,从而对程序和存储器中的数据进行保护。

由于引导程序锁定位和程序及数据存储器锁定位的配置具有可逆性,因此可根据不同的需要多次编程,灵活改变。

但是,在配置熔丝位时应特别注意,部分熔丝位(如OCDEN、JTAGEN和SPIEN等)的配置是不可逆的。

在采用单一编程下载情况下(例如只采用JTAG下载或者只采用AVRISP并行下载),一旦配置后将不可改变。

鉴于熔丝位配置的重要性,本文以AVR系列的ATmega128单片机为例,详细介绍熔丝位的配置以及在配置过程中常出现的一些问题,并给出相应的解决办法,成功地解决了因熔丝位配置不当而引起的单片机不能正常工作和死锁等一系列问题。

1 熔丝位的配置ATmega128的熔丝位共有3个字节:熔丝位扩展字节、熔丝位高字节和熔丝位低字节。

表1、表2和表3分别描述了所有熔丝位的功能、默认值以及它们是如何映射到熔丝位字节的。

ATMEGA128实验开发板用户手册

ATMEGA128实验开发板用户手册

ATMEGA128实验开发板用户手册V1.32011年5月E-mail: sdfdlut@1. ATMEGA128单片机概述ATMEGA128单片机是ATMEL公司推出的一款基于AVR内核,采用RISC结构,低功耗CMOS的8位单片机。

由于在一个周期内执行一条指令,ATMEGA128可以达到接近1MIPS/MHz的性能。

其内核将32个工作寄存器和丰富的指令集联结在一起,所有的工作寄存器都与ALU(逻辑单元)直接连接,实现了在一个时钟周期内执行一条指令可以同时访问两个独立的寄存器。

这种结构提高了代码效率,是AVR的运行速度比普通的CISC单片机高出10倍。

ATMEGA128单片机具有以下特点:128KB的可在系统编程/应用编程(ISP/IAP)Flash 程序存储器,4KB E2PROM,4KB SRAM,32个通用工作寄存器,53个通用I/O口,实时时钟计数器(RTC),4个带有比较模式灵活的定时器/计数器,2个可编程的USART接口,一个8为面向字节的TWI(I2C)总线接口,8通道单端或差分输入的10位ADC(其中一个差分通道为增益可调),可编程带内部振荡器的看门狗定时器,一个SPI接口,一个兼容IEEE 1149.1标准的JTAG接口(用于在线仿真调试和程序下载),6种可通过软件选择的节电模式。

2. ATMEGA128实验开发套件本实验开发套件包括:●测试通过的MEGA128实验板1块;●配套资料光盘1张;●AVR ISP并口下载线1条;●5110液晶模块1个;●遥控器1个;●USB ASP下载线(选配);●AVR JTAGICE仿真器(选配)。

其中资料光盘的内容主要包括:●ATMEGA128实验开发板用户手册.pdf(本文档);●AVR教程:⏹WINAVR 使用入门.pdf⏹AVR Studio 使用入门.pdf⏹AVR基本硬件线路设计与分析.pdf⏹芯艺的AVR_GCC教程.pdf⏹AVR的IO结构分析与范例.mht⏹AVR高速嵌入式单片机原理与应用●芯片手册(包括24C02、74HC595以及中文的I2C协议文档等内容)●开发工具软件;⏹AVR Studio V4.12;⏹WINAVR(GCC) 编译器;⏹IAR for AVR V4.10A;⏹并口下载工具PONYPROG V2.06;⏹ICCAVR 双龙提供;图3 新建工程对话框点击Next,进入第三步。

Atmega128开发板使用说明书

Atmega128开发板使用说明书

Atmega128开发板使用说明书概要介绍Atmega128开发板上硬件资源丰富,接口齐全,基本上涵盖了Atmega128单片机所能涉及到的所有功能,可以满足单片机开发工程师和电子爱好者的开发实验的需求,或者高校电子、计算机专业学生的学习实验的需要。

按照正规产品的要求设计,不纯粹是实验样品,器件选型、原理图、PCB设计的时候都充分考虑了可靠稳定性。

Atmega128的IO口资源丰富,板上所以接口都是独立使用的,不需要任何跳线进行设置, IO口外围扩展使用了2片锁存器74HC574,既可以使实验变得更加简单方便,又能让实验者掌握更多的单片机设计知识。

提供配套软件源代码,学习板的每个实验都有与其相对应的软件代码,是版主从多年的工作经验中提取出来的,并经过优化,具有较高的参考价值。

编程简单,学习板编程不需要专用烧录器,利用计算机的并口即可进行编程,速度快、操作简单。

1.产品清单Atmega128开发板的配件清单如下,当您第一次拿到产品的时候,请参照下图认真核对包装内配件是否齐全,以及各配件是否完好无损。

请按照下图安装122*32 LCD,lCD的一脚对准122*32 LCD插座的一脚,切记不要插反2.硬件布局说明步进电机接口直流电机接口数字温度传感器SD卡插座光敏电阻ADC输入电位器NTC热敏电阻JTAG接口继电器接口9V电源输入接口DAC输出接口RS485接口RS232接口红外发射管ISP编程接口LCD对比度调节电位器122 * 32点阵LCD接口16 * 2字符LCD接口红外接收管433M射频模块接口3 *4 矩阵键盘3.接口说明接口管脚顺序的确认方法●对于有卡口的接口,应对着卡口的方向看,最左边为第一个管脚,如下图所示:●对于用螺丝压线的接口,应对着入线的方向看,最左边为第一个管脚,如下图所示:特别提示:ISP下载接口与JTAG接口封装相同,下载程序时使用ISP接口,不要插到JTAG 接口上4.硬件开发环境的建立本站出售的AVR单片机学习板就是一套完整的硬件环境,它由学习板、电源、并口ISP 下载线等组成。

熔丝位

熔丝位

AVR开发前准备—熔丝位(Fuse)快速入门使用操作界面如下:(注意:下图中,打勾的表示选中,代表0。

没有打勾的表示1)。

英文中文On-Chip Debug Enabled 片内调试使能JTAG Interface Enabled JTAG 接口使能Serial program downloading (SPI) enabled 串行编程下载(SPI) 使能(ISP下载时该位不能修改) Preserve EEPROM memory through the Chip Erase cycle; 芯片擦除时EEPROM的内容保留Boot Flash section size=xxxx words 引导(Boot)区大小为xxx个词Boot start address=$yyyy; 引导(Boot)区开始地址为$yyyyBoot Reset vector Enabled 引导(Boot)、复位向量使能Brown-out detection level at VCC=xxxx V; 掉电检测的电平为VCC=xxxx 伏Brown-out detection enabled; 掉电检测使能Start-up time: xxx CK + yy ms 启动时间xxx 个时钟周期+ yy 毫秒Ext. Clock; 外部时钟Int. RC Osc. 内部RC(阻容) 振荡器Ext. RC Osc. 外部RC(阻容) 振荡器Ext. Low-Freq. Crystal; 外部低频晶体Ext. Crystal/Resonator Low Freq 外部晶体/陶瓷振荡器低频Ext. Crystal/Resonator Medium Freq 外部晶体/陶瓷振荡器中频Ext. Crystal/Resonator High Freq 外部晶体/陶瓷振荡器高频注:以上中文是对照ATmega16的中、英文版本数据手册而翻译。

尽量按照了官方的中文术语。

AVR熔丝位配置详解

AVR熔丝位配置详解

A VR熔丝位配置详解AVR开发前预备—熔丝位(Fuse)快速入门本页关键词:AVR 熔丝位(Fuse)快速入门熔丝位熔丝的作用AVR通过熔丝来操纵芯片内部的一些功能,比如JTAG,时钟的使用,掉电检测电压,是否承诺调试等。

AVR Studio 中STK500 处理熔丝位有庞大的优势:它是以功能组合让用户配置。

这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,能够用“庞大优势”来形容):1有效幸免因不熟悉熔丝位让芯片锁死(这是初学者的恶梦),笔者曾经锁死过三片Atmega16。

2不需要靠经历与查文档,就能配置熔丝位(这也是初学者的恶梦)3动手之前:请你一定弄清晰了,你如此改会有什么后果,除非你有专门多钱不在乎多锁死几个芯片。

备份你的熔丝位状态,在点击Program 之前再次检查熔丝位设置正确与否,不要误点了某项而没有注意到。

由于ISP下载需要芯片本身提供时钟信号。

一定注意,假如没有接外部晶振,一定不能编程熔丝位使用外部晶振。

一旦那样做,就不能再进入编程了,也确实是芯片被锁死。

建议新手不要随意设置芯片的熔丝位,等对熔丝位比较了解了再进行操作。

当芯片锁死已成事实,只要能够为芯片提供相对应的时钟源即可。

如选择了Ext. RC Osc而又没有外部RC(阻容) 振荡器时,可参考手册的接一个专门简单的RC振荡电路!再将熔丝位配置改回正确的配置就可搞定!通过下图的方法打开连接:使用操作界面如下:(注意:下图中,打勾的表示选中,代表0。

没有打勾的表示1)。

上图的资料有专门多相关项,你需要认识以下的代码,以明白中意思。

英文翻译说明如下:英文中文On-Chip Debug Enabled 片内调试使能JTAG Interface Enabled JTAG 接口使能Serial program downloading (SPI) enabled 串行编程下载(SPI) 使能(ISP下载时该位不能修改)Preserve EEPROM memory throughthe Chip Erase cycle;芯片擦除时EEPROM的内容保留Boot Flash section size=xxxx words 引导(Boot)区大小为xxx个词Boot start address=$yyyy; 引导(Boot)区开始地址为$yyyy Boot Reset vector Enabled 引导(Boot)、复位向量使能Brown-out detection level atVCC="xxxx" V;掉电检测的电平为VCC="xxxx" 伏Brown-out detection enabled; 掉电检测使能Start-up time: xxx CK + yy ms启动时刻xxx 个时钟周期+ yy 毫秒Ext. Clock; 外部时钟Int. RC Osc. 内部RC(阻容) 振荡器Ext. RC Osc. 外部RC(阻容) 振荡器Ext. Low-Freq. Crystal; 外部低频晶体Ext. Crystal/Resonator Low Freq 外部晶体/陶瓷振荡器低频Ext. Crystal/Resonator Medium Freq 外部晶体/陶瓷振荡器中频Ext. Crystal/Resonator High Freq 外部晶体/陶瓷振荡器高频注:以上中文是对比ATmega16的中、英文版本数据手册而翻译。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档