Langkah Pengaturan Fusebit Atmega8


       Sebelum kita mulai mengatur Fusebit atmega 8 silakan pelajari dulu tentang berbagai macam sumber clock AVR pada posting sebelumnya tentang Pengenalan sumber Clock pada Mikrkontroler AVR.
Sebenarnya untuk apa sich kok kita perlu mengatur Fusebit mikrokontroler ? 
Pada dasarnya setting fuse bit berguna untuk mengatur konfigurasi dasar pada mikrokontroler seperti setting sumber clock apakah dari Eksternal atau Internal , Berapa lama Startup time Untuk mecapai Frekuensi Osilator yang stabil, pengaturan SPI Programming , BOD (Brown Out Detector) dll.
Fungsi dasar tersebut hanya diatur sekali saja yaitu pada saat setting fusebit pertama kali dan tidak akan hilang walaupun kita memasukkan program baru.Nah pertanyaanya apakah nanti fusebit bisa diatur kembali (diprogram ulang) ?
jawabannya adalah bisa asalkan setting fuse SPIEN (Serial programming Enable) dan fuse RSTDSBL dinonaktifkan.
SPIEN fuse adalah Fuse yang digunakan untuk mengatur serial programming , jika kita meng-Disable-kan fuse ini maka mikrokontroler tidak akan bisa diprogram secara SPI.
Jika Fuse RSTDSBL (Reset Disable) diaktifkan maka fitur reset pada mikrokontroler  tidak berfungsi yang artinya mikrokontroler juga tidak bisa diprogram secara SPI .
Pertanyaan selanjutnya adalah jika kita sudah terlanjur Mendisable SPIEN dan mengaktifkan RSTDSBL apakah mikrokontroler masih bisa digunakan atau diprogram ulang ?
Bisa kok caranya adalah menggunakan HVSP (HighVoltage Serial Programmer ). 

Utuk keterangan lebih lanjut tentang HVSP beserta rangkaiannya bisa dilihat disini.

Ok langsung saja ke langkah-langkahnya..
Disini saya akan jelaskan pengaturan fusebit dengan menggunakan beberapa software yang umum digunakan yaitu :
  1. Khazama AVR Downloader.
  2. PonyProg.
  3. Exreme Burner AVR.
  4. CodeVision AVR Chip Programmer.
Yang pertama adalah menggunakan Khazama AVR Downloader.
Open Khazama >Atur Chip pada atmega8 > Command > Fuse and Lock Bits (Ctrl+A)


Kemudian Pilih Read All untuk mambaca Setting fuse bits Default .

Kemudian akan tampil default setting fuse dari Pabrik (Belum diutak-atik) Frekuensi masih menggunakan Frekuensi Internal 1 MHz

Selanjutnya atur Fusebit dengan mencentang CKSEL3 ,CKSEL2 dan CKSEL1 (Check= Unprogrammed [1]; Uncheck = Programmed [0])    Untuk mengatur Sumber Clock dan Startup time seperti gambar berikut : 

Pastikan Settingannya sama seperti gambar diatas. langsung Write All...

Cara kedua yaitu menggunakan PonyProg .
Open PonyProg > Devices > AVRMicro > pilih atmega8


Setelah itu Pilih Command > Security and configuration bits 


Kemudian centang seperti gambar berikut : (Checked = programmed [0]; UnChecked = Nonprogrammed [1];) Kemudian Write..




Cara berikutnya adalah dengan menggunakan Extreme Burner AVR.
langkah-langkahnya adalah Buka Extreme Burner AVR > Pilih Chip(Mikrokontroler yang akan digunakan) Atmega8

Pilih tab Fuse Bits/Setting kemudian Read All .

Jika mikrokontroler belum pernah Diotak-atik Fuse bitnya maka kurang lebih akan Muncul nilai berikut.

