BAB II LANDASAN TEORI
2.1 Jaringan Komputer
Jaringan komputer adalah sebuah kumpulan komputer, printer, dan peralatan lainnya yang terhubung dalam satu kesatuan. Informasi dan data bergerak melalui kabel ataupun tanpa kabel (wireless, gelombang udara) sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan data, mencetak pada printer yang sama, dan bersama-sama menggunakan perangkat keras maupun perangkat lunak yang terhubung dengan jaringan. Setiap komputer, printer, atau periferal yang terhubung dengan jaringan disebut terminal/node. Sebuah jaringan komputer dapat memiliki dua, puluhan, ribuan, atau bahkan jutaan node.
2.1.1 Sejarah Jaringan Komputer
Konsep jaringan komputer lahir pada tahun 1940-an di Amerika Serikat pada sebuah proyek pengembangan komputer MODEL I di laboratorium Bell dan group riset Harvard University pimpinan profesor H. Aiken. Pada awalnya proyek tersebut hanyalah ingin memanfaatkan penggunaan secara bersama sebuah perangkat komputer untuk mengerjakan beberapa proses. Untuk memanfaatkan idle time maka
7
8
pemprosesan data menggunakan Batch Processing, sehingga beberapa program bisa dijalankan dalam sebuah komputer dengan kaidah antrian. Pada 1950-an tercipta super komputer, dengan demikian maka sebuah super komputer dapat melayani beberapa terminal (node). Untuk itu ditemukan konsep proses distribusi berdasarkan waktu yang dikenal dengan nama TSS (Time Sharing System), maka untuk pertama kali bentuk jaringan (network) komputer diaplikasikan. Pada TSS beberapa terminal terhubung secara seri ke sebuah host komputer. Dalam proses TSS mulai tampak perpaduan teknologi komputer dengan teknologi telekomunikasi.
Gambar 2.1. Jaringan komputer model TSS.
Memasuki tahun 1970-an, setelah beban pekerjaan bertambah banyak dan harga super komputer sangat mahal, maka mulailah digunakan konsep Distributed Processing. Seperti pada Gambar 2.2, dalam proses ini beberapa host komputer mengerjakan sebuah pekerjaan besar secara paralel untuk melayani beberapa terminal yang terhubung secara seri disetiap host komputer. Ketika proses distribusi sudah
9
mutlak penggunaannya maka diperlukan perpaduan yang mendalam antara teknologi komputer dan telekomunikasi, karena selain proses yang harus didistribusikan, semua host komputer wajib melayani terminal-terminalnya dalam satu perintah dari komputer pusat.
Gambar 2.2. Jaringan komputer model Distributed Processing. Selanjutnya ketika harga personal komputer sudah mulai menurun dan konsep proses distribusi sudah matang, maka penggunaan komputer dan jaringannya sudah mulai beragam mulai dari menangani proses bersama maupun komunikasi antar komputer (Peer to Peer System) saja tanpa melalui komputer pusat. Untuk itu mulailah berkembang teknologi jaringan lokal yang dikenal dengan sebutan LAN (Local Area Network). Demikian pula ketika Internet mulai diperkenalkan, maka
10
sebagian besar LAN yang berdiri sendiri mulai berhubungan dan terbentuklah jaringan MAN (Metropolitan Area Network) dan WAN (Wide Area Network).
2.1.2 Jenis-Jenis Jaringan Komputer
Secara umum jaringan komputer dibagi atas lima jenis, yaitu : Local Area Network (LAN) Local Area Network (LAN), merupakan jaringan milik pribadi di dalam sebuah gedung atau kampus yang jarak jangkauannya sampai 10 Km. LAN seringkali digunakan untuk menghubungkan komputer-komputer workstation dengan server dalam kantor suatu perusahaan atau pabrik-pabrik untuk berbagi dalam menggunakan sumber daya (resource, misalnya printer) dan saling bertukar informasi. Metropolitan Area Network (MAN) Metropolitan Area Network (MAN), pada dasarnya merupakan versi LAN yang berukuran lebih besar dengan jarak jangkaunnya antara 10-50 Km. MAN dapat mencakup kantor-kantor perusahaan yang letaknya berdekatan atau juga dalam sebuah kota dan dapat dimanfaatkan untuk keperluan pribadi (swasta) atau umum. MAN mampu menunjang data dan suara, bahkan dapat berhubungan dengan jaringan televisi kabel.
11
Wide Area Network (WAN) Wide Area Network (WAN), jangkauannya mencakup daerah geografis yang jangkauan jaraknya lebih dari 50 Km, seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari kumpulan mesin-mesin yang bertujuan untuk menjalankan program-program (aplikasi) pemakai, dengan gelombang udara sebagai media transmisinya karena sangat tidak mungkin untuk menggunakan media transmisi kabel untuk area yang luas tersebut. Internet Sebenarnya terdapat banyak jaringan di dunia ini, seringkali menggunakan perangkat keras dan perangkat lunak yang berbeda-beda. Orang yang terhubung ke jaringan sering berharap untuk bisa berkomunikasi dengan orang lain yang terhubung ke jaringan lainnya. Keinginan seperti ini memerlukan hubungan antar jaringan yang seringkali tidak kampatibel dan berbeda. Biasanya untuk melakukan hal ini diperlukan sebuah mesin yang disebut gateway guna melakukan hubungan dan melaksanakan terjemahan yang diperlukan, baik perangkat keras maupun perangkat lunaknya. Kumpulan jaringan yang terinterkoneksi inilah yang disebut dengan internet. Jaringan Tanpa Kabel (Wireless) Jaringan tanpa kabel merupakan suatu solusi terhadap komukasi yang tidak bisa dilakukan dengan jaringan yang menggunakan kabel. Misalnya orang yang ingin
12
mendapat informasi atau melakukan komunikasi walaupun sedang berada dalam mobil atau pesawat terbang, maka mutlak jaringan tanpa kabel diperlukan karena koneksi kabel tidaklah mungkin dibuat di dalam mobil atau pesawat. Saat ini jaringan tanpa kabel (wireless) sudah digunakan dengan memanfaatkan jasa satelit serta mampu memberikan kecepatan akses yang lebih cepat dibandingkan dengan jaringan yang menggunakan kabel.
2.2 Local Area Network (LAN)
Local Area Network (LAN) merupakan suatu cara menghubungkan beberapa komputer maupun peralatan seperti printer, sehingga membentuk suatu jaringan pada daerah yang terbatas misalkan dalam suatu ruangan atau gedung. LAN tersusun dari beberapa elemen dasar yang meliputi komponen hardware dan software. Komponen hardware antara lain personal komputer, ethernet card, kabel, dan topologi jaringan. Sedangkan komponen softwarenya antara lain sistem operasi jaringan, network adapter driver, dan protokol jaringan. Ada dua jenis hubungan dalam jaringan LAN yaitu, client-server, dan peer-to-peer. Client-server adalah jaringan yang terdiri satu server dan satu atau lebih client. Server dalam jaringan berfungsi untuk mengirim dan menyimpan data. Komputer server ini tidak memproses dan mengubah data yang akan dikirimkan. Sedangkan client atau workstation berupa komputer yang dioperasikan oleh manusia. Pada workstation inilah data yang diperoleh dari server diproses. Keuntungan dari jaringan
13
dengan hubungan client-server adalah efisiensi dalam pemrosesan data terutama untuk jaringan dimana terdapat puluhan client dan peralatan lain. Sehingga tidak perlu menunggu data dari workstation lain dan dapat memproses data yang berbeda terlepas antara satu dengan lainnya. Peer to peer adalah jaringan komputer dimana setiap komputer memliki potensi yang sama dalam memproses dan mengakses data. Jaringan ini memiliki keunggulan dalam hal kesederhanaan rancangan dan pemeliharaan. Jaringan antara dua komputer termasuk kedalam jenis jaringan ini.
2.2.1 Topologi Jaringan LAN
Ada beberapa topologi dalam membangun jaringan LAN antara lain yaitu: Topologi Bus, dalam topologi bus ini menggunakan sebuah kabel tunggal atau pusat dimana seluruh workstation dan server maupun peralatan terhubung.
Gambar 2.3. Topologi Bus dalam LAN
14
Keunggulannya adalah pengembangan jaringannya mudah. Jika ingin menambah
komputer baru
dapat
dilakukan
dengan
mudah
tanpa
mengganggu komputer lainnya. Kerugiannya adalah jika terjadi gangguan terhadap kabel maka akan mengganggu keseluruhan jaringan. Topologi Star, pada topologi ini setiap komputer workstation dihubungkan secara langsung ke server melalui hub (merupakan sebuah perangkat yang menyatukan kabel-kabel jaringan dari setiap komputer, disebut juga dengan nama konsentrator).
Gambar 2.4. Topologi Star dalam LAN Keunggulan dari topologi ini adalah bandwidth atau lebar jalur komunikasi dalam kabel semakin lebar sehingga meningkatkan kinerja dari jaringan. Dan apabila ada gangguan atau kerusakan pada salah satu jalur kabel tidak akan mengganggu keseluruhan jaringan, hanya pada workstation tersebut
15
yang akan terganggu. Kerugiannya adalah membutuhkan kabel yang lebih banyak dibandingkan dengan topologi yang lainnya. Topologi Token Ring, dalam topologi token ring (sering disebut dengan ring saja) ini semua workstation dan server dihubungkan sehingga terbentuk suatu pola lingkaran atau cincin.
Gambar 2.5. Topologi Ring dalam LAN Tiap workstation ataupun server akan menerima dan melewatkan informasi dari satu komputer ke komputer lain, bila alamat yang dituju sesuai maka informasi akan diterima dan bila tidak sesuai maka informasi akan dilewatkan. Keunggulan topologi ring ini adalah tidak akan terjadinya tubrukan dalam pengiriman data. Kelemahannya adalah jika terjadi gangguan pada salah satu workstation maka akan mengganggu keseluruhan jaringan.
16
Dalam perkembangannya dapat terjadi kombinasi penggunaan pada topologi tersebut sehingga dalam suatu LAN dapat menggunakan lebih dari satu topologi menyesuaikan kondisi agar lebih efisien.
2.2.2 Jaringan Dua Komputer
Dalam koneksi jaringan antara dua personal komputer dengan menggunakan Ethernet Card tanpa hub, tidaklah sama dengan jaringan yang menggunakan hub. Perbedaannya adalah susunan kabel UTP pada konektornya. Pada koneksi tanpa hub dikenal dengan istilah crossover dan pada koneksi dengan hub dikenal dengan straight through. Berikut ini adalah tabel perbedaan antara keduanya :
Crossover Cable UTP
Straight Through Cable UTP
Konektor RJ-45
Konektor RJ-45
Konektor RJ-45
Konektor RJ-45
Ke-1
Ke-2
Ke-1
Ke-2
PIN 1 Rc+
PIN 3 Tx+
PIN 1 Rc+
PIN 1 Rc+
PIN 2 Rc-
PIN 6 Tx-
PIN 2 Rc-
PIN 2 Rc-
PIN 3 Tx+
PIN 1 Rc+
PIN 3 Tx+
PIN 3 Tx+
PIN 6 Tx-
PIN 2 Rc-
PIN 6 Tx-
PIN 6 Tx-
Tabel 2.1. Perbedaan urutan kabel UTP pada konektor RJ-45. Keuntungan dari penggunaan metode crossover adalah jaringan LAN yang dibangun memiliki sifat yang sama dengan jaringan LAN yang menggunakan hub,
17
seperti adanya alamat IP, kemampuan berbagi file dan printer, serta kemampuan untuk berbagi koneksi internet. Kerugian dari metode ini yaitu, setiap PC memiliki kedudukan yang sama sehingga keamanan data dalam jaringan ini kurang baik. Alternatif lain dalam koneksi jaringan peer to peer antara dua komputer adalah melalui port USB dengan menggunakan kabel USB Network/Bridge. Kabel tersebut memiliki rangkaian elektronik dengan IC Bridge PL 2501 yang berfungsi untuk menghubungkan USB Host Controller pada masing-masing komputer.
2.3 Sistem USB (UNIVERSAL SERIAL BUS)
USB adalah sebuah standar serial bus yang digunakan untuk menghubungkan peralatan. Pada awalnya sistem USB didesain untuk komputer, karena kemudahan dan sifatnya yang umum, penggunaan USB ini diaplikasikan kepada peralatan lain seperti konsol video game, telepon seluler, dan lain-lain. Suatu sistem USB pada khususnya terdiri dari : Host
Controller,
pada
sistem
USB
terdapat
beberapa
host
yang
bertanggungjawab pada keseluruhan protokol sistem USB. Host controller mengendalikan penggunaan jalur data, tidak ada suatu peralatan USB yang dapat menggunakan jalur data kecuali mendapat persetujuan dari host controller. Hub, seperti halnya hub untuk jaringan komputer, USB hub menyediakan titik interkoneksi yang dapat memungkinkan banyak peralatan USB untuk terhubung
18
dengan sebuah port USB. Topologi logika dari USB hub adalah star, semua peralatan USB secara logika terhubung langsung dengan host controller. Hub terhubung dengan USB host controller secara upstream (data mengalir menuju ke host) dan terhubung dengan peralatan USB secara downstream (data mengalir dari host ke peralatan USB). Fungsi utama dari hub adalah bertanggungjawab mendeteksi pada pemasangan dan pelepasan peralatan USB dengan port USB.. Peralatan USB, semua hal pada sistem USB selain host controller merupakan peralatan USB (termasuk hub). Jika dari penggunaan tenaga listrik, terdapat dua jenis peralatan USB yaitu peralatan dengan tenaga listrik sendiri dan peralatan dengan tenaga listrik dari port USB. Jika dalam kecepatan transfer data, peralatan USB dibagi menjadi tiga yaitu; Low Speed (dengan transfer rate 1,5 MBps), Full Speed (dengan transfer rate 12 MBps), dan High Speed (dengan transfer rate 480 MBps).
2.3.1 Standarisasi USB
USB memiliki standarisasi yang ditentukan oleh USB-Implementers Forum (USB-IF), sebuah badan yang menstandarisasi produk USB. Terdapat beberapa versi dari USB, antara lain versi 0.9, 1.0, 1.1. Pada april 2000, USB versi 2.0 diluncurkan dan distandarisasi oleh USB-IF pada akhir 2001. Kelebihan USB 2.0 yaitu memiliki kecepatan transfer data yang lebih tinggi sekitar 480 Mbps dibandingkan dengan versi sebelumnya USB 1.1 sekitar 12 Mbps.
19
Standarisasi USB juga melakukan pembedaan fungsi dari kabel-kabel USB. Ada 4 kabel yang digunakan untuk USB tipe konektor A dan B, konfigurasinya adalah :
PIN
WARNA KABEL USB
FUNGSI
1
MERAH
V BUS 4,4 - 5,25 VOLT
2
PUTIH
D+
3
HIJAU
D–
4
HITAM
GROUND
Tabel 2.2. Fungsi Kabel USB pada setiap pin konektor. Selain itu terdapat pula konfigurasi kabel USB dengan konektor mini A dan mini B. Konektor mini ini memiliki 5 pin dengan konfigurasi sebagai berikut :
PIN
FUNGSI
1
V BUS 4,4 - 5,25 Volt
2
D+
3
D–
4
ID
5
GROUND
Tabel 2.3. Fungsi Kabel USB pada setiap pin konektor mini A dan B.
20
Pin-pin pada konektor mini memiliki fungsi yang sama dengan pin-pin pada konektor standar, kecuali pada pin ke-4 yang disebut dengan ”ID”. Pin ke-4 ini pada konektor mini-A dihubungkan dengan GROUND. Sedangkan pada mini-B tidak dihubungkan. Spesifikasi USB menyediakan power yang melalui sebuah kabel USB sebesar 5 volt yang terhubung dengan peralatan USB yang mungkin memiliki power tersendiri. Spesifikasi tersebut memberi batas toleransi antara 4,35 volt sampai 5,25 volt. Sedangkan untuk arus yang diperlukan sekitar 100 mA sampai 500 mA.
2.3.2 Tipe-Tipe Konektor USB
Ada beberapa tipe dari konektor USB, dan beberapa telah ditambahkan ke dalam spesifikasi konektor USB. Pada awalnya, spesifikasi konektor kabel USB ada empat yaitu : konektor tipe A plug, konektor tipe A receptable, konektor tipe B plug, dan konektor B receptable. Kemudian konektor mini A dan mini B merupakan spesifikasi yang ditambahkan pada USB 2.0. Bentuk fisik dari konektor USB sebagai berikut : Tipe A Plug dan Receptable Pada konektor tipe A Plug ini berbentuk persegi panjang (flat), dengan urutan nomor pin-pin seperti gambar berikut ini :
4
3
2
1
Gambar 2.6. Konektor USB Tipe A Plug.
21
Sedangkan konektor tipe A Receptable memiliki bentuk fisik sebagai berikut :
1 2
3
4
Gambar 2.7. Konektor USB Tipe A Receptable. Tipe B Plug dan Receptable Pada konektor tipe B Plug ini memiliki bentuk fisik persegi (square), seperti gambar dibawah ini :
2
1
3
4
Gambar 2.8. Konektor USB Tipe B Plug. Sedangkan konektor USB Tipe B Receptable memiliki bentuk persegi dengan pinpinnya terletak ditengah-tengah. Seperti gambar berikut ini :
Gambar 2.9. Konektor USB Tipe B Receptable. Konektor Tipe B Receptable ini biasanya yang terdapat pada peralatan seperti printer.
22
Tipe Mini A dan B Konektor tipe ini memiliki bentuk sebagai berikut :
Gambar 2.10. Konektor Mini A Plug (kiri) dan Mini B Plug (kanan).
Gambar 2.11. Konektor Mini A Receptables (kiri) dan Mini B Receptables (kanan).
Dari tipe-tipe konektor, pada kabel USB hanya memiliki konektor plug sedangkan pada komputer atau peralatan-peralatan lainnya hanya memiliki konektor receptables. Pada komputer atau host USB, memiliki konektor tipe A receptable dan peralatan seperti printer memiliki konektor tipe B receptables. Konektor tipe A plug hanya akan cocok dengan tipe A receptables dan tipe B plug hanya akan cocok dengan tipe B receptables.
2.3.3 USB Host Controller
Pada awalnya USB Host Controller didesain untuk menangani satu peralatan USB saja, namun dalam perkembangannya muncul Universal/Open Host Controller Interface (UHCI/OHCI) yang terdiri dari dua bagian yaitu : Host Controller Driver dan Host Controller. Host Controller Driver adalah program software yang
23
bertanggungjawab untuk penjadwalan lalu lintas data pada jalur data dengan menempatkan dan menjaga transaksi data dalam sistem memori, sementara Host Controller memindahkan data dari sistem memori ke peralatan USB dengan cara memproses struktur data. Selanjutnya untuk dapat memenuhi kebutuhan transfer data dengan kecepatan tinggi, maka dikembangkan Enhanced Host Controller Interface (EHCI). EHCI ini mampu mendukung peralatan USB High Speed. EHCI didesain untuk efisien dalam penggunaan memori. Sistem Host Controller USB terdiri atas sejumlah lapisan hardware dan software, gambar berikut ini mengilustrasikan konseptual blok diagram dari sistem USB :
Gambar 2.12. Blok diagram sistem USB.
24
Komponen dari lapisan-lapisan tersebut adalah sebagai berikut : Driver Peralatan USB pada PC, software ini mengeksekusi perintah Host Controller yang sesuai dengan peralatan USB tertentu. Driver peralatan USB secara khusus merupakan bagian dari sistem operasi atau disertakan dengan peralatan USB. Driver USB, adalah suatu software bus driver yang memisahkan detail Host Controller tertentu untuk sistem operasi tertentu. Host Controller Driver, berfungsi menyediakan software driver diantara lapisan hardware Host Controller dengan driver USB. Detail dari Host Controller Driver tergantung kepada pengantarmukaan hardware USB Host Controller. Host Controller, adalah implementasi hardware yang spesifik. Ada satu spesifikasi Host Controller untuk peralatan USB High Speed yaitu Enhanced Host Controller (EHCI). Dan ada dua spesifikasi Host Controller untuk peralatan USB Full Speed atau Low Speed yaitu Universal Host Controller Interface (UHCI) dan Open Host Controller Interface (OHCI). Peralatan USB, adalah suatu perangkat keras (hardware) yang melaksanakan fungsi dengan user. Interaksi user dengan peralatan USB mengalir dari aplikasi melalui lapisan software dan hardware.
25
2.3.4 USB Hub
USB hub adalah sebuah peralatan yang mengijinkan banyak peralatan USB terkoneksi dengan sebuah port USB pada komputer atau pada hub lainnya. USB hub memiliki banyak variasi bentuk dari mulai bentuk kotak yang serupa dengan network hub hingga ke bentuk yang lebih kecil yang ditujukan untuk terpasang secara langsung ke port USB pada komputer. Berikut ini adalah gambar contoh dari USB Hub :
Gambar 2.13. USB Hub Ada dua jenis USB hub yaitu; USB hub dengan tenaga listrik sendiri (Self Powered Hub) dan USB hub dengan tenaga listrik dari port USB (Bus Powered Hub). Self Powered Hub mengambil tenaga listrik dari eksternal power supply, dan USB hub ini dapat menyediakan tenaga listrik penuh untuk setiap portnya. Sedangkan Bus Powered Hub menarik tenaga listrik dari pengantarmuka port USB pada komputer sehingga tidak memerlukan koneksi tenaga listrik yang terpisah, namun banyak peralatan USB yang memerlukan tenaga listrik yang lebih dibandingkan dengan yang disediakan oleh USB Bus.
26
2.3.5 Peralatan USB (USB Device)
Peralatan USB dapat digolongkan berdasarkan kecepatan transfer datanya menjadi tiga yaitu; Low Speed dengan kecepatan transfer datanya sebesar 1,5 MBps, Full Speed dengan kecepatan transfer datanya sebesar 12 MBps, dan High Speed dengan kecepatan transfer datanya sebesar 480 MBps. Terdapat perbedaan dalam rangkaian Low Speed dengan Full Speed, pada peralatan USB Full Speed atau High Speed menghubungkan resistor pull up kepada D+, seperti gambar dibawah ini :
Gambar 2.14. Peralatan USB Full / High Speed. Resistor yang terdapat peralatan tersebut juga digunakan oleh Host Controller atau hub untuk mengidentifikasikan peralatan yang sudah terhubung dengan port USB. Tanpa resistor tersebut Host Controller atau hub mengasumsikan peralatan tersebut tidak terhubung. Contoh peralatan Full/High Speed antara lain adalah flash drive, external drive, dan kabel USB Network/Bridge.
27
Sedangkan pada peralatan Low Speed, menghubungkan resistor pull up dengan D–, seperti gambar berikut ini :
Gambar 2.15. Peralatan USB Low Speed. Contoh dari peralatan Low Speed adalah yang sering digunakan untuk HID (Human Interface Device) seperti keyboard, mouse, dan joystick.
2.4 Lapisan Komunikasi USB
Komunikasi data dalam sistem USB terdapat tiga lapisan yaitu Physical Layer, Protocol Engine Layer, dan Application Layer. Komunikasi logika antara software pada Host Controller dengan fungsi peralatan melalui sebuah jalur pipa. Jalur pipa diasosiasikan sebagai jalur antara endpoint pada peralatan USB dengan software yang sesuai pada Host Controller. Endpoint adalah sumber atau tujuan dari data yang ditransmisikan melalui kabel USB. Interface USB adalah terdiri dari perangkat endpoint yang terkelompok. Aliran komunikasi data pada bus yang dapat dilakukan adalah dua arah yaitu, IN
28
(data mengalir dari peralatan ke host controller) dan OUT (data mengalir dari host ke peralatan). Berikut ini adalah fungsi dari masing-masing lapisan tersebut : Physical Layer adalah meliputi interface fisik ke kabel USB, Serial Interface Engine (SIE), dan Host Controller (HC). Fungsi utama dari physical layer adalah mentransmisikan dan menerima data USB. Sistem kabel dalam USB adalah menggunakan 4 kawat kabel twisted pair, yaitu Vbus, D+, D-, dan Ground. Pensinyalan dilakukan oleh sepasang kabel yaitu D+ dan D-, jika akan mentransmisikan data 0 melalui bus maka pensinyalan D+ adalah low dan D- adalah high. Jika data 1 maka pensinyalan D+ adalah high dan D- adalah low. Sedangkan kabel Vbus dan Ground digunakan untuk tenaga listrik bagi peralatan USB. Serial Interface Engine (SIE) bertanggungjawab dalam encoding dan decoding data pada transmisi USB. Selain itu memberi sinyal CRC untuk data USB yang akan dikirim dan memeriksa sinyal CRC untuk data USB yang masuk ke dalam bus. SIE juga mendeteksi pensinyalan SOP (Start of Packets), EOP (End of Packets), RESET, dan RESUME pada bus. Host Controller (HC) merupakan pengendali dalam sistem USB, menerima semua transaksi, mengendalikan akses jalur bus, dan merupakan mesin utama dalam protokol aliran komunikasi USB. Fungsi dari Host Controller adalah sebagai berikut : Memproses data.
29
Penanganan Error. Menangani tingkat protokol. Pembentukan frame.
Protocol Engine Layer, lapisan ini berfungsi mentranslasi data diantara lapisan aplikasi (software pada Host Controller dan fungsi peralatan USB) dengan protokol transaksi USB.
Application Layer, lapisan ini berada pada dua tempat yaitu pada Host Controller dan pada peralatan USB. Pada USB Host Controller lapisan ini disebut dengan USB sistem software sedangkan pada peralatan USB disebut dengan peralatan logika. USB sistem software juga berfungsi dalam pengalokasian bandwidth dan manajemen tenaga listrik bus agar alat dapat mengakses jalur bus. USB sistem software tersusun atas software Host Controller dan dua software pengantarmuka tambahan yaitu : Host Controller Driver (HCD) dan USB Driver (USBD). Peralatan logika tersusun dari beberapa endpoints bebas, dan setiap endpoint diberi alamat (endpoint number). Ada dua jenis endpoint yaitu IN (data ditransmisikan dari peralatan USB ke Host Controller) dan OUT (data ditransmisikan dari Host Controller ke peralatan USB).
30
2.4.1 Protokol USB
Sistem USB menggunakan protokol polling dalam pentransmisian datanya, sehingga Host Controller berperan sangat penting dalam penanganan kerumitan protokol USB. Protokol USB meliputi mekanisme handshaking, timeout rules (untuk mencegah terjadinya deadlock pada sistem), mekanisme low control, fisikal bit error, untuk setiap paket yang ditransmisikan pada jalur bus termasuk pemeriksaan bit dan perlindungan terhadap CRC (Cyclic Redundancy Check). Dalam setiap transaksi data USB terdiri dari tiga fase yaitu : Fase Token, Host Controller menerima sinyal token yang mengindikasikan jenis transaksi yang akan dilakukan. Fase Data, data aktual ditransmisikan dalam paket dengan arah data yang disesuaikan dengan arah sinyal token yang telah ditransmisikan sebelumnya. Fase Handshake, paket handshake dikirimkan mengindikasikan berhasil atau gagalnya sebuah transaksi. Kapanpun ketika Host Controller menginginkan untuk menerima data dari peralatan USB, maka Host Controller akan mengirim sinyal token (fase token) ke alamat peralatan USB tertentu. Jika peralatan USB memiliki data yang akan ditransaksikan maka akan dikirimkan setelah menerima sinyal token dari Host Controller tersebut (fase data). Dan kemudian Host Controller akan merespon dengan paket handshake (fase handshake). Jika peralatan USB tidak memiliki data yang akan
31
ditransaksikan maka Host Controller akan mengirim sinyal token ke peralatan USB lainnya. Dan ketika Host Controller memiliki data yang akan ditransaksikan ke peralatan USB, maka Host Controller akan mengirim sinyal token untuk peralatan USB tersebut diikuti dengan paket data dan peralatan USB akan merespon dengan paket handshake. Maka setelah Host Controller selesai mentransmisikan data kepada peralatan USB tersebut, Host Controller kembali mengirim sinyal token ke peralatan USB berikutnya. Terdapat empat jenis utama transfer data USB, yaitu : Transfer Isochronous, digunakan untuk peralatan multimedia dengan data seperti audio/suara, video, dll. Karakteristik penting dalam transfer ini adalah bahwa bandwidth terjamin (bandwidth yang diperlukan disediakan oleh bus untuk transfer data peralatan USB tersebut). Transfer Bulk, adalah terdiri atas jumlah data yang cukup besar dan digunakan oleh peralatan seperti printer. Bandwidth yang dialokasikan untuk transaksi ini bervariasi sesuai dengan sumber bus pada saat transfer tersebut. Transfer Interrupt (Interupsi), adalah transfer terbatas dan digunakan untuk peralatan seperti mouse yang perlu melaporkan kejadian singkat, karakter, atau koordinat.
32
Transfer Control, digunakan untuk menyusun peralatan USB. Ketika peralatan USB
terhubung
dengan
sistem
USB
maka
Host
Controller
perlu
mengkonfigurasi peralatan tersebut agar dapat berfungsi, semua hal tersebut dilakukan dengan transfer control.
2.4.2 Format Paket Data USB
Paket data USB yang ditransmisikan terdiri dari atau tersusun atas beberapa field. Field-field tersebut adalah sebagai berikut :
Sync Semua paket USB harus dimulai dengan field ini. Field Sync ini memiliki panjang 8 bit pada peralatan low speed dan full speed, dan 32 bit untuk peralatan high speed. Field Sync ini digunakan untuk mengsinkronisasi pulsa pada receiver dengan pulsa pada transmiter. Dua bit terakhir pada field Sync ini menunjukkan dimana field PID dimulai.
PID PID adalah singkatan dari Packet ID atau identitas paket, field ini digunakan untuk mengidentifikasikan jenis paket yang akan dikirimkan baik oleh USB host controller ataupun oleh peralatan USB. Field PID ini dibagi menjadi empat group jenis paket yaitu : Token, Data, Handshake, dan Spesial.
33
Berikut ini adalah tabel kemungkinan nilai PID dalam paket data USB:
Grup
Nilai PID
Identifikasi Paket
0001
OUT Token
1001
IN Token
0101
SOF Token
1101
SETUP Token
0011
DATA0
1011
DATA1
0111
DATA2
1111
MDATA
0010
ACK Handshake
1010
NAK Handshake
1110
STALL Handshake
0110
NYET (No Response Yet)
0010
PREamble
1100
ERR
1000
Split
0100
Ping
Token
Data
Handshake
Spesial
Tabel 2.4. Nilai Paket ID dan Identifikasi Paket.
34
Dari tabel tersebut PID memiliki 4 bit, bagaimanapun juga untuk memastikan agar dapat diterima dengan benar maka 4 bit tersebut dilengkapi dan diulangi menjadi total 8 bit PID. Adapun formatnya adalah sebagai berikut :
PID0 PID1 PID2 PID3 nPID0 nPID1 nPID2 nPID3
Gambar 2.16. Format PID.
ADDR Field alamat menspesifikasikan peralatan mana paket akan ditujukan. Memiliki panjang 7 bit memungkinkan untuk mendukung peralatan sebanyak 127. Alamat 0 merupakan alamat yang tidak valid, ketika peralatan belum memberikan tanda maka alamat sebuah paket yang dikirim akan diset menjadi alamat 0. Adapun format ADDR adalah sebagai berikut :
ADDR0 ADDR 1 ADDR 2 ADDR 3 ADDR 4 ADDR 5 ADDR 6
Gambar 2.17. Format ADDR.
ENDP Field endpoint menunjukkan peralatan akhir USB yang dituju. Terdiri dari 4 bit sehingga mengizinkan terdapat 16 kemungkinan endpoint. Format ENDP adalah sebagai berikut :
35
ENDP0 ENDP 1 ENDP 2 ENDP 3
Gambar 2.18. Format ENDP. Pada peralatan low speed hanya memiliki maksimal 4 endpoint. Endpoint dapat dideskripsikan sebagai sumber data, endpoint menunjukkan akhir saluran komunikasi dari USB. Semua peralatan harus dapat menerima kondisi endpoint zero yaitu endpoint yang menerima permintaan status dan kontrol perhitungan serta durasi dari output yang dihasilkan selama peralatan beroperasi dalam sistem bus.
CRC Cyclic Redudancy Check melakukan pengecekan data pada paket. Pada paket token terdapat 5 bit CRC sementara pada paket data terdapat 16 bit CRC.
EOP End of Packets. Ditandai dengan sinyal SE0 (Single Ended Zero). Sinyal ini memberikan tanda kepada Host Controller bahwa data telah selesai dikirim dan terima oleh receiver.
Dalam transmisi data USB, terdapat beberapa jenis paket data yang digunakan oleh protokol USB yaitu:
36
Paket token (Definisi awal). Terdapat tiga tipe dari paket token, yaitu yang pertama adalah sinyal IN digunakan untuk memberitahukan kepada peralatan USB bahwa Host Controller meminta untuk membaca informasi/data, jika peralatan USB tidak memiliki data yang akan dikirim maka Host Controller akan menerima sinyal NAK. Kedua adalah sinyal OUT yang digunakan untuk memberitahukan kepada peralatan USB bahwa Host Controller akan mengirim informasi/data. Data yang dikirimkan oleh Host Controller mengikuti sinyal OUT Token tersebut, jika peralatan USB belum siap menerima data maka host controller akan menerima sinyal NAK dan akan mengirim kembali sinyal OUT Token dan data ketika peralatan USB telah siap. Ketiga adalah sinyal SETUP yang digunakan untuk mengendalikan transfer data pada transfer control. Format dari paket token adalah sebagai berikut :
Sync PID ADDR ENDP CRC5 EOP
Gambar 2.19. Format paket token USB.
Paket data (berisi data yang akan dikirim). Ada 4 tipe data, yaitu DATA0 dan DATA1 yang mampu mentransmisikan data hingga 1024 byte. Dan DATA2 dan MDATA yang digunakan untuk mode high speed. Format dari paket data adalah sebagai berikut :
37
Sync PID DATA CRC16 EOP
Gambar 2.20. Format paket data USB.
Paket status/handshake (sinyal untuk memeriksa data). Ada tiga tipe dari paket handshake yaitu : pertama adalah sinyal ACK (Acknowledgement) digunakan untuk mengetahui bahwa paket telah berhasil diterima, sinyal ACK dikirimkan oleh peralatan USB ke Host Controller. Kedua adalah sinyal NAK yang melaporkan bahwa peralatan sementara belum dapat menerima atau mengirim data. Sinyal tersebut juga digunakan selama proses interupt untuk memberitahukan kepada Host Controller bahwa tidak ada data yang perlu dikirim. Dan ketiga adalah sinyal STALL yang digunakan jika peralatan dalam keadaan statis sehingga memerlukan intervensi dari Host Controller. Format dari paket handshake adalah sebagai berikut :
Sync PID EOP
Gambar 2.21. Format paket status/handshake USB.
Paket Start of Frame. Paket ini terdiri dari 11 bit angka frame yang dikirim oleh Host Controller kepada peralatan.. Format dari SOF ini adalah sebagai berikut :
38
Sync PID FRAME NUMBER CRC5 EOP
Gambar 2.22. Format paket start of frame USB Paket yang pertama atau paket token yang dihasilkan oleh Host Controller atau hub yang berisi tanda untuk mendeskripsikan apa yang mengikutinya dan apakah data akan dibaca atau ditulis serta alamat peralatan yang akan dituju. Kemudian pada umumnya diikuti oleh paket data yang membawa data yang akan dikirmkan. Lalu dikuti oleh suatu status paket/handshake yang akan melaporkan jika data atau token telah diterima dengan sukses, atau jika data tidak diterima karena peralatan USB terhambat atau tidak siap untuk menerima data.
2.5 Kabel USB Network/Bridge
Dalam koneksi jaringan antara dua komputer tanpa Ethernet Card melalui port USB, tidak dapat secara langsung mengkoneksikannya dengan kabel USB biasa. Maksudnya adalah kabel USB yang kedua sisi konektornya memiliki tipe plug A namun tidak memiliki IC Bridge PL 2501, karena Host Controller pada sistem USB pada masing-masing personal komputer didesain untuk mengendalikan lalu lintas data yang melalui port USB ke peralatan USB. Dengan kata lain sebuah Host Controller tidak didesain untuk berkomunikasi ke Host Controller lainnya tanpa melalui peralatan USB, karena peralatan USB-lah yang merespon semua permintaan dari Host Controller.
39
VBUS KOMPUTER A
U S B
D+ DGND
U S B
KOMPUTER B
Gambar 2.23. Masalah koneksi jaringan melalui port USB. Dari gambar masalah diatas sebuah port USB komputer A tidak dapat dikoneksikan secara langsung ke port USB komputer B, karena kemungkinan dapat merusak Host Controller pada masing-masing komputer akibat beban arus listrik. Untuk mengatasi masalah tersebut adalah dengan menggunakan kabel USB Network/Bridge, dimana pada kabel tersebut terdapat rangkaian elektronik dengan IC Bridge PL 2501 sebagai peralatan USB yang berfungsi sebagai jembatan antara USB Host Controller komputer A dengan USB Host Controller komputer B. Kabel ini memiliki tipe konektor USB A-A Plug. Berikut ini adalah gambar dari kabel USB Network/Bridge :
Gambar 2.24. Kabel USB Bridge.
40
IC Bridge PL 2501 pada kabel USB Network/Bridge berfungsi sebagai pengatur komunikasi antara USB host controller dua komputer yang terhubung. IC Bridge tersebut diproduksi oleh Prolific Technology.
2.5.1 IC Bridge PL 2501
PL 2501 adalah sebuah IC tunggal pengendali komunikasi jaringan melalui port USB untuk Host Controller ke Host Controller. IC Bridge PL 2501 yang terintegrasi pada kabel USB Network/Bridge memiliki standarisasi Hi-Speed USB 2.0 dengan kecepatan transfer datanya mencapai 480 Mbps. IC Bridge tersebut terdiri dari dua pengantarmuka port USB yang mentransfer data diantara keduanya melalui 2K-byte bulk FIFO untuk mentransfer bulk dua arah agar mencapai output bandwidth yang maksimal bagi peralatan USB Hi-Speed. IC Bridge ini memiliki regulator 3.3V s/d 5V untuk menyediakan tenaga listrik. IC Bridge tersebut juga memiliki dua buah transceivers, backend SIE, dan peralatan logika yang masing-masing satu untuk setiap USB Host Controller pada komputer yang terhubung. Selain itu IC Bridge tersebut memiliki USB core (MCU), dan Buffer Management Unit (BMU).
Gambar 2.25. Rangkaian elektronik pada kabel USB Bridge dengan IC PL 2501.
41
Kabel USB Network/Bridge memiliki dua mode kerja yaitu link mode dan network mode. Pada mode link, kabel tersebut bekerja dengan koneksi sederhana dimana digunakan hanya untuk menyalin file dari satu komputer ke komputer lainnya. Sedangkan pada mode network dapat melakukan koneksi jaringan LAN dimana dapat berbagi file, berbagi fungsi printer, serta berbagi akses internet.
2.5.2 Pin Out IC Bridge PL 2501
IC Bridge PL 2501 ini terdapat dua jenis, yaitu PL 2501 LQFP 100 (Low profile Quad Flat Pack dengan 100 pin out) dan PL 2501 LQFP64 (Low profile Quad Flat Pack dengan 64 pin out). Berikut ini adalah gambar dari pin out IC Bridge PL 2501 :
Gambar 2.26. Pin out IC Bridge PL 2501 LQFP 100.
42
Gambar 2.27. Pin out IC Bridge PL 2501 LQFP 64.
Perbedaan pada kedua IC Bridge tersebut yaitu pada pin LQFP 100 memiliki program ROM eksternal dan data RAM yang digunakan untuk menyimpan mode driver yang digunakan oleh komputer, sedangkan pada pin LQFP 64 tidak memilikinya. Sehingga pada pin LQFP 64 hanya bekerja pada satu mode untuk driver yang terinstal. IC Bridge PL 2501 memiliki empat mode operasional dengan kode driver sebagai berikut : 2301, yaitu mode link dengan driver chip PL 2301. 2302, yaitu mode network dengan driver chip PL 2301. 2501, yaitu mode link dengan driver chip PL 2501. 2502, yaitu mode network dengan driver chip PL 2501.
43
Tabel berikut ini mendeskripsikan nama dan fungsi setiap pin out pada IC Bridge PL 2501 : LQFP100 LQFP64 Tipe
Deskripsi
42
I
Clock in/CMOS oscillator input.
70
43
O
CMOS oscillator output.
RREF_A
73
46
A
Tingkat Referensi PLL
DP_A
75
46
I/O
Sinyal Hi-speed pada D+ komputer A
DN_A
74
47
I/O
Sinyal Hi-speed pada D- komputer A
RPU_A
77
51
A
Resistor pull-up 1,5 K ohm
DPRS_A
79
53
I/O
Sinyal Full-speed pada D+ komputer A
DMRS_A
78
52
I/O
Sinyal Full-speed pada D- komputer A
VCCK
67
40
P
Power digital 2,5 V
GNDK
68
41
P
Ground digital
AVCC1_A
71
44
AVCC2_A
80
54
AVCC3_A
82
56
AGND1_A
72
45
Nama Pin Pin Ke-
Pin Ke-
XSCI_A
69
XSCO_A
Power analog 3,3 V untuk USB P
transceiver
Ground analog untuk USB transceiver AGND2_A
76
50
AGND3_A
81
55
P
Tabel 2.5. Pin out yang berhubungan dengan USB Transceiver A.
44
LQFP100 LQFP64 Nama Pin
Tipe
Deskripsi
Pin Ke-
Pin Ke-
XSCI_B
19
10
I
Clock in/CMOS oscillator input.
XSCO_B
20
11
O
CMOS oscillator output.
RREF_B
23
14
A
Tingkat Referensi PLL
DP_B
25
16
I/O
Sinyal Hi-speed pada D+ komputer B
DN_B
24
15
I/O
Sinyal Hi-speed pada D- komputer B
RPU_B
27
18
A
Resistor pull-up 1,5 K ohm
DPRS_B
29
20
I/O
Sinyal Full-speed pada D+ komputer B
DMRS_B
28
19
I/O
Sinyal Full-speed pada D- komputer B
VCCK
17
8
P
Power digital 2,5 V
GNDK
18
9
P
Ground digital
AVCC1_B
21
12
AVCC2_B
30
21
AVCC3_B
32
23
AGND1_B
22
13
AGND2_B
26
17
AGND3_B
31
22
Power analog 3,3 V untuk USB P
transceiver
Ground analog untuk USB transceiver P
Tabel 2.6. Pin out yang berhubungan dengan USB Transceiver B.
45
LQFP100
LQFP64
Pin Ke-
Pin Ke-
P0[7~0]
47~41,39
P1[7~2]
11,8~4
Nama Pin
Tipe
Deskripsi
N/A
I/O
Disediakan untuk 8032 external
N/A
I/O
Disediakan untuk GPIO 00: 2301 mode 01: 2302 mode
P1[1~0]
3,1
3,1 10: 2501 mode I/O
11: 2502 mode
P2[7~0]
55~48
N/A
I/O
Disediakan untuk 8032 external
P3[7~6]
90~91
N/A
I/O
Disediakan untuk 8032 external EE_CLK: P3[5]
P3[5~4]
92,94
59,61 I/O
P3[3~2]
95,96
N/A
P3[1~0]
97,99
62,64
I/O
EE_DATA: P3[4] Disediakan untuk 8032 external LED_TRAN: P3[1]
I/O
LED_CNNT: P3[0]
PSENJ
65
N/A
I/O
Disediakan untuk 8032 external
A0_ALE
63
N/A
I/O
Disediakan untuk 8032 external
Tabel 2.7. Pin out yang berhubungan dengan internal MCU 8032.
46
LQFP100
LQFP64
Nama Pin
Tipe
Deskripsi
Pin Ke-
Pin Ke-
REG_VI
34
25
P
Input Regulator 3,3 V untuk chip
REG_GND
33
24
P
Ground Regulator untuk chip
REG_VO
35
26
P
Output Regulator untuk chip
RESETJ
61
36
I
Pin Reset eksternal, aktif low
TEST
64
38
I
Mode test chip
USBVCC_A
2
2
I
Vcc USB untuk komputer A
USBVCC_B
59
35
I
Vcc USB untuk komputer B
FT32_EN
100
N/A
I
MCU 8032 memungkinkan
VCC
56, 98
33, 63
P
Power 3,3 V
VCCK
9, 57
4, 34
P
Power 2,5 V
10,40,
5,27,
P
GNDK
Ground digital 62,93
37,60
12~16, 6~7, 36~38, 28~32, NC
N/A
58, 60,
Tidak terhubung
39, 66, 57~58 83~89
Tabel 2.8. Pin out yang berhubungan dengan sistem chip PL2501.
47
Keterangan : I – Input
O – Output
I/O – Sinyal Bi-directional
P – Power/Ground
N/A– Tidak terhubung
A – Nilai tetap
Kabel USB Network/Bridge yang penulis bahas dan uji coba menggunakan driver 2501 dan 2502. Selain itu IC Bridge PL 2501 yang digunakan adalah dengan pin LQFP 100 sehingga mampu menyimpan data mode driver yang digunakan oleh komputer yang terhubung, apakah mode link atau mode network.