feng_zhao1983 发表于 2005-3-4 14:31:47

庆祝:救活MEGA8熔丝位锁死

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

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

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

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

biansf2001 发表于 2005-3-4 15:15:40

我的错把融丝写成外部RC振荡器了,能救活吗?

armok 发表于 2005-3-4 15:17:45

feng_zhao1983 发表于 2005-3-5 18:19:34

我是在自己做的板子上进行的实验,不过我没有试更低的频率。只要是熔丝位的问题,

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

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

machao 发表于 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功能,都救过来了。

bany 发表于 2005-3-6 14:45:58

AVR是静态逻辑的。所以原则上大于0的频率都可以的。不过你得找到能适应这么低频率的ISP软件。哈哈。SL的ISP软件有低速模式。可以试试。呵呵。

HJJourAVR 发表于 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的速度几何。

testcode 发表于 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)



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

ruinned 发表于 2006-8-11 17:31:47

选错外部RC就自己搭个外部RC电路就可以了啊,具体的芯片DATASHEET里面有

nk714 发表于 2006-8-11 23:32:56

用信号发生器不错 一次拯救成功。

lychee420 发表于 2006-8-24 20:53:24

我把它写成了要用外不时钟,不知道怎么加外部时钟,请各位指教一下

!

cnpollux 发表于 2006-8-29 10:18:19

M128L偶用8M和4M的有源晶振都不行,莫非真的是IC坏了,还没用过啊

johu 发表于 2007-1-11 21:46:24

你可能弄错了

128RxDTxD和mosimiso对换

meisen999 发表于 2007-4-22 08:41:52

庆祝一下:我用有源晶振救活了M128!!!!

erxun 发表于 2007-4-22 08:48:38

用非门,电阻,电容,可以做个800khz的脉冲电路,也是不错的选择

zsmbj 发表于 2007-4-22 09:33:05

再找一个能用的板子,编写个程序,从一个io输出方波,接出来就可以了。

yangsen 发表于 2007-4-22 10:53:37

我没有信号发生器,不过我的AVRISP和89S52的ISP在一块板上,所以我使用89S52的ALE作时钟源也可以,呵呵

emailtz 发表于 2007-4-22 15:50:07

我的M16也遇到这个事,不过我用一个89C51(12M晶体),从他的30脚可以引出1M的信号,修复了

lixun00 发表于 2007-4-27 11:00:37

用89c51的和slisp我也试过,每次都成功

erxun 发表于 2007-4-27 11:43:32

如果板子上有串口电路,让pc机发55h,最大波特率,8位,无校验,停止位1,

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

limianwei 发表于 2007-4-29 10:08:09

erxun 老孟:

您提供的方法相当实用!

zhifeng 发表于 2007-4-29 10:13:49

progisp 有个提供时钟大勾,就可输出时钟信号用于解锁

ssyniuej 发表于 2007-4-29 23:19:05

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

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

HUA2007CN 发表于 2007-6-26 16:24:11

你们好

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

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

谢谢

ajoe 发表于 2007-6-27 14:38:03

牛人 !

hqwei 发表于 2007-9-10 12:46:37

如果手头没有信号发生器,自己可以做一个,用你现在手里有的板子做一个,无论是51还是AVR,如你手里还有一块MEGA8电路板,写程序烧进去,使这个管脚输出一个方波再接到需要救活的MEGA8上就可以了!

leda 发表于 2007-9-23 10:29:32

我试过,此方法不行。。。

gwh1128 发表于 2008-4-29 09:42:38

哈哈,我刚才用另一个MEGA8输出脉冲信号解锁成功,以后不敢乱配熔丝了

computer00 发表于 2008-4-29 10:16:19

如果你把ISP功能和复位脚功能都去掉,用外部时钟也无济于事…………

liu969610245 发表于 2009-4-3 23:34:20

唔唔~~我也试试

suiyuan1967 发表于 2009-4-5 09:11:19

我也遇到过这样的问题,只要搭接一个阻容振荡器,我用的数据是电阻1.8K,电容22P,然后重新刷好熔丝位就可以了

weiqian 发表于 2009-4-24 12:07:33

还是做个高压编程器好 什么样的熔丝错误都能恢复

Garbage614 发表于 2009-9-18 19:47:09

mark

mrightt 发表于 2009-11-11 22:44:08

mark,我正在就,我用的马老师的板子
2楼说可以弄好?
我把128K的插在X1上,确实可以烧了,但是拔出来之后,就不行了呢

fee110 发表于 2010-4-6 11:29:11

这个只能是用于晶振设置错误才能用吧?我把JTAG禁用了能救活吗?

yersen 发表于 2010-4-12 21:32:25

mark先,哎。。

ak100 发表于 2010-5-15 12:11:04

maek

wj414 发表于 2010-6-5 01:35:02

记号,

hdiskone 发表于 2010-6-5 08:02:35

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

hero0765 发表于 2011-3-12 10:07:16

mark

flyhixd 发表于 2011-3-13 13:55:47

我也记录一下,现在还不明白,片子为什么不能够烧录程序,哎

Ryan 发表于 2011-9-18 15:40:00

回复【2楼】armok 阿莫
-----------------------------------------------------------------------

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

dazelong 发表于 2011-10-23 11:29:07

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

dgqintaotao123 发表于 2015-4-26 10:46:54

谢谢分享

jiangshaoyatui 发表于 2015-5-21 11:01:37

试过直接用手摸着时钟脚加干扰直接救活了mega8
不过要多试几次 不能保证一次过

xujian 发表于 2015-5-21 17:12:37

学习了            
页: [1]
查看完整版本: 庆祝:救活MEGA8熔丝位锁死