搜索
bottom↓
回复: 174

AVR芯片的ISP全攻略+熔丝补救方法,请各位指正

[复制链接]

出0入0汤圆

发表于 2005-11-12 12:49:42 | 显示全部楼层 |阅读模式
AVR芯片的ISP全攻略



并行编程,最早的编程方法,功能最强大,但需要连接较多的引脚,通常需要12V~24V的高压,以示区别,下面称为 高压并行编程。

ISP(In System Programmability)  在系统编程,简称为 串行下载

IAP(In Application Programing)  在应用编程,BootLoader也是类似的意思



1 ISP虽然利用了SPI接口(例外:M64/M128为UASRT0接口,Tiny13等没有SPI接口)的引脚,但只在复位时起作用,而且下载完成后合格的下载器会自动断开端口的连接,对正常工作时没有影响的( 在产品应用中,下载器一定是不会一直粘在上面的)。

2 虽然高压并行下载能修复任何熔丝位,但对于贴片封装来说是很不现实的,所以ISP接口是最常用的下载方式了

3 虽然IAP是一种新的升级方法,但IAP程序本身也是要先用高压并行下载或ISP来烧进芯片里面才行

4 Tiny13等少管脚AVR芯片因为管脚实在太少了,有ISP,但没有[高压并行编程]而特制了[高压串行编程]



所以,产品上一般都留有ISP接口插座,或更省位置的----留6个焊盘就行了





ISP的工作前提

    1 芯片没有物理损坏

    2 芯片的SPIEN熔丝位=0    使能ISP功能

    3 芯片的RSTDISBL熔丝位=1 RESET引脚有效 (假如芯片有这个熔丝位)

    4 线路正常---------接错线? 短路?

    5 下载器正常-------特别要考虑 连线的接触不良问题

    6 电源





   运行时钟      ISP时钟(必须低于运行时钟的1/4)

    4096Hz        <1024Hz       //很变态的用法,外接32.768KHz晶体+CKDIV8 ,不过AVRISP还是提供了603Hz这个速度了

                                //另一简易解决办法是 下载时在32.768KHz晶体并联一个1MHz晶体,双龙的下载线就配有一个8MHz的石英晶体

   32768Hz        <8192Hz

     128KHz       < 32KHz       //内部RC128KHz

     1.0MHz       <250KHz       //默认值(包括8MHz+CKDIV8),所以AVRISP的ISP速度多为230KHz

     8.0MHz      <2000KHz

    16.0MHz      <4000KHz

运行时钟不等于震荡器的频率,因为部分AVR芯片有系统时钟预分频器,可以对震荡器进行1~256分频

CKDIV8熔丝位决定CLKPS位的初始值。

若CKDIV8未编程,CLKPS位复位为“0000”;若CKDIV8 已编程,CLKPS 位复位为“0011”,给出启动时分频因子为8



AVRISP可提供的ISP时钟 921.6KHz,230.4KHz, 57.6KHz,28.8KHz,4.0KHz, 603Hz

STK500可提供的ISP时钟 1.845MHz,460.8KHz,115.2KHz,57.6KHz,4.0KHz,1206Hz



   时钟设定      ISP方案

   内部RC        选择合适的ISP速度

   外部RC        接上合适的电阻和电容,选择合适的ISP速度。------补救: 外部时钟源接到XTAL1

                 外部RC 根本就没有什么意义,频率精度/稳定度不高,成本也没有降低,所以新的AVR芯片已经没有这个选项了。

                 各位网友要注意的是错误设定后补救方法

   外部晶体      接上合适的晶体,选择合适的ISP速度。      ------补救: 外部时钟源接到XTAL1

   外部时钟      接上合适的时钟源,选择合适的ISP速度。    ------补救: 外部时钟源接到XTAL1

外部时钟源可以是 外部(4MHz)有源晶体输出,其他MCU的XTAL2脚,各种方波振荡电路(NE555)输出等





大部分AVR芯片的ISP端口是  SCK,MOSI,MISO,RESET

而M64/M128的ISP端口是     SCK, PDI, PDO,RESET


     而且M64/M128出厂默认兼容M103----熔丝位M103C=0,很多新特性不能使用,程序也可能不能正常运行

     ----因为C编译器通常默认自动把SP指向SRAM的末端,M103=0x0FFFH, M64/M128=0x10FFH,必然出错!





AVR的所有熔丝位均是:

   1 未编程,多为不起作用的意思。

   0   编程,多为  起作用的意思。


  基于可编程工艺的都是这样:

  PROM/EEPROM/FLASH都是出厂时和擦除后变为全1(0xFF)的,要编程才能变成0。

  反过来就是了,跟CE/OE/INT都是[低电平有效]一样,都是很常见。





在ISP模式下永远不能访问(修改)SPIEN位,这是AVR芯片的硬件保护

