PARALEL PORT



Bir noktadan diğer bir noktaya binary veya digital bilgilerin iletilmesine, dijital veri iletimi adı verilir. Bilgisayarlarda veri iletimi, bilgisayar-bilgisayar veya bilgisayar-devre (çevre birimi) arasında gerçekleşir. Eğer bir ses veya görüntü binary veya decimal hale dönüştürülebilirse veri iletimi sayesinde bu bilgiler gönderilip alınabilir.

İki çeşit veri iletim şekli vardır:
1- Seri iletim
2- Paralel iletim

Seri iletimde veri bitleri karşı tarafa tek hat üzerinden sırayla yollanır. İletimin koordinasyonu için (başlatılması, sona ermesi, bilginin alındığının onaylanması, hata durumu vs.) gerekli olan bitler de aynı hat üzerinden belli bir sıra yollanır. Kısacası seri iletimde aynı anda tek bit iletimi gerçekleşir. Paralel iletimde ise bitler karşı tarafa n-tane hat üzerinden yollanır. Yani aynı anda n-adet bit karşı tarafa gönderilebilir. Bu n-adet hattan bir kısmı veri için, bir kısmı da iletimin koordinasyonu için ayrılabilir. Paralel iletim, aynı anda iletilebilen bit sayısının fazlalığından dolayı seri iletimden daha hızlıdır. Fakat seri iletim için gereken hat sayısı daha az olduğundan dolayı seri iletimin maliyeti daha azdır ve paralel iletimden çok daha uzun mesafelere seri iletimle veri yollanabilir. Son yıllara kadar, bir bilgisayarın içinde, paralel iletişim tekniği, avantajlarından dolayı daha çok kullanılıyordu. Fakat günümüzde seri iletimin hızı da geliştirilen tekniklerle bir hayli artırıldığı için seri iletim bir çok çevre birim çeşidi tarafından tercih edilen bir teknik olarak yerini almaktadır. Mesela hız faktörü sabit disklerde çok önemli olduğu için, bugüne kadar sabit disklerde paralel iletim tekniği (IDE) kullanılıyordu. Oysa yeni üretilen sabit diskler çok hızlı bir seri iletim standardı olan SATA tekniğini kullanmaya başlamışlardır.

Ne olursa olsun paralel iletim tekniği bilgisayarlar için yine de vazgeçilmezdir. Paralel iletim tekniği ile çalışan bir giriş/çıkış portu olan paralel portu kullanan; yazıcı, tarayıcı, zip sürücü, CD-yazıcı, harici harddisk, tape yedekleme aygıtı, ağ adaptörü gibi bir çok çevre birimi vardır. Bu çevre birimlerinden paralel portu en çok kullanan yazıcılardır. Bundan dolayı paralel porttan sık sık printer portu olarak bahsedilmektedir. Ayrıca paralel portun pinlerinin tanımlanmasında da yazıcı sinyalleri (Paper end, Line feed, vs.) kullanılmaktadır.

Çevre birimleri, paralel porta bilgisayar üzerindeki 25-pinli bir adaptör (DB-25) üzerinden bağlanmaktadır. (Şekil-1) Bilgisayar üzerindeki dişi DB-25 konnektörü IBM şirketi tarafından standartlaştırılmıştır. IBM şirketi PC standardını oluşturmadan önce, yazıcılarda 36-pinli Centronics konnektörü kullanılmaktaydı. Bu konnektör, o zamanlarda büyük bir yazıcı üreticisi şirket olan Centronics tarafından geliştirilmişti ve yaygın olarak kullanılmaktaydı. (Şekil-2) Fakat IBM, kişisel bilgisayarlarda (PC) bu 36-pinli konnektörü kullanmak istemedi ve paralel iletim için (özellikle yazıcılar için) PC’lerde 25 pinli DB-25 adaptörünü kullandı. Printer üreticileri ise Centronics adaptörünü kullanmaya devam etti. Bu yüzden şu anda printer kablolarının iki tarafında ayrı konnektör bulunmaktadır.

Şekil-1 : Paralel port görünümü (DB-25 dişi konnektör)

Şekil-2 : CENTRONICS erkek konnektör

Centronics konnektörü pinlerinin DB-25 konnektörü pinleri karşılığı Şekil-3’te verilmiştir:

