Senin, 09 Juli 2012

ANTARMUKA BUS



Bus merupakan jalur penghubung antar alat pada
 komputer  yang digunakan sebagai media dalam proses melewatkan data pada suatu proses. Bus ini bisa dianggap sebagai sebuah pipa, dimana pipa atau saluran tersebut digunakan untuk mengirimkan dan menerima informasi antar alat yang dihubungkannya. Pada sistem komputer, bus ini termasuk perangkat internal, kecepatan pengiriman informasi melalui bus ini dilakukan dengan kecepatan tinggi.
Alat transformasi data dari terminal satu ke terminal lain di dalam CPU. Jalur utama aliran data antara processor ke komponen lainnya (seperti sound card,video card, memory) pada mainboard.
Karakteristik bus adalah:
1. Jumlah interupsi mementukan banyak perangkat independen yang melakukanI/O.
2. Ukuran bus data eksternal berakibat pada kecepatan operasional I/O.
3. Ukuran bus alamat menentukan banyak memori yang ditunjuk board ekspansi.
4. Kecepatan clock maksimum yang dapat diakomodasi bus berakibat padakinerja.
Interkoneksi antar komponen. Bus ini terdiri dari:
1. Bus alamat (address bus),
2. Bus data (data bus),
3. Bus kendali (control bus).
Satu bentuk tataletak jaringan yang menggunakan satu buah kabel dimana seluruhnode jaringan disambungkan. Dikenal juga dengan topologi bus.

1. BUS ISA (International Standard Architecture)
Bus ISA (Industry Standard Architecture) adalah sebuah arsitektur bus dengan bus data selebar 8-bit yang diperkenalkan dalam IBM PC 5150 pada tanggal 12 Agustus 1981. Bus ISA diperbarui dengan menambahkan bus data selebar menjadi 16-bit pada IBM PC/AT pada tahun 1984, sehingga jenis bus ISA yang beredar pun terbagi menjadi dua bagian, yakni ISA 16-bit dan ISA 8-bit. ISA merupakan bus dasar dan paling umum digunakan dalam komputer IBM PC hingga tahun 1995, sebelum akhirnya digantikan oleh bus PCI yang diluncurkan pada tahun 1992.
ISA 8-bit
Bus ISA 8-bit merupakan varian dari bus ISA, dengan bus data selebar 8-bit, yang digunakan dalam IBM PC 5150 (model PC awal). Bus ini telah ditinggalkan pada sistem-sistem modern ke atas tapi sistem-sistem Intel 286/386 masih memilikinya. Kecepatan bus ini adalah 4.77 MHz (sama seperti halnya prosesorIntel 8088 dalam IBM PC), sebelum ditingkatkan menjadi 8.33 MHz pada IBM PC/AT. Karena memiliki bandwidth 8-bit, maka transfer rate maksimum yang dimilikinya hanyalah 4.77 Mbyte/detik atau 8.33 Mbyte/detik. Meskipun memiliki transfer rate yang lamban, bus ini termasuk mencukupi kebutuhan saat itu, karena bus-bus I/O semacam serial port, parallel port, kontrolir floppy disk, kontrolirkeyboard dan lainnya sangat lambat. Slot ini memiliki 62 konektor.
Meski desainnya sederhana, IBM tidak langsung mempublikasikan spesifikasinya saat diluncurkan tahun 1981, tapi harus menunggu hingga tahun 1987, sehingga para manufaktur perangkat pendukung agak kerepotan membuat perangkat berbasis ISA 8-bit.
ISA 16-bit
Bus ISA 16-bit adalah sebuah bus ISA yang memiliki bandwidth 16-bit, sehingga mengizinkan transfer rate dua kali lebih cepat dibandingkan dengan ISA 8-bit pada kecepatan yang sama. Bus ini diperkenalkan pada tahun 1984, ketika IBM merilis IBM PC/AT dengan mikroprosesor Intel 80286 di dalamnya. Mengapa IBM meningkatkan ISA menjadi 16 bit adalah karena Intel 80286 memiliki bus data yang memiliki lebar 16-bit, sehingga komunikasi antara prosesor, memori, dan motherboard harus dilakukan dalam ordinal 16-bit. Meski prosesor ini dapat diinstalasikan di atas motherboard yang memiliki bus I/O dengan bandwidth 8-bit, hal ini dapat menyababkan terjadinya bottleneck pada bus sistem yang bersangkutan.
Daripada membuat bus I/O yang baru, IBM ternyata hanya merombak sedikit saja dari desain ISA 8-bit yang lama, yakni dengan menambahkan konektor ekstensi 16-bit (yang menambahkan 36 konektor, sehingga menjadi 98 konektor), yang pertama kali diluncurkan pada Agustus tahun 1984, tahun yang sama saat IBM PC/AT diluncurkan. Ini juga menjadi sebab mengapa ISA 16-bit disebut sebagai AT-bus. Hal ini memang membuat interferensi dengan beberapa kartu ISA 8-bit, sehingga IBM pun meninggalkan desain ini, ke sebuah desain di mana dua slot tersebut digabung menjadi satu slot.

