搜索
bottom↓
回复: 47

庆祝:救活MEGA8熔丝位锁死

[复制链接]

出0入0汤圆

发表于 2005-3-4 14:31:47 | 显示全部楼层 |阅读模式
我自己做了一块MEGA8的ISP,是和MEGA8515建在一块PCB上,可能是两块芯片的编程引脚隔离不好,导致我MEGA8锁死,我郁闷了好久,今天才看armok / 2004-10-25 / www.OurAVR.com   的搞错熔丝位,导致芯片死锁的恢复办法几个办法,看到其中用有源晶振救活的方法,可是手头没有有源晶振,也没有其他的好东西,突然想到,实验室里的信号发生器可以产生方波,不过最高也只有400kHz,我再想到AT89S51很低频率也可工作,猜想MEGA8应该也可以,就将这个信号+3V400kHz加到PB6上去,再写入熔丝位,真就救活这块芯片拉,真是太高兴了。

谢谢armok 整理的资料,谢谢彩虹数码提供的方法。

大家遇到这情况,如果是有信号发生器,不妨采用这种方法一试,我是成功过一次了。

欢迎各位朋友讨论,也可加我QQ:20144822,在AVR的学习上我还是菜鸟,欢迎大虾们指教。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2005-3-4 15:15:40 | 显示全部楼层
我的错把融丝写成外部RC振荡器了,能救活吗?
头像被屏蔽

出0入0汤圆

发表于 2005-3-4 15:17:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2005-3-5 18:19:34 | 显示全部楼层
我是在自己做的板子上进行的实验,不过我没有试更低的频率。只要是熔丝位的问题,

可以试试这个方法阿。我救活之后我现在还不敢乱写熔丝位,我对AVR还不是太了解,我们现在的

课程好紧,学这个也是业余做做。

出0入0汤圆

发表于 2005-3-6 02:28:56 | 显示全部楼层
一般情况下,在XTAL1加上外部振荡源,用ISP软件先将溶丝设置为内部RC 1M,接下来再设置溶丝与实际使用的相配。



     理论上在XTAL1上外部振荡源的频率在0-8/16M,也就是说64K是可以的(当然0是不行的),但ISP的SCK脉冲宽度要大于2个系统时钟宽度。有些ISP软件的SCK比较快,内部等待延时不够,故造成使用比较低频率的外部振荡源时ISP与芯片的通信失败。



     这几个软件:SLISP、ICC、CVAVR和BASCOM-AVR中的ISP性能有区别,可轮流试一下,并多试几次。我也多次将溶丝烧错,使用128K加BASCOM-AVR中的ISP功能,都救过来了。

出0入0汤圆

发表于 2005-3-6 14:45:58 | 显示全部楼层
AVR是静态逻辑的。所以原则上大于0的频率都可以的。不过你得找到能适应这么低频率的ISP软件。哈哈。SL的ISP软件有低速模式。可以试试。呵呵。

出0入0汤圆

发表于 2005-3-6 23:47:13 | 显示全部楼层
SPI串行下载的串行时钟(SCK) 的最小低电平时间和最小高电平时间要满足如下要求:

低:>  fck<12MHz时为2 个CPU 时钟周期, fck>=12MHz时为3个CPU时钟周期

高:>  fck<12MHz时为2 个CPU 时钟周期, fck>=12MHz时为3个CPU时钟周期



也就是说MCU的时钟频率最起码要比下载软件的ISP时钟高3倍。

每个ISP下载软件的SCK都不一样,部分有低速模式选项----支持32.768KHz的MCU时钟。



SLISP比较完善,支持多种模式

  TURBO模式:          SPI时钟没有任何延时

  FAST模式:           SPI时钟大约在100KHZ

  NORMAL模式:         SPI时钟大约在50KHZ

  SLOW模式:           SPI时钟大约在5KHZ,适于32.768KHZ超低频系统。

  TURBO SLOW模式: SPI时钟大约在1KHZ,支持16KHZ以下的时钟频率。



PonyProg有SLOW,NORMAL,FAST,TURBO四种速度,但没告知SLOW的速度几何。

出0入0汤圆

发表于 2005-3-10 05:08:46 | 显示全部楼层
今天救活一块MEGA32熔丝位锁死。按照网站上的说明:用有源晶振救活的方法。不过怎么熔丝位锁死的还搞不清。

用WinAvr调试时,用以下的设置(makefile),只要按一下:Make Program就可以把程序用并口下载到Mega32上。



