Seri port

Donanım

IBM 5150 gibi bazı IBM bilgisayarlarda UART (Universal asynchronous receiver/transmitter) adı verilen bir tümleşik devre (integrated circuit) kullanılmaktaydı. Bu tümleşik devre karakterleri asenkron seri iletişim (asynchronous serial communication) biçimden (ve biçime) çevirmekte ve otomatik olarak verinin zamanlamasını ve çerçevelenmesini “framing” kontrol ediyordu. Bazı eski ev bilgisayarları “home computers” gibi çok ucuz sistemler veriyi CPU'ya çıkış (output) pininden göndermek için bit banging adı verilen bir teknikle kullanıyorlardı.

Konnektörler

RS-232 standardının aslı 25 pinli D tipi “İng.: D-type” bir bağlayıcı kullanımını şart koştuğundan çoğu tasarımcı bu standardın tamamını değil de alt setlerini kullanmayı tercih etti: standart ile uyum sağlamak yerine daha ucuz ve küçük boyutlara sahip konnektörler (özellikle IBM PC-AT’de kullanılan DE-9 versiyonu) kullanmayı tercih ettiler. Daha sonra piyasaya çıkan dokuz pinli D-subminiature konnektörü ise ne gerekli ne de bir seri bağlantı noktasında kullanılmaya uygun değildi. 
Macintosh’un birçok modeli bu bağlayıcı standardı ile ilgili (fakat daha hızlı) olan RS-422 standardını benimsedi, bunun için genellikle Alman Mini-DIN konnektörleri kullanıyorlardı.
Son yıllarda elektronikte yaşanan gelişmeler daha yüksek hızlı seri iletişimi mümkün hale getirdi, böylece USB ve FireWire gibi daha yeni seri iletişim standartları RS-232’nin yerini almaya başladı. Bu bağlantılar depolama cihazları, ses cihazları ve video cihazları gibi, daha yavaş hızlardaki seri bağlantılarla çalışamayacak olan cihazların bilgisayarlara bağlanmasına olanak tanıdı.

Donanım soyutlama

İşletim sistemleri bilgisayarların seri bağlantı noktalarından bahsederken genellikle sembolik isimler kullanırlar. Unix tipi işletim sistemleri seri bağlantı noktası cihazlarını genellikle /dev/tty* diye işaretlerler, burada * terminal cihazını tanımlayan bir dizidir; bu dizinin sentaksı işletim sistemine ve cihazın kendisine bağlıdır.
Microsoft MS-DOS ve Windows ortamları seri bağlantı noktalarından COM1, COM2, vb. isimlerle bahseder.
Bir laptop’ın seri bağlantı noktası yoksa onların yerine kullanılan en popüler bağlantı noktaları USB adaptörleri ve PCMCIA kartlarıdır. USB adaptörleri genellikle eski tip “legacy” cihazlarla çalışmaz. Daha pahalı olan PCMCIA kartı gerçek bir seri bağlantı noktası (donanım) sağlar. Eğer mutlaka RS-232 cihazları ile iletişim sağlanmak isteniyorsa, genellikle fiziksel bir RS-232 bağlantı noktası kullanılarak “legacy” yazılım ile daha iyi uyum sağlanabilir.

Ayarlar

İletişim konusunda asenkron başlama ve durma için seri bağlantılar yapılırken yığınla yazılım ayarı gerekir. Bunların arasında en çok yapılanlar; hızın ayarlanması, karakter başına veri biti sayısı, eşlik, ve karakter başına durma bitlerinin sayısı belirtilebilir. Ethernet, FireWire ve USB gibi standartların üzerinde yapılan basitleştirme çalışmalarından biri kullanılan parametrelerin sabit değerleri olması ve kullanıcıların yapılandırmaları değiştirememesi, aslında değiştirmeye gerek duymamasıdır; hız sabittir veya otomatik olarak ayarlanır. UART tümleşik devresi kullanan modern seri bağlantı noktalarında tüm ayarlar yazılım ile kontrol edilir. 1980’lere ve daha eskisine ait donanımlarda ayarların değiştirilmesi için devre kartları üzerinde atlama kablolarına veya anahtarlara gereksinim duyulmaktaydı.

