Proses Inisialisasi USB

Proses Inisialisasi USB - Sebelum membahas bagaimana proses inisialisasi USB, alangkah baiknya jika kita mengetahui apa itu USB?,Bagi yang sudah tahu dibaca lagi untuk mengingat.
 
Universal Serial Bus (USB) adalah satu set spesifikasi Interface untuk kecepatan tinggi kabel komunikasi antara peripheral elektronik sistem dan perangkat dengan atau tanpa PC / komputer. USB pada awalnya dikembangkan pada tahun 1995 oleh banyak perusahaan industri terkemuka seperti Intel, Compaq, Microsoft, Digital, IBM, dan Northern Telecom. Tujuan utama dari USB adalah untuk mendefinisikan sebuah bus ekspansi eksternal untuk menambahkan periferal ke PC dengan cara mudah dan sederhana. USB menawarkan pengguna konektivitas sederhana. Ini menghilangkan gabungan konektor yang berbeda untuk berbagai perangkat seperti printer, keyboard, mouse, dan peripheral lainnya. Itu berarti USB-bus memungkinkan banyak peripheral untuk dihubungkan dengan menggunakan soket interface tunggal standar. Keuntungan lain utama adalah bahwa, dalam lingkungan USB, DIP-switch tidak diperlukan untuk menetapkan alamat perifer dan IRQs. Mendukung semua jenis data, dari input mouse lambat untuk audio dan video digital terkompresi. 

Gambar Topologi Koneksi USB


Host Controller, Host controller menghubungkan pohon device USB ke host (komputer, konsol, dan sebagainya). Pengendali beberapa host dapat muncul. Setiap host pengontrol membawa satu pohon device.
Hub, Hub adalah perangkat dengan beberapa port, dimana telah terpasang hub dan fungsi. Root hub terintegrasi dengan host controller. Semua hub lain hub eksternal.
 
Lalu Bagaimanakah Proses inisialisasi USB terjadi ?

 
Gambar Hierarki proses inisialisasi USB

  1. Saat USB dipasang ke port USB, hub akan mendeteksi keberadaan sambungan yang ada, kemudian Device (USB) akan menjalani tahap enumerasi yang sekaligus juga diinisialisasi.
  2. Bersamaan dengan itu pada host controller juga mengirimkan setup packet ke dalam proses enumerasi.
  3. Dalam proses enumerasi dilakukan inisialisasi ke device, apabila proses ini berhasil maka data dari device akan terbaca, data tersebut dikenal dengan sebutan USB descriptor, USB descriptor ini terbagi menjadi beberapa bagian, diantaranya :
  • Device Descriptors, Device Descriptor pada USB mempresentasikan seluruh perangkat. Perangkat USB hanya dapat mempunyai 1 device descriptor, seperti informasi penting tentang perangkat, sebagai contoh versi USB yg didukung, Ukuran maksimal paket, Vendor dan Produk ID, dan jumlah yg mungkin dapat dikonfigurasikan oleh perangkat.
  •  Configuration Descriptors, Konfigurasi descriptor berisi informasi bagaimana perangkat mendapat suplay tegangan, jumlah maksimal daya yg dibutuhkan dan jumlah interface yang dimiliki. Olehkarena itu sangatlah memungkinkan mempunyai 2 konfigurasi. Pertama, semua konfigurasi telah diuji oleh host, host akan mengirim perintah SetConfiguration dengan nilai bukan 0 dimana sesuai dengan bConfigurationValue.
  •  Interface Descriptor, Interface descriptor bisa dilihat sama seperti header atau pengelompokan pada endpoint.
  •   Endpoint Descriptors, Endpoint Descriptor digunakan untuk mendeskripsikan endpoint selain endpoint zero. Endpoint zero selalu diasumsikan untuk mengontrol endpoint dan dikonfigurasikan sebelum endpoint lain. Host akan menggunakan informasi ini untuk mengembalikan dari descriptor ini untuk memperkirakan persyaratan bandwidth yang digunakan.
   4.  Setelah semua data (descriptor) terbaca, maka akan dibawa ke setup Packet yang akan dikirim ke host controller, dari data tersebut host akan menentukan jumlah bandwith dan tipe transfer data mana yang cocok untuk digunaan device tersebut, apakah control, interrupt, bulk, atau Isochronous, missal ketika dipasang USB dengan device mouse maka, tipe data transfer yang sesuai adalah interrupt, hal ini dikarenakan host membaca data dari endpoint descriptor

  5. Setelah host melakukan tugasnya, OS akan mencoba menemukan device yang sesuai dengan driver untuk dihubungkan dengan device baru.

Demikianlah penjelasan dari saya semoga bermanfaat...

SHARE THIS

Author:

Previous Post
Next Post