Thursday, March 17, 2011

Interface port paralel

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.

printer port pada laptop

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

// 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

Categories: Teknik Antar Muka Komputer

No comments:

Post a Comment