有独立RESET脚的M16/M32/M64/M128等,在ISP模式下根本就就不会令ISP无效,无论如何修改熔丝位,都能恢复正常。

M8/M48/M88/M168/Tiny系列有RSTDISBL熔丝位可以令导致RESET失效而令ISP无法工作外,其他情况都能恢复正常。



一般来说,只要满足ISP的工作前提,再把XTAL1接到一个4MHz有源晶体的输出,基本是万试万灵的。



不要忘记,并行高压编程的时钟信号也是从XTAL1导入方波信号的。

如果有源晶振的方法不行(除了ISPEN=0,RSTDISBL=0情况外),恐怕高压编程也未必能奏效。









JTAG的影响(M16,M32,M128等):

   JTAG能访问 SPIEN 和 JTAGEN,要是不小心同时改成SPIEN=1,JTAGEN=1,将会导致MCU锁死,需要高压并行编程才能恢复。





DebugWIRE的影响:(M48,M88,M168,T2313等,数据手册里面的资料不是很详细)

   由于DebugWIRE使用RESET脚来通讯,所以跟ISP有所冲突

   可以通过ISP或并行高压编程来使能DebugWIRE功能[即DWEN=0],使能DebugWIRE功能后,ISP功能失效。

   可以通过DebugWIRE来关闭DebugWIRE功能[即DWEN=1],关闭DebugWIRE功能后,如果RSTDISBL=1,SPIEN=0,ISP功能有效。

   比较特殊的是 DebugWIRE调试中,断点的使用会降低Flash 数据记忆时间 DebugWIRE调试用的器件不能发给最终客户。

   JTAG MKII同时具备JTAG/DeubgWIRE/ISP三种功能,可以轻松实现DebugWIRE/ISP的切换。

     (软件需要升级到1.09版以后 即对应AVRstudio 4.12以后版本)

        最新版本 JTAG MK2使用说明中文pdf(20051125)

   设计使用debugWIRE 的系统时,必须进行下面的检查:

   &#8226; dW/(RESET) 的上拉电阻不得小于10kΩ。debugWIRE 并不需要上拉电阻

   &#8226; 将 RESET 引脚与 VCC 直接连接将无法工作

   &#8226; 使用debugWIRE 时必须断开与RESET 引脚连接的电容

   &#8226; 必须断开所有的外部复位源

出0入0汤圆

发表于 2005-11-12 19:48:25 | 显示全部楼层
佩服,经典啊

我一直不敢进行熔丝位编程,就怕万一锁死芯片就不知该咋办了

我用的是128,很贵的

现在看来万一锁死还有补救的方法啊

我得外部晶振测不到波形,所以不敢选外部时钟

出0入0汤圆

发表于 2005-11-12 20:06:38 | 显示全部楼层
此帖子最好置顶,现在用并口ISP的人特别多,来了个新手就要问一次,比较烦了。

出0入4汤圆

发表于 2005-11-14 14:10:22 | 显示全部楼层
这下完了,我还有几个贴在PCB上的M32,



还打算找个串口高压的办法搞过来.



如此看来不行了.

出0入0汤圆

发表于 2005-11-14 14:28:50 | 显示全部楼层
补充一点:



   在硬件电路设计时,芯片的RESET脚不能直接接VCC,应通过一个5.1K电阻接VCC,这样才能保证ISP的正常下载,以及DEBUGWARE的ON CHIP DEBUG 功能的正常使用。

出0入0汤圆

发表于 2005-11-15 13:29:26 | 显示全部楼层
我用的M128接4M有源晶振时熔丝为可以正常烧写,去掉外部晶振后,可以读,但就是写不进去了。

出0入0汤圆

 楼主| 发表于 2005-11-15 15:06:30 | 显示全部楼层
【5楼】 1982wjn 金宁:

    芯片的LB2/LB1为何值?必须同时为1才能修改熔丝位!

    先整片擦除再试一下?

出0入0汤圆

发表于 2005-11-17 09:42:57 | 显示全部楼层
在ISP状态下SPIEN选项都是不可修改!

大家能否举例出到底在哪些情况下把芯片锁死了???

我刚学AVR不久,不过我们现在还没锁死过一个芯片~~~~~~~~~~~~~

我的下载工具:并口下载线、STK500下载器(都是自制的)

出0入0汤圆

发表于 2005-11-17 10:52:35 | 显示全部楼层
好的帖子,我正在找补救的方法,我的MEGA64锁死了

出0入0汤圆

发表于 2005-11-18 10:25:55 | 显示全部楼层
好帖,学习中。。。

出0入0汤圆

发表于 2005-11-22 10:12:20 | 显示全部楼层
我遇到的情况是在将熔丝位设置成外部时钟时,即CKSEL3..0 编成为 0000时锁死!

准备按HJJourAVR的说法接个有源晶振试试!

出0入0汤圆

 楼主| 发表于 2005-11-22 18:35:12 | 显示全部楼层
试了没?

结果如何?

