jump to navigation

Membuat sendiri mainan digital berbasis CPLD seri XC9500XL December 18, 2008

Posted by haryoktav in Interest.
trackback

Oleh: Hary Oktavianto

Awalnya proyek CPLD ini merupakan pelengkap dari sistem besar yang lain. Tetapi ternyata bagian ini yang jadi lebih dulu. Kedepan, penggunaan CPLD di PENS akan diterapkan untuk mata kuliah yang berkaitan dengan perancangan digital.

Selama ini, kami di PENS, khususnya mata kuliah Sistem Embedded (dulu bernama Pemroses Embedded) menggunakan development board. Dan ternyata untuk membuat board tersebut tidaklah sulit. Yang saya perlukan adalah :

  • IC CPLD, I/O (saklar dan LED), PCB, kabel dan pernak-perniknya
  • Downloader (Parallel Cable III), dapat dilihat disini atau download disini
  • Software ISE WebPack dari http://www.xilinx.com

Gambar 1. Blok diagram

Gambar 1. Blok diagram

Terima kasih kepada IKEDA Sensei yang telah membawakan beberapa IC CPLD untuk percobaan beserta PCB konversinya. PCB konversi? Betul, saya belum bisa membuat PCB dengan jalur yang sangat rapat. CPLD yang saya gunakan adalah tipe XC95144XL.

Gambar 2. IC CPLD dan PCB konversi

Gambar 2. IC CPLD dan PCB konversi


Saking rapatnya jarak antar pin, tidak mungkin bila menggunakan solder biasa. Kami menggunakan solder gas untuk meletakkan IC CPLD pada PCB konversi. Alhamdulillah PENS mempunyai perangkat tersebut, solder gas ini bekerja dengan menyemburkan udara panas dengan suhu dan tekanan yang dapat diatur. Pak Madiono merupakan dosen yang paling sering berhubungan dengan alat ini, maka kami langsung memohon bantuan beliau untuk mengatasi masalah ini. Terima kasih banyak ya pak..

Gambar 3. Peralatan tempur

Gambar 3. Peralatan tempur

Gambar 4. CPLD yang sudah disolder. Harus yakin tidak ada dua pin berdekatan yang konslet

Gambar 4. CPLD yang sudah disolder. Harus yakin tidak ada dua pin berdekatan yang konslet

Lalu berdasar pada datasheet XC9500XL, dibuat rangkaian power suplai dan I/O. Power suplai yang diminta oleh CPLD ini sebesar 1.8V untuk core dan dipilih 3.3V untuk I/O. Sumber suplai ini didapat dari IC yang juga dibelikan oleh IKEDA Sensei.

Gambar 5. PCB bagian atas

Gambar 5. PCB bagian atas

Gambar 6. Sisi untuk CPLD

Gambar 6. Sisi untuk CPLD

Gambar 7. Bagian bawah PCB, ruwet..

Gambar 7. Bagian bawah PCB, ruwet..

Pada gambar 8 terlihat kabel merah untuk suplai positif dan kabel biru untuk suplai negatif. Tidak semua pin dari CPLD disolder, hanya yang terhubung ke suplai, JTAG, dan I/O. Saya memasang dua buah kapasitor dekopling sebesar 100nF tipe NPO dan 10uF tipe tantalum (asli dari Jepang lho, mereka juga dibawa oleh IKEDA Sensei). Tentu saja nanti untuk board sebenarnya saya harus memasangkan kapasitor ini pada setiap pin suplai di CPLD.

Gambar 8. Lebih dekat pada bagian bawah PCB

Gambar 8. Lebih dekat pada bagian bawah PCB

Sebelum menancapkan CPLD, semua hubungan dicek; pin-pin untuk power suplai, pin-pin untuk I/O, dan pin-pin untuk JTAG. Semua harus diyakinkan telah tersambung dengan baik. Cek power suplai disetiap titik menggunakan voltmeter, apakah tegangan telah sesuai. Bila sudah benar, CPLD ditancapkan. Ini adalah saat-saat yang paling mendebarkan bagi saya.

Gambar 9. CPLD siap pada tempatnya

Gambar 9. CPLD siap pada tempatnya

Berikutnya membuat downloader dengan mengikuti skematik dari Parallel Cable III. Power Suplai untuk IC buffer didapatkan dari suplai CPLD sebesar 3.3V. Sekali lagi untuk melakukan cek posisi komponen dan pengkabelan.

Gambar 10. PCB Parallel Cable III tampak atas

Gambar 10. PCB Parallel Cable III tampak atas

Gambar 11. PCB Parallel Cable III tampak bawah

Gambar 11. PCB Parallel Cable III tampak bawah

Saatnya dicoba. Sangat mendebarkan. Parallel Cable III dihubungkan ke port paralel pada PC dan ke JTAG pada CPLD. Power suplai dihidupkan. Semua berjalan normal (terkadang saya berulang kali memegang IC CPLD, apakah saya melakukan hal bodoh yang nantinya menyebabkan komponen tersebut menjadi hangat).

Gambar 12. Proses download yang berhasil

Gambar 12. Proses download yang berhasil

Berikutnya menyiapkan bitstream yang akan di-download kedalam CPLD. Saya membuat project sederhana untuk menyalakan lampu LED dengan saklar. Anda dapat melihat kode VHDL b <= a yang berarti nyala LED = nilai saklar. Definisi pin didalam file UCF bertujuan untuk menghubungkan pin-pin CPLD dengan I/O yang sesuai. Setelah semua implementasi sukses, iMPACT dijalankan.

Gambar 13. Disain VHDL

Gambar 13. Disain VHDL

Dipilih konfigurasi menggunakan JTAG.

Gambar 14. Konfigurasi untuk kabel Paralel 3

Gambar 14. Konfigurasi untuk kabel Paralel 3

Proses konfigurasi oleh iMPACT selesai, iMPACT telah terhubung ke Parallel Cable III melalaui port paralel dan berhasil ‘menemukan’ (mengidentifikasi) CPLD yang terpasang.

Gambar 15. CPLD dikenali

Gambar 15. CPLD dikenali

Proses download dimulai… dan sukses! Lampu LED tampak menyala bila saklar yang bersesuaian diaktifkan.

Gambar 16. Downloading…

Gambar 16. Downloading…

Gambar 17. Download sukses

Gambar 17. Download sukses

Gambar 18. Hasil akhir

Gambar 18. Hasil akhir

Semoga coba-coba ini dapat menambah inspirasi untuk mencoba.

Sumber:

Advertisements
%d bloggers like this: