«

»

Jul 07

Salah Setting Fuse Bits pada Mikrokontroler AVR

Configuration dan Security Bits, atau lebih dikenal dengan nama Fuse Bits, merupakan setting yang penting sekaligus berbahaya. Penting karena bila tidak di-setting, maka konfigurasi yang diusung oleh chip adalah factory default, yang mungkin saja tidak sesuai dengan kebutuhan kita. Berbahaya karena bila salah setting, akan membuat chip tidak dapat diprogram.

Kesalahan yang umum terjadi adalah salah memilih sumber clock (CKSEL), men-disable pemrograman melalui cara SPI (SPIEN) atau men-disable pin reset (RSTDISBL).

Bagaimana bila terjadi kesalahan setting sehingga chip mikrokontroler terkunci alias tidak dapat diprogram melalui cara ISP? Apakah masih bisa disembuhkan?

Setting fuse bits dapat di-recover dengan menggunakan high-voltage parallel programmer. Hanya saja, produk jadi untuk programmer seperti ini, agak sulit didapat di pasaran. Bila ingin membuatnya, kita bisa mencoba referensi dari radiolocman.

Apakah ada solusi lain?

Merujuk pada datasheet, chip AVR ATmega8535/16/32 memiliki opsi osilator eksternal. Artinya, chip bisa bekerja dengan pasokan clock dari osilator eksternal. Sinyal clock dapat disuntikkan melalui pin XTAL1.

Kita bisa membuat osilator ~ 1 MHz dengan menggunakan mikrokontroler kedua, dan menghubungkan pin output osilator tersebut dengan pin XTAL1 dari mikrokontroler yang akan di-recover. Selanjutnya, hubungkan port ISP mikrokontroler dengan ISP Programmer – disarankan menggunakan ISP Programmer Parallel, bukan USB.

Selanjutnya, jalankan software PonyProg dan lakukan perintah Security and Configuration Bits. Setelah masuk ke tampilan Security and Configuration Bits, lakukan setting yang benar; kemudian Write.

Bila semua langkah di atas berjalan dengan baik, maka dapat dipastikan, chip mikrokontroler AVR yang tengah pingsan, sudah kembali siuman.