Haberleşme Protokolleri
HABERLEŞME PROTOKOLLERİ
Seri haberleşme için geçerli, standartlaştırılmış bazı senkron ve asenkron haberleşme protokolleri vardır.
Bu yazımızda bunlardan bazılarını inceleyeceğiz.
Senkron Haberleşme : Senkron haberleşme gerçekleştirilirken, gönderilen veri biti ve alınan veri biti birbiri ile uyum içinde olmalıdır. İletişimi gerçekleştirecek olan aygıtlar eş zamanlı olarak çalışmak zorundadır. Yani alıcı ve verici aynı clock üzerinde olmalıdır.
Asenkron Haberleşme : Asenkron haberleşme yapılmak için belirli bir clock'a ihtiyaç duyulmaz. Veri herhangi bir anda iletilebilir. Belirli standartlar çerçevesinde gerçekleştirilir ve senkron haberleşmeye göre daha yavaş bir iletim gerçekleştirilir.
Bu yazımızda ele alacağımız haberleşme protokolleri şunlardır :
- UART - USART
- SPI
- I2C
- TTL
- SSH
- FTP
- TCP
- UDP
UART haberleşmesini gerçekleştirirken ilk olarak baudrate (veri taşıma hızı) ayarlanması gerekir. Veri taşıma hızı çok çeşitli aralıklarda olabilir ancak piyasada yaygın olarak kullanılan baudrate’ler 4800, 9600, 57600, 115200 ve mikroişlemciler için çok fazla tercih edilmese de 921600. 921600 genelde hızlı işlem gerektiren yerlerde kullanılır. Baudrate bizim verimizin saniyede ne kadarlık byte’ını taşıyacağını belirlememize yarar.
Veri iletimi için aşağıdaki görseldeki gibi bir yapı kullanılır. Yani haberleşme işlemimiz bir başlangıç bitinden sonra data bitleri, ardından parity biti ve son olarak da bitiş biti gönderilerek sonlandırılır. Bu işlem sırasında data uzunluğu ve parity biti opsiyonel olarak değişkenlik gösterebilir.
Bu haberleşme tipini kullanabilmemiz için alıcı ve vericinin veri taşıma hızlarının (baudrate) aynı olması veya birbirine çok yakın değerler olması gerekmektedir. Bunun sebebi ise aktarım sırasında oluşabilecek hataları minimuma indirmektir.
Yandaki görselde gördüğünüz gibi haberleşme gerçekleşmesi için ilk önce verici tarafında logic 1 (HIGH) seviyesinde bulunan iletişim hattı iletişimin başlaması için logic 0 (LOW) seviyesine çekilir ve bu bizim Başlangıç Bit’imizi (Start Bit) temsil eder. Ardından göndermek istediğimiz verileri başlangıç bitinin arkasına ekleriz. Eğer parity bitine sahipsek onu da ekledikten sonra son olarak iletişime sonlandırmak için gerekli olan bitiş bitini (stop bit) HIGH seviyesine çekerek iletişimin sonlandığını alıcıya bildiririz. Biz verici kısmında bu işlemleri yaparken alıcı da aynı şekilde işlem yapar ve sadece bizim gönderdiğimiz dataları kendi UART Data Register’ına yazar.
USART haberleşmesi yapabilmek için mikroişlemcimizdeki daha önceden tanımlanmış olan pinleri kullanarız. Bunun için ya USB-TTL dönüştürücü ya da RS232 modülü kullanırız. Her iki modülü de RX-TX pinleri mikroişlemcimizin RX-TX pinleri ile ters olarak bağlanacak şekilde bağlantısını yaptıktan sonra iletişimi başlatabiliriz.
SPI Haberleşme Protokolü : Seri haberleşmelerin en çok kullanılanlarından birisi olan SPI ( Serial Peripheral Interface ), haberleşme protokolü full-dublex işleme izin verir ve iletişim master/slave cihazlar arasında gerçekleşir.
SPI haberleşmesi gerçekleştirebilmek için 4 pin gereklidir. Bunlar :
- SCLK : Serial Clock (output from master). :Senkron seri haberleşmesi için kullanılır. Haberleşme için kare dalga oluşturur. Yani SPI haberleşmesinde senkronu sağlayan saat bulundurur. Saat sinyali master cihaz tarafından üretilir.
- MOSI : Master Output, Slave Input (output from master). Master’ın çıkış Slave’in giriş olduğu veri yolunu oluşturur.
- MISO : Master Input, Slave Output (output from slave). Master’ın giriş Slave’in çıkış olduğu veri yolunu oluşturur.
- SS : Slave Select (active low, output from master). Slave select anlamına gelir. Master cihazın Slave cihazları seçmesine yarar. Master’ın SS pinleri kontrol edilecek Slave cihaza göre seçilir ve kullanıcı tarafından belirlenir.
- Esnektir. Sistem içerisinde bir çok slave ve slave/master parça ekleyerek geliştirilebilir.
- Adrese dayalı seçim yapar, yani fazladan bir CS pinine ihtiyaç yoktur.
- Bağlantı yapısı sadedir, birden fazla parça kullanılsa da sadece 2 hat üzerinden bağlantı kurulur.
- Hata tespit sistemi olan ACK ve NACK bulunur. Böylece yapılan işlemin doğru olup olmadığı anlaşılır.
- Diğer paralel iletişim sistemlerine göre hızları sınırlıdır.
- Bazı durumlarda çok fazla pull-up direnci koymak PCB'lerde alan sıkıntısına yol açabilir.
- Parça adresleri üretilirken tanımlandıkları için adres çakışması yaşanabilir.
Yorumlar
Yorum Gönder