Bus
Beruntut Semesta (USB)
(bahasa Inggris: Universal Serial Bus) adalah standar bus serial untuk perangkat penghubung, biasanya kepada komputer namun juga digunakan di peralatan lainnya seperti konsol permainan, ponsel dan PDA.
Sistem
USB mempunyai desain yang asimetris, yang
terdiri dari pengontrol host dan beberapa peralatan terhubung
yang berbentuk pohon dengan menggunakan peralatan hub yang khusus.
Desain
USB ditujukan untuk menghilangkan perlunya penambahan expansion card
ke ISA komputer atau bus PCI,
dan memperbaiki kemampuan plug-and-play (pasang-dan-mainkan) dengan
memperbolehkan peralatan-peralatan ditukar atau ditambah
ke sistem tanpa perlu mereboot komputer. Ketika USB dipasang,
ia langsung dikenal sistem komputer dan memroses device driver yang diperlukan untuk menjalankannya.
USB
dapat menghubungkan peralatan tambahan komputer seperti mouse,
keyboard, pemindai gambar, kamera digital, printer, hard disk, dan komponen networking. USB kini telah menjadi standar bagi peralatan
multimedia seperti pemindai gambar dan kamera digital.
Versi
terbaru (hingga Januari 2005) USB adalah versi 2.0. Perbedaan paling
mencolok antara versi baru dan lama adalah kecepatan transfer yang jauh
meningkat. Kecepatan transfer data USB dibagi menjadi tiga, antara lain:
- Super speed data dengan frekuensi clock 4,800.00Mb/s
- High speed data dengan frekuensi clock 480.00Mb/s dan tolerasi pensinyalan data pada ± 500ppm.
- Full speed data dengan frekuensi clock 12.000Mb/s dan tolerasi pensinyalan data pada ±0.25% atau 2,500ppm.
- Low speed data dengan frekuensi clock 1.50Mb/s dan tolerasi pensinyalan data pada ±1.5% atau 15,000ppm.
Persinyalan USB
USB
adalah host-centric bus di mana host/terminal induk memulai semua
transaksi. Paket pertama/penanda (token) awal dihasilkan oleh host untuk
menjelaskan apakah paket yang mengikutinya akan dibaca atau ditulis dan apa
tujuan dari perangkat dan titik akhir. Paket berikutnya adalah data paket yang
diikuti oleh handshaking packet yang melaporkan apakah data atau penanda
sudah diterima dengan baik atau pun titik akhir gagal menerima data dengan
baik.
Setiap
proses transaksi pada USB terdiri atas:
- Paket token/sinyal penanda (Header yang menjelaskan data yang mengikutinya)
- Pilihan paket data (termasuk tingkat muatan) dan
- Status paket (untuk acknowledge/pemberitahuan hasil transaksi dan untuk koreksi kesalahan)
Paket data umum USB
Data
di bus USB disalurkan dengan cara mendahulukan Least Significant Bit(LSB).
Paket-paket USB terdiri dari data-data berikut ini:
- Sync
Semua
paket harus diawali dengan data sync. Sync adalah data 8 bit untuk low dan full
speed atau data 32 bit untuk high speed yang digunakan untuk mensinkronkan
clock dari penerima dengan pemancar. Dua bit terakhir mengindikasikan dimana
data PID dimulai.
- PID (Packet Identity/Identitas paket)
Adalah
field untuk menandakan tipe dari paket yang sedang dikirim.
- ADDR (address)
Bagian
alamat dari peralatan dimana paket digunakan. Dengan lebar 7 bit, 127 peralatan
dapat disambungkan. Alamat 0 tidak sah, peralatan yang belum terdaftar harus
merespon paket yang dikirim ke alamat 0.
- ENDP (End point)
Titik
akhir dari field yang terdiri dari 4 bit, menjadikan 16 kemungkinan titik
akhir. Low speed devices, hanya dapat mempunyai 2 tambahan end point pada
puncak dari pipe default. (maksimal 4 endpoints)
- CRC
Cyclic Redundancy Check
dijalankan pada data di dalam paket yang dikirim. Semua penanda (token) paket
mempunyai sebuah 5 bit CRC ketika paket data mempunyai sebuah 16 bit CRC.
- EOP (End of packet)
Akhir
dari paket yang disinyalkan dengan satu angka akhir 0 (Single Ended Zero/SEO)
untuk kira-kira 2 kali bit diikuti oleh sebuah J 1 kali.
Data
yang dikirim dalam bus USB adalah salah satu dari 4 bentuk, yaitu control,
interrupt, bulk, atau isochronous.
Perancangan peralatan yang menggunakan USB
Untuk membuat suatu peralatan
yang dapat berkomunikasi dengan protokol USB tidak perlu harus mengetahui
secara rinci protokol USB. Bahkan kadang tidak perlu pengetahuan tentang USB
protokol sama sekali. Pengetahuan tentang USB protokol hanya diperlukan untuk
mengetahui spesifikasi yang dibutuhkan untuk alat kita. Pada kenyataannya untuk
mengimplemetasikan USB protokol di FPGA ataupun perangkat bantu lain sangat tidak
efisien dan banyak waktu terbuang untuk merancangnya. Menggunakan kontroler USB
sangat lebih dianjurkan dalam membuat alat yang dapat berkomunikasi melalui
protokol ini. Kontroler USB mempunyai banyak macam bentuk, dari microcontroller
berbasis 8051 yang mempunyai input output USB secara langsung sampai pengubah
protocol dari serial seperti I2C bus ke USB.
USB controller biasanya
dijual dengan disertai berbagai fasilitas yang mempermudah pengembangan alat,
diantaranya manual yang lengkap, driver untuk windows XP, contoh code aplikasi
untuk mengakses USB, contoh code untuk USB controller, dan skema rangkaian
elektronikanya.
Dalam sisi pengembangan
software aplikasi dalam personal computer, komunikasi antar hardware di dalam
perangkat keras USB tidak terlalu diperhatikan karena Windows ataupun sistem
operasi lain yang akan mengurusnya. Pengembang perangkat lunak hanya memberikan
data yang akan dikirim ke alat USB di buffer penyimpan dan membaca data dari
alat USB dari buffer pembaca. Untuk driver pun kadang-kadang Windows sudah
menyediakannya, kecuali untuk peralatan yang mempunyai spesifikasi khusus kita
harus membuatnya sendiri.
Sumber : http://id.wikipedia.org/wiki/USB
Tidak ada komentar:
Posting Komentar