历史上的今天
今天是:2025年02月10日(星期一)
2020年02月10日 | AVR熔丝位的配置设置
2020-02-10 来源:eefocus
用户使用并行编程方式、ISP编程方式、JTAG编程方式都可以对AVR的熔丝位进行配置,但不同的编程工具软件提供对熔丝位的配置方式(指人机界面)也是不同的。有的是通过直接填写熔丝位位值(如:CVAVR、PonyProg2000和SLISP等),有的是通过列出表格选择(如 AVR STUDIO、BASCOM-AVR)。前者程序界面比较简单,但是需要用户在仔细查询操作,会引起一些意想不到的后果,如造成芯片无法正常运行,无法再次定入ISP编程模式等。建议用户对AVR的熔丝位进行配置时,选择用户表格选择方式界面的编程软件,如BASCOM-AVR。不过版主使用的是前者PonyProg2000。
正确配置AVR熔丝位
对AVR熔丝位的配置操作是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。
1. 在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态, “Unprogrammed”表示熔丝位的状态为1(禁止);“Programmed” 表示熔丝位的状态为0(允许)。因此,配置 熔丝位的过程实际上是“配置熔丝位成为未编程状态1或成为已编程状态0”。
2. 在使用通过选择打钩“?”方式确定熔丝位状态值的编程工具软件时,首先仔细阅读软件的使用说明书,弄清“?”表示设置熔丝位状态为0还是为1。
3. 新的AVR芯片在使用前,应先查看它的熔丝位的配置情况,再根据实际需要进行熔丝位的配置,并将各个熔丝位的状态记录备案。
4. AVR芯片加密以后仅仅是不能读取芯片内部的Flash和E²PROM中的数据,熔丝位的状态仍然可以读取但不能修改配置。芯片擦除命令是将Flash和E²PROM中的数据清除,并同时并两位锁定位状态配置成“11”,处于无锁定状态。但芯片擦除命令并不能改变其他熔丝位的状态。
5. 正确的操作步骤是:在芯片无锁定状态下,将代码写入芯片中,配置相关的熔丝位,最后配置芯片的锁定位。芯片锁定后,如果发现熔丝位配置不对,必须使用芯片擦除命令清除芯片中的数据,并解除锁定。然后重新写入代码,修改相关的熔丝位,最后再次配置芯片的锁定位。
6. 使用ISP串行方式下载编程时,应配置SPIEN熔丝位为0,芯片出厂时SPIEN位的状态默认为0,表示允许ISP串行方式下载编程。只有该位处于编程状态0时才可以通过AVR的ISP口进行ISP下载编程,如果该位处于编程状态1后,ISP串行方式下载数据立即被禁止,此时只有通过并口方式或JTAG编程方式才能将SPIEN的状态重新设置为0来开放ISP编程方式。所以有时芯片在ISP方式下不能写入,不要认为芯片已坏,可以按以上方法开放ISP编程。通常情况下,应保持SPIEN的状态为0,允许ISP编程不会影响其引脚的I/O功能,只要在硬件电路设计时,注意ISP接口与其接口器件进行必要的隔离,如使用串接电阻或断路跳线等。
7. 当不需要使用JTAG接口编程方式,且JTAG接口引脚需要作为I/O口使用时,最好设置熔丝位JTAGEN的状态为1。芯片出厂时 JTAGEN的状态默认为0,表示允许JTAG编程方式,JTAG引脚不能作为I/O口使用,所以新的芯片如果需要用到JTAG引脚作I/O口,需设置 JTAGEN为1,当JTAGEN的状态设置为1后JTAG接口立即被禁止,此时只有通过并行方式或ISP编程方式才能将JTAG重新设置为0开放 JTAG。
史海拾趣
|
摘要:提出一种新型的软开关电路拓扑,通过仿真分析和试验验证,实现了变换器的零压零流开关特性,降低了开关损耗,并已应用于通信开关电源。 关键词:变换器零压零流开关仿真 目前,具有谐振软开关和PWM控制特点的,相移全桥零电压PWM(FB? ...… 查看全部问答> |
|
看到有那么多DIY MP3的东东,于是乎在网上发现了这个文章,转来看看,是不是增强了我们DIY的决心了呢? 看过一篇文章说医生将自己的病人介绍到其他医院做手术,说得出的原因是病房装修或者床位不空等,而真实原因则是本院收费严格无利可图,介绍到 ...… 查看全部问答> |
|
在menuconfig中配置: 详细介绍内核配置选项及删改情况 第一部分:全部删除 Code maturity level options ---> 代码成熟等级选项 []Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开 ...… 查看全部问答> |
|
我的解码思路是这样的,两次进入外部中断以后开启定时器,关闭外部中断,第一次进入定时器中断时间是400us,以后都是800us这样就可以对每一位码位进行两次采样。 控制位一位,系统码位5位,数据码位6位。总共12位。一位采样两次。总共24次,正好 ...… 查看全部问答> |
|
#include #define uchar unsigned char int flag; unsigned int count; sbit l1 = P1^0; sbit l2 = P1^1; sbit l3 = P1^2; sbit s1 = P1^3; //第一个红外开关 sbit s2 = P1^4; ...… 查看全部问答> |
|
请问有谁用过OXFORD的OXU210HP这颗USB芯片吗? 在wince5.0下,OXU210的驱动提供了一个cec文件,导入cec文件后,在PB右侧的catalog的第三方驱动中的列表中出现了这个USB的驱动,将它加入我的BSP中,就可以使用了。 我现在要把这个驱动移植到6.0中 ...… 查看全部问答> |
|
死在Calibrating delay loop... 怎么解决?不要嫌分少啊。 我编写了一个针对某块芯片的framebuffer代码 修改了 drives/video 下相应的Config.in fbmem.c Makefile文件 在make menuconfig中也做了相应的修改 我用的是MIPS 编译好的代码在板上跑的时候总是死在Calibra ...… 查看全部问答> |
|
我在CONFIG.H中设置好 DEFAULT_BOOT_LINE \"secEnd(0,0)host:vxWorks h=192.168.0.1 e=192.168.0.100:ffffff00 u=target pw=target tn=S3C4510\"后! 生成bootrom_uncmp后转化成bootrom.bin,再烧写到boot flash中! 启动后,能ping ...… 查看全部问答> |




