PC Port Kavramı

 

Port Nedir?

Anakartın üzerinde bir PC’nin en önemli bileşenleri -Veriyolları(Portlar), CPU, RAM, BIOS, ChipSet, ROM, I/O devrelerinin çoğu- bulunur. Anakart, sistemin çalışmasını organize eder. Bu organizasyon anakart üzerinde bulunan Chipsetler sayesinde gerçekleşir. Anakart üzerinde bilgisayara veri giriş/çıkış için kullanılan pinlere veya bağlantı noktalarına Port denir. Yada çevre birimlerini programlamak ve onlardan bilgi almak için kullanılan elektriksel yollara port denir. Örneğin: Paralel port(LPT), seri port(COM), AGP portu, PCI portu gibi.

Port Adresleri

Bir porta atanmış olan adresi öğrenmek için değişik yöntemler vardır. Örneğin paralel portun adresleri Windows İşletim Sisteminde şöyle bulunur:

  1. Başlat/Start düğmesini tıklayın.
  2. Başlat/Start Menüsünden Ayarlar/Settings dan Denetim Masası/Control Panel i gösterin.
    (Denetim Masası/Control Panel penceresi açılır)
  3. Açılan pencereden Sistem/System simgesini çift tıklatın.
    (Sistem Özellikleri/System Properties penceresi açılır)
  4. Açılan pencereden Aygıt Yönetici/Device Manager sekmesine gelin.
  5. Bağlantı Noktaları(COM & LPT)/Ports (COM & LPT) kısmından Yazıcı Bağlantı Noktası (LPT1)/Printer Port (LPT1) i seçip Özellikler/Properties düğmesini tıklayın.
    ( Yazıcı Bağlantı Noktası (LPT1) Özellikleri/Printer Port (LPT1) Properties pencersi açılır)
  6. Açılan pencereden Kaynaklar/Resources sekmesine gelin.

Bu kısımda

şeklinde ifadeler vardır. Giriş/Çıkış Aralığı 0378 - 037F ifadesi yazıcının port numaralarını, adreslerini, gösterir. Bu Hexadecimal sayılar port programlarında kullanılacaktır.

Aşağıda DOS debug programı ile 0040:0000 adresine bakılarak COM atamaları öğrenilmektedir.

LPT1, COM1 ve COM2 portları ile ilgili ayrıntılı bilgiler Tablo 1 de listelenmiştir.

Tablo 1: PC COM Port adresleri

İsim Taban Adres Düşük Bayt (Low Byte) Yüksek Bayt (High Byte) Hexadesimal Desimal IRQ
LPT1 0000:0408 78 03 0378 888 07
COM1 0000:0400 F8 03 03F8 1016 04
COM2 0000:0402 F8 02 02F8 760 03


Paralel Port

Bu kısımda paralel port kısaca tanıtılmış ve özet bilgi verilmiştir. Bir PARALEL port DB-25 olarak adlandırılan 25-pinli adaptörden oluşur. Adaptör erkek(male) konnektör (pinler) veya dişi(female) konnektör (küçük delikler) dür. Genellikle yazıcı portu LPT1 olarak adlandırılır. LPT1 bilgisayarın arka kısmında dişi tipinde bir adaptördür (Bkz Şekil 1). Yazıcı bağlantı kablosu erkek tipi adaptördür ve LAPLINK kablosu olarakta adlandırılır.

Şekil 1 : Erkek ve Dişi LPT1 ve bacak bağlantıları

Paralel port bilgisayarinizin en kolay programlanabilir portudur. DB-25 pinleri üzerinde DATA, STATUS, CONTROL adinda 3 tane port vardir (Bkz Şekil 2). Bu pinlerden her hangi bir tanesinin “1” durumu, o pinden okunacak voltajin +5 Volt olmasi anlamina gelir. “0” olmasi 0 Volt olmasini gösteriyor. Bu sebeple portlar programlanırken binary sayı sisteminin önemi ortaya çıkar.

Şekil 2 : LPT1 için DATA, STATUS ve CONTROL portları

Eğer LPT1 in adresi 0x0378 ise DATA, STATUS ve CONTROL portlarının dağılımları Tablo 2 deki gibi olacaktır.

Tablo 2: LPT1 portlarının dağılımları

Port adı Adresi(Hex) Karşılığı(Hex)
DATA 378 378
STATUS 378+1 379
CONTROL 378+2 37A

Her pinin bilgisayarın yazıcı ile anlaşmasını sağlayan bir görevi vardır. Paralel port pinlerindeki sinyalleri ve giriş çikiş Tablo 3 te listelenmiştir.

Tablo 3 : Paralel port pinlerindeki sinyalleri ve giriş çikiş durumları

Sinyal Adi BIT PIN Yön
-Strobe ¬C0 1 Output
+Data Bit 0 D0 2 Output
+Data Bit 1 D1 3 Output
+Data Bit 2 D2 4 Output
+Data Bit 3 D3 5 Output
+Data Bit 4 D4 6 Output
+Data Bit 5 D5 7 Output
+Data Bit 6 D6 8 Output
+Data Bit 7 D7 9 Output
-Acknowledge S6 10 Input
+Busy ¬S7 11 Input
+Paper End S5 12 Input
+Select In S4 13 Input
-Auto Feed ¬C1 14 Output
-Error S3 15 Input
-Initialize C2 16 Output
-Select ¬C3 17 Output
Ground 18-25 Toprak

DATA Portu

