Arduino-based AVR High Voltage Programmer
工具/原料
Arduino開發板(這裡以Arduino UNO為例)
鎖死的AVR晶片(這裡以Atemga8為例)
參照電路圖準備連線線及相應電子元件
除了Arduino需要另外準備12V直流電源
方法/步驟
根據電路圖連線電路,如果為了以後方便使用可以焊接成板,這裡用了麵包板。
注:
圖中的1K電阻起保護作用,可選
2N3093可以替換為類似的NPN型三極體
到下載程式,將程式寫入Arduino中,注意程式中前兩行的定義需要根據所恢復的AVR晶片修改對應的預設熔絲位(這裡以Atmega8為例),可以到“engbedded”網站中的“AVR Fuse Calculator”檢視
// Desired fuse configuration
#define HFUSE 0xD9
#define LFUSE 0xE1
檢查電路連線無誤後上電,等待電路中的指示燈亮起後按下按鈕,當指示燈重新亮起後表示執行完畢。隨後可以將恢復後的AVR晶片連結USBASP檢驗是否可以讀取晶片。
注意事項
圖中的2N3903三極體可以替換成2N3904或者其它類似的NPN型三極體
圖中的連線Arduino IO口的1K電阻起保護作用,可選
Arduino程式燒寫前需要根據所恢復的AVR晶片中的預設熔絲位修改程式檔案
本電路不能代替專用並行程式設計器,只是用來將AVR晶片的熔絲位復位
本文系參考國外一篇文章結合親身實踐整理所得,親測已成功恢復Atmega8熔絲位,更詳細內容請見參考資料中的原文章連結