Seri Haberleşme Protokolleri (UART, SPI, I2C)

Seri haberleşme için geçerli, standartlaşmış bazı senkron ve asenkron protokoller vardır. Bunlar cihazların birbiriyle veya  bir ana kontrolcüyle haberleşmesini sağlar. Yazımıza öncellikle senkron ve asenkron haberleşme hakkında bilgi vererek başlamak istiyorum.

Senkron Haberleşme Nedir?

Senkron haberleşme gerçekleştirilirken, gönderilen veri biti ve alınan veri biti birbiriyle uyum içerisinde olmalıdır. İletişimi gerçekleştirecek olan aygıtlar eş zamanlı olarak çalışmak zorundadır. Yani alıcı ve verici aynı saat (clock) üzerinde olmalıdır.

Asenkron Haberleşme  Nedir?

Asenkron haberleşme yapmak için belirli bir clock’a ihtiyaç duyulmaz. Veri herhangi bir anda iletilebilir. Belirli standartlar kullanılarak gerçekleştirilir ve Senkron haberleşmeye göre daha yavaş bir iletim olur. [1][2]

Seri Haberleşme Protokolleri - Serial Communication Protocols

Haberleşme protokolleri

Yazımız içerisinde değineceğimiz haberleşme protokolleri UART, USART, SPI ve I2C protokolleridir. Protokoller hakkında temel bilgiler, nerelerde ve ne çeşitte kullanıldığı hakkında bilgilendirme yapacağım. Embedded.com üzerinde yazılan bir yazıda haberleşme protokolleri birbirleri ile çok güzel karşılaştırılmış. [11]

UART Haberleşmesi (Universal Asynchronous Receiver Transmitter)

Adından da anlaşılacağı üzere Asenkron bir haberleşme gerçekleştiren bir yapıdır. Aslında bir protokol değildir, bir çiptir. Ama bu çip programlanabilir olduğu için belirli prokollere sahiptir. Aslında bir bilgisayarın (ya da mikrodenetleyici diyebiliriz) seri portlarını kullanarak haberleşme sağlayan bir gömülü devredir. Data tipi ve hızı değiştirilebilir, programlanabilir bir çiptir. Bizim çift taraflı olarak asenkron bir haberleşme yapmamızı sağlar. Gelen seri veriyi paralel veriye veya paralel veriyi seri veriye çevirerek iletimi gerçekleştirebilir. USART Haberleşmesi (Universal Synchronous and Asynchronous Receiver Transmitter) ise UART’ın yaptığı işin senkron haberleşme ile birlikte yapılmış halidir. Hem senkron hem de asenkron veriler iletilebilir. [3][4][5]

SPI Protokolü (Serial Peripheral Interface)

Senkron haberleşme protokollerinden bir tanesidir.  Fully duplex (eş zamanlı çift yönlü çalışabilen) olarak çalışabilir. Haberleşme gerçekleştirilecek cihazlar arasında master-slave ilişkisi vardır. Birden fazla slave cihazla haberleşme sağlanabilir. Senkron olarak çalıştığı için mutlaka bir clock sinyaline ihtiyaç duyulur. Kısa mesafeli iletimde kullanılır. [6][7][8]

I2C Protokolü (Inter-Integrated Circuit)

Senkron haberleşme protokollerinden diğer bir tanesidir. Half-duplex (yarı eş zamanlı çift yönlü çalışabilen) olarak çalışır. Yani veri iletimi çift yönlü olur ancak aynı anda hem veri gönderilip hem de alınamaz. Buna telsizleri örnek verebiliriz. Minimum bilgi alışverişi gerçektirilecek yerlerde tercih edilir. İletişim için bant genişliği oldukta düşüktür. SPI’da olduğu gibi master-slave yapısını kullanır. [9][10]

Kaynaklar:

1 – http://web.itu.edu.tr/~sgunduz/courses/mikroisl/slides/d8.pdf

2 – www.elektrikport.com/teknik-kutuphane/veri-iletimi-1-bolum-elektrikport-akademi/17252

3 – http://support.usr.com/support/s-cour/s-cour-docs/10589.htm

4 – https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter

5 – https://www.slideshare.net/canezgiaydemir/uart-ve-seri-haberleme

6 – https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

7 – https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi

8 – http://ramazansural.blogspot.com/2009/09/spi-nedir-nasil-calisir-spi.html

9 – https://en.wikipedia.org/wiki/I²C

10 – https://learn.sparkfun.com/tutorials/i2c

11 – http://www.embedded.com/design/connectivity/4023975/Serial-Protocols-Compared

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.