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