#---------------- Programming Options (avrdude) ----------------



# Programming hardware: alf avr910 avrisp bascom bsd

# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500

#

# Type: avrdude -c ?

# to get a full listing.

#

AVRDUDE_PROGRAMMER = stk200



# com1 = serial port. Use lpt1 to connect to parallel port.

AVRDUDE_PORT = lpt1



AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex

#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep





# Uncomment the following if you want avrdude's erase cycle counter.

# Note that this counter needs to be initialized first using -Yn,

# see avrdude manual.

#AVRDUDE_ERASE_COUNTER = -y



# Uncomment the following if you do /not/ wish a verification to be

# performed after programming the device.

#AVRDUDE_NO_VERIFY = -V



# Increase verbosity level.  Please use this when submitting bug

# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>

# to submit bug reports.

#AVRDUDE_VERBOSE = -v -v



AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)

AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)

AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)

AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)



一直很方便,有点一步到位的感觉。直到电脑忽然出了点故障,在下载的过程中另外一个程序罢工,下载停住,把熔丝位锁死了。不知大家是否有遇到类似的情况。

出0入0汤圆

发表于 2006-8-11 17:31:47 | 显示全部楼层
选错外部RC就自己搭个外部RC电路就可以了啊,具体的芯片DATASHEET里面有

出0入0汤圆

发表于 2006-8-11 23:32:56 | 显示全部楼层
用信号发生器不错 一次拯救成功。

出0入0汤圆

发表于 2006-8-24 20:53:24 | 显示全部楼层
我把它写成了要用外不时钟,不知道怎么加外部时钟,请各位指教一下

!

出0入0汤圆

发表于 2006-8-29 10:18:19 | 显示全部楼层
M128L偶用8M和4M的有源晶振都不行,莫非真的是IC坏了,还没用过啊

出0入0汤圆

发表于 2007-1-11 21:46:24 | 显示全部楼层
你可能弄错了

128  RxD  TxD  和mosi  miso对换

出0入0汤圆

发表于 2007-4-22 08:41:52 | 显示全部楼层
庆祝一下:我用有源晶振救活了M128!!!!

出0入0汤圆

发表于 2007-4-22 08:48:38 | 显示全部楼层
用非门,电阻,电容,可以做个800khz的脉冲电路,也是不错的选择

出0入0汤圆

发表于 2007-4-22 09:33:05 | 显示全部楼层
再找一个能用的板子,编写个程序,从一个io输出方波,接出来就可以了。

出0入0汤圆

发表于 2007-4-22 10:53:37 | 显示全部楼层
我没有信号发生器,不过我的AVRISP和89S52的ISP在一块板上,所以我使用89S52的ALE作时钟源也可以,呵呵

出0入0汤圆

发表于 2007-4-22 15:50:07 | 显示全部楼层
我的M16也遇到这个事,不过我用一个89C51(12M晶体),从他的30脚可以引出1M的信号,修复了

出0入0汤圆

发表于 2007-4-27 11:00:37 | 显示全部楼层
用89c51的和slisp我也试过,每次都成功

出0入0汤圆

发表于 2007-4-27 11:43:32 | 显示全部楼层
如果板子上有串口电路,让pc机发55h,最大波特率,8位,无校验,停止位1,

呵呵,TTL的这侧就有脉冲了,接过来用,就可以

出0入0汤圆

发表于 2007-4-29 10:08:09 | 显示全部楼层
erxun 老孟:

  您提供的方法相当实用!

出0入0汤圆

发表于 2007-4-29 10:13:49 | 显示全部楼层
progisp 有个提供时钟大勾,就可输出时钟信号用于解锁

出0入0汤圆

发表于 2007-4-29 23:19:05 | 显示全部楼层
请问zhifeng,软件上打上勾后,上位机发送命令给编程器吧?最终的时钟其实还是由编程器提供的吧?能否问一下你这个选项打上勾后给编程器发的指令是什么?我现在自己改造做了个USBISP,如果知道你发送的数据,我也给自己的编程器加这么一个功能,呵呵。谢谢啊。

    另外在这里问 一下,不是所有的AVR芯片都支持高压串行编程吧?那AVR_DOPER里面的高压编程有什么用处?只支持那几种能用高压串行编程的芯片吗?我看了一下图纸也是只有三条线哪(信号)。

出0入0汤圆

发表于 2007-6-26 16:24:11 | 显示全部楼层
你们好