Paralel port üzerinde DATA portuna ait 8 adet (D0-D7) pin vardir. Bu port paralel portunuzun taban adresini kullanir. 8 tane DATA pini oldugundan 8 Bitlik veri çikisi almak mümkündür. Yani bu 8 tane pinin “1” yada “0” degerlerini almasi ile veri akisi saglanmis olur. DATA portu normalde veri çikisi için kullanilmaktadir. Fakat bazi özel ayarlar yaparak, eger bilgisayariniz da destekliyorsa veri girisi yapmanizda mümkün olabilir.

STATUS Portu

STATUS portu sayesinde, 15 – 13 – 12 – 11- 10 numarali pinlerden, 5 bit sayisal giris yapabiliriz. Veriyi paralel portun seklinde gözüktügü gibi S7, S6, S5, S4, S3 pinlerinden yapacagiz. Bu 5 pinlerden herhangi bir müdahale bulunmadan okuyacaginiz lojik deger “1” olacaktir. (Eger voltmetrenizle bu pinlerdeki voltaji ölçerseniz +5 Volt oldugunu göreceksiniz). Bu pinlere baglayacagimiz butonlar ile pinleri topraklayarak lojik degerlerini “0” yapip bir nevi veri girisi gerçeklestirmeniz mümkün. Fakat bu pinlerden S7, donanim tarafindan tersindirilmistir. Bunun anlami o pinin topraga çektigimiz zamanki degerinin “1” olacagidir.

CONTROL Portu

CONTROL portunu hem giris hem de çikis için kullanmak mümkündür. Paralel port üzerinde CONTROL portununa ait 4 tane pin vardir. Bu pinlerden C0,C1,C3 pinleri tersinmistir. Yani tersinmis olan bu pinlere veri göndermedigimiz zaman durumu “1” dir. Bu pinlerden bir tanesine veri gönderdigimizde o pinin degeri “0” olacaktir. DATA ve STATUS pinlerinin yetmedigi zamanda CONTROL portlari ile çikis yada giris almak mümkündür. Programlama sekli STATUS ve DATA portlari ile aynidir.


Seri Port

Bir mikroişlemci, dış dünya (hafıza ve G/Ç birimleri) ile genelde 8-bitlik parçalarla (8-16-32 ve 64 gibi) haberleşir. Aşağıda verilen şekilde görüldüğü gibi, bu şekilde yapılan veri aktarımı paralel veri aktarımı denir. PC nin yazıcı ile haberleşmesinde, veriyolundan 8-bit veri ile paralel haberleşme yapılır.

Eğer mesafe uzunsa paralel veri aktarımı uygun değildir. Bu gibi durumlarda seri aktarım daha uygun olur. Tekbir veri hattının kullanıldığı bu tür haberleşmenin ucuz olmasının yanında, iki farklı şehirde bulunan iki bilgisayarın telefon hattı üzerinden, bu yöntemi kullanarak, haberleşmesi de mümkün olur. Eğer veri telefon hattından iletilecekse, 0 ve 1 ler ses tonuna çevrilir. Bu çevrim modem (MOdulator/DEModulator) cihazı ile yapılır.

PC’de dış dünyaya açılan başka bir kapıda seri portlardır. Bir PC seri portu UART (Universal Asynchronous Receiver Transmitter) tümdevresi ile kullanılır. Bir IBM PC, COM olarak belirtilen 4 taneye kadar Seri Port’a sahiptir. Bu portlar 1, 2, 3 ve 4 olarak numaralandırılmıştır. PC açılışında POST esnasında, 4 COM portundan herbiri için UART tümdevresi konrol edilir. Tablo 4: te PC Seri Port standart I/O adres atamaları gösterilmektedir. Bu adresler birçok bilgisayar için geçerlidir.

Tablo 4: PC seri port taban adresleri ve I/O adres atamaları

İsim COM Taban Adresi Adres(Hex) IRQ
COM1 0000:0400 3F8 4
COM2 0000:0402 2F8 3
COM3 0000:0404 3E8 4
COM4 0000:0406 2E8 3

DB-25P (Plug) ve DB-9 olarak adlandırılan bir PC nin seri port adaptörünün pin numaraları Şekil 3 de görüldüğü gibidir. Bu pinlerin görevleri Tablo 5 da listelenmiştir.

Şekil 3 : 25 ve 9-uçlu erkek seri konnektörler

Tablo 5: IBM PC DB25S/P ve DB-9S/P pin atamaları. 9-uçlu ve 25 uçlu konnektörlerde sinyaller

25-uçlu 9-uçlu Sinyal adı
8 1 Data Carrier Detect (DCD)
3 2 Reive Data (RxD)
2 3 Transmite Data (TxD)
20 4 Data Terminal Ready (DTR)
7 5 Signal Ground (GND)
6 6 Data Set Ready (DSR)
4 7 Request to Sent (RTS)
5 8 Clear to Sent (CTS)
22 9 Ring Indicator (RI)

Not: 25 uçlu konnektörde 1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24 ve 25 rakamlı uçlar kullanılmamaktadır.


Portların Programlanması

Birçok uygulamada programın koştuğu bilgisayar sisteminin sahip olduğu donanımsal öğelere erişilmesi gerekebilir. Geliştirilen bir program içerisinden donanımsal öğelere erişmek veya onları kullanmak için birçok yol vardır. En yalını, ki sistem mimarisi buna izin veriyorsa, bu gibi birimlere aynı bellek gözüne erişilmiyormuş gibi işaretçi değişkenler kullanılmıştır; ancak bu durum sistem mimarisinden dolayı her zaman mümkün olmayabilir. Bu durumda, ilgili birimlere erişmek için derleyicilerin sahip olduğu hazır kütüphane fonksiyonları kullanılır.

Bir Cevap Yazın