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