Pin No
(DB-25)

Pin No
(Centronics)

SPP Sinyali

Yön
Giriş/Çıkış

Register

Terslenmiş

1

1

(n)Strobe

Giriş/Çıkış

Control

Evet

2

2

Data 0

Çıkış

Data

 

3

3

Data 1

Çıkış

Data

 

4

4

Data 2

Çıkış

Data

 

5

5

Data 3

Çıkış

Data

 

6

6

Data 4

Çıkış

Data

 

7

7

Data 5

Çıkış

Data

 

8

8

Data 6

Çıkış

Data

 

9

9

Data 7

Çıkış

Data

 

10

10

(n)Acknowledge

Giriş

Status

 

11

11

Busy

Giriş

Status

Evet

12

12

Paper-Out/Paper-End

Giriş

Status

 

13

13

Select

Giriş

Status

 

14

14

(n)Auto-Linefeed

Giriş/Çıkış

Control

Evet

15

32

(n)Error/(n)Fault

Giriş

Status

 

16

31

(n)Initialize

Giriş/Çıkış

Control

 

17

36

(n)Select-Printer/(n)Select-In

Giriş/Çıkış

Control

Evet

18-25

19-30

Toprak

 

 

 

 

15-18

Kullanılmıyor

 

 

 

 

34-35

Kullanılmıyor

 

 

 

Şekil-3: Paralel Port pin bağlantıları.


PORTLAR (YAZMAÇLAR)

Paralel port yapısında üç adet register (yazmaç) bulundurmaktadır. Bunlar;

1- DATA (veri)
2- STATUS (durum) ve
3- CONTROL (kontrol) yazmaçlarıdır.

Bu yazmaçlardan port olarak da bahsedilmektedir. (Control portu, Status portu gibi) Bu yazmaçlar paralel portun pinlerini kendi aralarında paylaşmaktadırlar. 25 pinli paralel port konnektörünün 8 pini DATA portuna, 5 pini STATUS portuna, 4 pini CONTROL portuna ve kalan 8 adet pini de TOPRAK’a aittir. (Şekil-3 ve 4)

Şekil-4: Paralel port pinleri

Bu 3 port’taki değerlerin işlemci tarafından işlenebilmesi için bilgisayarın hafızasında paralel porta belli adresler ayrılmıştır.(Adresler bilindiği gibi hexadecimal (16’lık sistemde) olarak temsil edilir. &h37A, 0x37A ve 37Ah hepsi aynı sayıyı temsil eder.)

Genellikle (eğer paralel port BIOS tarafından LPT1’e tahsis edilmişse);

DATA portu, &h378 adresinde (paralel portun taban adresi),

STATUS portu, &h379 adresinde (taban adresi+1),

CONTROL portu ise &h37A adresinde (taban adresi+2) bulunur. (Şekil-5) Fakat taban adresi yukarıdakinden farklı olabilir. Mesela BIOS’tan bu portlara başka adresler tahsis edilmiş olabilir veya işletim sistemi bazı özel durumlarda paralel portun adresini değiştirmiş olabilir. Kullanıcı da bu adresi değiştirmiş olabilir.

Paralel portun taban adresi, Windows işletim sistemlerinde ‘Sistem Özellikleri’nden öğrenilebilir. Ayrıca Windows’ta çeşitli donanım test programları, bilgisayar üzerindeki donanımlar hakkında adres bilgisi vermektedir. DOS tabanlı işletim sistemlerinde port adreslerini öğrenmek için, DEBUG programında ‘dump‘ komutu kullanılarak belleğin 0040:0008 no’lu adres içeriği ekrana yazdırılır.

Kullanım aşağıda görüldüğü şekildedir:

>debug

-d 0040:0008 L8

0040:0008 78 03 78 02 00 00 00 00

Bu örneğin çalıştırıldığı makinada LPT1-&h378, LPT2-&h278 adresindedir. Diğer taraftan LPT3 ve LPT4 için bir adres tahsisi yapılmamıştır.

DOS tabanlı makinalar için bir başka alternatif, komut satırında Microsoft Diagnostics (MSD.EXE) programını çalıştırmaktır. Bu program sayesinde bilgisayarın diğer donanım birimleri hakkında da bilgi almak mümkündür.

 

DATA

STATUS

CONTROL

Genel