itu artinya mikrokontroller masih menggunakan clock internal . Selanjutnya adalah ubah kepada settingan Clock Eksternal. Pada Extreme Burner AVR nilai fuse hanya ditunjukkan oleh nilai LOW Fuse dan HIGH Fuse yang ditulis dalam format Hexa 8 bit. Karena itu anda harus lebih teliti dalam memasukkan nilai Hexa tersebut.
Untuk itu silakan lihat Ringkasan Nilai LOW Fuse  dan HIGH Fuse berikut :

  • Ext. Clock; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xCO); 
  • Ext. Clock; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xDO); 
  • Ext. Clock; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xEO); 
  • Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC1); 
  • Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD1); 
  • Int. RC Osc. 1 MHz; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE1);
  • Int. RC Osc. 2 MHz; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC2); 
  • Int. RC Osc. 2 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD2);
  • Int. RC Osc. 2 MHz; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE2); 
  • Int. RC Osc. 4 MHz; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC3); 
  • Int. RC Osc. 4 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD3); 
  • Int. RC Osc. 4 MHz; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE3);
  •  Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC4); 
  • Int. RC Osc. 8 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD4);
  •  Int. RC Osc. 8 MHz; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE4); 
  • Ext. RC Osc. 0.1 MHz - 0.9 MHz; Start-up time: 18 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC5);
  •  Ext. RC Osc. 0.1 MHz - 0.9 MHz; Start-up time: 18 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD5); 
  • Ext. RC Osc. 0.1 MHz - 0.9 MHz; Start-up time: 18 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE5); 
  • Ext. RC Osc. 0.1 MHz - 0.9 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xF5);
  •  Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC6); 
  • Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD6); 
  • Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE6); 
  • Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xF6); 
  • Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC7); 
  • Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD7);
  •  Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE7); 
  • Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xF7); 
  • Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC8); 
  • Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD8); 
  • Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE8); 
  • Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xF8);
  •  Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4 ms (HIGH: 0xFF dan LOW: 0xC9);
  • Ext. Low-Freq. Crystal; Start-up time: 1K CK + 64 ms (HIGH: 0xFF dan LOW: 0xD9);
  • Ext. Low-Freq. Crystal; Start-up time: 32K CK + 64 ms (HIGH: 0xFF dan LOW: 0xE9);
  •  Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 4 ms (HIGH: 0xFF dan LOW: 0xCA); 
  • Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 64 ms (HIGH: 0xFF dan LOW: 0xDA); 
  • Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 0 ms (HIGH: 0xFF dan LOW: 0xEA);
  •  Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 4 ms (HIGH: 0xFF dan LOW: 0xFA);
  •  Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 64 ms (HIGH: 0xFF dan LOW: 0xCB); 
  • Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 0 ms (HIGH: 0xFF dan LOW: 0xDB); 
  • Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 4 ms (HIGH: 0xFF dan LOW: 0xEB); 
  • Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 64 ms (HIGH: 0xFF dan LOW: 0xFB); 
  • Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 4 ms (HIGH: 0xFF dan LOW: 0xCC); 
  • Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 64 ms (HIGH: 0xFF dan LOW: 0xDC);
  •  Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 0 ms (HIGH: 0xFF dan LOW: 0xEC); 
  • Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 4 ms (HIGH: 0xFF dan LOW: 0xFC); 
  • Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 64 ms (HIGH: 0xFF dan LOW: 0xCD); 
  • Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 0 ms (HIGH: 0xFF dan LOW: 0xDD); 
  • Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 4 ms (HIGH: 0xFF dan LOW: 0xED); 
  • Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 64 ms (HIGH: 0xFF dan LOW: 0xFD);
  •  Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 4 ms (HIGH: 0xFF dan LOW: 0xCE); 
  • Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 64 ms (HIGH: 0xFF dan LOW: 0xDE); 
  • Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 0 ms (HIGH: 0xFF dan LOW: 0xEE);
  • Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 4 ms (HIGH: 0xFF dan LOW: 0xFE); 
  • Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 64 ms (HIGH: 0xFF dan LOW: 0xCF); 
  • Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 0 ms (HIGH: 0xFF dan LOW: 0xDF); 
  • Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms (HIGH: 0xFF dan LOW: 0xEF); 
  • Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms (HIGH: 0xFF dan LOW: 0xFF);

Untuk lebih lengkapnya dapat menggunakan Fuse calculator Disini . Caranya pilih Mikrokontroler yang digunakan kemudian selanjutnya pilih setting yang digunakan .
Disini saya menggunakan Atmega 8 dengan pengaturan sebagai berikut :

  • Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms; [CKSEL=1111 SUT=10]
  • Brown-out detection enabled; [BODEN=0]
  • Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
  • CKOPT fuse (operation dependent of CKSEL fuses); [CKOPT=0]
  • Serial program downloading (SPI) enabled; [SPIEN=0]

Kemudian Apply Feature Setting dan akan Muncul nilai hexa LOW Fuse dan HIGH Fuse :

Nah tinggal masukkan nilainya ke pengaturan Fuse Bits Extreme Burner AVR tadi . Sebelum melakukan Write jangan Lupa centang Checklist Write Low Fuse dan Write high Fuse sedangkan Checklist Lock Bits biarkan default .



Jika anda Menggunakan Tools Programmer bawaan CodevisionAvr maka Pengaturannya adalah sebagai berikut :

Langsung aja pilih Program > Fuse bit(s) 

Itu tadi beberapa cara yang bisa dilakukan untuk memprogram Fuse Bit yang biasa dilakukan . Untuk cara lain Prinsipnya sama saja yang penting adalah anda tahu Dasar pengaturan Fuse yang berkaitan dengan Sumber Clock , waktu Startup dan Fuse yang berkaitan dengan Serial Programming.

Note :
  1. Jangan mengubah pengaturan yang telah dicontohkan .Cara diatas adalah cara yang sudah saya lakukan berulang kali dan tak ada masalah.
  2. Saat anda mengatur sumber Clock pada Mode Crystal External , anda harus segera menyediakan sumber clock eksternal saat mikrokontroler tersebut diaktifkan, jika tidak maka mikrokontroler akan mengunci dirinya dan untuk memperbaikinya harus menggunakan HVSP (High Voltage Serial Programer)
  3. Jika ada pertanyaan sebelum melakukan pengaturan Fuse bits dapat ditanyakan pada Kolom komentar.    


Selamat Mencoba...!!


Referensi :

