Interface Port Paralel (DB-25) ~ Mekatronika USD

Selasa, 19 April 2011

Interface Port Paralel (DB-25)

Port paralel (DB-25) adalah salah satu jenis soket pada personal komputer untuk berkomunikasi dengan peralatan luar seperti printer model lama. Karena itu parallel port sering juga disebut printer port. Perusahaan yang memperkenalkan port ini adalah Centronic, maka port ini juga disebut dengan Centronics port.


Kesederhanaan port ini dari sisi pemrograman dan antarmuka dengan hardware membuat port ini sering digunakan untuk percobaan-percobaan sederhana dalam perancangan peralatan elektronika.
Penggunaan:
Printer model lama
Zip drive
Beberapa scanner
Sound cards
Webcams
Gamepads dan joystick
Pemrogram EPROM
Peralatan SCSI melalui adapter Parallel ke SCSI
Percobaan dengan TTL 12 driver
External CD-Rom/RW drives
Port paralel ini merupakan  port data  di komputer untuk mentransmisi 8 bit data dalam sekali detak. Standar port paralel  yang baru ialah IEEE 1284 dimana dikeluarkan tahun 1994.  Standar ini mendefinisikan 5 mode operasi sebagai berikut :
1. Mode kompatibilitas
2. Mode nibble
3. Mode byte
4. Mode EPP (Enhanced parallel port)
5. Mode ECP (Extended capability port)
Tujuan Standarisasi ini adalah untuk mendesain driver dan perlatan yang baru sehingga kompatibel dengan peralatan lainnya dan standard parallel port sebelumnya (SPP) yang diluncurkan pada tahun 1981.
Mode Kompatibilitas, Nibble, dan Byte digunakan sebagai standard perangkat keras yang tersedia di port parallel original. Sedangkan untuk EPP dan ECP membutuhkan tambahan hardware sehingga mampu bekerja dengan kecepatan tinggi.
Mode Kompatibilitas atau sering disebut “Centronics” hanya dapat mengirimkan data pada arah maju (dari Host ke device external) dengan kecepatan 50 Kbyte sampai 150 Kbyte perdetik. Untuk menerima data harus diubah modenya menjadi mode Nibble atau Byte. Mode nibble dapat menerima  4 bit (nibble) pada arah yang mundur, misalnya dari alat ke computer. Mode byte  menggunakan fitur bi-directional parallel untuk menerima 1 byte (8 bit) data pada arah mundur. IRQ (Interrupt Request ) pada port paralel  biasanya pada IRQ5 atau IRQ7.
Penjelasan Umum port paralel
Port ECP dan EPP menggunakan tambahan hardware untuk menghasilkan dan mengatur handshaking (Sinyal – Sinyal tanda acknowledge).
Untuk mengeluarkan sebuah byte ke port parallel dengan menggunakan Mode Kompatibel, maka software harus mempunyai urutan kerja sebagai berikut:
  1. Tuliskan data byte ke jalur Port Data
  2. Cek untuk melihat apakah printer sibuk, jika sibuk, ia tidak akan menerima data, sehingga data yang telah ditulis akan hilang.
  3. Menjadikan sinyal Strobe (pin 1) menjadi Low (=0), hal ini berguna untuk memberitahu ke printer bahwa ada data yang siap dikirimkan pada jalur Port Data (pin 2 s/d pin 9)
  4. Jadikan kembali sinyal Strobe High (=1) setelah menunggu kira – kira 5 microsecond dari keadaan setelah membuat strobe low.