Taban adresi

Taban adresi+1

Taban adresi+2

Yazıcı (LPT1)

&h378

&h379

&h37A

Yazıcı (LPT2)

&h278

&h279

&h27A

Yazıcı (LPT3)

&h3BC

&h3BD

&h3BE

 

 

 

Şekil-5: Paralel Port yazmaç adresleri
 

Şekil-6: Paralel port yazmaçları (reserved = boş bırakılmış)



DATA PORTU

DATA portu, tamamen TTL uyumlu olan 1 byte’lık (8 bit) bir giriş/çıkış portudur. DATA portunun adresi, paralel portun taban adresidir. DATA portu, yazıcılarda paralel porttan yazıcıya veri çıkışı için kullanılmaktadır. Fakat BIDIRECTIONAL paralel portlarda, DATA portu veri girişi için de kullanılabilir. Eski anakartlarda DATA portu bidirectional (çift yönlü) olmadığı için DATA portu sadece veri çıkışı için kullanılmaktaydı. Bir dönemden sonra üretilen tüm anakartlar bidirectional veri portunu desteklediği için yeni bilgisayarlarda çift yönlü iletişim kurulabilmektedir. Paralel portun bidirectional çalışma yönü, CONTROL portunun 5.biti (C5) tarafından kontrol edilmektedir. Eğer CONTROL portunun 5.biti (yön biti) lojik SIFIR ise DATA portundan çıkış yapılabilir. Yön biti eğer lojik BİR ise bu porttan giriş yapılabilir. Bu durumda 2. ile 9. pinler arası yüksek empedans durumuna geçer. Yön bitini lojik BİR yapmak için yazılım aracılığıyla CONTROL portuna binary ‘xx1xxxxx’ değeri gönderilmelidir. Lojik SIFIR için de ‘xx0xxxxx’ değeri gönderilmelidir. ‘x’ işareti, bitin 0 veya 1 olmasının farketmeyeceği anlamına gelir. Önemli olan 5.bittir. C5 fiziksel olarak değiştirilemez, çünkü paralel portta gerilim uygulanacak C5 pini diye bir pin yoktur. C5, sadece hafızada bir bittir. Örnek olarak Q-Basic’te C5 pininin 1 yapılması için gönderilebilecek komut;

“OUT &h37A,32” dir. (CONTROL portu adresi &h37A ise)

DATA portu, 74LS374 olarak bilinen yüksek empedans durumlu oktal D-tipi flip-flop tarafından sürülür. Bu entegre 2,6 mA akım verelebilir (source) ve 24 mA’e kadar akım çekebilir (sink). Bu sebeble kullanılacak ara birim devresi için data terminallerinden alınan zayıf akım ihtiyaca göre kuvvetlendirilir. DATA portundaki bilgiyi geri beslemeyle okumak için anakart üzerinde 74LS244 olarak bilinen yüksek empedans durumlu tampon (buffer) entegresi kullanılır.


STATUS PORTU

STATUS portu, hafızada yeri paralel portun taban adresinin 1 fazlası olan, sadece okunabilir (read-only) bir porttur. Yazılım aracılığıyla STATUS portuna yazılanlar dikkate alınmaz. STATUS portu, beş giriş hattından (10, 11, 12,13, 15), bir interrupt (IRQ) durum bitinden (S2) ve de iki tane rezerve edilmiş (görevi olmayan, S0 ve S1) bitden oluşur. Dikkat edilmesi gereken nokta, STATUS portunun 7.bitinin (S7) aktif alçak giriş olmasıdır. Yani S7 eğer lojik sıfır değerini gösterecekse bu pinde (11.pin) +5Volt değeri vardır. Ayrıca 2.bit (nIRQ) de lojik bir değerini gösteriyorsa interrupt’ın gerçekleşmediği anlamına gelir. STATUS portundan yapılacak bilgi girişlerinde okunan değerin 7.bitinin (MSB) terslenmesi gerekir. Bu da okunan değeri 10000xxx ile XOR işlemine tabi tutarak yapılabilir.

STATUS portunun pinlerinin yazıcı karşığı aşağıdaki gibidir:

