- İletişim Protokollerinin Türleri
- Seri İletişimde İletim Modları
- Saat Senkronizasyonu
- Seri İletişimle İlgili Diğer Terimler
- Senkron Seri Protokoller
- Eşzamansız Seri Protokoller
- Sonuç
Seri İletişim Protokollerine başlamadan önce terminolojiyi üç bölüme ayıralım. İletişim çok iyi iki veya daha fazla ortamlar arasındaki bilgi alışverişini içeren bir terminoloji bilinmektedir. Gömülü sistemlerde iletişim, iki mikro denetleyici arasında bit biçiminde veri alışverişi anlamına gelir. Mikro denetleyicideki bu veri bitleri alışverişi, iletişim protokolleri olarak bilinen bazı tanımlanmış kurallar dizisi tarafından yapılır. Şimdi, veriler seri olarak, yani arka arkaya gönderilirse, iletişim protokolü Seri İletişim Protokolü olarak bilinir. Daha spesifik olarak, veri bitleri Seri İletişimde veri yolu veya iletişim kanalı üzerinden sıralı bir şekilde teker teker iletilir.
İletişim Protokollerinin Türleri
Dijital elektronikte seri iletişim ve paralel iletişim gibi farklı veri aktarım türleri mevcuttur. Benzer şekilde protokoller, Seri İletişim Protokolü ve Paralel İletişim Protokolleri olarak iki türe ayrılır. Paralel İletişim Protokollerinin örnekleri ISA, ATA, SCSI, PCI ve IEEE-488'dir. Benzer şekilde, CAN, ETHERNET, I2C, SPI, RS232, USB, 1-Wire ve SATA gibi Seri İletişim Protokollerinin birkaç örneği vardır.
Bu makalede, farklı Seri İletişim Protokolleri tartışılacaktır. Veri işleme çevre birimleri arasında bilgi aktarımı için en yaygın kullanılan yaklaşım seri iletişimdir. İster Kişisel Bilgisayar (PC) ister Mobil olsun her elektronik cihaz seri iletişim üzerinde çalışır. Protokol, paralel iletişime benzer şekilde kaynak ana bilgisayar (gönderen) ve hedef ana bilgisayar (alıcı) tarafından adreslenen bir dizi kurala sahip güvenli ve güvenilir iletişim biçimidir.
Seri İletişimde İletim Modları
Yukarıda belirtildiği gibi, seri iletişimde veri bitler, yani ikili darbeler şeklinde gönderilir ve iyi bilinmektedir ki, ikili bir YÜKSEK mantığı ve sıfırın LOW mantığını temsil eder. Aktarım modu ve veri aktarım türüne bağlı olarak birkaç seri iletişim türü vardır. Aktarım modları Tek Yönlü, Yarı Çift Yönlü ve Tam Çift Yönlü olarak sınıflandırılır.
Tek Yönlü Yöntem:
Tek yönlü yöntemde, ortamlardan biri, yani gönderici veya alıcı bir seferde aktif olabilir. Dolayısıyla, gönderen verileri iletiyorsa, alıcı yalnızca kabul edebilir ve bunun tersi de geçerlidir. Yani simpleks yöntemi tek yönlü iletişim tekniğidir. Tek yönlü yöntemin en iyi bilinen örnekleri Televizyon ve Radyodur.
Yarım Dubleks Yöntemi:
Yarı çift yönlü yöntemde hem gönderen hem de alıcı aktif olabilir ancak aynı anda olamaz. Dolayısıyla, gönderen iletiyorsa alıcı kabul edebilir ancak gönderemez ve benzer şekilde tersi de geçerlidir. Yarı dubleksin iyi bilinen örnekleri, kullanıcının bir veri için istek gönderdiği ve sunucudan aldığı internettir.
Tam Dubleks Yöntemi:
Tam çift yönlü yöntemde hem alıcı hem de verici aynı anda birbirine veri gönderebilir. İyi bilinen örnek cep telefonudur.
Bunun dışında, uygun veri aktarımı için saat önemli bir rol oynar ve birincil kaynaklardan biridir. Saatin arızalanması, bazen veri kaybında bile beklenmedik veri iletimi ile sonuçlanır. Bu nedenle, seri iletişim kullanılırken saat senkronizasyonu çok önemli hale gelir.
Saat Senkronizasyonu
Saat, seri cihazlar için farklıdır ve iki tipte sınıflandırılır. Senkron Seri Arayüz ve Asenkron Seri Arayüz.
Senkron Seri Arayüz:
Master'dan slave'e noktadan noktaya bir bağlantıdır. Bu tip arayüzde, tüm cihazlar veri ve saati paylaşmak için tek CPU veri yolu kullanır. Veri iletimi, saati ve verileri paylaşmak için aynı veri yolu ile daha hızlı hale gelir. Ayrıca bu arayüzde baud hızında uyumsuzluk yoktur. Verici tarafında, verilere başlatma, durdurma ve eşlik bitleri eklenmediği için saati ayrı bir sinyal olarak sağlayan verilerin seri hatta kayması vardır. Alıcı tarafında, vericinin sağladığı saat kullanılarak veriler çıkarılır ve seri verileri tekrar paralel forma dönüştürür. İyi bilinen örnekler I2C ve SPI'dır.
Eşzamansız Seri Arabirim:
Eşzamansız Seri Arabirimde, harici saat sinyali yoktur. Eşzamansız Seri Arabirimler çoğunlukla uzun mesafeli uygulamalarda görülebilir ve kararlı iletişim için mükemmel bir uyum sağlar. Eşzamansız Seri Arabirimde harici Saat Kaynağının yokluğu, Veri Akış Kontrolü, Hata Kontrolü, Baud Hızı Kontrolü, İletim Kontrolü ve Alım Kontrolü gibi çeşitli parametrelere dayanmasını sağlar. Açık verici tarafında, kendi saati kullanarak seri hat üzerine paralel verici bir kayma vardır. Ayrıca başlatma, durdurma ve eşlik denetimi bitlerini de ekler. Alıcı tarafında, alıcı kendi saatini kullanarak verileri çıkarır ve seri veriyi başlatma, durdurma ve eşlik bitlerini çıkardıktan sonra tekrar paralel forma dönüştürür. İyi bilinen örnekler RS-232, RS-422 ve RS-485'tir.
Seri İletişimle İlgili Diğer Terimler
Saat Senkronizasyonunun yanı sıra, Baud Hızı, Veri bit seçimi (Çerçeveleme), Senkronizasyon ve hata kontrolü gibi verileri seri olarak aktarırken hatırlanması gereken bazı şeyler vardır. Bu terimleri kısaca tartışalım.
Baud Hızı: Baud hızı, verinin verici ve alıcı arasında saniyede bit (bps) şeklinde aktarıldığı hızdır. En yaygın kullanılan baud hızı 9600'dür. Ancak 1200, 2400, 4800, 57600, 115200 gibi başka baud hızı seçenekleri de vardır. Baud hızı ne kadar fazlaysa veri bir seferde aktarılacaktır. Ayrıca veri iletişimi için baud hızının hem verici hem de alıcı için aynı olması gerekir.
Çerçeveleme: Çerçeveleme, vericiden alıcıya gönderilecek veri bitlerinin sayısıdır. Veri bitlerinin sayısı uygulama durumunda farklılık gösterir. Uygulamaların çoğu standart veri bitleri olarak 8 bit kullanır ancak 5, 6 veya 7 bit olarak da seçilebilir.
Senkronizasyon: Senkronizasyon Bitleri, bir veri yığını seçmek için önemlidir. Veri bitlerinin başlangıcını ve sonunu söyler. Verici, başlangıç ve durdurma bitlerini veri çerçevesine ayarlayacak ve alıcı bunu buna göre tanımlayacak ve sonraki işlemleri gerçekleştirecektir.
Hata Kontrolü: Seri iletişimde gürültüyü etkileyen ve ekleyen birçok faktör olduğundan, seri iletişimde hata kontrolü önemli bir rol oynar. Bu hatadan kurtulmak için, eşlik bitlerinin çift ve tek pariteyi kontrol edeceği yerde kullanılır. Dolayısıyla, veri çerçevesi 1'lerin çift sayısını içeriyorsa, o zaman çift eşlik olarak bilinir ve kayıttaki eşlik biti 1'e ayarlanır. Benzer şekilde, veri çerçevesi tek sayıda 1'i içeriyorsa, o zaman tek eşlik olarak bilinir ve yazmaçta tek eşlik biti.
Protokol, sistemin verileri anlamak için kullandığı ortak bir dil gibidir. Yukarıda açıklandığı gibi, seri iletişim protokolü, Senkron ve Asenkron gibi tiplere ayrılır. Şimdi her ikisi de ayrıntılı olarak tartışılacaktır.
Senkron Seri Protokoller
Böyle SPI, I2C, CAN ve LIN seri protokollerin senkron tip o gemide çevre birimleri için en iyi kaynaklardan biri olduğu için farklı projelerde kullanılmaktadır. Ayrıca bunlar, büyük uygulamalarda yaygın olarak kullanılan protokollerdir.
SPI Protokolü
Seri Çevre Birimi Arabirimi (SPI), birkaç SPI mikro denetleyicinin birbirine bağlanmasına izin veren senkronize bir arabirimdir. SPI'da, veri ve saat hattı için ayrı kablolar gereklidir. Ayrıca saat, veri akışına dahil değildir ve ayrı bir sinyal olarak sunulmalıdır. SPI, ana veya bağımlı olarak yapılandırılabilir. Dört temel SPI sinyali (MISO, MOSI, SCK ve SS), Vcc ve Ground veri iletişiminin parçasıdır. Bu nedenle, slave veya master'dan veri gönderip almak için 6 kabloya ihtiyaç duyar. Teorik olarak, SPI sınırsız sayıda slave'e sahip olabilir. Veri iletişimi SPI kayıtlarında yapılandırılır. SPI, 10 Mbps'ye kadar hız sağlayabilir ve yüksek hızlı veri iletişimi için idealdir.
Mikrodenetleyicilerin çoğu SPI için dahili desteğe sahiptir ve doğrudan SPI destekli cihaza bağlanabilir:
- PIC Mikrodenetleyici PIC16F877A ile SPI İletişimi
- STM32 Mikrodenetleyicide SPI İletişimi Nasıl Kullanılır
- Arduino'da SPI nasıl kullanılır: İki Arduino Kartı arasında iletişim
I2C Seri İletişim
İki hattın SDA (Seri Veri Hattı) ve SCL (Seri Saat Hattı) olduğu farklı IC'ler veya modüller arasında entegre entegre devre (I2C) iki hatlı iletişim. Her iki hat da bir yukarı çekme direnci kullanılarak pozitif bir kaynağa bağlanmalıdır. I2C, 400Kbps'ye kadar hız sağlayabilir ve i2c veriyolundaki belirli bir cihazı hedeflemek için 10 bit veya 7 bit adresleme sistemi kullanır, böylece 1024 cihaza kadar bağlanabilir. Sınırlı uzunlukta iletişime sahiptir ve yerleşik iletişim için idealdir. I2C ağlarının kurulumu kolaydır, çünkü yalnızca iki kablo kullanır ve yeni cihazlar iki ortak I2C veri yolu hattına kolayca bağlanabilir. SPI gibi, mikro denetleyici genellikle herhangi bir I2C cihazını bağlamak için I2C pinlerine sahiptir:
- STM32 Mikrodenetleyicide I2C İletişimi nasıl kullanılır
- PIC Mikrodenetleyici PIC16F877 ile I2C İletişimi
- Arduino'da I2C nasıl kullanılır: İki Arduino Kartı arasında iletişim
USB
USB (Evrensel Seri Veri Yolu), farklı sürümler ve hızlarla yaygın bir protokoldür. Tek bir USB ana bilgisayar denetleyicisine maksimum 127 çevre birimi bağlanabilir. USB, "tak ve çalıştır" cihazı görevi görür. USB, klavyeler, yazıcılar, medya cihazları, kameralar, tarayıcılar ve fare gibi neredeyse cihazlarda kullanılmaktadır. Kolay kurulum, daha hızlı veri derecelendirme, daha az kablolama ve çalışırken değiştirme için tasarlanmıştır. Daha hacimli ve daha yavaş seri ve paralel bağlantı noktalarının yerini almıştır. USB, paraziti azaltmak ve uzun mesafelerde yüksek hızlı iletime izin vermek için diferansiyel sinyalleme kullanır.
Bir diferansiyel veriyolu, biri iletilen verileri, diğeri de onun tamamlayıcısını temsil eden iki telden oluşur. Buradaki fikir, tellerdeki 'ortalama' voltajın herhangi bir bilgi taşımaması ve daha az parazitle sonuçlanmasıdır. USB'de, cihazların ana bilgisayara sormadan belirli bir miktarda güç çekmesine izin verilir. USB, veri aktarımı için yalnızca iki kablo kullanır ve seri ve paralel arabirimden daha hızlıdır. USB sürümleri, 1.5Mbps (USB v1.0), 480 Mbps (USB2.0), 5Gbps (USB v3.0) gibi farklı hızları destekler. Ayrı USB kablosunun uzunluğu, hub olmadan 5 metreye ve hub ile 40 metreye kadar ulaşabilir.
YAPABİLMEK
Kontrolör Alan Ağı (CAN), örneğin otomotivde ECU'lar (Motor Kontrol Üniteleri) ve sensörler arasında iletişime izin vermek için kullanılır. CAN protokolü sağlam, düşük maliyetli ve mesaj tabanlıdır ve birçok uygulamayı kapsar - örneğin arabalar, kamyonlar, traktörler, endüstriyel robotlar. CAN veri yolu sistemi, tüm ECU'larda merkezi hata teşhisine ve konfigürasyonuna izin verir. CAN mesajları, en yüksek öncelikli kimliklerin kesintiye uğramaması için kimlikler aracılığıyla önceliklendirilir. Her ECU, iletilen tüm mesajları almak, alaka düzeyine karar vermek ve buna göre hareket etmek için bir çip içerir - bu, ek düğümlerin (örn. CAN veriyolu veri kaydedicileri) kolay değiştirilmesine ve dahil edilmesine olanak tanır. Uygulamalar, araçların çalıştırılması / durdurulması, çarpışma önleme sistemlerini içerir. CAN veriyolu sistemleri 1Mbps'ye kadar hız sağlayabilir.
Mikrodalga
MICROWIRE, 3Mbps'lik seri 3 kablolu bir arayüzdür, esasen SPI arayüzünün bir alt kümesidir. Microwire, mikro denetleyicilerdeki seri bir G / Ç bağlantı noktasıdır, bu nedenle Microwire veri yolu, EEPROM'larda ve diğer Çevresel yongalarda da bulunur. 3 satır SI (Seri Giriş), SO (Seri Çıkış) ve SK (Seri Saat) şeklindedir. Mikro denetleyiciye giden Seri Giriş (SI) hattı, SO seri çıkış hattı ve SK, seri saat hattıdır. Veriler SK'nin düşen kenarında kaydırılır ve yükselen kenarda değerlenir. SI, SK'nin yükselen kenarında kaydırılır. MICROWIRE için ek bir veri yolu geliştirmesine MICROWIRE / Plus adı verilir. İki veri yolu arasındaki temel fark, mikrodenetleyici içindeki MICROWIRE / Plus mimarisinin daha karmaşık olmasıdır. 3Mbps'ye kadar hızları destekler.
Eşzamansız Seri Protokoller
Daha uzun mesafeli güvenilir veri aktarımı söz konusu olduğunda, asenkron tipteki seri protokoller çok önemlidir. Eşzamansız iletişim, her iki cihaz için ortak olan bir zamanlama saati gerektirmez. Her cihaz bağımsız olarak dinler ve kararlaştırılan bir hızda veri bitlerini temsil eden dijital darbeler gönderir. Zaman uyumsuz seri iletişim bazen Transistör-Transistör Mantığı (TTL) seri olarak adlandırılır, burada yüksek voltaj seviyesi mantık 1'dir ve düşük voltaj mantık 0'a eşittir. Bugün piyasadaki hemen hemen her mikro denetleyicide en az bir Evrensel Asenkron Alıcı vardır. Seri iletişim için verici (UART). Örnekler RS232, RS422, RS485 vb.
RS232
RS232 (Önerilen Standart 232), Monitörler, CNC'ler vb. Gibi farklı çevre birimlerini bağlamak için kullanılan çok yaygın bir protokoldür. RS232, erkek ve dişi konektörlerle gelir. RS232, maksimum bir cihazın bağlı olduğu noktadan noktaya topolojidir ve 9600 bps'de 15 metreye kadar mesafeyi kapsar. RS-232 arayüzündeki bilgiler, mantıksal 0 ve 1 ile dijital olarak aktarılır. Mantıksal "1" (MARK), -3 ila -15 V aralığındaki bir gerilime karşılık gelir. Mantıksal "0" (SPACE), bir +3 ila +15 V aralığında gerilim vardır. TxD, RxD, RTS, CTS, DTR, DSR, DCD, GND gibi 9 pin çıkışı olan DB9 konektöründe gelir.
RS422
RS422, ayrı hatlarda aynı anda mesaj gönderip almaya izin veren ancak bunun için diferansiyel bir sinyal kullanan RS232'ye benzer. RS-422 ağında, yalnızca bir verici cihaz ve 10 adede kadar alıcı cihaz olabilir. RS-422'deki veri aktarım hızı mesafeye bağlıdır ve 10 kbps (1200 metre) ile 10 Mbps (10 metre) arasında değişebilir. RS-422 hattı, veri iletimi için 4 teldir (iletim için 2 bükülü tel ve almak için 2 bükülü tel) ve bir ortak GND topraklama kablosu. Veri hatlarındaki voltaj -6 V ila +6 V aralığında olabilir. A ve B arasındaki mantıksal fark +0,2 V'den büyüktür. Mantıksal 1, -0,2 V'den küçük A ve B arasındaki farka karşılık gelir. RS-422 standardı, belirli bir tipte konektör tanımlamaz, genellikle bir terminal bloğu veya bir DB9 konektörü olabilir.
RS485
RS485 çok noktalı topoloji kullandığından, en çok endüstrilerde kullanılır ve endüstride tercih edilen protokoldür. RS422, 32 hat sürücüsünü ve 32 alıcıyı farklı konfigürasyonlarda, ancak ek tekrarlayıcılar ve 256 cihaza kadar sinyal amplifikatörleri yardımıyla bağlayabilir. RS-485, belirli bir tip konektör tanımlamaz, ancak genellikle bir terminal bloğu veya bir DB9 konektörüdür. Operasyon hızı da hattın uzunluğuna bağlıdır ve 10 metrede 10 Mbit / s'ye ulaşabilir. Hatlardaki voltaj -7 V ile +12 V arasındadır. 2 kontaklı yarı çift yönlü mod RS-485 ve 4 kontaklı tam çift yönlü mod RS-485 gibi iki tip RS-485 vardır. RS485'i diğer mikro denetleyicilerle kullanma hakkında daha fazla bilgi edinmek için bağlantıları kontrol edin:
- Arduino UNO'yu Slave olarak kullanan RS-485 MODBUS Seri Haberleşmesi
- Raspberry Pi ve Arduino Uno arasında RS-485 Seri Haberleşme
- Arduino Uno ve Arduino Nano arasında RS485 Seri Haberleşmesi
- RS-485 kullanarak STM32F103C8 ve Arduino UNO arasında Seri İletişim
Sonuç
Seri İletişim, elektronik ve gömülü sistemlerde yaygın olarak kullanılan iletişim arayüz sistemlerinden biridir. Veri hızları farklı uygulamalar için farklı olabilir. Seri İletişim Protokolleri, bu tür uygulamalarla uğraşırken belirleyici bir rol oynayabilir. Bu nedenle doğru Seri protokolü seçmek çok önemli hale gelir.