İnsanlar arası vazgeçilmez gereçlerin başında gelen iletişim, aynı zamanda elektronik sistemler için de olmazsa olmaz bir olgudur. Kullandığımız elektronik cihazların bünyesinde bulunan mikrodenetleyiciler ile gerekli işlevleri yerine getirmek için kullanılan sensörler arasında, bir görevin ne zaman ve nasıl yapılacağını anlamak için bir haberleşme olması gerekmektedir. Farklı haberleşme protokolleri bulunmakla beraber bu yazı da gömülü sistemler alanında kullanılan seri iletişim konusuna değineceğiz.
Seri İletişim
Verilerin tek hat üzerinden bit bit gönderildiği haberleşme yöntemidir. Paralel haberleşmenin karşıtı olarak veri iletimi yavaşlarken, iletişim için gerekli olan kablo sayısında bir hayli azalış mevcuttur. Bu sebeple genel olarak tercih edilen yöntem, seri haberleşmedir.
Bir çok seri iletişim protokolü mevcuttur. Piyasada en çok kullanılan protokoller ise UART,IIC ve SPI haberleşme protokolleridir. Şimdi bunlara biraz göz atalım.
UART
Seri iletişim protokolleri arasında en yaygın kullanılan ve en ilkel olan yöntemdir. Bir kanal üzerinden veri gönderiminin yapılması ve başka bir kanaldan veri alımının yapılması sağlanır. Totalde 2 kablo ile iletişim sağlanmış olur. İletişim bacakları ‘Tx(Transiever)’ ve ‘Rx(Receiver)’ olarak adlandırılır. Uart protokolünde belirli haberleşme hızları vardır. Bu yapı, ‘baud rate’ olarak adlandırılır. Baud rate, saniyede aktarılacak olan bit sayısını ifade eder. Genel olarak kullanılan hızlar: 4800,9600 19200,57600 ve 115200 bantlarıdır. Buradaki önemli detay, haberleşecek olan sistemlerin, aynı baud rate hızına sahip olmaları zorunluluğudur.
Günümüzde GPS sistemleri, bluetooth modülleri, GPRS modemleri gibi pek çok modül, UART protokolünü kullanmakta.
IIC
I2C (Inter-Integrated Circuit), 1980’li yıllara dayanan bir seri iletişim protokolüdür. Aynı veri yolu üzerinden bir çok çevre biriminin haberleşmesini sağlar. Ortak hatta bağlı modüllerin her birinin belirli bir kimlik numarası vardır ve bu haberleşme protokolünde efende-köle mimarisi bulunmaktadır. Haberleşme ağının kurulduğu sistemde, bir adet ‘master(efendi)’ cihaz bulunur ve ortak hattı yönetir. Hatta bulunan ‘slave(köle)’ cihazlarda ‘master’ hattan gelecek olan kimlik numarasına göre, hattın kime mesaj yolladığı bilir ve ona göre bir cevap üretir. Eğer gelen numara kendisine ait değilse, anlık olarak uykuya geçer.
Protokole sahip modüler SDA ve SCL iletişim kanalı üzerinden haberleşme sağlar. SDA kanalı verinin iletilip alındığı kanalken SCL kanalı ise haberleşme senkronizasyonundan sorumlu olan kanaldır. Efendi-köle arasındaki iletişim çift yönlüdür ve bu yönü efendi olan modül belirler. İletişim yolunda birden fazla efendi modül bulunabilir. Bu iletişim protokolü modlarına bağlı olarak 100kbit,400 kbit ve ya 3.4 Mbit gibi hızlara erişmek mümkündür.
SPI
Protokol, Motorola firması tarafından geliştirilmiştir. Kullanım olarak IIC ile benzerliklere sahiptir. SPI çift yönlü bir haberleşme türüdür ve efendi-köle ilişkisi bulunmaktadır. Haberleşmenin başlayabilmesi için efendi üzerinden köle cihaza veri gönderilmesi gerekir. Master cihaz veriyi gönderirken aynı zamanda verinin senkronizasyonu için saat sinyali üretir. Köle gönderilen veriyi alır, eğer anlamlıysa işler. Devamında cevap verir. Bu şekilde çift yönlü haberleşme de başlamış olur.
SPI ile IIC arasındaki fark, SPI için gerekli haberleşme kanallarını daha fazla olması ve haberleşme yapılacak köle modülün kimlik ataması yerine ayrı bir kanaldan belirlenmesi. Aynı zamanda IIC protokolü yarı çift yönlü bir yapıdayken, SPI protokolü tam çift yönlü bir yapıya sahip. Bunu biraz daha detaylandıracak olursak, yarı çift yönlü iletişim, aynı anda sadece bir hattan veri gönderimine izin veren bir yapıyken, tam çift yönlü iletişim, veri almayı ve göndermeyi eş zamanlı olarak gerçekleştirebilen bir iletişim türüdür.
SPI protokolünde MISO, MOSI, SCK ve SS kanalları bulunur. Bu kanallardan MISO ve MOSI kanalları, efendi ve köle sistemler arasındaki veri iletimini sağlarken, SCK kanalı ise haberleşme anında senkronizasyonu sağlar. SS kanalı ise haberleşilecek olan köle modülün seçiminden sorumludur. Buradaki önemli nokta, hatta bulunan köle modül sayısı kadar, efendi cihazda SS kanalı bulunmalıdır.
İletişim kavramı, günümüzde elektronik sistemler için çok önemli bir konuma sahiptir. Nasıl insanlar birbirleriyle iletişim halinde olarak günlük işlerini yerine getiriyorsa aynı önem elektronik sistemlerde de gereklidir. Seri iletişim yöntemleri de bu eylemi yerine getirmek için geliştirilmiş protokollerdir.
KAYNAKÇA
wikipedia.org
sparkfun.com
technopedia.com


