DESAIN ANTAR MUKA USB (UNIVERSAL SERIAL BUS) KELAS HID (Human Interface Decive)

  

DESAIN ANTAR MUKA USB (UNIVERSAL SERIAL BUS)

KELAS HID (Human Interface Decive)

Trisno Yuwono Putro

  Jurusan Teknik Elektro,Politeknik Negeri bandung trisno.yuwono@yahoo.com

  

Abstrak

  Dewasa ini, sebagaian besar komputer modern dan laptop hanya menyediakan terminal USB (Universal

  

Serial Bus ) untuk keperluan akses devais input/output eksternal. Fenomena ini memaksa para perancang dan

  pengembang full-custom devais input/output selalu berbasis pada teknik antar muka USB. Sistem USB terdiri atas pengontrol (PC host) dan beberapa Devais input/output.

  Penelitian ini bertujuan untuk merancang dan membuat sebuah devais input/output USB kelas HID (Human

  

Interface Decive ). Untuk perancangan dimulai dengan mengkaji protokol USB versi 1.1 dan 2.0 sebagai dasar

  dalam perancangan perangkat lunak pada sisi Devais (firmware) dan perangkat lunak pada sisi host. Di dalam perancangan ini devais input/output USB dilengkapi dengan terminal analog dan digital yang dapat diakes dan dikontrol oleh host, serta dikenali sebagai USB Human Interface Device (HID). Sebagai rangkaian pengontrol dipilih Microcontroller PIC18F4550.

  Pengujian hasil rancangan dilakukan menggunakan perangkat lunak USBTrace . Hasil pengujian menunjukkan bahwa kecepatan transaksi yang dicapai adalah 12 Mbps (full-speed). Penentuan kecepatan transaksi full-speed dapat dipilih melalui Compiler MikroC pada menu Project, Edit Project, dengan ketentuan Project Setting dipilih clock MCU 48 Mhz dan kristal yang terpasang secara hardware 8 Mhz.

  Kata kunci : antarmuka , USB, HID

1. PENDAHULUAN interface secara langsung ke bus USB dengan Dewasa ini, sebagian besar komputer modern memanfaatkan transveiver internal.

  dan laptop hanya menyediakan terminal USB USB 1.1 dapat mendukung kecepatan (Universal Serial Bus) untuk keparluan akses transaksi bawah 1.5Mbs (low speed) dan atas Devais input/output eksternal. Fenomena ini

  12Mbs (full-speed). Skema transaksi low-speed memaksa para perancang dan pengembang full- ditunjukkan dalam Gambar 1. Transaksi data dapat

  

custom Devais input/output selalu berbasis pada mencapai ke seluruh devais yang terpasang, baik

[2]

  teknik antar muka USB . USB adalah standar bus devais low-speed maupun devais full-speed. Devais serial sebagai perangkat penghubung antara full-speed dapat melakukan transaksi low-speed. komputer dengan peripheral eksternal. Kelebihan utama antar muka USB adalah hot plugable, yang berarti Devais USB dapat di plug sementara PC dalam kondisi running dan mengkonfigurasi secara

  [1]

  otomatis . Penelitian ini bertujuan untuk merancang dan membuat devais input/output USB kelas HID yang dilengkapi dengan akses peripheral digital dan analog, serta merancang firmware dan

  descriptor pada Devais dengan kecepatan transaksi 12 Mbps (Full-speed).

  Transaksi melaui USB ini dikontrol oleh

  microcontroller , microcontroller yang dipilih

  adalah Microchip PIC18F4550. Pemilihan

  Microcontroller ini di dasarkan pada kekhususan

  fiturnya untuk menangani antar muka USB, karena Gambar 1. Transaksi Devais Low-speed

  Microcontroller ini memiliki USB Serial Interface

  Sumber: Don Anderson, 2001

  [5] Engine (SIE) . SIE kompatibel dengan transaksi low-speed dan full-speed yang memungkinkan

  komunikasi dengan USB host v 1.1. SIE dapat di

  Gambar 4. Interface USB 1.1 Kecepatan devais ditentukan dengan observasi

  Gambar 2. Transaksi Devais Full-speed jalur data mana yang dihubungkan ke resistor pull- Sumber: Don Anderson, 2001 up seperti ditunjukkan dalam Gambar 4.

  Kerangka penelitian ditunjukkan dalam Skema transaksi Full-speed ditunjukkan dalam Gambar 5.

  Gambar 2. Transaksi data hanya dapat dilakukan pada devais full-speed, karena devais low-speed tidak dapat melakukan transaksi full-speed.

  Semua devais USB mempunyai hirarki

  descriptor yang menguraikan berbagai fitur dari

  devais. Descriptor USB yang paling umum adalah:

  • Device descriptors
  • Configuration descriptors
  • HID descriptors
  • Endpoint descriptors

  Herarki struktur descriptor ditunjukkan di dalam Gambar 3.

  Gambar 3. Herarki Descriptor Sumber: Dogan Ibrahim, 2005

  Gambar 5. Kerangka Penelitian Penambahan setiap devais I/O USB-HID dilakukan dengan penambahan address pada

  Penelitian dilakukan dengan metode Endpoint descriptor . eksperimen di dalam Lab Microprocessor, dengan diawali studi literatur lebih dahulu untuk

  Untuk deteksi kecepatan pada bus full-speed , mempersiapkan penelitian ini. resistor dihubungkan dari D+ ke 3,3V, dan pada bus low-speed, resistor dihubungkan dari D- ke

  2. PERANCANGAN DAN IMPLEMENTASI

  3,3V. Ketika tidak ada devais yang disambungkan,

  host akan melihat kedua jalur data dalam keadaan

  A. Perancangan Hardware

  rendah (single ended reveiver) seperti ditunjukkan Rangkaian devais input/output USB-HID dalam Gambar 4. ditunjukkan dalam Gambar 6. Hardware terdiri atas dua blok, controller dan peripheral I/O. Peripheral merupakan contoh bentuk aplikasi pada saat pengujian, disini sebagai peripheral ditambahkan yang dihasilkan ditunjukkan dalam Gambar 8. input analog berupa sensor suhu LM35. Controller Dalam aplikasi ini firmware selalu membaca sensor merupakan pengontrol antar muka USB antara LM35 dan mengkonversikannya dalam bentuk devais dengan host PC. digital serta memprosesnya menjadi suhu untuk dikirimkan ke host via port USB.

  Gambar 8. Form Pembacaan Suhu Gambar 6. Rangkaian Devais Input/Output USB Flowchart firmware ditunjukkan dalam Gambar 9.