2. Extended ISA (EISA) dan Bus Lokal VESA 
EISA merupakan modifikasi 32 bit dari bus ISA. sementara komputer bertambah besar dan memiliki bus data yang lebih lebar (80386-pentium II), diperlikan bus baru yang akan mentransfer data 32 bit.
Masalah utama dalam bus EISA adalah walaupun bus data sudah dilebarkan 32-bit, namun kecepatan clock tetap 8 Mhz, yang merupakan sebab mengapa standard antar muka ini memiliki semua namun menghilang.Bus EISA (Extended/Enhanced Industry Standard Architecture) adalah sebuah bus I/O yang diperkenalkan pada September 1988 sebagai respons dari peluncuran bus MCAoleh IBM, mengingat IBM hendak “memonopoli” bus MCA dengan mengharuskan pihak lain membayar royalti untuk mendapatkan lisensi MCA. Standar ini dikembangkan oleh beberapa vendor IBM PC Compatible, selain IBM, meskipun yang banyak menyumbang adalah Compaq Computer Corporation. Compaq jugalah yang membentuk EISA Committee, sebuah organisasi nonprofit yang didesain secara spesifik untuk mengatur pengembangan bus EISA. Selain Compaq, ada beberapa perusahaan lain yang mengembangkan EISA yang jika diurutkan, maka kumpulan perusahaan dapat disebut sebagai WATCHZONE:
·         Wyse
·         AT & T
·         Tandy Corporation
·         Compaq Computer Corporation
·         Hewlett-Packard
·         Zenith
·         Olivetti
·         NEC
·         Epson
Meski menawarkan pengembangan yang signifikan jika dibandingkan dengan ISA 16-bit, hanya beberapa kartu berbasis EISA yang beredar di pasaran (atau yang dikembangkan). Itu pun hanya berupa kartu pengontrol larik hard disk (SCSI/RAID), dan kartu jaringan server.
Bus EISA pada dasarnya adalah versi 32-bit dari bus ISA yang biasa. Tidak seperti MCA dari IBM yang benar-benar baru (arsitektur serta desain slotnya), pengguna masih dapat menggunakan kartu ISA 8-bit atau 16-bit yang lama ke dalam slot EISA, sehingga hal ini memiliki nilai tambah: kompatibilitas ke belakang (backward compatibility). Seperti halnya bus MCA, EISA juga mengizinkan konfigurasi kartu EISA secara otomatis dengan menggunakan perangkat lunak, sehingga bisa dibilang EISA dan MCA adalah pelopor “plug-and-play”, meski masih primitif.
Bus EISA menambahkan 90 konektor baru (55 konektor digunakan untuk sinyal sedangkan 35 sisanya digunakan sebagai ground) tanpa membuat slot ISA 16-bit berubah. Sekilas, slot EISA 32-bit sangat mirip dengan slot ISA 16-bit. Tapi, berbeda dari kartu ISA yang hanya memiliki satu baris kontak, kartu EISA memiliki dua baris kontak yang bertumpuk. Baris pertama adalah baris yang digunakan oleh ISA 16-bit, sementara baris kedua menambahkan bandwidth menjadi 32-bit. Karenanya, kartu ISA yang lama masih dapat bertahan meskipun berganti motherboard. Meski kompatibilitas ini merupakan sesuatu yang bagus, ternyata industri kurang begitu meresponsnya. Akhirnya, fitur-fitur EISA pun ditangguhkan untuk mengembangkan bus I/O yang baru, yang disebut dengan VESA Local Bus (VL-Bus).
Bus EISA dapat menangani data hingga 32 bit pada kecepatan 8,33 MHz, sehingga transfer rate maksimum yang dapat dicapainya adalah 33 MByte/detik. Timing(latency) EISA juga berpengaruh pada kecepatan transfer data pada kartu EISA. Ukuran dimensi fisik slotnya (panjang, lebar, tinggi) adalah 333,5 milimeter, 12,7 milimeter, 127 milimeter.