Hal ini membatasi kecepatan data. Sedangkan  EPP dan ECP mengizinkan hardware mengecek jika printer sibuk dan mengeluarkan sinyal strobe  atau handshaking lainnya. Ini berrti  hanya 1 instruksi I/O yang harus dilakukan yang akan meningkatkan kecepatan Port ECP juga mempunyai kelebihan menggunakan saluran DMA dan buffer FIFO, jadi data dapat digeser tanpa menggunakan instruksi I/O.
Protokol  EPP mempunyai 4 macam siklus transfer data yang berbeda 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 mentrasfer data antara host dan peripheral.
Siklus alamat digunakan untuk mengirimkan alamat, saluran (channel) atau informasi perintah dan control.
Sesuai dengan standard IEEE 1284 ada tiga jenis parallel port yang bisa digunakan:
1. 1284 Tipe A adalah konektor DB-25 yang banyak dijumpai pada komputer-komputer saat ini
2. 1284 Tipe B adalah konektor Centronics 34 Pin yang banyak dijumpai pada printer
3. 1284 Tipe C adalah konektor 36 Pin yang mirip dengan Centronics namun lebih kecil. Konektor ini diklaim memiliki pengunci (Latch) jenis klip (Clip), sifat elektrik yang lebih baik dan mudah dirakit. Juga mengandung pin tambahan yang dapat digunakan untuk mendeteksi apakah piranti yang terpasang memiliki daya atau tidak.
PIN KONEKTOR PARALEL DB25
Nama pin dari konektor parallel port  DB 25 dan Centronics
Pin DB25              Pin Centronics             Sinyal SPP            Arah  In/out       Register       Hardware diinvert
1                                              1                        nStrobe                       In/Out         Control     Ya
2                                              2                       Data                                Out         Data
3                                              3                       Data                               Out          Data
4                                              4                       Data                               Out          Data
5                                              5                       Data                               Out          Data
6                                              6                       Data                               Out          Data
7                                              7                       Data                              Out           Data
8                                              8                       Data                               Out          Data
9                                              9                       Data                               Out          Data
10                                           10                     nAck                             In              Status
11                                           11                      Busy                              In              Status           Ya
12                                           12                     Paper-Out                   In              Status
/ Paper-End
13                                           13                      Select                           In                    Status
14                                           14                      nAuto-                         In/Out         Control           Ya
Linefeed
15                                           32                      nError / nFault           In                  Status
16                                           31                     nInitialize                     In/Out           Control
17                                           36                    nSelect-Printer           In/Out           Control        Ya
/ nSelect-In
18 – 25                                   19-30           Ground                        Gnd
Simbol n di depan suatu nama sinyal seperti pada nAck berarti active low.
Untuk mengeluarkan data di port parallel, gunakan fungsi outport (8 bit ) dan outportb(16 bit).
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
• Sink / Source 6mA
• Source 12mA Sink 20mA
• Sink 16mA Source 4mA
• Sink / Source 12mA
Dengan keterbatasan arus port parallel maka diperlukan rangkaian buffer (penyangga) sehingga tidak membebani arus dari port parallel untuk menyuplai rangkaian luar.
Alamat Port
Port Paralel  mempunyai 3 alamat . 3BCH ialah alamat dasar yang diperkenalkan sejak munculnya port Paralel  pada kartu video yang kemudian tidak digunakan lagi . LPT1 ialah line printer dengan alamat 378h, lalu  LPT2 dengan alamat 278H meskipun alamat ini dapat dirubah. Saat ini, alamat 378H dan 278H umumnya digunakan sebagai alamat port Paralel .
Alamat                                  Penjelasan
3BCH – 3BFH                       Digunakan untuk paralel port di kartu video,tidak mendukung alamat ECP
378H – 37FH                        Alamat untuk  LPT 1
278H – 27FH                        Alamat untuk  LPT 2
Setelah diketahui alamat dari port parallel, maka dapat ditentukan alamat DP (Data Printer), PC (Printer Control) dan PS (Printer Status)
1. DATA PORT (DP)
Data Port digunakan untuk mengirim data yang harus dicetak oleh printer.Alamat DP adalah base address dari port parallel tersebut.
2. PRINTER CONTROL (PC)
Printer Control digunakan untuk mengirimkan kode-kode kontrol dari komputer ke printer, misalnya kode kontrol untuk menggulung kertas.Alamat PS adalah (base address + 1).
3. PRINTER STATUS (PS)
Printer Status digunakan untuk mengirimkan kode-kode status printer ke komputer, seperti untuk menginformasikan kertas telah habis.Alamat PC adalah (base address +2).
List dibawah adalah tabel alamat untuk DP, PC dan PS dengan LPT mempunyai base address 378h
1. LPT1 DP = Alamat Register 378h / 888
2. LPT1 PS = Alamat Register 379h / 889
3. LPT1 PC = Alamat Register 37Ah / 890
Register-register dari Port Paralel
Semua data, kontrol, dan status dari port paralel berhubungan dengan register-register yang ada didalam komputer. Dengan mengakses langsung register-register tersebut, masukan dan keluaran dari port paralel dapat diatur. Register-register pada port paralel adalah:
Register data
Register status
Register control
Register                                                               LPT1       LPT2
Register data (alamat dasar + 0)                0×378    0×278
Register status (alamat dasar + 1)             0×379    0×279
Register kontrol (alamat dasar + 2)           0x37A    0x27A
Register Data Port Parallel ( 378h )
• Bit 7 (Data 7)
• Bit 6 (Data 6)
• Bit 5 (Data 5)
• Bit 4 (Data 4)
• Bit 3 (Data 3)
• Bit 2 (Data 2)
• Bit 1 (Data 1)
• Bit 0 (Data 0)
Register Status Port Parallel ( 378h )
• Bit 7 (Busy’)
• Bit 6 (Ack)
• Bit 5 (Paper Out)
• Bit 4 (Select)
• Bit 3 (Error)
• Bit 2 (IRQ’)
• Bit 1 (Not Used)
• Bit 0 (Not Used)
Register Kontrol Port Parallel ( 378h )
• Bit 7 (Not Used)
• Bit 6 (Not Used)
• Bit 5 (Aktivasi Port Dwi Arah)
• Bit 4 (Aktivasi IRQ melalui jalur Ack)
• Bit 3 (Select In’)
• Bit 2 (Reset / Inisialisasi)
• Bit 1 (Autofeed’)
• Bit 0 (Strobe’)
Mode – Mode Port Parallel Dalam Bios
Saat ini kebanyakan port parallel merupakan port – port dengan beragam mode dan normalnya dapat dikonfigurasi melalui perangkat lunak. Mode – modenya meliputi :
a. Mode Printer (Default / Normal Mode)
Mode Printer merupakan mode yang paling dasar dan merupakan port parallel standard satu arah. Tidak ada fitur dwi – arah sehingga bit-5 pada port kontrol tidak digunakan
b. Mode Standard & Bi-directional (SPP)
Mode ini merupakan mode dwi-arah. Menggunakan mode ini berarti bit-5 difungsikan untuk membalikkan arah port sehingga dapat membaca kembali nilai yang diberikan pada jalur port data parallel
c. Mode EPP1.7 and SPP
Mode ini merupakan suatu kombinasi dari mode EPP1.7 (Enhanched Parallel Port) dan SPP. Pada mode ini diperbolehkan untuk mengakses register – register SPP (data, status, kontrol) serta register – register EPP. Pada mode ini juga diperbolehkan untuk membalikkan arah port menggunakan bit-5 dari register kontrol. EPP1.7 merupakan versi awal dari EPP yang belum dilengkapi dengan bit untuk time out
d. Mode EPP1.9 and SPP
Seperti mode sebelumnya, hanya saja EPPnya menggunakan versi 1.9 yang sudah dilengkapi dengan bit time-out
e. Mode ECP
Mode ini mempunyai kemampuan tambahan (Extended Capabilities Port). Mode ini dapat diset melalui register kontrol tambahan (Extended Control Register) dari ECP. Hanya saja pada mode ini tidak tersedia mode EPP.
f. Mode ECP and EPP1.7
g. Mode ECP and EPP1.9
Pada kedua mode diatas, tetap menggunakan ECP yang dikombinasi dengan EPP, akan tetapi mode EPP yang digunakan bisa ditentukan lewat ECR (Extended Control Register)nya apakah menggunakan Versi 1.7 atau Versi 1.9.