B. Perancangan Software

  Software dalam sistem ini terdiri atas dua

  bagian, firmware dalam Microcontroller dan software dalam host PC.

1. Firmware dalam Microcontroller

  Firmware dibangun menggunakan compiler

  MikroC pro 3.2. Ada dua bagian firmware,

  descriptor dan program aplikasi. Setiap program

  aplikasi harus menyertakan program descriptor pada saat melakukan kompilasi. Konsep penalaran dalam perancangan firmware ditunjukkan dalam Gambar 7.

  Gambar 9. Diagram Alir Firmware Aplikasi Input Analog

  Gambar 7. Diagram Alir Firmware

  b. Descriptor

a. Firmware Aplikasi Sensor Suhu

  Setiap program aplikasi harus disertakan Di dalam aplikasi ini dirancang sebuah program descriptor. Descriptor adalah bagian

  firmware yang disertai descriptor sedemikian rupa firmware yang menguraikan berbagai fitur dari

  sehingga terjadi satu arah input. Data yang dibaca devais, misalnya: ID pabrik pembuat, versi devais, oleh host berupa tegangan analog yang berasal dari versi USB yang mendukung, daya yang sebuah sensor suhu LM35. Bentuk form transaksi dibutuhkan, jumlah dan tipe endpoint dan sebagainya. MikroC menyediakan tools terminal EasyHID dirancang bekerja dengan USB 1.1, dan HID yang di dalamnya memuat form untuk tidak dibutuhkan pengembangan driver. Utility ini membuat descriptor seperti ditunjukkan dalam membangkitkan template code untuk Visual Gambar 10. BASIC, Visual C++, atau Borland Delphi, untuk keperluan aplikasi interfacing USB-HID.Di dalam penelitian ini dipilih Visual BASIC. Profil

  EasyHID ditunjukkan dalam Gambar 11. Untuk

  membangkitkan template Visual BASIC seperti dalam Gambar 12 click Next Gambar 11 hingga

  finish . Template Visual BASIC yang di bangkitkan

  oleh EasyHID kemudian dikembangkan sesuai aplikasi yang diinginkan.

  3. PENGUJIAN DAN SIMULASI

  Pengujian hasil perancangan dan implementasi devais Input/Out USB-HID bertujuan untuk mengetahui unjuk kerja dan performa hasil perancangan.

  A. Pengujian Descriptor

  Pengujian firmware descriptor merupakan pengujian tahap awal. Jika devais USB telah diisi

  ` descriptor dan di plug ke port USB host, maka oleh

  Gambar 10. Form Pembentukan Descriptor

  Windows dikenali dengan tampilan berturut-turut seperti ditunjukkan dalam Gambar 13.

2. Perancangan Software pada Host

  Software pada host PC dibangun

  menggunakan Visual BASIC v6.0. Penggunaan program Visual BASIC di dalam rancangan ini berbasis pada USB utility, EasyHID USB Wizard yang dikembangkan oleh Mecanique.

  Gambar 13. Pengenalan Widows Pada Devais Gambar 11. Profil EasyHID

  Gambar 13 menunjukkan keberhasilan pemrogra- man descriptor, karena devais telah berhasil dikenali oleh Windows dan di konfigurasi.

  B. Pengujian Aplikasi Input Analog

  Pengujian dilakukan dengan melakukan pembacaan sensor LM35 secara terus-menerus Gambar 12. Template Visual BASIC seperti ditunjukkan dalam Gambar

  8. Hasil pencatatan transaksi oleh USB-Trace ditunjukkan dalam Tabel 1. Hasil pencatatan oleh USBTrace yang ditunjukkan dalam Tabel 1 memperlihatkan bahwa data 4 byte pertama dalam bentuk Hex merupakan data suhu yang dikonversikan ke Ascii. Data ini juga

  Tabel 1. Hasil Pencatatan Pembacaan Suhu oleh ditunjukan pada hasil capture USBtrace pada

  USBTrace.

  Gambar 14 kolom buffer snippet. Hasil-hasil pembacaan di atas menunjukan bahwa transaksi oleh USBTrace bekerja dengan baik.

  Gambar 14. Hasil Capture Pembacaan Suhu Oleh USBTrace

C. Pengujian Descriptor dan Speed Ada satu hal penting di dalam pengujian Di dalam proses Enumerasi disebutkan bahwa Descriptor yaitu mengetahui kecepatan transaksi.

  pada saat devais USB-HID di plug pada port USB Kecepatan transaksi menunjukkan performa dari

  

host , maka pertama kali host melakukan reset pada devais USB-HID yang dirancang. Dalam Tabel 2

  devais USB-HID. Kemudian devais USB-HID ditunjukkan bahwa “Low-speed = TRUE” yang secara berturut mengirimkan transaksi Descriptor berarti bahwa pencapai kecepatan transaksi low- nya ke host PC. Seluruh peristiwa ini juga di speed 1,5 Mbps. Sedangkan di dalam Tabel 3

  

capture dan dicatat oleh USBTrace. Sebagian hasil ditunjukkan bahwa “Low-speed” = FALSE” yang

  ditunjukkan dalam Tabel 2 dan Tabel 3. Pengujian berarti pencapaian kecepatan transaksi full-speed dilakukan dua kali, pada transaksi low-speed dan

  12 Mbps. transaksi full-speed sesuai dengan batas bawah dan atas kecepatan transaksi USB-HID. port 2 : USB Human Interface Device

  Tabel 2. Hasil Pencatatan Transaksi Descriptor Low-Speed Oleh USBTrace

  Parameter Value

  Hardware ID USB\Vid_1234&Pid_0001&Rev_0001 Setup Class HIDClass

  {745A17A0-74D3-11D0-B6FE- Class GUID

  00A0C90F57DA} PDO Name \Device\USBPDO-6

  Service Name HidUSB

  Parameter Value Connection Information

  Connectionindex 0x2 CurrentConfigirationValue 0x1

  LowSpeed TRUE DevicelsHub TRUE

  DeviceAddress 0x1

  port 2 : USB Human Interface Device

  Tabel 3. Hasil Pencatatan Transaksi Descriptor Full-Speed Oleh USBTrace

  Parameter Value

  Hardware ID USB\Vid_1234&Pid_0001&Rev_0001 Setup Class HIDClass

  {745A17A0-74D3-11D0-B6FE- Class GUID

  00A0C90F57DA} PDO Name \Device\USBPDO-6

  Service Name HidUSB

  Parameter Value Connection Information

  Connectionindex 0x2 CurrentConfigirationValue 0x1

  LowSpeed FALSE DevicelsHub FALSE

  DeviceAddress 0x1 maupun full-speed dengan mengaktifkan fungsi resistor internal pull-ups sebesar 1,5 K Ohm. Berdasarkan kajian di atas maka semua uji coba berhasil dengan baik termasuk interface internal.

  Interface internal didalam microcontroller

  PIC18F4550 dengan diagram yang ditunjukan pada Gambar 15 diaktifkan dengan perangkat lunak (program) untuk mengontrol transaksi low-speed

  Gambar 15. Diagram Blok PIC18F4550 Sumber: Microchip, 2004

4. KESIMPULAN

  Dari hasil pengujian dan analisis dapat disimpulkan hal-hal sebagai berikut: a. Menurut hasil pengukuran yang dilakukan menggunakan USBTrace, devais Input/Output

  USB-HID hasil rancangan dapat beroperasi pada USB 1.1 dengan kecepatan transaksi maksimal

  12 Mbps (full-speed), dengan memasang kristal eksternal 8 MHz pada microcontrollernya.

  b. Program Descriptor harus disertakan dalam setiap program aplikasi.

  c. Program yang dibangun pada host PC untuk menangani transaksi USB, harus dibangun lewat

  template yang dibangkitkan oleh Easy-HID

DAFTAR PUSTAKA

  [2] Chih-Yuan Huang, Tei-Wei Kuo, dan Ai-Chun Pang, 2004. QoS Support for USB 2.0 Periodic

  Journal IEEE 1052-8725/04 [3] Hyde,J., 2001. USB Design by Example A

  Practical Guide to Building I/O Devices , Intel University Press.

  [4] Ibrahim,Dogan, 2005. Advance PIC

  Micocontroller Projects in C (From USB to ZIGBEE with The PIC 18F Series) .Newnes.

  [5] Microchip, 2004. High-Performance Enhanced

  Flash USB Microcontrollers with nanoWatt Technology , PIC18F4550,Michrochip.

  [6] Mikroelektronika, 2006, MikroC User’s Manual

  [1] Anderson, D., 2001. USB System Architecture (USB 2.0) , Mind Share Inc.

  and Sporadic Device Request . International