3. Bus Peripheral Component Interconnection (PCI)
PCI (Peripheral Component Interconnect) adalah bus yang didesain untuk menangani beberapa perangkat keras. Standar bus PCI ini dikembangkan oleh konsorsium PCI Special Interest Group yang dibentuk oleh Intel Corporation dan beberapa perusahaan lainnya, pada tahun 1992. Tujuan dibentuknya bus ini adalah untuk menggantikan Bus ISA/EISA yang sebelumnya digunakan dalam komputer IBM PC atau kompatibelnya.
Komputer lama menggunakan slot ISA, yang merupakan bus yang lamban. Sejak kemunculan-nya sekitar tahun 1992, bus PCI masih digunakan sampai sekarang, hingga keluar versi terbarunya yaitu PCI Express (add-on).
Spesifikasi bus PCI pertama kali dirilis pada bulan Juni 1992, sebagai PCI vesi 1.0. Perkembangan selanjutnya dapat dilihat pada tabel berikut.
Spesifikasi bus PCI
Dirilis pada
Perubahan yang dilakukan
PCI 1.0
Juni 1992
Spesifikasi asli PCI, yang memiliki lebar bus 32-bit atau 64-bit
PCI 2.0
April 1993
Spesifikasi ini mendefinisikan jenis konektor dan papan ekspansi
PCI 2.1
Juni 1995
Operasi 66 MHz diberlakukan; Perubahan pada latency; Adanya fungsi transaction ordering
PCI 2.2
Januari 1999
Fitur manajemen daya diberlakukan; Ada beberapa klarifikasi mekanika
PCI-X 1.0
September 1999
Spesifikasi PCI-X 133 MHz, sebagai tambahan bagi versi PCI 2.2
Mini-PCI
November 1999
Spesifikasi PCI 2.2 untuk motherboard dengan form factor yang kecil (Micro-ATX)
PCI 2.3
Maret 2002
Pensinyalan 3.3 Volt; Penggunaan kartu yang bersifat low-profile
PCI-X 2.0
Juli 2002
Modus kerja 266 MHz dan 533 MHz; dukungan terhadap pembagian bus 64-bit menjadi segmen-segmen berukuran 16-bit atau 32-bit; Pensinyalan 3.3 Volt atau 1.5 Volt.
PCI Express 1.0
Juli 2002
PCI dengan cara transmisi serial, dengan kecepatan 2500Mb/s tiap jalur transmisi tiap arah, menggunakan pensinyalan 0.8 Volt, sehingga menghasilkan bandwidth kira-kira 250MB/s tiap jalurnya; Didesain untuk menggantikan PCI 2.x dalam sistem PC.

4. Universal Serial Bus (USB)
Universal Serial Bus (USB) adalah standar bus berseri untuk perangkat penghubung, biasanya kepada komputer namun juga digunakan di peralatan lainnya seperti konsol permainan dan PDA.
Sistem USB mempunyai desain yang asimetris, yang terdiri dari pengontrol hostdan 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 komponennetworking. 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:
·         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.

Protokol USB
 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)
Nomor kaki (dilihat pada soket):
http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/USB_TypeAB_Connector_Pinout.svg/180px-USB_TypeAB_Connector_Pinout.svg.png
Penetapan kaki
Kaki
Fungsi
1
        VBUS (4.75–5.25 V)
2
        D−
3
        D+
4
       GND
Shell
       Shield
Paket data umum USB
Data di bus USB disalurkan dengan cara mendahulukan Least Significant Bit(LSB). Pake-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. Tabel dibawah ini menunjukkan nilai-nilai PID:
Group
        Nilai PID
    Identitas Paket
Token
              0001
         OUT Token
Token
              1001
         IN Token
Token
              0101
         SOF Token
Token
              1101
         SETUP Token
Data
              0011
         DATA0
Data
              1011
         DATA1
Data
              0111
         DATA2
Data
              1111
         MDATA
Handshake
             0010
         ACK Handshake
Handshake
             1010
         NAK Handshake
Handshake
             1110
         STALL Handshake
Handshake
             0110
         NYET (No Response Yet)
Special
             1100
         PREamble
Special
             1100
         ERR
Special
             1000
         Split
Special
             0100
         Ping
Ada 4 bit PID data, supaya yakin diterima dengan benar, 4 bit di komplementasikan dan diulang, menjadikan 8 bit data PID. Hasil dari pengaturan tersebut adalah sebagai berikut.
PID0
PID1
PID2
PID3
nPID0
nPID1
nPID2
nPID3
·         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 didalam 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, 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 didalam 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.

0 komentar:

Posting Komentar

 
;