System bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem
komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya.
Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam
komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara
dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat
diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
Sebuah komputer memiliki beberapa bus, agar
dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari
arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus
AGP, bus PCI, bus
USB, bus ISA (yang digunakan oleh
keyboard dan mouse), dan bus-bus
lainnya.
Bus disusun secara hierarkis, karena setiap bus
yang memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki
kecepatan tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah
satu bus yang ada. Sebagai contoh, kartu grafis AGP akan dihubungkan ke bus AGP. Beberapa
perangkat lainnya (utamanya chipset atau kontrolir) akan bertindak sebagai
jembatan antara bus-bus yang berbeda. Sebagai contoh, sebuah kontrolir bus SCSI dapat mengubah sebuah bus menjadi bus SCSI,
baik itu bus PCI atau bus
PCI Express.
Berdasar jenis busnya, bus dapat dibedakan
menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja,
atau alamat saja, jenis ini disebut dedicated bus. Namun apabila bus yang dilalui informasi yang
berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data
maka bus ini disebut multiplexed bus. Kekurangan multiplexed bus adalah hanya
memerlukan saluran sedikit sehingga menghemat tempat tapi kecepatan transfer
data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang
telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari
multipexed bus.
Beberapa bus
utama dalam sistem komputer modern adalah sebagai berikut:
- Bus prosesor. Bus ini merupakan bus
tercepat dalam sistem dan menjadi bus inti dalam chipset dan motherboard. Bus ini utamanya digunakan
oleh prosesor untuk meneruskan informasi dari prosesor ke cache atau memori utama ke chipset kontrolir memori
(Northbridge, MCH, atau SPP). Bus ini juga terbagi atas beberapa macam,
yakni Front-Side Bus, HyperTransport
bus, dan
beberapa bus lainnya. Sistem komputer selain Intel x86 mungkin memiliki bus-nya
sendiri-sendiri. Bus ini berjalan pada kecepatan 100 MHz, 133 MHz, 200
MHz, 266 MHz, 400 MHz, 533 MHz, 800 MHz, 1000 MHz atau 1066 MHz. Umumnya,
bus ini memiliki lebar lajur 64-bit, sehingga setiap detaknya ia mampu
mentransfer 8 byte.
- Bus AGP (Accelerated Graphic Port).
Bus ini merupakan bus yang didesain secara spesifik untuk kartu grafis.
Bus ini berjalan pada kecepatan 66 MHz (mode AGP 1x), 133 MHz (mode AGP
2x), atau 533 MHz (mode AGP 8x) pada lebar jalur 32-bit, sehingga
bandwidth maksimum yang dapat diraih adalah 2133 MByte/s. Umumnya, bus ini
terkoneksi ke chipset pengatur memori (Northbridge, Intel Memory Controller
Hub, atau
NVIDIA nForce SPP). Sebuah sistem hanya dapat menampung satu buah bus AGP.
Mulai tahun 2005, saat PCI Express mulai marak digunakan, bus AGP
ditinggalkan.
- Bus PCI (Peripherals Component
Interconnect). Bus PCI tidak tergantung prosesor dan berfungsi sebagai bus
peripheral. Bus ini memiliki kinerja tinggi untuk sistem I/O berkecepatan tinggi. Bus ini
berjalan pada kecepatan 33 MHz dengan lebar lajur 32-bit. Bus ini
ditemukan pada hampir semua komputer PC yang beredar, dari mulai prosesor Intel 486 karena memang banyak kartu
yang menggunakan bus ini, bahkan hingga saat ini. Bus ini dikontrol oleh
chipset pengatur memori (northbridge, Intel MCH) atau Southbridge (Intel ICH, atau NVIDIA nForce MCP).
- Bus PCI Express (Peripherals Component
Interconnect Express)
- Bus PCI-X (Peripherals Component
Interconnect Express)
- Bus ISA (Industry Standard Architecture)
- Bus EISA (Extended Industry Standard
Architecute)
- Bus MCA (Micro Channel Architecture)
- Bus SCSI (Small Computer System
Interface]]. Bus ini diperkenalkan oleh Macintosh pada tahun 1984. SCSI
merupakan antarmuka standar untuk drive CD-ROM, peralatan audio, harddisk,
dan perangkat penyimpanan eksternal berukuran besar
- Bus USB (Universal Serial Bus). Bus
ini dikembangkan oleh tujuh vendor komputer, yaitu Compaq, DEC, IBM,
Intel, Microsoft, NEC, dan Northern Telecom. Bus ini ditujukan bagi
perangkat yang memiliki kecepatan rendah seperti keyboard, mouse, dan
printer karena tidak akan efisien jika perangkat yang berkecepatan rendah
dipasang pada bus berkecepatan tinggi seperti PCI. Keuntungan yang didapat
dari bus USB antara lain : tidak harus memasang jumper, tidak harus
membuka casing untuk memasang peralatan I/O, hanya satu jenis kabel yang
digunakan, dapat mensuplai daya pada peralatan I/O, tidak diperlukan
reboot.
- Bus 1394. Bus yang mempunyai nama FireWire memiliki kecepatan tinggi
diatas SCSI dan PCI. Bus 1394 sangat cepat, murah, dan mudah untuk
diimplementasikan. Bus ini tidak hanya populer perangkat komputer tetapi
juga perangkat elektronik seperti kamera digital, VCR, dan televisi.
A.
Bus PCI
·
PCI (kependekan dari bahasa Inggris: Peripheral Component Interconnect)
adalah bus yang didesain untuk menangani beberapa
perangkat keras. PCI juga adalah suatu bandwidth tinggi yang populer, prosesor
independent bus itu dapat berfungsi sebagai bus mezzenine atau bus periferal[1]. 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. {Wafa Jauhari}
·
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.
B.
Bus ISA
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 prosesor Intel
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, kontrolir keyboard 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.
C. AGP
Bus AGP, singkatan dari Accelerated Graphics
Port adalah sebuah bus yang dikhususkan sebagai bus pendukung kartu
grafis berkinerja tinggi, menggantikan bus
ISA, bus VESA atau bus
PCI yang
sebelumnya digunakan.
Spesifikasi AGP pertama kali (1.0) dibuat oleh
Intel dalam seri chipset Intel
440 pada Juli
tahun 1996. Sebenarnya AGP dibuat berdasarkan bus PCI, tapi memiliki beberapa
kemampuan yang lebih baik. Selain itu, secara fisik, logis dan secara
elektronik, AGP bersifat independen dari PCI. Tidak seperti bus PCI yang dalam
sebuah sistem bisa terdapat beberapa slot, dalam sebuah sistem, hanya boleh
terdapat satu buah slot AGP saja.
Spesifikasi AGP 1.0 bekerja dengan kecepatan 66
MHz (AGP 1x) atau 133 MHz (AGP 2x), 32-bit, dan menggunakan pensinyalan 3.3
Volt. AGP versi 2.0 dirilis pada Mei 1998 menambahkan kecepatan hingga 266 MHz
(AGP 4x), serta tegangan yang lebih rendah, 1.5 Volt. Versi terakhir dari AGP
adalah AGP 3.0 yang umumnya disebut sebagai AGP 8x yang dirilis pada November
2000. Spesifikasi ini mendefinisikan kecepatan hingga 533 MHz sehingga mengizinkan
throughput teoritis hingga 2133 Megabyte/detik (dua kali lebih tinggi
dibandingkan dengan AGP 4x). Meskipun demikian, pada kenyataannya kinerja yang
ditunjukkan oleh AGP 8x tidak benar-benar dua kali lebih tinggi dibandingkan
AGP 4x, karena beberapa alasan teknis.
Spesifikasi AGP
|
Diperkenalkan
|
Kecepatan
|
Tegangan
|
Maksimum troughput
|
1x
|
3.3 Volt
|
266
MByte/detik
|
||
2x
|
3.3 Volt
|
533
MByte/detik
|
||
4x
|
1.5 Volt
|
1066
MByte/detik
|
||
8x
|
1.5 Volt
|
2133
MByte/detik
|
Selain empat spesifikasi AGP di atas, ada lagi
spesifikasi AGP yang dinamakan dengan AGP Pro. Versi 1.0 dari AGP Pro
diperkenalkan pada bulan Agustus 1998 lalu direvisi dengan versi 1.1a pada
bulan April 1999. AGP Pro memiliki slot yang lebih panjang dibandingkan dengan
slot AGP biasa, dengan tambahan pada daya yang dapat didukungnya, yakni hingga
110 Watt, lebih besar 25 Watt dari AGP biasa yang hanya
85 Watt. Jika dilihat dari daya yang dapat disuplainya,
terlihat dengan jelas bahwa AGP Pro dapat digunakan untuk mendukung kartu
grafis berkinerja tinggi yang ditujukan untuk workstation graphics, semacam ATi FireGL atau NVIDIA Quadro. Meskipun demikian, AGP Pro tidaklah
kompatibel dengan AGP biasa: kartu grafis AGP 4x biasa memang dapat dimasukkan
ke dalam slot AGP Pro, tapi tidak sebaliknya. Selain itu, karena slot AGP Pro
lebih panjang, kartu grafis AGP 1x atau AGP 2x dapat tidak benar-benar masuk ke
dalam slot sehingga dapat merusaknya. Untuk menghindari kerusakan akibat hal
ini, banyak vendor motherboard menambahkan retensi pada bagian akhir slot
tersebut: Jika hendak menggunakan kartu grafis AGP Pro lepas retensi tersebut.
Selain faktor kinerja video yang lebih baik,
alasan mengapa Intel mendesain AGP adalah untuk mengizinkan kartu grafis dapat
mengakses memori fisik secara langsung, yang dapat meningkatkan
kinerja secara signifikan, dengan biaya integrasi yang relatif lebih rendah.
AGP mengizinkan penggunaan kartu grafis yang langsung mengakses RAM sistem,
sehingga kartu grafis on-board dapat langsung menggunakan memori fisik, tanpa
harus menambah chip memori lagi, meski harus dibarengi dengan berkurangnya
memori untuk sistem operasi.
Mulai tahun 2006, AGP telah mulai digeser oleh
kartu grafis berbasis PCI Express x16, yang dapat mentransfer data hingga 4000
Mbyte/detik, yang hampir dua kali lebih cepat dibandingkan dengan AGP 8x,
dengan kebutuhan daya yang lebih sedikit (voltase hanya 800 mV saja.)
D. Bus EISA
Bus EISA (Extended/Enhanced Industry
Standard Architecture) adalah sebuah bus I/O yang diperkenalkan pada September 1988 sebagai respons dari peluncuran bus MCA oleh 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:
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.
E. Bus MCA
Bus MCA (Micro Channel Architecture)
adalah sebuah bus I/O ber-bandwidth 32-bit yang digunakan dalam beberapa komputer mikro. Bus ini dibuat oleh IBM yang ditujukan untuk
menggantikan bus ISA 8-bit/16-bit yang lambat, selain tentunya
untuk menghadapi masalah bottleneck yang terjadi akibat kecepatan prosesor yang
semakin tinggi tapi tidak diimbangi dengan kecepatan bus I/O. Komputer yang
menggunakan bus ini pun hanya sedikit, mengingat memang IBM mewajibkan para
vendor untuk membayar royalti kepada iBM untuk mendapatkan lisensi bus MCA.
Karena hal ini banyak vendor yang kurang setuju dengan IBM membuat "partai
oposisi", dengan membuat bus
EISA.
Kebutuhan terhadap sebuah bus I/O yang lebih
cepat datang akibat bus ISA mengalami bottleneck. Prosesor Intel 80386DX
merupakan prosesor 32-bit yang dapat mentransfer data hingga 32 bit dalam satu
waktunya, tapi ISA hanya dapat mentransfer 16 bit saja. Daripada menambahkan
pin lagi terhadap bus ISA, IBM memutuskan untuk membuat sebuah bus baru, yang
kemudian menjadi bus MCA. Berbeda dengan EISA yang mendukung konsep backward
compatibility, bus ini adalah benar-benar baru, yang sama sekali tidak
kompatibel dengan ISA 8-bit/16-bit.
Sistem MCA juga menawarkan perubahan lainnya:
pengguna dapat menancapkan kartu MCA ke dalam slotnya tanpa harus mengubah-ubah
setting jumper untuk menentukan sumber daya yang hendak digunakan (IRQ Channel,
DMA Channel, atau memory base address). Fitur ini mirip dengan apa yang kita
kenal sekarang sebagai fitur plug-and-play, meski masih terkesan primitif.
Karenanya, kartu MCA tidak memiliki jumper atau DIP Switch untuk mengatur
sumber daya, tapi menawarkan perangkat lunak yang dapat mengaturnya. Umumnya,
MCA memiliki dua jenis disket untuk konfigurasi perangkat keras: Option Disk
dan Reference Disk. Reference Disk merupakan disket yang datang sistem komputer
yang mengintegrasikan bus MCA, sementara Option Disk datang dengan kartu MCA
yang bersangkutan. Setelah kartu dipasang, pengguna tinggal menginstalasikan
berkas-berkas dari Option disk ke dalam Reference Disk, setelah itu kartu pun
akan berjalan. Reference Disk mengandung beberapa program dan BIOS yang
dibutuhkan untuk mengatur sistem MCA, dan sistem tidak dapat dikonfigurasikan
tanpanya.
MCA berjalan dalam kecelatan 5 MHz, pada
bandwidth 32-bit, sehingga dapat mentransfer data hingga 20 MByte/detik. Selain
versi 32-bit biasa, IBM juga membuat beberapa variasi bus MCA, yakni sebagai
berikut.
Nama Bus
|
Kecepatan
|
Bandwidth
|
Transfer rate
|
MCA-16
|
5 MHz
|
16 bit
|
10
MByte/detik
|
MCA-32
|
5 MHz
|
32 bit
|
20
MByte/detik
|
MCA-16
Streaming
|
10 MHz
|
16 bit
|
20
MByte/detik
|
MCA-32
Streaming
|
10 MHz
|
32 bit
|
40
MByte/detik
|
MCA-64
Streaming
|
10 MHz/20 MHz
|
64 bit
|
80
MByte/detik / 160 MByte/detik
|
F.
Universal
Serial Bus
Universal
Serial Bus (USB) 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:
- 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.
1.
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):
Kaki
|
Fungsi
|
|
1
|
VBUS
(4.75–5.25 V)
|
|
2
|
D−
|
|
3
|
D+
|
|
4
|
||
Shell
|
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. 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.
2.
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 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 comments:
Posting Komentar
Terimakasih dan jangan sungkan untuk berdiskusi atau memberikan saran di kolom komentar.