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熔丝位设置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熔丝位配置

这几天一直在搞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熔丝位配置详解熔丝位配置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分别描述了所有熔丝位的功能、默认值以及它们是如何映射到熔丝位字节的。
熔丝位学习

熔丝位学习1、CKOPT-------决定振荡器的工作模式①当其编程后,振荡器在输出引脚产生满幅度的振荡,适合于噪声环境及需要通过XTAL2驱动第二个时钟缓冲的情况;②当其未编程时,振荡器输出信号幅度比较小,其优点是大大降低了功耗,但是频率范围比较窄,且不能驱动其他时钟缓冲器。
2、SUT1.0----选择单片机的启动时间3、CKSEL3.2.1.0-----选择单片机的时钟源4、BOOTSZ1.0--------选择BOOT区字节大小5、BOOTRST----------复位后程序执行的起始点选择。
编程后,复位后从BOOT区执行;不编程,则复位后从0地址执行。
6、M8应用注意:①若RSTDISBL 熔丝位编程, PC6 作为I/O 引脚使用。
注意PC6 的电气特性与端口C 的其他引脚不同。
如果你将RSTDISBL熔丝位编程,PC6作为I/O了,不是RESET了,那么你就不能再次进入和使用ISP方式编程了。
除非你的程序全部调试完成,最后一次下载后,才能将RSTDISBL熔丝位编程。
否则你只能将芯片从板上取下,使用并行编程方式恢复了。
②若RSTDISBL 熔丝位未编程,PC6 作为复位输入引脚。
持续时间超过最小门限时间的低电平将引起系统复位。
门限时间见文档资料的P 35Table 15 。
持续时间小于门限时间的脉冲不能保证可靠复位。
对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。
下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。
(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。
因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。
(2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,请首先仔细阅读软件的使用说明,弄清楚“√”表示设置熔丝位状态为“0”还是为“1”。
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单片机所能涉及到的所有功能,可以满足单片机开发工程师和电子爱好者的开发实验的需求,或者高校电子、计算机专业学生的学习实验的需要。
按照正规产品的要求设计,不纯粹是实验样品,器件选型、原理图、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的中、英文版本数据手册而翻译。
尽量按照了官方的中文术语。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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分别描述了所有熔丝位的功能、默认值以及它们是如何映射到熔丝位字节的。
如果熔丝位被编程,则返回值为0。
表中0代表编程,1代表未编程。
表1 熔丝位扩展字节表2 熔丝位高字节表3 熔丝位低字节2 熔丝位配置常见问题(1) ATmega128部分引脚功能不可用这是一个典型的ATmega103兼容模式熔丝位没有正确配置的问题。
ATmega128与ATmega103的引脚百分百兼容,而且通过编程熔丝位M103C,使ATmega128和ATmega103从RAM、I/O 引脚和中断向量角度完全兼容,在使用上完全取代ATmega103。
但在兼容模式下ATmega128的一些新特点无法使用:① 只剩下一个USART,而且只支持异步模式,波特率只有低8位可用;② 只有1个16位定时器和2个比较器,而不是2个16位定时器和3个比较器;③ 不支持两线接口;④ 端口C只能输出;⑤ 端口G可能用作第二功能,而不能作为通用I/O端口;⑥ 端口F只能作为输入,而不能作为ADC的模拟输入引脚;⑦ 不支持引导程序功能;⑧ 不能调节片内RC振荡器的频率。
这些新特点无法使用,直接导致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 波特率计算公式(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使能端配置不当而造成单片机死锁的安全隐患。
图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使能端,从而达到单片机死锁后解救的目的。
图2 AVRISP并行下载线电路4 结论熔丝位的正确配置是学习和使用AVR单片机的第一步。
熔丝位配置不当,可能出现单片机不能正常工作和死锁等一系列问题。
本文列举了熔丝位在配置过程中常出现的一些典型问题,并给出了相应的解决办法,尤其详细介绍了一种ATmega128死锁的预防和解救办法。
这些典型问题和解决办法有助于正确地理解与配置AVR单片机的熔丝位,对初学者起到参考作用。
来自天详电子:初学者对熔丝经常不解,AVR芯片使用熔丝来设定时钟、启动时间、一些功能的使能、BOOT区设定、当然还有最让初学者头疼的保密位,设不好锁了芯片很麻烦。
要想使MCU功耗最小也要了解一些位的设定。
1:未编程0:编程1.BOD(Brown-out Detection) 掉电检测电路BODLEVEL(BOD电平选择): 1: 2.7V电平; 0:4.0V电平BODEN(BOD功能控制): 1:BOD功能禁止;0:BOD功能允许使用方法:如果BODEN使能(复选框选中)启动掉电检测,则检测电平由BODLEVEL决定。
一旦VCC下降到触发电平(2.7v或4.0v)以下,MCU复位;当VCC电平大于触发电平后,经过tTOUT 延时周后重新开始工作。
因为M16L可以工作在2.7v~5.5v,所以触发电平可选2.7v(BODLEVEL=1)或4.0v(BODLEVEL=0);而M16工作在4.5~5.5V,所以只能选BODLEVEL=0,BODLEVEL=1不适用于ATmega16。
2.复位启动时间选择SUT 1/0: 当选择不同晶振时,SUT有所不同。
如果没有特殊要求推荐SUT 1/0设置复位启动时间稍长,使电源缓慢上升。
3.CKSEL3/0: 时钟源选择(时钟总表)时钟总表时钟源启动延时熔丝外部时钟 6 CK + 0 ms CKSEL=0000 SUT="00"外部时钟 6 CK + 4.1 ms CKSEL=0000 SUT="01"外部时钟 6 CK + 65 ms CKSEL="0000" SUT="10"内部RC振荡1MHZ 6 CK + 0ms CKSEL="0001" SUT="00"内部RC振荡1MHZ 6 CK + 4.1ms CKSEL="0001" SUT="01"内部RC振荡1MHZ1 6 CK + 65ms CKSEL="0001" SUT="10"内部RC振荡2MHZ 6 CK + 0ms CKSEL="0010" SUT="00"内部RC振荡2MHZ 6 CK + 4.1 ms CKSEL="0010" SUT="01"内部RC振荡2MHZ 6 CK + 65ms CKSEL="0010" SUT="10"内部RC振荡4MHZ 6 CK + 0ms CKSEL="0011" SUT="00"内部RC振荡4MHZ 6 CK + 4.1ms CKSEL="0011" SUT="01"内部RC振荡4MHZ 6 CK + 65ms CKSEL="0011" SUT="10"内部RC振荡8MHZ 6 CK + 0ms CKSEL="0100" SUT="00"内部RC振荡8MHZ 6 CK + 4.1ms CKSEL="0100" SUT="01"内部RC振荡8MHZ 6 CK + 65ms CKSEL="0100" SUT="10"外部RC振荡≤0.9MHZ 18 CK + 0ms CKSEL="0101" SUT="00"外部RC振荡≤0.9MHZ 18 CK + 4.1ms CKSEL="0101" SUT="01"外部RC振荡≤0.9MHZ 18 CK + 65ms CKSEL="0101" SUT="10"外部RC振荡≤0.9MHZ 6 CK + 4.1ms CKSEL="0101" SUT="11"外部RC振荡0.9-3.0MHZ 18 CK + 0ms CKSEL="0110" SUT="00"外部RC振荡0.9-3.0MHZ 18 CK + 4.1ms CKSEL="0110" SUT="01"外部RC振荡0.9-3.0MHZ 18 CK + 65ms CKSEL="0110" SUT="10"外部RC振荡0.9-3.0MHZ 6 CK + 4.1ms CKSEL=0110 SUT="11"外部RC振荡3.0-8.0MHZ 18 CK + 0ms CKSEL=0111 SUT="00"外部RC振荡3.0-8.0MHZ 18 CK + 4.1ms CKSEL="0111" SUT="01"外部RC振荡3.0-8.0MHZ 18 CK + 65ms CKSEL=0111 SUT="10"外部RC振荡3.0-8.0MHZ 6 CK + 4.1ms CKSEL="0111" SUT="11"外部RC振荡8.0-12.0MHZ 18 CK + 0 ms CKSEL=1000 SUT="00"外部RC振荡8.0-12.0MHZ 18 CK + 4.1 ms CKSEL="1000" SUT="01"外部RC振荡8.0-12.0MHZ 18 CK + 65 ms CKSEL="1000" SUT="10"外部RC振荡8.0-12.0MHZ 6 CK + 4.1 ms CKSEL="1000" SUT="11"低频晶振(32.768KHZ) 1K CK + 4.1 ms CKSEL="1001" SUT="00"低频晶振(32.768KHZ) 1K CK + 65 ms CKSEL="1001" SUT="01"低频晶振(32.768KHZ) 32K CK + 65 ms CKSEL="1001" SUT="10"低频石英/陶瓷振荡器(0.4-0.9MHZ) 258 CK + 4.1 ms CKSEL="1010" SUT="00"低频石英/陶瓷振荡器(0.4-0.9MHZ) 258 CK + 65ms CKSEL="1010" SUT="01"低频石英/陶瓷振荡器(0.4-0.9MHZ) 1K CK + 0ms CKSEL=1010 SUT="10"低频石英/陶瓷振荡器(0.4-0.9MHZ) 1K CK + 4.1ms CKSEL="1010" SUT="11"低频石英/陶瓷振荡器(0.4-0.9MHZ) 1K CK + 65ms CKSEL="1011" SUT="00"低频石英/陶瓷振荡器(0.4-0.9MHZ) 16K CK + 0ms CKSEL=1011 SUT="01"低频石英/陶瓷振荡器(0.4-0.9MHZ) 16K CK +4.1ms CKSEL="1011" SUT="10"低频石英/陶瓷振荡器(0.4-0.9MHZ) 16K CK +65ms CKSEL="1011" SUT="11"中频石英/陶瓷振荡器(0.9-3.0MHZ) 258 CK + 4.1ms CKSEL="1100" SUT="00"中频石英/陶瓷振荡器(0.9-3.0MHZ) 258 CK + 65ms CKSEL="1100" SUT="01"中频石英/陶瓷振荡器(0.9-3.0MHZ) 1K CK + 0ms CKSEL=1100 SUT="10"中频石英/陶瓷振荡器(0.9-3.0MHZ) 1K CK + 4.1ms CKSEL="1100" SUT="11"中频石英/陶瓷振荡器(0.9-3.0MHZ) 1K CK + 65ms CKSEL="1101" SUT="00"中频石英/陶瓷振荡器(0.9-3.0MHZ) 16K CK + 0ms CKSEL="1101" SUT="01"中频石英/陶瓷振荡器(0.9-3.0MHZ) 16K CK +4.1ms CKSEL="1101" SUT="10"中频石英/陶瓷振荡器(0.9-3.0MHZ) 16K CK +65ms CKSEL="1101" SUT="11"高频石英/陶瓷振荡器(3.0-8.0MHZ) 258 CK + 4.1ms CKSEL="111"0 SUT="00"高频石英/陶瓷振荡器(3.0-8.0MHZ) 258 CK + 65ms CKSEL="111"0 SUT="01"高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 0ms CKSEL="111"0 SUT="10"高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 4.1ms CKSEL="111"0 SUT="11"高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 65ms CKSEL="1111" SUT="00"高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 0ms CKSEL="1111" SUT="01"高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK +4.1ms CKSEL="111"1 SUT="10"高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK +65ms CKSEL="1111" SUT="11"高位(BOOT区设置):1. JTAGEN(JTAG允许): 1:JTAG禁止; 0:JTAG允许OCDEN(OCD功能允许): 1:OCD功能禁止;0:OCD功能允许注:OCDEN(On-chip Debug):片上调试使能位JTAGEN(JTAG使能): JTAG测试访问端口使用方法:在JTAG调试时,使能OCDEN JTAGEN两位(复选框打勾),并保持所有的锁定位处于非锁定状态;在实际使用时为降低功耗,不使能OCDEN JTAGEN,大约减少2-3mA 的电流。