Acknowledge (Pin-10, S6) :
(Hazır, alındı)
Yazıcının bilgisayara gönderdiği bilgilerden bir tanesidir. Burada lojik 0 varsa “Son alınan karakter işlendi, yeni karakter için yazıcı hazır”, lojik 1 varsa “Yazdırma bitmedi” demektir. Bu durumda bilgisayar yeni bir karakteri göndermez ve bekler.

Busy (Pin-11, S7) :
(Meşgul)
Paralel port’ta bir karakterin bilgisayardan gönderilmesi için en az 2 ms gerekmektedir. Bu durumda da bu hat üzerinde 1 saniyede 500.000 karakter gönderilebilir. Karakter gönderme hızı cps olarak adlandırılır. ( Character Per Second ) Fakat yazıcılar bu hızda yazamazlar. Bu pinin bir olması ile yazıcı meşgul olduğunu belirtir. Sıfır bilgisayar veri yollamaya devam eder.

Paper Out/Paper End (Pin-12, S5) :
(Kağıt yok, bitti)
Yazdırma sırasında yazıcının kağıdının bitmesi durumunda bu pin yazıcı tarafından lojik 1 yapılır. Bunu algılayan bilgisayar ekranda “kağıt bitti” hatasını verir.

Select (Pin-13, S4) :
(On line)
Yazıcı bir bilgisayara bağlanmış ve bu yazıcı print işlemi yapabilecek durumdaysa bu hattan lojik 1 sinyali bilgisayara gönderilir. Eğer pin lojik 0 durumundaysa bilgisayar yazı yazdırma işlemini yapmaz.

Error/Fault (Pin-15, S3) :
(Hata)
Hata durumunda lojik 0 olur. Bu hattan gelen hata sinyali ile bilgisayar hatanın ne olduğunu tam olarak anlayamaz. Hata; “kapak açık, yazma kafası tıkalı, kafa orjinal pozisyonuna dönemiyor” gibi çeşitli hatalar olabilir.




CONTROL PORTU

CONTROL portu, hafızada yeri paralel portun taban adresinin 2 fazlası olan, giriş veya çıkış için kullanılabilen bir porttur. Bu portun pinlerinin iki durumu vardır; sıfır (0Volt) veya yüksek empedans(açık devre). Bunun sebebi CONTROL portunun open collector yapıda olmasıdır. Bu yüzden port kullanılırken pull-up dirençleri (yaklaşık 4,7K) kullanmak gerekir. CONTROL portunun kendi içinde genelde pull-up dirençleri vardır fakat bazı paralel portlarda bulunmayabilir. Her ihtimale karşı bu dirençleri kullanmak gerekir. CONTROL portu bidirectional olarak kullanılabilir.

CONTROL portunun dördüncü ve beşinci bitleri (C4 ve C5) içsel kontrol bitleridir. Bu bitler sadece yazılımla değiştirilebilir. C4 (IRQ enable) biti, paralel port kesmesinin (interrupt) aktif olup olmayacağını belirler. C5 biti (direction) ise DATA portunun giriş/çıkış durumunu belirler.

CONTROL portunun pinlerinin yazıcı karşığı aşağıdaki gibidir:

Strobe (Pin-1, C0) :
Bir bilgiyi paralel porta yüklemek yazıcıya o yazıyı yazdırmak için yeterli değildir. Çünkü bilgi pinleri sürekli olarak değişirler. Bu değişme tamamlandığı anda bu pin 1 olur.

6 bilgisini gönderilmeye çalışılırken bilgi binary‘e çevrilir ve teker teker pinlere verilir. Bu işlem sırasında bu pin lojik 0, tamamlandıktan sonra lojik 1 değerine ulaşır.

Auto-Linefeed (Pin-14, C1) :
(Otomatik Satır Başı)
Bu pin, bilgisayardan yazıcıya gönderilerek yazdırılan yazıya bir sonraki satırdan devam edilmsini yazıcıya bildirir. Satır yazdırılırken durum lojik 0, yeni satır için durum lojik 1’dir..

Initialize, Reset (Pin-16, C2) :
(Yazıcı sıfırlama hattı)
Bu pine lojik 0 verildiğinde yazıcı kapanıp açılır ve içeriğindeki buffer’ı da temizler.

Select-Printer / Select-In (Pin-17, C3) :
(Hazırlama hattı)
Bazı yazıcılar bağlı bulundukları bilgisayardan açılıp kapatılabilirler. Bu pin yazıcıdaki “On/Off” düğmesine paralel işlem yapar. Bir durumunda yazıcı açık, sıfır durumunda yazıcı kapalı durumunda olur.

