Thursday, May 22, 2014

Arsitektur USB 2.0

Arsitektur USB 2.0
Desain Arsitektur USB 2.0 mempunyai topologi yang asimetris, yang terdiri dari sebuah host, memiliki banyak port USB downstream, dan beberapa perangkat periperal yang terhubung dalam deretan topologi star. USB hub tambahan dapat dimasukkan dalam dereten topologi tersebut, yang memungkinkan membentuk percabangan dalam sebuah struktur tree hingga mencapai lima tingkat deretan. Sebuah host USB dapat mengimplementasikan beberapa host controller, dan masing-masing host controller dapat memberikan servis kepada satu atau lebih port USB. Host controller tersebut mampu memberikan servis hingga mencapai lebih dari 127 perangkat, termasuk perangkat hub jika ada.
Perangkat USB terhubung dalam seri melalui hub. Sebuah hub dikenal sebagai root hub yang dibentuk ke dalam host controller. Sebuah perangkat physical USB dapat terdiri dari beberapa logical sub-device yang disebut sebagai device functions. Sebuah perangkat tunggal dapat menyediakan beberapa fungsi, misalnya, webcam (fungsi perangkat video) dengan built-in microphone (fungsi perangkat audio). Jenis perangkat semacam ini disebut sebagai perangkat komposit. Sebuah alternatif untuk hal ini adalah dengan menggabungkan perangkat di mana setiap logical device diberikan sebuah alamat yang berbeda oleh host kemudian dihubungkan ke built-in hub yang terhubung pada kawat USB secara fisik.
Perangkat komunikasi USB didasarkan pada pipe (logical channels). Pipe adalah sambungan dari host controller pada sebuah logical entity, yang ditemukan pada perangkat, dan disebut sebagai endpoint. Karena pipe berhubungan secara satu ke satu pada endpoint, sehingga ketentuannya pipe kadang-kadang digunakan secara bergantian. Sebuah perangkat USB dapat memiliki hingga 32 endpoint, meskipun perangkat USB jarang memiliki banyak endpoint. Endpoint dibuat ke dalam perangkat USB oleh produsen sehingga bersifat permanen, sementara pipe dapat dibuka dan ditutup sesui proses yang dibutuhkan.
Ada dua jenis pipe yang ada, yaitu stream pipe dan message pipe. Sebuah message pipe bersifat bidirectional dan digunakan untuk kontrol transfer. Message pipe biasanya digunakan untuk proses singkat, perintah sederhana pada perangkat, dan status respon, misalnya digunakan oleh bus untuk mengontrol pipe nomor 0. Sedangkan stream pipe adalah pipe yang bersifat unidirectional dan terhubung ke unidirectional endpoint yang mentransfer data menggunakan tiga bentuk pengiriman yaitu isochronous, interrupt, atau bulk transfer:
o    isochronous transfer: menjamin data rate tetapi dengan kemungkinan kehilangan data (misalnya, audio atau video realtime).
o    interrupt transfer: perangkat yang membutuhkan jaminan respon cepat (dibatasi latency) (misalnya, perangkat menunjuk dan keyboard).
o    bulk transfer: transfer secara besar-besaran menggunakan semua bandwidth yang tersedia, tetapi dengan tidak ada jaminan pada bandwidth atau latency (misalnya, transfer file).
Sebuah endpoint dari pipe dialamatkan pada sebuah tuple (device_address, endpoint_number) sebagaimana ditetapkan dalam paket TOKEN bahwa host melakukan proses pengiriman ketika ingin memulai sesi transfer data. Jika arah transfer data dari host ke endpoint, paket OUT (spesialisasi dari paket TOKEN) memiliki alamat perangkat yang diinginkan dan nomor endpoint dikirim oleh host. Jika arah transfer data dari perangkat ke host, host mengirimkan paket IN. Apabila endpoint tujuan adalah endpoint unidirectional yang tidak sesuai dengan paket TOKEN karena design yang berbeda dari produsen (misalnya, arah ditunjuk IN sementara paket TOKEN adalah paket OUT), maka paket TOKEN akan diabaikan. Jika transfer diterima, maka data transaksi dapat dimulai. Sebuah endpoint bi-directional, dapat menerima baik IN dan OUT paket.
Endpoint dikelompokkan ke dalam interface dan masing-masing interface terkait dengan single device function. Kecuali endpoint nol, yang digunakan untuk konfigurasi perangkat dan yang tidak terkait dengan interface apapun. Sebuah fungsi perangkat tunggal yang terdiri dari interface yang dikendalikan secara independent disebut composite device. Sebuah composite device hanya memiliki alamat perangkat tunggal karena host hanya memberikan alamat perangkat ke fungsi.
Ketika sebuah perangkat pertama kali USB terhubung ke host USB, proses pencacahan perangkat USB dimulai. Pencacahan dimulai dengan mengirimkan sinyal reset ke perangkat USB. Data rate perangkat USB ditentukan selama sinyal reset. Setelah reset, informasi perangkat USB dibaca oleh host dan perangkat diberi sebuah alamat unik yang terdiri dari 7 bit. Jika perangkat ini didukung oleh host, driver perangkat yang diperlukan untuk berkomunikasi dengan perangkat tersebut dimuat dan perangkat diatur konfigurasinya.
Host controller mengarahkan arus lalu lintas ke perangkat, sehingga tidak ada perangkat USB dapat mentransfer data pada bus tanpa permintaan eksplisit dari host controller. Pada USB 2.0, host controller memilih bus untuk lalu lintas, biasanya dengan cara round-robin.
High-speed  USB 2.0 hub berisi perangkat yang disebut transaction translators yang mengkonversi antara high-speed  USB 2.0  bus dengan full dan low speed buses. Ketika High-speed  USB 2.0 hub terhubung ke High-speed  USB 2.0 host atau hub, maka akan beroperasi dalam mode high speed. Hub USB kemudian akan menggunakan baik satu transaction translator per port untuk membuat sebuah full/ low speed bus yang diarahkan ke semua perangkat kecepatan full dan low speed device pada hub, atau akan menggunakan satu transaction translator per port untuk membuat isolated full / low speed bus per port pada hub.

Sumber : Berbagai Sumber

No comments:
Write komentar

Total Pageviews