Konsep dan Cara Kerja Port I/O Pertemuan 3 Algoritma dan Pemrograman 2A Jurusan Sistem Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma 2015 Parallel Port Programming Port Parallel banyak digunakan dalam berbagai aplikasi interface. Port Parallel memiliki masukan hingga 8 bit atau keluaran hingga 12 bit pada saat yang bersamaan dan hanya membutuhkan sedikit rangkaian eksternal. Port Parallel memiliki : 1. 4 Jalur Kontrol 2. 5 Jalur Status 3. 8 Jalur Data Parallel Port Programming Port Parallel yang terstandarisasi dengan IEEE 1284 mendifinisikan 5 macam mode operasi : 1. Mode Kompatibilitas 2. Mode Nibble 3. Mode Byte 4. Mode EPP (Enhanced Parallel Port) 5. Mode ECP (Extended Capability Port) Tujuan standarisasi adalah untuk mendesain driver dan peralatan yang baru sehingga kompatibel dengan peralatan lainnya dan standard parallel port sebelumnya. Parallel Port Programming Mode Kompatibilitas, Mode Nibble, Mode Byte digunakan sebagai standard perangkat keras di port parallel original. Mode EPP dan ECP membutuhkan tambahan hardware sehingga dapat bekerja dengan kecepatan tinggi. Parallel Port Programming Mode Kompatibilitas atau Mode Centronics, hanya dapat mengirim data pada arah maju (dari Host ke device eksternal) dengan kecepatan 50Kbyte sampai 150Kbyte/detik. Mode Kompatibilitas untuk menerima data harus diubah modenya menjadi mode Nibble atau Byte. Mode Nibble, dapat menerima data 4 bit (Nibble) pada arah mundur. Mode Byte, dengan menggunakan fitur bi-directional parallel dapat menerima data 8 bit (1 byte) data pada arah mundur. Mode ECP dan Mode EPP menggunakan tambahan hardware untuk menghasilkan dan mengatur handshaking (sinyal tanda acknowledge). Parallel Port Programming 1. 2. 3. 4. Untuk mengubah sebuah byte ke dalam port parallel dengan menggunakan Mode Kompatibilitas adalah : Menulis data byte ke port data Memeriksa untuk melihat apakah printer sedang sibuk ? Jika printer sibuk maka printer tidak akan menerima data sehingga data yang telah ditulis akan hilang. Membuat Strobe (pin 1) menjadi Low (=0), ini untuk memberitahukan printer bahwa data yang benar telah berada di line data dan siap dikirim pada jalur Port Data (pin 2 – pin 9). Membuat Strobe High (=1) lagi setelah menunggu sekitar 5 mikrodetik setelah membuat Strobe Low (=0). Parallel Port Programming Mode EPP dan ECP mengizinkan hardware mengecek jika printer sibuk dan mengeluarkan sinyal strobe atau handshaking lainnya. Hanya 1 instruksi I/O yang harus dilakukan untuk meningkatkan kecepatan Port ECP yang mempunyai kelebihan menggunakan saluran DMA dan buffer FIFO, jadi data dapat digeser tanpa menggunakan instruksi I/O. Parallel Port Programming Protokol EPP memiliki 4 macam siklus transfer data yaitu : 1. Siklus Baca Data (Data Read) 2. Siklus Baca Alamat (Address Read) 3. Siklus Tulis Data (Data Write) 4. Siklus Tulis Alamat (Address Write) Siklus Data digunakan untuk mentransfer data antara host dan periferal. Siklus Alamat digunakan untuk mengirim alamat, saluran (channel) atau informasi perintah dan kontrol. Parallel Port Programming Keluaran dari port parallel adalah keluaran TTL, sedangkan arus Sink/Source bervariasi antara port parallel satu dengan yang lainnya. Berdasarkan data sheet kemampuan arus Sink/Source bermacam-macam yaitu : 1. Sink/Source 6mA 2. Source 12mA Sink 20mA 3. Sink 16mA Source 4mA 4. Sink/Source 12mA Parallel Port Programming Parallel Centronics adalah standar pengiriman data komputer ke pencetak generasi awal. Printer menggunakan teknik handshake dan diimplementasikan dengan menggunakan port parallel standard melalui kontrol perangkat lunak. Teknik Handshake pada Centronics Data dikirim pertama kali melalui jalur data (pin 2-9 DB25), kemudian komputer memeriksa apakan printer busy. Program kemudian meng-enable Strobe selama 5uS dan selanjutnya di-disable, dan data dibaca oleh printer saat sinyal Strobe transisi dari Low ke High. Teknik Handshake pada Centronics Printer akan memberikan indikasi busy karena sedang memproses data melalui jalur bus data. Selanjutnya printer akan memberi sinyal Ack Low selama 5 uS sebagai tanda bahwa data siap diterima. Serial Port Programming Proses pengiriman data secara serial yaitu data dikirim satu persatu secara berurutan. Komunikasi serial lebih lambat daripada komunikasi parallel. Serial Port lebih sulit ditanganin karena peralatan yang dihubungkan ke serial port harus berkomunikasi dengan menggunakan transmisi serial sedangkan data di komputer diolah dengan parallel. Serial Port Programming Cara berkomunikasi data serial adalah : Komunikasi data serial sinkron Clock dikirimkan bersama-sama dengan data serial, tetapi clock dibangkitkan sendiri baik dari sisi pengirim maupun penerima. Komunikasi data serial asinkron Tidak diperlukan clock karena data dikirimkan dengan kecepatan tertentu yang smaa baik pada pengirim/penerima. Peralatan Port Serial Device pada port serial ada 2 kelompok yaitu Data Communication Equip,emt (DCE) dan Data Terminal Equipment (DTE). Contoh DCE : modem, plotter, scanner Contoh DTE : terminal komputer Port Serial Tampilan port serial DB9 Konektor port serial terdiri dari 2 jenis yaitu konektor 25 pin (DB25) dan 9 pin (DB9) yang berpasangan (jantan dan betina). Konektor DB25 sama dengan parallel port. Keterangan DB9 Pin 1 = Data Carrier Detect (DCD) Pin 2 = Received Data (RxD) Pin 3 = Transmitted Data (TxD) Pin 4 = Data Terminal Ready (DTR) Pin 5 = Signal Ground (common) Pin 6 = Data Set Ready (DSR) Pin 7 = Request To Send (RTS) Pin 8 = Clear To Send (CTS) Pin 9 = Ring Indicator (RI) Pemrograman Port Serial Komputer Port Serial digunakan untuk interface komputer dan mikrokontroler karena kemampuan jarak pengiriman data dibandingan dengan port parallel. Untuk berkomunikasi serial antara 2 PC : 1. Pin TxD ke pin RxD komputer lain 2. Pin RxD dihubungkan ke pin TxD komputer lain 3. RTS dan CTS dihubung singkat 4. DSR dan DTR dihubung singkat 5. GND dihubungkan ke GND komputer lain Keuntungan Port Serial dibanding Port Parallel Keuntungan komunikasi secara serial dibandingkan paralel dari sisi pengkabelan karena hanya memerlukan 3 buah kabel yaitu TX, RX dan Ground. USB (Universal Serial Bus) USB adalah port yang diandalkan dengan bentuk yang kecil dan kecepatan data yang tinggi. Transfer data dengan menggunakan port USB lebih dipilih karena ukuran yang ringkas dan kecepatan transfer data yang cukup besar. USB Port Programming Konektor USB hanya ada 2 yaitu konektor type A dan konektor type B. Konektor type A dipakai untuk menghubungkan kabel USB ke terminal USB yang ada pada bagian belakang komputer. Konektor type B dipakai untuk menghubungkan kabel USB ke terminal USB yang ada pada peralatan. USB Port Programming Kabel USB USB Port Programming Kabel USB terdiri dari 4 kabel ditambah dengan konduktor pembungkus kabel seperti pelindung. Kabel nomor 1 digunakan untuk menyalurkan sumber daya dengan tegangan 5 Volt. Kabel nomor 2 dan nomor 3 digunakan untuk pengiriman sinyal. Kabel nomor 2 bernama D dan kabel nomor 3 bernama D+, tegangan pada dua saluran ini berubah antara 0 Volt dan 3,3 Volt. Kabel nomor 4 adalah ground sebagai saluran balik sumber tegangan 5 Volt. Pengkabelan USB Pin Warna Kabel Fungsi 1 2 3 4 Merah Putih Hijau Hitam Vbus (5Volt) DD+ Ground Fungsi USB Port USB dapat sebagai alat transceiver (pengirim dan penerima) baik sebagai host ataupun USB sendiri. Data yang dikirim secara serial sehingga USB mampu menangani gelombang kontinyu. Gelombang langsung dihubungkan ke pin data USB dari sumber tegangan dengan impedansi output 39W. Membangun sistem elektronik berbasis port USB dengan menggunakan chip FTDI atau modul FTDI seperti chip FT2232C, IC USB UART/FIFO.