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 |