Control portu pinleri 7405 invertör entegresi tarafından sürülür. C2 hariç bütün veri yolları terslenmiş haldedir. C2 yolu 16 nolu terminal ucuna verilmeden evvel iki defa terslendiği için aktif lojik mantığına göre çalışır. Control pinleri dışarı ancak 1 mA akım verebilir ve en fazla 7 mA akım çekebilir.

Uygulamada özellikle eğer harici bir güç kaynağı kullanılıyorsa terminallerin toprağa çekmemesine özen gösterilmelidir. Aksi halde paralel portun olması gerekenden fazla akım çekerek yanması ve anakarta zarar vermesi kaçınılmaz olur.




TOPRAK

Her devrede akım, kaynağına geri dönmek zorundadır. Her hattın bir empedansı vardır ve her kablodaki akım bir gerilim indükler. Tek toprak girişi, çeşitli sinyaller tarafından paylaşıldığı zaman, her bir giriş diğerlerini neden olduğu toprak geriliminden etkilenecektir. Toprak akımları en düşük dirençli yolu takip edecektir. Dolayısı ile bir akımın belli bir telden geçmesini garanti etmek söz konusu olamaz. Çok sayıdaki toprak hattı, toprak dönüşlerinin genel empedansını düşürecektir. Bu da toprak akımlarını küçültür. Bu yüzden paralel portta 8 adet ayrı toprak hattı vardır. Paralel port üzerindeki toprak hattının yedisini kaldırıp, hepsini tek bir tanesine bağlamak mümkündür. Bu durumda arabirim, düşük hızda ve kısa mesafede çalışabilir. Hassas (parazitsiz) uygulamalar için ayrı toprak hatlarını kullanmak gereklidir.


PARALEL PORT KESMESİ

Paralel port kesmesi DOS ve Windows’ta yazma işleminde pek kullanılmamaktadır. OS/2 işletim sisteminin eski versiyonlarında bu kesme yazma amacıyla kullanılmıştır. Bu kesme alarm devrelerinde kullanılabilir. CONTROL portundaki 4.bit IRQ Enable olarak adlandırılmıştır Normalde bu bit sıfırdır. ACK girişi lojik birden lojik sıfıra giderken bir kesme meydana gelir ve bu bit lojik bir olur ve bilgisayara bir interrupt olduğunu bildirir. Kesme, o an çalışmakta olan programın yaptığı işin geçici olarak durdurulup, yapılması istenen işleme atlanmasını sağlayan bir donanım olayıdır. Bu işlem tamamlandığında program çalışmasına kaldığı yerden devam eder.


PARALEL PORT STANDARTLARI

1994’ten sonra üretilen yeni paralel portlar, IEEE-1284 standardına uygun olarak üretilmişlerdir. Bu standart, 5 çalışma modu tanımlamaktadır:

1- Uyumluluk Modu (Compatibility Mode)
2- Nibble Modu
3- Byte Modu
4- EPP Modu (Enhanced Parallel Port)
5- ECP Modu (Extended Capabilities Mode)

Bu modların geliştirilmesinin amacı, birbiriyle ve ilk standart olan Standart Paralel Port modu ile uyumlu yeni sürücüler tasarlayabilmekti. Uyumluluk, Nibble ve Byte modu ekstra bir donanım gerektirmeden standart paralel port donanımıyla işleyebilirken, yüksek hızlı EPP ve ECP modları, ‘handshaking’ olayını oluşturmak ve yönetmek için ek donanım gerektirmektedirler. EPP ve ECP modu, SPP modu ile de uyumludur.

Uyumluluk modu diğer bir adıyla Centronics modu, sadece ileri yönde bilgi aktarabilir. Hızı 50 kb/s’dir. (150 kb/s hızına kadar çalışabilir.) Dışardan data alabilmek için Nibble veya Byte modunda çalışmak gereklidir. Nibble modunda 4 bit giriş olarak kullanılır. Byte modunda ise DATA portunun bidirectional özelliği kullanılarak iki yönde 8 bitlik bilgi alışverişi yapılabilir.

İsmail Kocatürk, Şubat / 2003, Malatya