11 komentar:

  1. bisa digunakan untuk unlock chip avr yg sudah ke lock bitnya???

    BalasHapus
    Balasan
    1. Kalo dowloader biasa(USBASP) tidak bisa digunakan untuk unlock Fusebit Atmega8 atau mikrokontroler lainnya, untuk unlock lock bitnya kita bisa pakai Downlader paralel atau memakai rangkaian FuseBit Doctor(HVSP) seperti Link yang saya berikan di atas,,
      Trims..

      Hapus
  2. kalo untuk seting fusebit pertama kali..harus pakai downloader yg paralel ya..
    klo pakai yg usbasp ga bisa???

    BalasHapus
    Balasan
    1. pake paralel ya bisa aja tapi semisal pake USBASP ada triknya :

      Secara Hardware : pada USBASP jika mengacu pada rangkaian http://www.fischl.de/usbasp/ maka kita dapat mengatur kecepatan Clock (SCK) dengan cara mengatur JP3 (Jumper ketiga). jika JP3 kita hubungkan maka kecepatan SCK akan rendah (Slow SCK) begitu sebaliknya. artinya jika kita ingin mengubah Fuse bit yang masih menggunakan clock default maka sebaiknya kita pilih yang slow SCK (Connect JP3).

      Kemudian secara Software :
      Update Software Programer (Khazama ) ke versi yang terbaru (Khazama 1.7.0) dan update Firmware USBASP ke versi yang terbaru(2011-05-28) karena pada versi yang terbaru ini ada setting Clock SCK yang dapat disesuaikan dengan kondisi Clock Mikrokontroler target.
      Terima kasih..

      Hapus
  3. Mas klo setting fuse ATmega 8 pake AVR OSP gimana yah? nilai hex Ext, High, Low nya di set brp yah? thks

    BalasHapus
    Balasan
    1. Pengaturan Fuse bit dengan AVR OSP hampir sama dengan pengatura Di Codevision Programmer atau tool Programming AVR Studio,,
      Yang penting pertama anda harus mengerti maksud dari setiap prosedure yang dipakai pada setiap Software Uploader,,
      Pengaturan Fuse bit Juga tergantung dari aplikasi mikrokontroler yang akan Dipakai apakah nanti digunakan sebagai mikrokontroler minimum sistem biasa atau aplikasi yang lainya..

      untuk cara pengaturannya bisa dengan cara mencentang secara manual Fuse yang bersangkutan atau dengan Mengisi Hexnya..

      Coba isikan :
      HIgh Fuse (Hex) : 0xC1
      Low Fuse (Hex) : 0x2F
      Ext Fuse (Hex) : 0xFF

      Ket :
      SPIEN=0
      EESAVE=0
      BOOTSZ=00
      CKOPT=0
      BODLEVEL=0
      BODEN=0
      CKSEL=1111 SUT=10 ---> tergantung dari Kristal yang dipakai (saya menggunakan Kristal 11059200Hz)

      Semoga Membantu...

      Hapus
    2. sebelumnya saya ucapkan trima kasih byk ni mas Eric atas pencerahannya.. ^^
      saya pernah setting fuse bit ATmega 8535 / 32 / 16 dengan nilai hex High 0xDF, Low 0xFF, Ext 0xFF dan hasilnya bagus mas tidak ada masalah. Kemudian nilai itu saya terapkan jg ke ATmega 8L, hasilnya IC nya jdi ke lock mas sehingga tidak bisa di autodetect lagi dgn AVR OSP II, itu knpa ya mas? apa karna saya memberikan nilai hex demikian membuat RSTDSBL menjadi aktif? dan bagaimana cara mengetahui RSTDSBL aktif atau tidak di AVR OSP II mas?
      maaf nih sbelumnya saya byk nanya mas ^^

      Hapus
  4. saya beli mikrokontroler ATmega8535, tapi saya tidak bisa memprogramnya dengan menggunakan USBAsp, kata orang2 harus setting fusebitnya... tapi saya coba ternyata tidak bisa mas,... bisa tolong bantu saya mas.... bagaimana cara mensetting fusebit atmega8535 saya mas....?

    BalasHapus
  5. mas bagaimana cara me unlock atmega8535 dengan paraller downloader???

    terima kasih

    BalasHapus
  6. gan... ATmega128 saya nggak bisa diprogram lagi baik menggunakan downloader paralel port atau USBasp, awalnya bisa tapi setelah mau diprogram lagi udah nggak bisa lagi...apa atmega128nya udah tekunci fuse bitnya atau udah rusak mikronya?

    BalasHapus
  7. yang digunakan downloader apa? usbasp ato paralel? saya menggunakan usbasp dan khazama tidak bisa, mohon pencerahannya, makasi....

    BalasHapus

Maaf bila ada kesalahan dalam penulisan dan penyajian. Corect me if I'm wrong (CMIIW).
Comment dan Kritik anda sangat Berarti bagi kami untuk menyajikan Artikel yang lebih baik.

Related Posts Plugin for WordPress, Blogger...
 
Design by Tyery08 | Edited By Shinici - Premium Blogger Themes | Affiliate Network Reviews