Hız

Seri bağlantı noktaları iki seviyeli (ikili) sinyalleme kullanırlar, böylece saniyede bit cinsinden veri hızı bauddaki sembol hızına eşit olur. Asenkron iletişim başlama / durması için kullanılan ortak, saniyede bit hızları 300, 1200, 2400, 9600, 19200 baud, v.s.dir. Bu hızlar elektromekanik teleprinterların hızlarının katları temel alınarak belirlenmiştir. Bağlantı noktasının ve cihazın hızlarının birbirine uygun olması gerekir. Bazı cihazlar bağlantı noktasının hızını otomatik olarak saptayabilmektedir. RS–232 standardı resmen 20.000 bit / saniye olarak sınırlandırılmış olmasına rağmen, popüler kişisel bilgisayarlarda kullanılan seri bağlantı noktaları 115.000 bit / saniye seviyelerine kadar ayarlanabilmektedir. Bit hızının bu seviyelere ayarlanmış olması çalışma bağlantısının aynı hızda gerçekleşeceği anlamına gelmemektedir. Her seri bağlantı noktasıyla belirtilen her bit hızına ulaşabilmek mümkün değildir. Müzik aletlerini kontrol etmek için kullanılan MIDI gibi bazı özel amaçlı protokollerde veya otomobillerde kullanılan OBD tanımlamalarda yukarıda belirtilen seri veri hızlarının dışında hızlar kullanılabilmektedir. Hız, çerçeveleme için bitleri de içerir (durma bitleri, eşlik, v.s.) ve böylece etkin veri hızı bit iletim hızından daha düşük gerçekleşir. Örneğin 8-N-1 gösteriminde veri için bitlerin sadece %80’i kullanılabilir (her sekiz bitlik veri için, iki tane daha çerçeveleme biti gönderilir).
Sıkça desteklenen veri hızları; 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 ve 115200 bit/s'dir. 1,843200 MHz frekansına sahip bir kristal osilatör özellikle bu amaç için kullanılır. Bu da, veri hızının 16 katıdır ve seri port devresi, bu hızı as katlarına doğru kolayca bölebilir.

Veri bitleri

Her bir karakterdeki veri biti sayısı beş (Bodo alfabesi için), altı (nadiren kullanılır), yedi (gerçek ASCII için), sekiz (her türlü veri için, bu değer bir bayt büyüklüğüne karşılık gelmektedir) veya dokuz (nadiren kullanılır) olabilir. Daha yeni uygulamalarda hemen hemen evrensel olarak sekiz veri biti kullanılmaktadır. Beş veya yedi bit genellikle teleprinterlar gibi nispeten daha eski cihazlar ile işe yaramaktadır.
Seri iletişim tasarımlarının çoğu her bir bayttaki ilk LSB’yi (düşük öncelikli bit, İng. least significant bit) gönderir. Bu standarta “küçük endian” adı da verilir. Bir de kullanımı mümkün olmasına rağmen nadiren kullanılan “büyük endian” standardı vardır, diğer bir ifadeyle MSB (yüksek öncelikli bit, İng. most significant bit).

Durma bitleri

Alıcı donanımın tekrar senkronize olabilmesi için gönderilen her baytın sonunda durma bitleri gönderilir. Elektronik cihazlar genellikle tek bir durma biti kullanır. Seyrek olarak da özellikle teleprinter’lar gibi yavaş cihazlar kullanıldığında, birbuçuk veya iki durma bitine gerek duyulur.

Konvansiyonel simgeleme

D/P/S (Data:Veri/Parity:Öncelik/Stop:Durma) konvansiyonel simgelemesi seri bir bağlantının çerçevesini belirler. Mikro bilgisayarlardaki en genel kullanımı 8/N/1 (8N1)’dir. Bunun anlamı sekiz veri biti, eşlik yok, bir durma bitidir. Bu simgelemede eşlik biti veri bitleri arasına ilave edilmemektedir. 7/E/1 (7E1)’in anlamı, başlangıç ve sonuç bitleri arasına çift sayılı bir bit ilave edilerek yedi olan bit sayısı toplamda sekize çıkartıldı. Eğer 7/E/1 dizisini alan bir alıcı 8/N/1 dizisini bekliyorsa, bu durum muhtemel baytların yarısının yüksek bit setine sahip olduğu şeklinde yorumlanacaktır