出0入0汤圆

发表于 2005-11-29 18:16:38 | 显示全部楼层
学习中......

出0入0汤圆

发表于 2005-12-4 13:54:44 | 显示全部楼层
认真学习一下各个熔丝位的应用吧,知道了怎么用就很容易救了。

一般都采用接外部时钟或者JTAG。

出0入0汤圆

发表于 2005-12-7 16:40:16 | 显示全部楼层
我用的是ATMEGA16L, 采用244芯片的ISP接口可以正常烧写。但是因为熔丝位配置的问题,系统不能工作,外部晶体没启震,今天临时搭了一个最简电路,就是四个电阻的那种,接上以后读数据正常,没有重写,读原始熔丝位如下:

  JTAG-0     SPIEN-0   BOOTSZ1-0    BOOTSZ0-0   SUT0-0   

  CKSEL3-0     CKSEL2-0    CKSEL1-0   

其余为1

  改动位

  JTAG-1     CKOPT-0

  CKSEL3-1    CKSEL2-1    CKSEL1-1

改写成功

重新连接,显示无法连接。请教各位,熔丝位哪里有问题,采用16M外部时钟,应该怎样配置才对。

出0入0汤圆

发表于 2005-12-7 16:44:16 | 显示全部楼层
采用外接4M有源晶体输入,仍旧无法连接。用的是小马软件2.06C。

出0入0汤圆

 楼主| 发表于 2005-12-14 09:59:58 | 显示全部楼层
cdfby的ATMEGA16L只能用 并行高压编程 来试一试才知道问题在哪里了,可能已经坏掉。

出0入0汤圆

发表于 2005-12-15 16:31:03 | 显示全部楼层
我用双龙的软件,对时钟的配置都有提示的。况且复位脚熔丝和允许ISP的选项都是灰色的。不像AVRPROG稍不留神就得要动买并行编程器的念头。11片MEGA8就是被AVRPROG锁掉的。我用的硬件是SL—AVRAD,我把4M晶体换成了8M,选择下载速度为38400。
-----此内容被wuliyang于2005-12-15,16:31:46编辑过

出0入0汤圆

发表于 2005-12-23 21:59:09 | 显示全部楼层
请问阿莫,用你们的ISP 写M8,大概写了20次后,出现找不到芯片,偶尔又可以写入或可以擦除写不入,总提示不认片,换了线也不行,换芯片得两三次又不行,最后完全不行,难道真的给锁了么?哪又为何偶尔又行呢?如果是板的问题,那为何用新片子又可以写得两三下呢?太不可思议了。

出0入0汤圆

 楼主| 发表于 2005-12-26 13:54:27 | 显示全部楼层
可能是接触不良.

清洁ISP插座的插针,10pin排线的插孔 等接插件。

出0入0汤圆

发表于 2005-12-27 12:59:27 | 显示全部楼层
一般是把CKL全部编为1,也就全部不打钩时,选定为外部晶振,这时就锁死了.

出0入0汤圆

发表于 2006-1-20 09:48:33 | 显示全部楼层
我做的ISP programmer, 读写M64的flash区域正常, 读、擦除program区域也正常,但就是

写不进去,有可能是什么原因?

出0入0汤圆

 楼主| 发表于 2006-1-20 10:00:17 | 显示全部楼层
你说的program应该是指EEPROM吧?

“读写M64的flash区域正常,

读、擦除program区域也正常,但就是写不进去?”



是不是手多,修改了EESAVE熔丝位=0?

EESAVE熔丝位  默认:1 ( 未被编程),EEPROM 内容不保留

出0入0汤圆

发表于 2006-2-10 23:28:42 | 显示全部楼层
看看这个熔丝位

出0入0汤圆

 楼主| 发表于 2006-2-11 08:55:52 | 显示全部楼层
【23楼】的图没什么可以看的,因为可能根本就没连接上芯片。

出0入0汤圆

发表于 2006-2-11 09:00:26 | 显示全部楼层
可以免费下载双龙公司的下载软件,打开熔丝位选项,会出来一个熔丝位编程界面,第一列是选项,第二列是说明,后面是熔丝位实际值.实际操作一遍,会加深编程印象.

在AVRstudio也有相似的界面.

出0入0汤圆

发表于 2006-2-11 10:28:24 | 显示全部楼层
首先23楼的图,是用AVR910下载器,双龙slisp_1.4读出.







再看这个图





-----此内容被diannaoza于2006-02-11,10:45:36编辑过



是不是isp下载被禁用,还是芯片坏,还是其它的原因?
-----此内容被diannaoza于2006-02-11,10:49:55编辑过

出0入0汤圆

 楼主| 发表于 2006-2-11 10:38:23 | 显示全部楼层
不知道你要问什么?

出0入0汤圆

