Skip to main content

[AVR] Recover Kesalahan Fusebit


Sedikit berbagi pengalaman tentang AVR saja, setelah lama tidak bermain dengan AVR, kali ini tadi saya mencobanya kembali dengan membersihkan debu - debu yang banyak menempel pada downloader dan juga microprosesor saya (ATMEGA8535). Kebetulan karena saya sedang ada projek membuat tulisan berjalan, mungkin akan saya upload projeknya pada tulisan berikutnya (Coming Soon :P). 



ATMEGA8535 yang saya gunakan terakhir kali menggunakan settingan dari pabrik yaitu dengan settingan internal clock 1 MHz (CKSEL=0001, SUT=10), untuk itu saya akan merubahnya supaya xtal external saya bisa aktif (xtal external 16 MHz). Jujur saja saya lupa, setelah buka - buka datasheet malah menjadi semakin ragu. Setelah nekat mencoba data dari datasheet, saya memilih CKSEL=0111 dan SUT=01 ternyata konfigurasi tersebut malah menjadikan chip saya 'brick' atau terkunci. PROGISP saya akan selalu memunculkan pesan kesalahan "Chip enable program error".



Menurut pengamatan saya, chip ini tidak mau diakses dari downloader karena beberapa faktor

  1. Koneksi MISO MOSI SCK RESET atau power dari downloader tidak terhubung dengan benar.
  2. Tidak adanya osilasi dari crystal yang cocok
Faktor 1
Sambungan antara downloader dan chip saya buat lagi pada breadboard untuk memastikan bahwa tidak ada sesuatunya yang kurang terhubung. Semuanya terhubung dengan baik, saya melakukan testing pembacaan isi chip saya yang lain (ATMEGA32A) dapat berjalan dengan lancar, namun tidak pada ATMEGA8535 saya. Tentunya ada yang tidak beres disini.

Faktor 2 
Saya mencoba menghubungkan xtal external sebesar 16MHz kepada 8535 saya, saya berharap banyak akan berhasil, namun hasilnya nihil :( 
Setelah saya pikir - pikir mungkin ini terjadi karena osilasi sebesar 16MHz tidak memberi efek pada clock chip, untuk itu saya mencoba mencari sumber clock generator lain dan mencoba googling dan menemukan artikel ini (link). Pada link tersebut dijelaskan bahwa dia menggunakan bantuan Arduino untuk mengenerate clock sebesar 1MHz yang diinputkan pada chipnya. Tidak ada salahnya mencoba, saya pun ikut mencoba, dan hasilnya SUKSES !! 

Pada konfigurasi tersebut, chip membutuhkan clock sebesar 1MHz (kasus saya) untuk berjalan, maka dari itu bisa dipancing dengan sebuah clock generator yang bersumber dari Arduino saya. Source code untuk program di Arduinonya 
void setup() {
  pinMode(3, OUTPUT);  
}
 
void loop() {
  while(1) {
    PIND |= _BV(3);
  }
}
Setelah compile dan upload ke board Arduino, tinggal tancapkan pin 3 ke pin tempat xtal 1 berada di chip, dan ground arduino disambung dengan ground microcontroller yg error.

Tidak Punya Arduino ??
Solusi untuk ini adalah mungkin mencari xtal sebesar 1Mhz (kasus saya) untuk dipasangkan pada chip yang error, atau menggunakan chip AVR lain untuk menggenerate clock untuk disambungkan pada chip. Anda juga bisa memanfaatkan jika anda punya clock generator yang bisa digunakan untuk menggantikan crystal.

Solusi Lain ?
Forum yang saya temui ada yang menyarankan untuk menggunakan JTAG, STK500, atau HVPP (High Voltage Pararel Programming). Alat yang khusus digunakan untuk memperbaiki fusebit yang salah konfigurasi adalah fusebit doctor, saya menemukan orang lokal yang jual alat tersebut, silahkan ke sini. Mungkin jika anda punya alat - alat yang saya sebutkan diatas, bisa langsung digunakan.

Sekian dulu, saya kurang bisa menjelaskan panjang lebar, karena elektro memang bukan basic saya, daripada saya salah - salah menjelaskan, silahkan tanya ke mbah google saja :)
Good Luck !


Referensi

