Saturday, April 9, 2016

Gang USBASP 4x



Seiring perkembangan negeri kita Indonesia yang pesat, bermunculanlah enterpreneur2 muda dibidang embeded sistem. Bidang embeded sistem tentu selalu bersinggungan dengan mikrokontroler. Salah satu mikrokontroler yang sering digunakan adalah AVR dan MCS51 produksi ATMEL. Untuk bekerja mikrokontroler tersebut memerlukan program. Biasanya setelah kita membuat program, program tersebut akan dimasukan kedalam mikrokontroler langsung ke mikro atau disimpan terlebih dahulu kedalam file *.hex, tergantung compiler yang digunakan. Misalnya Arduino akan mendownload program langsung ke mikrokontroler tanpa disimpan dahulu dalam file *.hex. Lain lagi jika kita menggunakan winAVR. File akan disimpan terlebuh dahulu dalam file *.hex.

Untuk memasukan program tersebut ke dalam mikrokontroler diperlukan suatu alat yaitu downloader.  Prose memasukan program kedalam mikrokontroler tersebut disebut download program. Ada banyak merek downloader yang dapat digunakan untuk memasukan program tersebut kedalam mikrokontroler. Salah satu yang populer karena dukungan yang luas adalah USBASP. USBASP default-nya menggunakan AVRDUDE. Selain AVRDUDE juga didukung BASCOM, Khazama, eXtreme Burner, AVRDUDESS (varian AVRDUDE berbasis windows), GUI4avrdude, ATMEL Studio, CodeVision, bahkan Arduino juga mendukung USBASP. Dengan USBASP, program di download ke mikrokontroler. Mikrokontroler yang dapat diprogram dengan mikro ini hanya dari keluarga AVR dan MCS51 keluaran ATMEL.

Gambar 1. USBASP

Proses download tidak terasa jika hanya dilakukan untuk satu atau dua mikrokontroler. Jika jumlah mikro yang akan didownload puluhan ribu unit, tentu kita dapat memesan mikro yang sudah ada program di dalamnya dari pabriknya. Tetapi bagi enterpreneur pemula yang butuh download puluhan hingga ribuan unit, tentu akan memerlukan kerja extra jika kita melakukan satu demi satu mikrokontroler. Kerja extra tentunya sangat sensitif bagi pengusaha karena harus membayar jam lebih kepada tenaga kerja.

Di pasaran tersedia downloader yang dapat memprogram mikrokontroler bersamaan. Namanya adalah Gang Programer. Biasanya Gang Programer dapat mendownload program untuk 4, 8, 16 mikrokontroler sacara bersamaan. Tentu saja semakin banyak mikro yang dapat di download akan semakin mahal downloader tersebut. Contohnya :

Gambar 2. ChipProg-G41 



Programer ini dapat mendownload program ke empat mikrokontroler sekaligus. Harganya adalah $2,995. Programer ini dapat digunakan untuk hampir semua mikrokontroler, PLD,FLASH dan EEPROM. Bagi usaha kecil dan menengah tentu harga  40jutaan tentu sangat tidak menarik.

Berdasarkan kebutuhan tersebut maka saya membuat suatu alat yaitu GangUSBasp. GangUSBasp akan memiliki kemampuan seperti USBasp yang dapat digunakan untuk banyak aplikasi programer tetapi juga memiliki kemampuan mendownload empat mikrokontroler sekaligus dalam waktu bersamaan. Seperti halnya USBasp. GangUSBasp juga hanya dapat digunakan untuk mikrokontroler AVR dan MCS51, Tidak untuk mikro keluarga yang lain. Berikut ini Gambar GangUSBasp;



Gambar 3. GangUSBasp


GangUSBasp ini dikenali sebagai USBasp pada komputer. Semua aplikasi yang berjalan dengan USBASP akan berjalan pada GangUSBasp. Terdapat empat konector IDC yang masing-masing dapat digunakan sebagai konector programer. Konektor-konektor itu diberi nomor 1 hingga 4. Konektor 1 digunakan sebagai PATRON. PATRON sendiri adalah konektor yang harus digunakan. Mikrokontroler yang terhubung dengan konektor ini adalah mikrokontoler yang terlihat pada aplikasi programer. Misalnya program yang digunakan adalah AVRDUDESS 2.4



Gambar 4. Avrdudess

Pilih programmer yang digunakan USBasp dan pilih MCU sesuai dengan yang akan di program. ATmega8 yang digunakan pada kesempatan ini. Hubungkan GangUSBasp dengan Komputer dan Konektor1 dengan mikrokontroler yang akan di program.

Gambar 5. menghubungkan GangUSBasp

Gambar 6. Avrdudess berhasil mengenali mikrokontroler

Lalu tekan tombol 'Detect' pada Avrdudess. Hasinya adalah 'Detected 1e9307 = ATmega8'
yang artinya mikrokontroler ATmega8 terdeteksi. dan LED pada konektor 1 menyala hijau
menandakan komunikasi antara GangUSBasp pada konektor 1 dengan ATmega8 dapat dilakukan. Selanjutnya kita dapat menentukan file program (dalam format *.hex) yang akan kita masukan dalam mikrokontroler. Setelah itu tekan tombol 'Go'.