Pemrograman Paralel Port dengan C++
Untuk mengambil data dari port paralel dengan C++, dilakukan dengan perintah seperti yang tersebut dibawah ini:
#include <conio.h>
// Perintah-perintah untuk mengambil data dari suatu port, termasuk port paralel
int _inp(
unsigned short port
);
unsigned short _inpw(
unsigned short port
);
unsigned long _inpd(
unsigned short port
);
// Perintah-perintah untuk mengeluarkan data ke suatu port, termasuk port paralel
int _outp(
unsigned short port,
int databyte
);
unsigned short _outpw(
unsigned short port,
unsigned short dataword
);
unsigned long _outpd(
unsigned short port,
unsigned long dataword
);
Dimana port adalah alamat dari port dan nilai kembalian adalah nilai dari register data pada port paralel. Perintah _inp, _inpw, dan _inpd mempuyai fungsi yang sama, perbedaannya hanyalah type dari nilai kembalian. Begitu juga dengan _outp, _outpw, dan _outpd. Untuk _inp bernilai int, _inpw bernilai unsigned short, dan untuk _inpd bernilai unsigned long. Perintah-perintah diatas tidak berlaku untuk Windows NT/2000 atau XP karena di kedua sistem operasi tersebut tidak diperbolehkan akses langsung hardware. Hal ini dikarenakan untuk perlindungan terhadap pemakaian suatu hardware oleh beberapa software secara bersamaan. Untuk mengatasinya dibutuhkan file Inpout32.dll yang baru, yang telah dimodifikasi supaya dapat mengakses hardware. Pustaka Inpout32.dll menggunakan driver standar yang diatur oleh Windows untuk mengakses hardware, jadi keamanan pemakaian hardware oleh software menjadi lebih terjamin.
Aplikasi Port Paralel
RANGKAIAN PENGKABELAN PORT PARALEL
OUTPUT DATA, Rangkaian paralel port pada saat mengambil data dari komputer dengan alamat $300 ditunjukkan pada gambar di bawah:
INPUT DATA, Rangkaian paralel port pada saat memberi data ke komputer dengan alamat $300 ditunjukkan pada gambar di bawah
Share

0 komentar:

Poskan Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | free samples without surveys