from
最近网站论坛出现了很多关于熔丝位配置的问题,高手也只是点到为止,本人也是出于爱好,特整理出有关熔丝位的配置问题,希望对大家有用。希望高手对此提出意见,大家交流一下:
熔丝位是通过下载或则编程器软件设置的,不能通过我们的程序设置。他主要为了我们对单片适宜不同的时钟源等设置的。咱们以ATMEL64或则128为例。
大部分AVR芯片的ISP端口是 SCK,MOSI,MISO,RESET ,而M64/M128的ISP端口是SCK, PDI,
PDO,RESET。由于这两种芯片出厂设置是兼容ATMEL103的,且默认是JTAG编程,因此JTAG端口不能做I/O口
,还有就是只剩下一个 USART,而且只支持异步模式。波特率寄存器只有低8 位可用只有一个16位的定时
器/计数器,两个比较寄存器,而不是两个16位定时器/计数器, 三个比较寄存器。 不支持两线接口。 端口 C 只能输出。 端口 G 只能用做第二功能,而不能作为通用I/O 端口。 端口 F 只能作为输入,而不能作为ADC 的模拟输入引脚。 不支持引导程序功能。 不能够调节片内RC 振荡器的频率。 外部存储器接口无法释放任何一个地址引脚作为通用I/O,也不能够为不同的外部存 储器地址区配置不同的等待周期.因此对熔丝位M103C的配置将设定ATmega128是以ATmega103兼容方式工作运行还是以ATmega128本身的方式工作运行。ATmega128在出厂时M103C默认状态为“0”,即默认以ATmega103兼容方式工作。当用户系统设计使芯片以ATmega128方式工作时,应首先将M103C的状态配置为“1”。
我们以双龙的SLISP为例,设置成64与128的熔丝位。(打勾的为0,表示编程使能;不打勾的为1,表示不编程。)
如果选择我们的外部晶振16M,且不要103兼容模式,程序指向0X0000H,使能复位端口,使用双龙的ISP下载。只需将SUT0与OCDEN与CKOPT打钩。
对熔丝位的重要设置主要集中在CKSEL3-0与SUT1-0,还有就是CKOPT。。CKSEL3-0设置非常谨慎,一设置错误将不能启动芯片。常常在这出现错误.
CKSEL3-1主要是选时钟源,而CKOPT与CKSEL3-1选择振荡器的不同工作模式:包括频率范围与C1与 C2电容的大小设置(这主要面向外接晶振时候)。而CKSEL0与SUT1-0主要是设置唤醒脉冲与复位延时启动时间设置。
才学浅,希望大家指正。
阅读(3124) | 评论(0) | 转发(0) |