发表于 2006-2-13 11:26:02 | 显示全部楼层
我自己做了并口ISP,线路已经查了N遍没问题,接上 电脑后SL 或者马头软件都说编程器检查正常,然后对PCB上的MEGA32进行编程,PCB上有一颗13.5MHZ的晶体,熔丝配置如图,就是不成功。大家帮我想想,可能哪里还有问题。

出0入0汤圆

发表于 2006-2-16 18:12:10 | 显示全部楼层
谁帮我看看啊,头都大了就是写不进去

出0入0汤圆

 楼主| 发表于 2006-2-16 18:21:00 | 显示全部楼层
看图片应该是根本就没有读到芯片。

double check.

出0入0汤圆

发表于 2006-2-16 20:07:25 | 显示全部楼层
土问,怎么看出来的??

出0入0汤圆

 楼主| 发表于 2006-2-16 22:18:12 | 显示全部楼层
因为数据不太正常。

出0入0汤圆

发表于 2006-2-28 15:26:52 | 显示全部楼层
用SL写,我也是前面用马头读擦都没问题,就是写不成,后用SL读写擦全OK,(不知道能否看到

出0入0汤圆

发表于 2006-2-28 18:08:01 | 显示全部楼层
新手土问:我用双龙软件进行isp下载时,提示“没有找到串口电缆”,是不是下载线坏了?
-----此内容被tophai_zju于2006-02-28,18:09:26编辑过

出0入0汤圆

 楼主| 发表于 2006-2-28 18:12:14 | 显示全部楼层
串口电缆?AVR910 or AVRISP?

可以用AVRstudio里面的AVRpro或STK500/AVRISP试一试。

SL的AVR910串口电缆是特别版本的。



如果还是连不上,那可能坏了。

出0入0汤圆

发表于 2006-2-28 18:28:43 | 显示全部楼层
下载线上写着“AVR 下载线,南京思科”;软件用的是双龙的“SLISP”;我用的片子是ATtiny13;提示“串口没有找到匹配的下载线”

出0入0汤圆

 楼主| 发表于 2006-2-28 18:33:59 | 显示全部楼层
并口?串口?

搞清楚一点。

出0入0汤圆

发表于 2006-2-28 19:36:35 | 显示全部楼层
我用的是25针打印机口,开发板十个口
-----此内容被tophai_zju于2006-02-28,19:38:30编辑过

出0入0汤圆

 楼主| 发表于 2006-2-28 21:14:39 | 显示全部楼层
郁闷! 连串口/并口都分不清。

25针是并口,你在软件里面选串口下载器,当然连不上啦。

出0入0汤圆

发表于 2006-3-1 10:04:37 | 显示全部楼层
用LPT口时出现“进入编程模式失败,请检查FUSE设置,电源,时钟和ISP电缆连接!”我用的芯片是tiny13,没有外部时钟,编程口的连线也没有问题,电源3v.请教dx。我刚接触AVR,很多东西不明白,还请多指教。

出0入0汤圆

发表于 2006-3-7 17:20:19 | 显示全部楼层
一直没有注意到老大在11楼的发问,今天再次拜读才发现自己抛的一块砖没有捡起来,赶紧来补过!我使用的是根据amork放在网上的资料自制的ISP串口下载器!



我的问题是在使用Tiny2313芯片时产生的,设计是采用2102实现USB转串口的电路板,加工前几批(每批30~50块)板时,总有几块下载总是有问题!

有的更换新的芯片好了,有的更换后还是提示校验错误或者配置熔丝失败!

安照楼主的方法试个遍都不好使!在楼主的帖子里有这样一段话:“M8/M48/M88/M168/Tiny系列有RSTDISBL熔丝位可以令导致RESET失效而令ISP无法工作外,其他情况都能恢复正常。 ”让我放弃了拯救这几个小东西的念头!



最近生产的一批基本上都是一次通过,使我又忍不住把这几块被遗弃的板子拿出来研究,发现了一些问题;总结一下小记如下,请拍砖;

1、焊接不好,大虾们都反复强调了,我就补充一点——有的接插件氧化产生虚焊用电表是量不出来的,但对高速数据信号影响很大,往往导致通信不成功,最好换个全新的接插件;

2、不要盲目相信自己的焊接水平和压插接线的水平,事实证明大部分问题出在这里;

3、最好单独电源供电,我刚开始就直接从USB口引5V来导致了一些问题(可能跟其他外围电路有关);

4、如果发现写校验错误强检查线路,注意和RESET脚相连的线,除去和AVR共用RESET芯片的片子,比如CP2102等;往往是这个芯片带来的问题;

5、其他因熔丝配置出错导致的锁死,HJJourAVR将的很明确;多研究研究他的帖,收获非浅;

出0入0汤圆

发表于 2006-3-8 09:37:51 | 显示全部楼层
楼主的“在ISP模式下永远不能访问(修改)SPIEN位,这是AVR芯片的硬件保护”不对吧。还是M16有了改进?



两年前我自己写过一个下载M16的软件,测试时修改了SPIEN位,就损了一个片子呢。Ponyprog是自己对spien有保护,不是m16的保护吧

出0入0汤圆

 楼主| 发表于 2006-3-9 12:14:01 | 显示全部楼层
mored:

损了一个M16片子,难道就一定是SPIEN被修改了? 很多原因的。

你可以用JTAG接口来查看SPIEN的状态。



PS: 从来没见过那款AVR的ISP下载软件敢说能修改SPIEN位的,因为不可能。

出0入0汤圆

发表于 2006-3-27 21:40:06 | 显示全部楼层
我用马老师的扳子和ISP线,刚开始的时候一切正常,后来不知何故就不能下载了,提示找不到芯片,用新的片子就行了。后来我用编程器能找到芯片也能编程,但是CPU不工作,郁闷……,搞了很长时间了,都不知道怎么解决。

出0入0汤圆

 楼主| 发表于 2006-3-27 21:46:25 | 显示全部楼层
看看实验板的原理图------4MHz/11.0592MHz晶振用短路销接通了吗?

出0入0汤圆

 楼主| 发表于 2006-3-30 13:53:45 | 显示全部楼层
自顶一下。

更新了M103 JTAG/DebugWIRE的相关内容。

出0入0汤圆

发表于 2006-5-4 23:15:23 | 显示全部楼层
尊敬的各位老师,我也遇到象40楼说的现象,我从北京双龙邮购的SL并口(25针)ISP下载线,

我买了双龙并口ISP下载线和M16片子,我在邮来的小线路板上焊上40脚IC插座、2个20P电容、1个4M晶体。

  接线电容公共端到11脚(GND),

  接线晶体到12脚(XTAL2)和13脚(XTAL1)

  接线10脚插针的1脚(红线)到小线路板6脚(PB5)

  接线10脚插针的5脚到小线路板9脚(RESET)

  接线10脚插针的7脚到小线路板8脚(PB7)

  接线10脚插针的9脚到小线路板7脚(PB6)

  接线10脚插针的2脚到小线路板10脚(Vcc)

  接线10脚插针的4、6、8、10脚到小线路板11脚(GND)

软件用双龙的AVRISP,下载时显示错误:“检查FUSE设置、电源、时钟、编程器连接”







不知何故,敬请指教。



祝万事如意!



         营口  张工

出0入0汤圆

发表于 2006-6-18 20:50:11 | 显示全部楼层
ATMEGA16L 的最高震荡频率是8MHz,其实低压型的也就是带 ‘L’ 的都是8MHz



“两年前我自己写过一个下载M16的软件,测试时修改了SPIEN位,就损了一个片子呢。Ponyprog是自己对spien有保护,不是m16的保护吧 ”

自己写的下载软件修改了 SPIEN 位,其实是可以用并口的修复的。正规公司写的ISP下载软件当然不能修改 SPIEN 位了。

出0入0汤圆

发表于 2006-6-19 00:05:10 | 显示全部楼层
救急!!

请教各位大师,小弟在用M16做项目时出现了这样的怪现象,导致不少的M16不能ISP编程,但是仔细研究了各位的有关的熔丝位贴子,实在是不能判断出自己出现的问题到底是不是算熔丝位写错的问题。问题描述如下:采用的是M16L,晶振采用的是8MHz的外部有源晶振。设定熔丝位时,把CKSEL设定成“0000”(后来看数据手册才改成“0000”),还有的就是设定成“1111”,结果,对熔丝位编程没有任何问题,重复对熔丝位编程几次都没有问题,但是一旦对flash编程后,问题就出现了,修改程序后,想再次对其flash编程,便出现不能识别器件型号的错误,但是单片机此时程序工作正常。采用的是小马软件下载的。



给我的感觉就是,这批M16片子,只能写一次程序,而熔丝位可以多次改写。

请问:这到底是什么原因呢,不会是片子是假的吧?

出0入0汤圆

发表于 2006-6-19 08:19:38 | 显示全部楼层
good

出0入0汤圆

发表于 2006-6-20 22:21:25 | 显示全部楼层
多谢HJJourAVR的回信帮忙。问题得以解决。



回信内容如下:



你好,

    应该不会有假芯片。

    ISP必须确保 RESET/SCK/MISO/MOSI这4根线不能受其他器件影响,时钟必须正常。

    具体的要求见<AVR芯片的ISP全攻略+熔丝补救方法,请各位指正>这个帖子。



    看样子,你的M16时钟在工作。

    请把RESET/SCK/MISO/MOSI独立出来---特别是外部的低压复位电路要去掉

    建议你使用 AVRISP/STK500下载器,可以调ISP速度的。



我的回信:



你好,



    非常的谢谢你。问题解决了。查了一下电路,居然发现了RST的一个网络标号正好在两条线的交叉点上,等于是RST的脚和单片机的另一个脚连了起来。难怪只有第一次可以写程序,而在写程序前可以多次改写熔丝位呢。那个脚在出厂时默认是输入引脚,而在我程序里是初始化为输出引脚,而且是输出为高电平。所以,ISP写程序时,RST脚无法拉低,也就无法写程序了。如下图所示:









今天中午去了一趟双龙(北京),虽然没有查出什么问题来,但是使我确信了一点,单片机肯定没有问题,只有可能自己的电路板的问题。

刚刚拜读了你的邮件,一想,肯定是电路问题,没错了,结果查查电路,就把问题找到了。



再次感谢你。

出0入0汤圆

发表于 2006-8-14 15:17:59 | 显示全部楼层
最近邮购回一块马老师AVR-51实验板及自焊了一条并口ISP线,装上一块ATMEGA16L,将本网站的测试源代码程序下载进去运行正常。后来又装上一块ATMEGA8L,设置好实验线后下载上述程序运行也正常。

    将 M8 的程序清除后,我在BASCOM-AVR软件的芯片编程界面下把时钟选为外部时钟,(实际上我的本意是要用片外晶振)改写之后就再也不能连接了,用双龙的软件读操作提示“进入编程模式失败,请检查FUSE设置,电源,时钟和ISP电缆连接”后查看了M8 手册,原来选外部时钟还要编程CKSEL 为“0000”,我的M8锁死了。

    当我看到搂主的这篇文章后,其中有一句话提示我“一般来说,只要满足ISP的工作前提,再把XTAL1接到一个4MHz有源晶体的输出,基本是万试万灵的。”找一个有源振荡器试一下?本AVR-51实验板上不是有一个2.048M 晶振与4060 构成的振荡器再分频输出125HZ-128KHZ 吗,是否能试一下呢,查得4060的9脚正好是振荡后经反相输出,频率应该是2.048MHZ,实验板上的9脚并没有用,接通电源,用万用表测得9脚电压为2.8V 左右肯定有频率输出。断开电源,剪一截零件引脚插入4060集成块的9脚内,用实验线将 M8 的9脚与4060的9脚连接起来,接通电源,起动双龙下载软件(V1.521), 读熔丝位、读flash正常,改写熔丝位为晶振正常。断开电源拆掉实验连接线,连接片外晶振后,重新下载上述程序运行也正常。M8救活了。



    另有一个问题,我自焊的并口 ISP 下载线(马潮老师推荐的版本)用双龙、CVAVR、BASCOM-AVR 三种软件均能正常读写操作。可是用小马软件设置并口后,测试失败,根本就不能连接,不知何故!

出0入0汤圆

发表于 2006-8-15 12:51:52 | 显示全部楼层
看了大家的贴子,我也想去试一下把一块锁了M8给救一下哦

出0入0汤圆

发表于 2006-10-18 11:05:01 | 显示全部楼层
第一次用ISP下载程序,出了问题了,我用的是STK500,系统提示错误为



AVRisp 提示为:





Reading FLASH input file.. OK

Setting mode and device parameters.. OK!

Entering programming mode.. FAILED!

Leaving programming mode.. OK!



是不是我的熔丝位设定错了呢,好像昨天第一次设定时是可以的,今天我下载时就老是出现这种错误了,是不是我的芯片被锁了

给点提示呢

出0入0汤圆

发表于 2006-10-22 21:25:48 | 显示全部楼层
54楼的,请问你解决了么?我也是出现这样的问题,进入编程模式失败.

出0入0汤圆

发表于 2007-3-1 12:15:56 | 显示全部楼层
楼上两位问题解决了吗?我也遇到类似的问题

出0入0汤圆

发表于 2007-3-14 21:58:40 | 显示全部楼层
请教: 我用双龙把M64芯片的103 M103位选为0 后就不能识别芯片了,怎么办?

出0入0汤圆

发表于 2007-4-2 19:53:20 | 显示全部楼层
54楼和55楼及56楼的问题解决了吗

我也碰到这样的问题,头都大了,也不知道为什么,有时用STK500的JTAG下载又可以,不知道什么问题,有知道朋友请指教

出0入0汤圆

发表于 2007-4-14 18:53:50 | 显示全部楼层
有几十块板批量写入不小心把RSTDISBL熔丝位设为0了。是贴片MEGA8,只能用并行高压写入器了。我有WH500,可是不想焊下片子。请教:高压编程至少要引出那些引脚线?

出0入0汤圆

发表于 2007-4-14 22:59:09 | 显示全部楼层
WH500不能修复RSTDISBL熔丝问题,我用一片M88试过了。

出0入0汤圆

发表于 2007-4-16 01:24:26 | 显示全部楼层
再加一点,WH800还不能修复DWEN被置为0的片子,我用的是M48测试的。大家可以再试一下。

出0入0汤圆

发表于 2007-4-16 11:53:16 | 显示全部楼层
我用M64,是否我用了ISP编程的话,就不能串口0了吗?那样会造成对AVR的误编程吗?

出0入0汤圆

发表于 2007-4-16 13:38:46 | 显示全部楼层
在你另外一个贴子里给你回复了,不会出现误编程。

出0入0汤圆

发表于 2007-8-24 13:58:46 | 显示全部楼层
这样做真的管用嘛!都试过的吧?

出0入0汤圆

发表于 2007-8-24 21:54:50 | 显示全部楼层
测试过WH800对AVR的支持,可能是时序做的不好,感觉不可靠。因 为我同时还有台SUPERPRO3000U,对同一个出现问题的芯片,用3000U能够恢复,但用WH800就不行(软件升级到最新版本)不过WH800是不是不准备再升级了?本来还想用ATtiny13片,发现根本不支持。我还专门买了一整套的编程座啊,现在看来是浪费了。

出0入0汤圆

发表于 2007-8-27 17:08:52 | 显示全部楼层
我是新手,在使用ATmega48时,





我尝试对FUSE编程,但出现如图的错误:(我使用的是AVR studio 4  Version 4.13, 可以仿真)

Entering programming mode.. FAILED!



不知是哪里没处理好,请各位指点,也请楼主多多指教,谢谢。

出0入0汤圆

发表于 2007-8-27 23:21:27 | 显示全部楼层
记号

出0入0汤圆

发表于 2007-10-3 15:17:29 | 显示全部楼层
向 向HJJourAVR学习
我的成功了
不一定是配置了外部时钟才会锁单片机
我的就是这种情况了
谢谢HJJourAVR

出0入0汤圆

发表于 2007-11-23 14:42:33 | 显示全部楼层
我也出现了66楼的问题,芯片是ATmega168,仿真器是ATJTAG MK2,
程序可以下载和运行,但修改熔丝位时提示:Entering programming mode.. FAILED!
请问问题在哪里。谢谢。

出0入0汤圆

发表于 2008-6-18 23:11:45 | 显示全部楼层
我现在用M128,第一次可以进行熔丝设置,但是后来对熔丝进行设置时,就一直出现Entering programming mode.. FAILED,请问你们解决了吗?

出0入0汤圆

发表于 2008-6-19 22:26:09 | 显示全部楼层
mark  thanks

出0入0汤圆

发表于 2008-7-2 13:38:56 | 显示全部楼层
我也出现了66楼的问题,谁能帮忙解释一下怎样避免这个问题!

出0入0汤圆

发表于 2008-7-3 09:25:42 | 显示全部楼层
SOS。。我刚刚开始学习AVR,用的是M16,CKL全部打了钩,然后再怎么擦除,编程都无效了。。 已经毁了3个片子。。到底是哪里出来问题呢?

出0入0汤圆

发表于 2008-7-5 22:14:24 | 显示全部楼层
好贴,精华!

出0入0汤圆

发表于 2008-7-11 00:21:34 | 显示全部楼层
补救...看了还是没明白怎么会把芯片锁了,避免问题要补救有效吧?

出0入0汤圆

发表于 2008-7-14 16:09:18 | 显示全部楼层
"JTAG的影响(M16,M32,M128等):
   JTAG能访问 SPIEN 和 JTAGEN,要是不小心同时改成SPIEN=1,JTAGEN=1,将会导致MCU锁死,需要高压并行编程才能恢复。"

具体怎么恢复,能讲讲吗?今天我用高压编程的方式,把正确的熔丝位和程序烧写进去了,程序都能正常运行。可是我换回ISP的时候还是熔丝位有问题

出0入0汤圆

发表于 2008-8-22 17:46:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-8-22 19:06:57 | 显示全部楼层
别说,还比较实用,我就有一片用不了了,没有研究过高压,还有更重要的革_命工作要做,就懒得管了,回头试试看

出0入0汤圆

发表于 2008-11-6 10:39:56 | 显示全部楼层
我也出现66楼的问题了~~~~

出0入0汤圆

发表于 2008-11-7 13:46:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-11-8 08:21:13 | 显示全部楼层
&nbsp;&nbsp;&nbsp;&nbsp;顶楼的“最新版本&nbsp;JTAG&nbsp;MK2使用说明中文pdf(20051125)”&nbsp;



&nbsp;&nbsp;&nbsp;&nbsp;已经“无法下载”了?

出0入0汤圆

发表于 2009-1-14 13:48:13 | 显示全部楼层
没明白如何锁死.&nbsp;只知道我修改fuse位以后,&nbsp;下载完程序以后就芯片就不能识别了.已经糊里糊涂的坏了2个.我用Atmega162的,&nbsp;修改CKSEL3..0的时候就坏了,还不知道哪个组合坏的,不敢再试了,再试就没有片子了.修改时发现CKSEL3..0为0000,0010,1101的时候不会坏掉.其它不敢尝试.还有不知道如何设置可以使用外部晶振.就因为这个没有设置好,串口波特率老是不正确.有几个问题想不明白.

问题1:&nbsp;51一个定时器中断,波特率就设置完成了,而且很管用.AVR为什么就弄得这么复杂呢?

问题2:AVR这么容易就被锁了,为什么就不把这个设置给屏蔽掉了,就不会出错了啊.是不是AVR锁片的设定还有其它用途?

出130入129汤圆

发表于 2009-1-14 13:51:50 | 显示全部楼层
如果你适合搞单片机,你会看得懂熔丝设置。

出0入0汤圆

发表于 2009-3-3 22:13:57 | 显示全部楼层
请问楼主:


M8/M48/M88/M168/Tiny系列有RSTDISBL熔丝位可以令导致RESET失效而令ISP无法工作外,其他情况都能恢复正常。

这个情况就没有挽回的办法么?
我遇到了M168,MLF-32封装进不了熔丝配置的问题。我用的内部rc震荡器。现在进不了熔丝配置。slisp1605版本

出0入0汤圆

发表于 2009-3-3 22:16:49 | 显示全部楼层
我怀疑也是这个问题导致的

出0入0汤圆

发表于 2009-3-4 01:26:27 | 显示全部楼层
顶起来~

出0入0汤圆

发表于 2009-3-4 09:16:42 | 显示全部楼层
MARK!!!
重要。

出0入0汤圆

发表于 2009-3-16 11:11:56 | 显示全部楼层
MARK
收藏了!

出0入0汤圆

发表于 2009-3-16 12:10:57 | 显示全部楼层
看来有一个高压编程设备还是很必要的阿....这样就可以放心设置学习了....

出0入0汤圆

发表于 2009-3-16 14:26:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-3-28 15:08:21 | 显示全部楼层
各位我是新来的M168是不是ATmega1280,不知道那位能提供份ATmega1280的原理图让我参考下,谢谢1

出0入0汤圆

发表于 2009-4-3 15:17:14 | 显示全部楼层
用了一个电阻加一个电容就搞定了

F=1/(2*3.14*R*C)

用20P电容加2K电阻,算出来F等于3.98,接近4M

用SLISP,设成最低速

接线详见下图

(原文件名:fdsa.JPG)

出0入0汤圆

发表于 2009-4-6 01:42:15 | 显示全部楼层
初学者要好好看看

出0入0汤圆

发表于 2009-4-17 09:08:39 | 显示全部楼层
老贴新看...

出0入0汤圆

发表于 2009-4-25 16:05:59 | 显示全部楼层
跟在这里问一下,AVR的ISP接口,RESET\GND\VCC\SCK\MISO\MOSI,
在做前面几个项目时,都是VCC直接连5V,其它连接一一对应,正常。
现在做一个新项目,需要VCC直接连3.3V,(因为和DSP之间有交互)
只知道AVR在3.3V能正常工作,不知道ISP在3.3V时可否正常使用?
有验证过的朋友给指点下,设计电路中,在线等,谢谢。

出0入0汤圆

发表于 2009-6-2 14:17:26 | 显示全部楼层
我出现了51楼的状况。
但我仔细看了自己的电路图,没有端口与RESET连在一起。但也只能下载一次程序,请问楼主,还有可能是哪种问题呢?

出0入0汤圆

发表于 2009-6-9 17:41:56 | 显示全部楼层
我用的是atmega1280 + 16M外部晶体 + AVR Studio4.16 + 阿莫USB/RS232 AVR ISP编程下载器件。

ISP下载的时候尝试过以下几种设置,都导致锁死,无法再下载。
1、时钟错误:SUT_CKSEL = Ext. Clock; Start-up time: 6 CK + 65 ms
2、时钟错误:SUT_CKSEL = Int. RC Osc.; Start-up- time: 6 CK + 65 ms
3、加密错误:LB = Further programming and verification disabled

请高手帮忙指导一下以下做法是否正确:
1、由于使用16M外部晶体,所以打算用以下参数:
SUT_CKSEL = Ext. Crystal Osc. 8.0-   MHz; Start-up time: 16K CK + 65 ms
2、如果需要对出厂的片内程序进行加密,该如何设置?

其他疑问:
1、WDTON启动的时候会导致程序无法运行,这是为什么?
2、CKDIV8 是用来做什么的?
3、CKOUT 是用来做什么的?
4、BLB0 BLB1 是用来做什么的?

谢谢了!

出0入0汤圆

发表于 2009-6-18 02:57:30 | 显示全部楼层
我也要成为AVR高手,
胖松,我们一起加油!
以后一起来论坛发帖子
努力学习,感谢阿莫!

出0入0汤圆

发表于 2009-6-18 09:48:38 | 显示全部楼层
我试过,只有一般配错熔丝可以恢复,很多是不行的,不然也不会有高压编程器了。

无非就是ISP下不了程序,接有源晶振,还是不行的话就没折了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 02:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表