Akış kontrol

Seri bir bağlantı noktası, veri iletimini duraklatıp tekrar başlatmak için arayüzde sinyaller kullanabilir. Örneğin nispeten daha yavaş bir yazıcı, cihaz bir satır ilerleyene kadar kendisine gönderilen verinin duraklatılması için seri bağlantı noktası ile el sıkışmaya “handshake” ihtiyaç duyuyor olabilir. Donanım el sıkışma sinyalleri genellikle RS-232 RTS/CTS, DTR/DSR sinyal devrelerini kullanmaktadır.
Bir başka akış kontrol yöntemi de verinin akışını kontrol etmek için XON/XOFF gibi özel karakterlerin kullanımı olabilir. Gönderici veri göndereceği zaman, XON/XOFF karakterleri kontrol için alıcı tarafından göndericiye gönderilir, diğer bir ifadeyle bu karakterler gönderilen veri ile ters istikamette gönderilirler. XOFF karakteri alıcının veri almak için tekrar uygun hale gelene kadar göndericinin yeni veri göndermemesi için alıcı tarafından gönderilir. XON işareti ise alıcının veri almaya hazır olduğunun ifadesi olarak göndericiye yollanır. Eğer kontrol karakterleri veri dizisinin bir parçasıysa, akış kontrolün bir parçası olarak yorumlanmaması için başka kodla geçiş dizisinin (escape sequence) bir parçası olarak gönderilmesi gerekir. Daha başka bir sinyal devresine gereksinim olmadığından XON / XOFF akış kontrolü üç kablolu bir arayüz üzerinde uygulanabilir.

Sanal seri portlar

Sanal seri bağlantı noktası (virtual serial port), standart seri bağlantı noktasının bir emülasyonudur. Bu tür bağlatı noktaları ilave donanıma (genişleme kartları expansion cards gibi) gerek duyulmadan, işletim sistemi üzerinde ek seri bağlantı noktaları yaratabilen özel yazılım ürünleri tarafından gerçekleştirilir. Standart fiziksel seri bağlantı noktasının aksine, sanal bağlantı noktası herhangi bir isim alabilir (COM255, VSP33, v.s.). PC’nizde sınırsız sayıda sanal seri bağlantı noktası yaratabilirsiniz. Karşınıza çıkacak olan tek kısıtlama bilgisayarın performansı ile ilgilidir. 255 tane seri bağlantı noktasını emüle edebilmek için bilgisayar önemli ölçüde kaynak ayırmak zorundadır.
Sanal seri bağlantı noktası “virtual serial port”; Baud genişliği (Baud rate), veri biti, eşlik biti, durma biti, gibi tüm seri bağlantı noktası fonksiyonlarını emüle eder. Ve bunlara ilaveten bacak fonksiyonlarını uyarlayarak ve tüm tek hatları emüle ederek (DTR / DSR / CTS / RTS / DCD / RI ) veri akışını da kontrol eder.
Sanal seri bağlantı noktası emülasyonu yeterli sayıda fiziksel seri bağlantı noktasının olmadığı veya o anda gerekli ihtiyaçları karşılayamadığı durumlarda faydalı olabilir. Örneğin sanal seri bağlantı noktaları, bir seri bağlantı noktasına bağlanmış olan bir GPS cihazındaki verinin muhtelif uygulamalar arasında paylaşılmasında kullanılabilir. Bir başka kullanım şekli, diğer herhangi bir seri bağlantı cihazıyla İnternet veya LAN üzerinden sanki o cihaz doğrudan bilgisayara bağlıymışcasına bağlantı kurulması (ethernet üzerinden seri teknolojisi). İki bilgisayar arasında veya uygulama arasında emüle edilmiş modemsiz link ile bağlantı kurabilirsiniz. Piyasada bulunan sanal seri bağlantı noktalarının çoğunluğu Microsoft Windows’un son versiyonları ile uyumludur ve bazıları Windows CE, Windows Mobile ve Pocket PC altında da çalışabilmektedir.