Artikel Populer IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com USB (Universal Serial Bus) Riki Sriwijaya Lisensi Dokumen: Copyright © 2003 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com. Di tahun 1994, gabungan dari 4 produsen komputer dan elektronika (Compaq, Intel, Microsoft, dan NEC) memulai usaha untuk membuat spesifikasi Universal Serial Bus (USB), sebuah bus baru yang pada awalnya didesain untuk keperluan koneksi PC ke line telepon dan untuk perluasan port. Spesifikasi versi 1.0 dirilis pertama kali tahun 1996. Versi 1.1 dirilis oleh Intel tahun 1998 dengan tambahan kemampuan transfer data pada kecepatan rendah 0,5 MBit/s) dan kecepatan penuh (12 MBit/s). Versi 2.0 diumumkan tahun 1999, ditambah dengan kemampuart transfer data pada kecepatan tinggi (480 MBit/s). USB mendukung plug 'n' play dengan load dan unload driver yang dinamis. Pemakai tinggal menghubungkan piranti USB ke dalam bus kemudian host (komputer) akan mendeteksi kehadiran piranti ini, mengeceknya dan memasang driver yang diperlukan. User tidak perlu khawatir akan terminasi, seting IRQ dan alamat port, atau reboot komputer. Jika telah selesai menggunakan piranti USB tersebut, tinggal cabut saja dari host tanpa terlebih dahulu harus mematikan komputer, yang secara otomatis akan mendeteksi ketidak-hadiran piranti USB ini, dan kemudian akan meng-unload driver-nya. Proses ini dilakukan melalui kombinasi PIDNID (Product ID/VendorID). VID disediakan oleh forum pemakai USB (USB Implement Forum) dan PID dibuat oleh pembuat perangkat keras. Konektor USB Ada dua macam konektor USB; konektor A untuk hubungan ke atas (menuju host) dan konektor B untuk hubungan ke bawah (terhubung ke piranti USB). Secara fisik keduanya dibedakan untuk menghindari kesalahan pemasangan (lihat gambar 1). 1 2 3 2 1 3 4 4 Konektor USB jenis A Konektor USB jenis B Gambar1. Konektor USB Untuk keperluan yang lebih luas seperti menghubungkan computer ke piranti berukuran kecil seperti; handphone, PDA dan sebagainya dibuatlah konektor yang lebih kecil seperti; mini-A dan mini-AB. Semua jenis konektor USB dihubungkan dengan 4 kabel seperti terlihat pada tabel 1: 1 Artikel Populer IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com Nomor Pin Warna Kabel Fungsl 1 2 3 4 Merah Putih Hijau Hitam VBUS (5 volts) DD+ Ground Tabel 1. Susunan kabel USB USB Function Suatu piranti USB dapat dikatakan sebagai sebuah alat transceiver (pengirim sekaligus penerima), baik host maupun peralatan USB itu sendiri. Sebuah istilah baru diperkenalkan, yakni USB function yang maksudnya adalah peralatan USB yang memiliki kemampuan khusus seperti printer, scanner, modem dan sebagainya. Endpoint Endpoint dapat diartikan sebagai sumber data atau pun titik tujuan data. Endpoint merupakan ujung saluran komunikasi pada USB function. Endpoint dapat juga dilihat sebagai interface antara hardware suatu function dan firmware yang berjalan di function tersebut. Semua piranti USB harus mendukung endpoint zero, yang akan menerima semua pengaturan untuk piranti USB tersebut, serta pengecekan statusnya saat enumerasi. Pipes Karena piranti USB mengirim dan menerima data melalui beberapa endpoint yang terpasang seri, maka software di sisi klien akan mentransfer data melalui pipe. Pipe adalah hubungan secara logika antara host dan endpoint. Pipe ini memiliki beberapa parameter antara lain berapa besar bandwith yang dialokasikan untuknya, jenis transfer apa yang digunakan (apakah control, bulk, atau interupsi) serta arah dari data yang mengalir padanya berikut ukuran maksimum paket (atau ukuran buffer). Pada USB didefinisikan 2 (dua) macam pipe, yaitu: Stream Pipe yang tidak memiliki format; yakni pemakai dapat mengirim sembarang jenis data dan menerima data melalui ujung USB. Data mengalir berurutan dan arahnya sudah ditentukan in atau out. Stream pipe bisa digunakan untuk jenis transfer bulk, isokronus dan interupsi. Stream pipe ini bisa dicontrol baik oleh host maupun klien. Message Type yang formatnya sudah tertentu, dan hanya dapat dicontrol oleh host. Data ditransfer dengan arah yang sudah ditentukan oleh pengirim request. Dapat mentransfer data dalam dua arah, namun hanya mendukung jenis transfer control. Karakteristik Elektris USB Rentang tegangan kerja sinyal USB adalah 0,3 Volt hingga 3,6 Volt (pada beban 1,5 kΩ). Logika tinggi (digit digital bernilai “1”) didapat jika tegangan sudah melebihi 2,8 Volt terhadap ground pada beban 15 kΩ. Pada piranti USB yang berkecepatan rendah dan penuh, diferensial "1" dikirim dengan menarik D+ hingga lebih besar dari 2,8 volt dengan sebuah resistor 15 kΩ terhubung ke ground dan sekaligus menarik D- hingga di bawah 0,3 volt dengan sebuah resistor 1,5 kΩ terhubung ke 3,6 volt. Hal yang sama, diferensial "0" adalah D- lebih besar dari 2,8 volt dan D+ lebih rendah dari 0,3 volt dengan resistor pull-up dan pull down yang sama. Di bagian penerima, diferensial "1" didetinisikan sebagai D+ lebih besar 200mV dari D- dan diferensial "0" berarti D+ lebih kecil dari 200mV dibanding D-. Pada USB berkecepatan tinggi (480 MBit/s) digunakan sumber arus tetap 17,78 mA untuk mengurangi noise. Untuk transfer data pada kecepatan rendah, bentuk dan lebar gelombang sinyal USB adalah sebagaimana tampak dalam gambar berikut: 2 Artikel Populer IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com 60 nS 4,6 Volt 4-20 nS -1,0 Volt 166,7 nS (6 MHz) Gambar 2. Pulsal sinyal USB 6 MHz Karena data dikirim serial, maka piranti USB harus mampu menangani gelombang kontinyu dari Gambar 2. Gelombang ini dihubungkan langsung ke pin data USB dari sebuah sumber tegangan dengan impedansi output 39Ω. Sumber tegangan rangkaian terbuka (open-circuit) untuk keperluan ini seperti tampak pada Gambar 3, yang sudah diantisipasikan ada pada kemungkinan terburuk dari adanya overshoot dan undershoot. Gambar 3. Koneksi USB 6 MHz Untuk koneksi USB yang kecepatan penuh 12 MHz digunakan kabel twisted-pair terlindung dengan impedansi 90Ω ±15% dan delay maksimumnya 26 ns. Sedang impedansi pada drivernya harus antara 28Ω hingga 44Ω. Implementasi driver mengguna-kan CMOS dapat menggunakan rangkaian seperti ditunjukkan seperti Gambar 4. Gambar 4. Rangkaian driver USB 12 MHz dengan CMOS Jika diukur, arus yang masuk atau keluar piranti USB V l.l tidak boleh melebihi ±10,7I VOH mA. Tegangan logika yang dimasukkan ke D + dan D - tidak boleh melebihi 0,3VOH untuk logika rendah dan juga harus turun sebesar 0,7VOH untuk logika tinggi. Gambar 5 berikut ini adalah bentuk pulsa pada komunikasi 12 MHz. 3 Artikel Populer IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com Gambar 5. Gelombang sinyal USB 12 MHz Karena ada piranti USB yang berkomunikasi pada kecepatan rendah, 1,5 MHz, maka kombinasi kabel dan piranti USB harus mengandung kapasitansi tunggal dengan nilai 200pF hingga 450pF di pin D+ dan D-. Perambatan delay pada kabel kecepatan rendah harus kurang dari 18ns. Berikut ini gambar gelombang sinyal USB pada kecepatan-rendah. Gambar 6. Gelombang sinyal USB 1,5 MHz Data sinyal naik dan turun diukur dari 10% hingga 90% dari sinyal, dengan toleransi 10%. Waktu untuk ini adalah dari 4ns hingga 20ns, bergantung kecepatan USB yang digunakan. Deteksi Kecepatan Piranti USB Piranti USB kecepatan tinggi dan rendah dibedakan oleh posisi resistor pull-up di ujung kabel downstream sebagai berikut: Piranti full-speed diterminalkan dengan resistor pull-up terhubung di D+ seperti Gambar 7. Piranti low-speed diterminalkan dengan resistor pull-up terhubung di D-, seperti Gambar 8. Terminator pull-down di port down-stream adalah resistor 15kΩ ±5% terhubung ke ground. 4 Artikel Populer IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com Gambar 7. Koneksi resistor & kabel USB full-speed Gambar 8. Koneksi resistor & kabel USB low-speed Impedansi input di D+ dan D- tanpa terminasi harus >300kΩ. Sedang input kapasitansi dari port yang diukur pada pin konektor boleh berbeda pada port upstream dan downstream. Namun kapasitansi maksimum di downstream adalah 150pF pada D+ dan D-. lni terdiri dari 75pF (maksimum) kapasitansi terhadap ground di tranceiver dan di konektor, plus tambahan 75pF kapasitansi di masing-masing konduktor di jalur transmisi antara pengirim dan penerima. Untuk upstream, kapasitansi maksimumnya adalah 100pF di D+ dan D-. Jadi tambahan kapasitornya hanya sebesar 25pF. Referensi Sutadi, Dwi, I/O BUS & Motherboard, Penerbit Andi, Yogyakarta, 2003 Tulloch, mitch. Tulloch, Ingrid, Microsoft Encyclopedia of Networking 2nd edition, Microsoft Press, Washington, 2002 BIOGRAFI PENULIS Riki Sriwijaya. Manusia biasa, sekarang sedang kuliah di Institut Teknologi Indonesia, serpong Banten. 5