用Arduino做高壓並行程式設計器來恢復AVR晶片熔絲位?

Arduino-based AVR High Voltage Programmer

用Arduino做高壓並行程式設計器來恢復AVR晶片熔絲位

工具/原料

Arduino開發板(這裡以Arduino UNO為例)

鎖死的AVR晶片(這裡以Atemga8為例)

參照電路圖準備連線線及相應電子元件

除了Arduino需要另外準備12V直流電源

方法/步驟

根據電路圖連線電路,如果為了以後方便使用可以焊接成板,這裡用了麵包板。

注:

圖中的1K電阻起保護作用,可選

2N3093可以替換為類似的NPN型三極體

用Arduino做高壓並行程式設計器來恢復AVR晶片熔絲位

到下載程式,將程式寫入Arduino中,注意程式中前兩行的定義需要根據所恢復的AVR晶片修改對應的預設熔絲位(這裡以Atmega8為例),可以到“engbedded”網站中的“AVR Fuse Calculator”檢視

// Desired fuse configuration

#define HFUSE 0xD9

#define LFUSE 0xE1

檢查電路連線無誤後上電,等待電路中的指示燈亮起後按下按鈕,當指示燈重新亮起後表示執行完畢。隨後可以將恢復後的AVR晶片連結USBASP檢驗是否可以讀取晶片。

用Arduino做高壓並行程式設計器來恢復AVR晶片熔絲位

注意事項

圖中的2N3903三極體可以替換成2N3904或者其它類似的NPN型三極體

圖中的連線Arduino IO口的1K電阻起保護作用,可選

Arduino程式燒寫前需要根據所恢復的AVR晶片中的預設熔絲位修改程式檔案

本電路不能代替專用並行程式設計器,只是用來將AVR晶片的熔絲位復位

本文系參考國外一篇文章結合親身實踐整理所得,親測已成功恢復Atmega8熔絲位,更詳細內容請見參考資料中的原文章連結

相關問題答案