Seri haberleşme iletilecek sinyallerin tek hat üzerinden ard arda gönderilmesi demektir. Seri haberleşmeye örnek olarak hemen hemen tüm bilgisaylarda bulunan USB, RS232 ve Ethernet portunu gösterebiliriz. Biz bu dersimizde seri haberleşmeyi RS232 portu üzerinden ele alacağız. Seri haberleşmeyi daha iyi anlamak için öncelikle paralel haberleşmeyi ele alalım. Bilindiği üzere paralel haberleşmede bir bytelık verinin her bir biti ayrı hat üzerinden iletilmektedir. Yani bir bir bytelık “0b01100111” verisini paralel haberleşme fiziksel arayüzü üzerinden göndermek istersek, verinin her bir bit değerini taşımak için ayrı hatta (kabloya) ihtiyaç duyarız.
Örnek olarak bir byte değerindeki 0b01100111 verisini paralel hat üzerinden gönderme işlemine bakalım;
Yukarıdaki görselde görüldüğü üzere bir byte verinin her bir bitini taşımak için ayrı hat (iletken) kullandık, ancak bir bytelık verinin tüm bitlerini alıcı cihaza aynı anda gönderdik. Böylece maliyet arttı ancak veri aktarım hızı da artmış oldu. Paralel haberleşmede veri aktarım hızı artsa da, maliyet aynı şekilde yükselmektedir. Çünkü haberleşme için gereken iletken miktarı bağlantı terminali ve kapladığı alan artacaktır.
Şimdi isterseniz seri haberleşmeye bir göz atalım.
Seri haberleşmede bir byte veriyi oluşturan tüm bitler tek iletken üzerinden sırasıyla ard arda gönderilir. Verinin başında başlangıç biti, sonunda ise durdurma biti bulunur. Gönderilen verinin karşı tarafa hatasız teslim edilmesi için, gönderici cihaz ile alıcı cihazın bir saniyede gönderebileceği bit sayısı aynı olması gerekir. Bu veri iletim hızına ise Baud Rate denir. Baud Rate 1 saniye içerisinde taşınan bit sayısıdır. Genel olarak varsayılan değeri 9600 Baud olsa da bu değer cihaza göre farklılık gösterebilir. 9600 Baud oranıyla bir bitlik bilginin işlenme süresi 1/9600 = 104 mikrosaniyedir.
Şimdi bir byte verinin seri haberleşme kanalı üzerinden nasıl gönderildiğine bakalım.
Yukarıdaki görsele göre her bir byte verinin başında bir bit başlangıç biti, bir ya da iki bit durdurma biti vardır. RS232 fiziksel arayüzüne göre boş hat negatif voltaj ile yüklüdür. Hatta veri gönderdiğimizde, bir bit süresi kadar hat pozitif voltaj ile yüklenir. Bu bizim başlangıç bitimiz olan “0” dır. Ardından 8 (5 ila 8 arasında olabilir) bitlik verimiz hatta sırasıyla LSB (en az anlamlı bit yani en sağdaki bit) bitinden MSB (en anlamlı bit yani en soldaki bit) bitine kadar gönderilir. Gönderilen her bir bitlik veride hattaki negatif voltaj 1 değerini, pozitif voltaj ise 0 değerini temsil eder. Ardından bir ya da iki bitlik negatif voltaj olan durdurma biti (Stop Bit) “1” gönderilir. Durdurma bitinden sonra eğer tekrar veri gönderilecek ise yukarıdaki işlem tekrarlanır, hayır veri gönderilmeyecek ise hat negatif voltaj “1” yüklü olarak kalır.
Örnek olarak A karakterini RS232 fiziksel arayüzü üzerinden seri haberleşme ile gönderelim; Öncelikle A karakterinin ASCII tablosundan değerine bakalım. Değerimiz decimal 65, binary ise “0b01000001” dir. Hatırlatma: bir sayının başında “0b” varsa bu sayının iki tabanlı sayı yani binary sayı olduğunu gösterir. Eğer “0x ile başlıyorsa 16 tabanlı sayıdır yani hexadecimal, eğer sayının başında bir şey yoksa sayı decimal yani 10 tabanlı sayıdır.
Biz bu veriyi seri pora yazdığımızda verinin başına bir başlangıç biti eklenir, bu bit değeri 0’dır. ardından verimizi soldan sağa doğru hatta yazar, ve son olarak bir bit durdurma biti (1) gönderilir. Veri paketimiz (LSB)0100000101(MSB) şeklinde olur.
Gönderilen Veri:
VERİ İLETİM TİPLERİ :
Üç çeşit veri iletim tipi vardır. Bunlar;
Şimdi bunlara sırasıyla göz atalım;
1- Simplex Veri İletimi: Simplex veri iletimi tek yönlüdür. Örnek olarak A ve B cihazı arasında simplex haberleşmeden bahsedecek olursak, Sadece A cihazı B cihazına veri gönderebilir. B cihazından A cihazına veri aktarımı mümkün değildir.
2- Half Dublex Veri İletimi: Half dublex veri iletimi yarı çift yönlüdür. Örnek olarak A ve B cihazı arasında half dublex veri iletiminde her iki cihaz veri gönderip alabilir ancak aynı anda yalnızca bir cihaz veri gönderebilir. Örneğin A cihazı veri gönderirken, B cihazı veri gönderemez ya da B cihazı veri gönderirken, A cihazı veri gönderemez. Genelde veri gönderme ve veri alma işlemi aynı hat üzerinden yapılır. Örneğin RS485.
3- Full Dublex Veri İletimi : Full dublex veri iletimi tam çift yönlüdür. Örnek olarak A ve B cihazı aynı anda veri gönderip veri alabilir. Bu veri iletiminde veri gönderme hattı ile veri alma hattı ayrıdır. Örneğin RS232 ve RS422, USB
SENKRON ve ASENKRON SERİ İLETİŞİM
Buraya kadar anlattıklarımız Asenkron seri haberleşme idi. Şimdi ise Senkron seri haberleşmeye göz atalım.
Senkron seri iletişimde bir data hattı ve bir clock (saat darbesi) hattı vardır. Veriler iletilirken cihazlar verileri senkron (eşzamanlı) olarak okuyup yazarlar. Veri iletimi asenkron haberleşmeye göre daha hızlıdır. Çünkü haberleşmeyi zaman göre değil saat darbesine göre yaparlar. Ayrıca başlangıç ve durdurma biti kullanılmayabilir.
Şimdi görsel üzerinde inceleyelim;
Yukarıda görüldüğü üzere eğer hat clock sinyalinin bir periyodunda 1 ise bit değeri 1 olarak kabul edilir. Eğer sıfır ise 0 olarak kabul edilir. Görselde ASCII “S” değerinin binary karşılığı 0b1110011 veri iletim hattına gönderilmiştir. Senkron seri haberleşmede veri aktarım hızı Mega Byte’lara kadar çıkabilir. Senkron seri haberleşmeye örnek vermek gerekirse SPI ve I2C haberleşme protokolleri örnek gösterilebilir.
[…] https://koddefteri.net/nedir/seri-haberlesme-nedir.html […]