Comments

  1. Sob. Kan Pin 3 arduino di hubungkan ke kaki xtal atmega, nah terus kaki x tal satunya dihubungkan ke mana????

    ReplyDelete
    Replies
    1. Ternyata itu caranya gampang banget boss, cuma tinggal colokin pin 3 arduino ke xtal 1 sama gnd arduino ke ic gnd,tapi yang pin xtal 2 dikosongin dulu boss jangan dicolok kemana mana ,sama yg xtal 1 juga jangan dicolok kemana mana dulu cuma colok ke pin 3 dari arduino

      Delete
    2. Ternayata carannya gampang banget boss,Tinggal colok pin 3 arduino ke xtal 1 ic, tapi yg xtal 1 sama xtal 2 dikosongin dulu boss jangan dicolok kemana mana xtal 1 dicolok ke pin 3 arduino aja yg xtal 2 jangan dicolok kemana mana boss trs gnd arduino colok ke gnd ic

      Delete
    3. Tinggal colok pin 3 arduino ke xtal 1 ic, tapi yg xtal 1 sama xtal 2 dikosongin dulu boss jangan dicolok kemana mana xtal 1 dicolok ke pin 3 arduino aja yg xtal 2 jangan dicolok kemana mana boss trs gnd arduino colok ke gnd ic

      Delete

Post a Comment

Popular posts from this blog

Membaca SMS dari Modem dengan AT Command

Sedikit sharing sekalian untuk catatan biar saya tidak lupa. Saat ini saya akan menulis bagaimana caranya untuk membaca isi SMS (Short Message Service) yang diterima pada perangkat Modem. Ya, kali ini hanya saya bahas untuk pembacaan SMS saja, untuk pengiriman mungkin di posting berikutnya. Saya menggunakan Putty ( download here ) untuk mengakses komunikasi serial dengan modem. Anda juga bisa menggunakan HyperTerminal pada Windows, atau tool lain untuk mengakses komunikasi serial. Langkah pertama adalah mencari dulu modem kita dikenali pada COM berapa. Buka Device Manager pada Windows anda, saya asumsikan anda menggunakan Windows 7, Windows versi lainya menyesuaikan. Carilah modem anda dan klik kanan kemudian pilih properties, dan lihat pada tab Modem seperti dibawah ini Device Manager Pada gambar diatas dapat dilihat bahwa modem saya dideteksi pada COM5. Langkah berikutnya adalah membuka Putty dan pilih koneksi jenis Serial, dan masukkan COM5 pada Serial line, untuk bagian Sp...

Kirim Baterai via JNE

Beberapa waktu yang lalu saya sempat mendapatkan orderan baterai drone keluar pulau jawa yang membuat saya sedikit kerepotan. Kerepotan karena ternyata baterai termasuk barang yang dilarang pada pengiriman via udara. Beberapa teman menyarankan untuk menuliskan bahwa barang tersebut bukan baterai, melainkan barang lain yang "fragile" dengan harapan lolos xray bandara. Namun saya juga menjadi ragu karena membaca beberapa postingan, barang yang "ngeyel" tetap dikirimkan akan berakhir dibuang oleh JNE. Akhirnya saya bertanya melalui customer service yang tersedia, dan mendapatkan jawaban yang cepat dan memberikan solusi untuk mengirimkan barang tersebut melalui darat. Pengiriman darat dikhususkan untuk JNE REG, tidak didukung JNE YES. Setelah dikonfirmasi terhadap pihak CS, akhirnya saya bisa melakukan pengiriman dan merasa lega barang sudah dikirim. Kekhawatiran saya muncul kembali ketika 3 hari barang tersebut masih ada dikota saya melalui menu tracking. Saya...

TPLINK TD-W8151N Sebagai Access Point

TPLINK TD-W8151N milik saya adalah router ADSL bekas penggunaan S*eedy yang sudah tidak terpakai. Router ini saya manfaatkan sebagai repeater atau bisa juga disebut dengan access point yang saya gabungkan dengan WhiteBox (router yg sudah diflash dengan OpenWRT). Alasan saya menggabungkan dengan router TPLink ini karena memang tidak terpakai dan WhiteBox (TPLink MR3020) milik saya WIFI-nya kurang kuat karena memang antenanya internal. Disini akan saya jelaskan bagaimana caranya membuat routing dari WAN menuju ke LAN pada router TD-W8151N. Maaf jika cara ini mungkin bukan cara yang efisien karena pengetahuan jaringan saya juga masih cetek. Langsung saja : Hubungkan kabel LAN dari TD-W8151N menuju ke sumber koneksi internet anda, dalam hal ini saya menggunakan WhiteBox saya. Buka konfigurasi router (default 192.168.1.1) pada browser, masukkan username dan password router. Masuk ke menu Interface Setup, masuk ke submenu LAN dan konfigurasikan IP Address untuk LAN anda begitu j...