我在用8515L过程中在开始几次工作多很正常,但今天下午系统不能正常工作我检查了晶振电压正常,复位也正常,VCC GND都很标准,但IO口不工作

16M晶体 无计可施下请给位老师支个招救救急

谢谢

出0入0汤圆

发表于 2007-6-27 14:38:03 | 显示全部楼层
牛人 !

出0入0汤圆

发表于 2007-9-10 12:46:37 | 显示全部楼层
如果手头没有信号发生器,自己可以做一个,用你现在手里有的板子做一个,无论是51还是AVR,如你手里还有一块MEGA8电路板,写程序烧进去,使这个管脚输出一个方波再接到需要救活的MEGA8上就可以了!

出0入0汤圆

发表于 2007-9-23 10:29:32 | 显示全部楼层
我试过,此方法不行。。。

出0入0汤圆

发表于 2008-4-29 09:42:38 | 显示全部楼层
哈哈,我刚才用另一个MEGA8输出脉冲信号解锁成功,以后不敢乱配熔丝了

出0入0汤圆

发表于 2008-4-29 10:16:19 | 显示全部楼层
如果你把ISP功能和复位脚功能都去掉,用外部时钟也无济于事…………

出0入0汤圆

发表于 2009-4-3 23:34:20 | 显示全部楼层
唔唔~~我也试试

出0入0汤圆

发表于 2009-4-5 09:11:19 | 显示全部楼层
我也遇到过这样的问题,只要搭接一个阻容振荡器,我用的数据是电阻1.8K,电容22P,然后重新刷好熔丝位就可以了

出0入0汤圆

发表于 2009-4-24 12:07:33 | 显示全部楼层
还是做个高压编程器好 什么样的熔丝错误都能恢复

出0入0汤圆

发表于 2009-9-18 19:47:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-11 22:44:08 | 显示全部楼层
mark,我正在就,我用的马老师的板子
2楼说可以弄好?
我把128K的插在X1上,确实可以烧了,但是拔出来之后,就不行了呢

出0入0汤圆

发表于 2010-4-6 11:29:11 | 显示全部楼层
这个只能是用于晶振设置错误才能用吧?我把JTAG禁用了能救活吗?

出0入0汤圆

发表于 2010-4-12 21:32:25 | 显示全部楼层
mark先,哎。。

出0入0汤圆

发表于 2010-5-15 12:11:04 | 显示全部楼层
maek

出0入0汤圆

发表于 2010-6-5 01:35:02 | 显示全部楼层
记号,

出0入0汤圆

发表于 2010-6-5 08:02:35 | 显示全部楼层
用mega8做的isp下载器就有12M晶振,把它引出来,接到XTAL1应该就可以用isp方式更改熔丝位了,改成内部RC 1M的就救活了,我试过除了设成外部32768k不能用isp救活,其他的都可以。因为要求外部isp速率要求为目标振荡频率的1/4,设成外部32768的话,1/4频率太低了,isp提供不了这么低的频率,只能用高压并行编程恢复了。看看有哪位又解决方案?毕竟如果是TQFP封装的话,用isp是最方便的。

出0入0汤圆

发表于 2011-3-12 10:07:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-13 13:55:47 | 显示全部楼层
我也记录一下,现在还不明白,片子为什么不能够烧录程序,哎

出0入0汤圆

发表于 2011-9-18 15:40:00 | 显示全部楼层
回复【2楼】armok 阿莫
-----------------------------------------------------------------------

马老师的开发板上面就用方波就可以救活,配置为外部时钟,外部RC,外部低频晶振,外部晶振(高频)的我都实际试过,ISP用的是双龙的USPISP,方波最低125Hz都可以恢复。如果还有问题的话,可以降低ISP的通信速度试试。

出0入0汤圆

发表于 2011-10-23 11:29:07 | 显示全部楼层
我今天用50M有源晶振救活了一块MEGA8515;本来误操作熔丝位点击了使用外部RC晶振,烧写时发现芯片锁死,此后烧不进程序,芯片也不工作。看到此文,找了一个方形50M有源晶振,1脚空,2脚接地,3脚接8515的XTAL1,(8515的XTAL2空置),4脚接电源,通电后看到数码管点亮了,说明芯片内部的程序起作用了,然后重烧,可以烧写,OK了。

出0入0汤圆

发表于 2015-4-26 10:46:54 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2015-5-21 11:01:37 | 显示全部楼层
试过直接用手摸着时钟脚加干扰  直接救活了mega8
不过要多试几次 不能保证一次过

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-8-26 07:53

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

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