Selasa, 30 Maret 2010

Programmer USB AVR Open Source

Nah, programmer AVR yang sering dicari saat ini adalah yang mempunyai interface USB. Maklumlah hampir semua notebook/netbook saat ini sudah tidak memiliki port paralel atau port serial standar, namun diganti dengan port USB. Kalau waktu itu kita bisa dengan mudah membuat programmer sendiri dengan berbekal konektor paralel, 74VHC244, dan beberapa kabel, bagaimana dengan USB?

Jangan khawatir, di internet saat ini ada beberapa programmer USB untuk AVR yang berlisensi open source. Dua diantaranya yang terkenal adalah USBasp dan USBtinyISP. Di website keduanya dapat diunduh desain hardware lengkap dengan source code firmware-nya bagi yang ingin membuat sendiri programmer ini. Kedua programmer ini kadang dijual di pasaran, namun sayang tidak dilengkapi dengan source code dari firmware tersebut, yang harusnya ikut disertakan sesuai dengan ketentuan GPL.

Bagaimana dengan program yang digunakan?
Berikut beberapa program yang bisa dipakai dengan menggunakan kedua programmer tersebut:
  1. Avrdude (Linux, Windows, Mac OS X)
    Mendukung USBasp sejak versi 5.2, USBtinyISP sejak versi 5.5
  2. BASCOM-AVR (Windows)
    Mendukung USBasp sejak versi 1.11.9.6
  3. Khazama AVR Programmer (Windows)
    Untuk USBasp
  4. eXtreme Burner - AVR (Linux & Windows)
    Untuk USBasp
  5. AVR Studio (Windows)
    Bisa menggunakan USBtinyISP dengan firmware khusus (masih dalam versi alpha)

Alamat website:
  1. USBasp: http://www.fischl.de/usbasp/
  2. USBtinyISP: http://www.ladyada.net/make/usbtinyisp/

Selasa, 09 Maret 2010

Setting Fuse Bit di AVR (Clock Source)

Buat yang baru migrasi dari mikrokontroler MCS-51 ke AVR kesalahan ini mungkin sering terjadi, yaitu salah menggunakan frekuensi osilator. Misalnya jika kita menggunakan mikrokontroler AT89S52, berapa frekuensi osilator yang diinginkan, maka tinggal dikali 12 saja dan pasang kristalnya. Tetapi tidak demikian dengan mikrokontroler AVR.

Beberapa jenis AVR ATmega osilator pada factory setting sengaja diset ke internal oscillator sebesar 1MHz. Kalau tidak percaya coba saja isi AVR dengan program sederhana, kemudian jalankan tanpa kristal, dijamin bisa jalan!

Iya, itu karena pada AVR memang sudah ditanamkan osilator internal yang nilainya bisa diatur. Bagaimana jika kita ingin menggunakan kristal external? Pengaturan ini ada di Fuse Bit AVR, sudah dijelaskan di datasheet-nya. Walau begitu informasi yang ditampilkan di datasheet bagi sebagian orang kurang begitu jelas (termasuk saya). Tetapi jangan khawatir ada website yang dapat membantu kita untuk menentukan setting fuse bit pada AVR. Kita tinggal masukkan jenis AVR yang digunakan dan tentukan berapa frekuensi osilator yang diinginkan, muncul deh nilai fuse bit yang harus diset.

Langsung aja ke TKP: http://www.engbedded.com/fusecalc/

Semoga membantu...