Gambar 7. Proses load program ke Avrdudess

Hasilnya pesan 'verified' pada Avrdudess dan LED menyala merah pada konektor yang tidak terhubung pada mikrokontroler.


Gambar 8. Hasil download program ke mikrokontroler

Selesai sudah proses download program ke mikrokontroler. Untuk data EEPROM dapat kita lakukan sama dengan proses memasukan program pada Flash di atas.

Jika anda bertanya."Kapan nih pakai kemampuan GangUSBasp untuk download empat mikrokontroler bersama-sama?". Maka kita mulai pembahasannya. :).

Sekarang coba anda hubungkan empat mikrokontroler pada GangUSBasp seperti gambar di bawah ini:


Gambar 9. Memasang 4 mikrokontroler yang akan di download

Lalu tekan tombol 'Detect' pada Avrdudess. Hasinya adalah 'Detected 1e9307 = ATmega8'
sama seperti pada proses dengan satu mikrokontroler. hasilnya adalah;


Gambar 10. GangUSBasp berhasil masuk ke mode program untuk keempat mikrokontroler

Semua LED konector pada GangUSBasp menyala hijau, yang artinya semua konektor programer dapat berkomunikasi dengan mikrokontroler yang dihubungkan terhadap konektor tersebut. Setelah itu lakukan proses menulis seperti cara proses download program pada satu mikrokontroler di atas.




Gambar 11. Pesan verified pada Avrdudess dan keempat LED tetap hijau 


Pesan pada Avrdudess adalah 'flash verified' yang artinya bahwa proses penulisan telah berhasil. Semua LED konektor tetap berwarna hijau, yang artinya keempat mikrokontroler berhasil di tulis.
Jika ada salah satu LED berwarna merah, berarti proses penulisan program pada mikro yang terhubung dengan konektor yang LEDnya berwarna merah tersebut gagal dilakukan. Contohnya:


Gambar 12. Salah satu LED berwarna Merah, lainnya Hijau


Pada gambar di atas LED konector ke empat berwarna merah, yang berarti proses penulisan program pada mikrokontroler keempat tidak berhasil.

Jika Avrdudess memberikan pesan gagal seperti gambar di bawah, maka semua mikro gagal penulisan.

Gambar 13. Pesan kesalahan Avrdudess

GangUSBasp adalah Hardware pengembangan yang menggunakan arsitektur USBasp dan aplikasi-aplikasi programer yang sudah ada sebelumnya. USBasp dan aplikasi-aplikasi tersebut hanya mendukung satu mikrokontroler yang dapat didownload pada satu waktu. GangUSBasp juga mengikuti proses ini. Misalnya Avrdudess juga hanya berkomunikasi dengan GangUSBasp untuk download program ke satu mikrokontroler yaitu mikrokontroler yang terhubung dengan konektor 1 (konektor PATRON).

Gambar 14. Avrdudess komunikasi dengan PATRON


Jadi pastikan dulu PATRON terhubung dengan mikrokontroler yang akan di download, karena jika PATRON tidak terhubung dengan mikrokontroler yg akan di donload otomatis Avrdudess tidak dapat melakukan proses download. Begitu pula jika PATRON gagal di download, maka ketiga mikrokontroler yang lain, yang terhubung dengan konektor 2,3 dan 4 juga gagal di download.

Ketiga konektor yang lain adalah mengkopy proses yang dilakukan pada PATRON. Pada waktu PATRON mencoba masuk ke mode program, maka ketiga konektor yang lain juga mencobanya. Jika hasil hubungan PATRON dikirim balik ke Avrdudess, maka ketiga yg lain dikirim ke LED masing-masing. Seperti Gambar 6. Patron berhasik komunikasi dengan Avrdudess, sedangkan tiga konektor yang lain gagal masuk mode program, sehingga LED ketiganya tidak menyala.

Pada waktu melakukan Avrdudess melakukan 'tulis' ke PATRON, maka ketiga konektor juga melakukan tulis ke mikrokontroler masing-masing berdasarkan data yang dikirim Avrdudess ke PATRON.

Pada waktu proses 'verify'. Avrdudess akan membaca isi dari mikrokontroler yang terhubung dengan PATRON. Dan bila isi mikrokontroler sesuai dengan yang berada pada file, maka Avrdudess akan menampilkan pesan 'verified'. Ketiga konektor yang lain akan membandingkan hasil bacanya masing-masing dengan hasil baca PATRON. Jika hasilnya sesuai maka LED tetap menyala hijau, tapi jika hasilnya ada yang tidak sesuai maka LED akan menyala merah, berarti mikro yang terhubung dengan konektor tersebut GAGAL ditulis.

Daya yang digunakan GangUSBasp dari USB cukup jika menggunakan PC, tetapi jika menggunakan Laptop ada kemungkinan kurang. Kita dapat menambahkannya dengan menggunakan USB HUB yg memiliki self powered seperti gambar berikut ini;











No comments: