搞錯(cuò)熔絲位,導(dǎo)致芯片死鎖的恢復(fù)辦法
當(dāng)你改動(dòng)了AVR的熔絲位配置,重新加電后,想再用ISP下載,提示:“進(jìn)入編程模式失敗”等,極有可能是你搞錯(cuò)了熔絲位,導(dǎo)致芯片不知道使用何種主頻而無(wú)法正常工作(僅限于內(nèi)部RC振蕩的情況)。
解決方法為:
1。寄回給芯片服務(wù)商,讓他們幫忙將芯片恢復(fù)
這是最省事,但是最費(fèi)時(shí)間,最無(wú)可奈何的方法。
2。使用編程器將芯片恢復(fù)到出廠狀態(tài)
這個(gè)方法,需要你有編程器。編程器的具體制作資料,可參考本網(wǎng)站技術(shù)論壇紅日的帖子:用89S51制作簡(jiǎn)易并行編程器ATmega16(救活A(yù)Tmega16) 。
補(bǔ)充:2004-10-27 本網(wǎng)站會(huì)員彩虹數(shù)碼提供了在煒煌系列編程器改熔絲位恢復(fù)芯片的辦法。詳情請(qǐng)到本文最后的后記與補(bǔ)充。
3。通過(guò)外加有源晶振的辦法,讓其恢復(fù)。
這個(gè)方法最可行。它可以恢復(fù)大部分熔絲位搞錯(cuò)的芯片。接法如下:
恢復(fù)方法:
接上上圖的有源晶振,重新通電,就能用ISP下載線修改錯(cuò)誤的熔絲位了。修改完成后,斷電,將有源晶振拆走,看看是否已經(jīng)恢復(fù)正常。
還有一個(gè)辦法,如果沒(méi)有有源晶振的話可以用其他工作正常的單片機(jī)的時(shí)鐘作為外部晶振,只要將工作正常的單片機(jī)的XTAL2腳連接熔絲設(shè)置錯(cuò)誤的單片機(jī)的XTAL1引腳即可。像我使用AVR910下載線的可直接把AT90S2313的時(shí)鐘輸出連到被設(shè)置錯(cuò)的芯片就可恢復(fù)了,很方便。(此方法由彩虹數(shù)碼提供)。
--------------------------------------------------------------------------------
后記與補(bǔ)充 (2004-10-27) :本網(wǎng)站會(huì)員彩虹數(shù)碼提供了在煒煌系列編程器改熔絲位恢復(fù)芯片的辦法。
這幾天隨著被鎖定的芯片越來(lái)越多,手頭已經(jīng)沒(méi)有可以用的芯片了,實(shí)在沒(méi)辦法就又把以前購(gòu)買的煒煌500A并行編程器拿出來(lái)研究。因?yàn)橐郧耙恢睕](méi)有發(fā)現(xiàn)該編程器有改AVR配置熔絲的選項(xiàng)(如下圖),所以原本不太抱希望的。
在500A燒片程序中選擇了M16芯片之后,彈出來(lái)了這樣一個(gè)對(duì)話框,以前我都是看AVR-2適配器如何接線的,重來(lái)沒(méi)有關(guān)注過(guò)下圖紅框框住的這幾個(gè)字眼。
經(jīng)過(guò)仔細(xì)研讀,忽然想起SLISP中的配置熔絲界面也有高低字節(jié)位,于是趕緊打開(kāi)來(lái)看看,果然如此,且高低位和擴(kuò)展位分別對(duì)應(yīng)不同功能的熔絲,如下圖:
終于理解了所謂的熔絲原來(lái)就是3個(gè)字節(jié)的存儲(chǔ)器,不同的數(shù)值代表了不同的功能設(shè)置,所以煒煌系列編程器只要在數(shù)據(jù)緩沖區(qū)把熔絲地址(不同芯片的熔絲地址會(huì)不同)的數(shù)據(jù)手工修改,然后寫(xiě)入即可,如下圖:
詳細(xì)討論,可以參考本網(wǎng)站論壇帖子:新發(fā)現(xiàn):熔絲的真面目以及煒煌系列編程器改熔絲的辦法
--------------------------------------------------------------------------------
附錄一:小資料:晶體、晶振和有源晶振
晶體(crystal)就是以特定方式(AT或BT等)切割的水晶(天然或人造石英),利用水晶具有的壓電效應(yīng)來(lái)做頻率基準(zhǔn)。
加上振蕩電路(如克萊拍,考皮茲等)完成一個(gè)完整的電路功能,封裝好,我們稱之為有源晶震(Oscillator)。 相對(duì)而言,沒(méi)有電路的晶體,我們叫無(wú)源晶體或無(wú)源晶振。
附錄二:Mega8 芯片使用 SL_ISP 1.3 下的熔絲位參考圖
8M 內(nèi)部RC振蕩
1M 內(nèi)部RC振蕩