Bilgisayar çevre birimleri, akıllı cihazlar, Nesnelerin İnterneti (IoT) cihazları veya elektronik ölçüm araçları, hepsi farklı elektronik bileşenleri bağlamak için seri iletişim protokollerini kullanır bir arada.
Bu bileşenler genellikle bir mikro denetleyici ve parmak izi sensörü, bir ESP8266 (Wi-Fi modülü), servolar ve seri ekranlar gibi bağımlı modüllerden oluşur.
Bu cihazlar farklı türde iletişim protokolleri kullanır. Aşağıda en popüler seri iletişim protokollerinden bazılarını, nasıl çalıştıklarını, avantajlarını ve neden kullanımda kaldıklarını öğreneceksiniz.
Seri İletişim Nedir?
Seri iletişim protokolleri, 1838'de Mors Kodunun icadından beri burada. Günümüzde modern seri iletişim protokolleri aynı prensipleri kullanmaktadır. Sinyaller, iki iletkeni tekrar tekrar kısa devre yaparak tek bir kablo üzerinde üretilir ve iletilir. Bu kısa bir anahtar gibi davranır; açılır (yüksek) ve kapanır (düşük), ikili sinyaller sağlar. Bu sinyalin nasıl iletildiği ve alındığı, kullanılan seri iletişim protokolünün tipine bağlı olacaktır.
Transistörün icadı ve onu takip eden yeniliklerle birlikte, mühendisler ve tamirciler benzer şekilde işleme birimlerini ve belleği daha küçük, daha hızlı ve daha verimli hale getirdiler. Bu değişiklikler, veri yolu iletişim protokollerinin, bağlanan bileşenler kadar teknolojik olarak gelişmiş olmasını gerektirdi. Böylece UART, I2C ve SPI gibi seri protokollerin icadı. Bu seri protokoller birkaç on yıllık olmasına rağmen, mikrodenetleyiciler ve çıplak metal programlama için hala tercih edilmektedir.
UART (Evrensel Asenkron Alıcı-Verici)
UART protokolü, bugün hala kullandığımız en eski ama en güvenilir seri iletişim protokollerinden biridir. Bu protokol, her iki bileşenin de iletişim kurması için Tx (iletim) ve Rx (Alma) olarak bilinen iki kablo kullanır.
Verileri iletmek için hem verici hem de alıcı beş ortak konfigürasyonla anlaşmalıdır, bunlar:
- Baud Hızı: Verinin ne kadar hızlı iletileceğinin iletim hızı.
- Veri Uzunluğu: Alıcının kayıtlarına kaydedeceği üzerinde anlaşılan bit sayısı.
- Başlangıç Biti: Verinin aktarılmak üzere olduğunu alıcıya bildiren düşük bir sinyal.
- Biti Durdur: Alıcının son bitin (en önemli bit) ne zaman gönderildiğini bilmesini sağlayan yüksek bir sinyal.
- Parite Biti: Gönderilen verilerin doğru veya bozuk olup olmadığını kontrol etmek için kullanılan yüksek veya düşük sinyal.
UART asenkron bir protokol olduğu için veri aktarım hızını düzenleyen kendi saatine sahip değildir. Alternatif olarak, bir bit gönderilirken zamanlama için baud hızını kullanır. UART için kullanılan genel baud hızı 9600 baud'dur, yani saniyede 9600 bit iletim hızı.
Hesabı yaparsak ve bir biti 9600 baud'a bölersek, bir bit verinin alıcıya ne kadar hızlı iletildiğini hesaplayabiliriz.
1/9600 =104 mikrosaniye
Bu, UART cihazlarımızın bir sonraki bitin ne zaman iletileceğini bilmek için 104 mikrosaniye saymaya başlayacağı anlamına gelir.
UART cihazları bağlandığında, varsayılan sinyal her zaman yükseğe yükseltilir. Düşük frekanslı bir sinyal algıladığında, alıcı bitleri kayıtlarına (belleğe) kaydetmeye başlamadan önce 104 mikrosaniye artı 52 mikrosaniye daha saymaya başlar.
Sekiz bitin veri uzunluğu olduğu konusunda zaten anlaşmaya varıldığından, sekiz bit veri kaydettikten sonra, verilerin tek mi çift mi olduğunu kontrol etmek için eşlik kontrolüne başlayacaktır. Eşlik kontrolünden sonra, durdurma biti, sekiz bitlik verinin tamamının alıcıya başarıyla iletildiğini cihazlara bildirmek için yüksek bir sinyal yükseltecektir.
Sadece iki kablo kullanan en minimalist seri protokol olan UART, günümüzde akıllı kartlarda, SIM kartlarda ve otomobillerde yaygın olarak kullanılmaktadır.
İlgili: SIM Kart Nedir? Bilmeniz Gerekenler
SPI (Seri Çevre Birimi Arayüzü)
SPI, yaklaşık 20 Mbps'lik daha hızlı veri hızları için kullanılan bir başka popüler seri protokoldür. SCK (Seri Saat Hattı), MISO (Master Out Slave In), MOSI (Master In Slave Out) ve SS/CS (Chip Select) olmak üzere toplam dört kablo kullanır. UART'tan farklı olarak SPI, birden fazla bağımlı cihazı yalnızca bir ana ile kontrol etmek için bir ana-bağımlı biçimi kullanır.
MISO ve MOSI, veri iletmek ve almak için kullanılan UART'ın Tx ve Rx'i gibi davranır. Chip Select, master'ın hangi slave ile iletişim kurmak istediğini seçmek için kullanılır.
SPI senkron bir protokol olduğundan, hem ana hem de bağımlı aygıtların aynı frekansta çalışmasını sağlamak için ana aygıttan yerleşik bir saat kullanır. Bu, iki cihazın artık bir baud hızı üzerinde anlaşmaya ihtiyacı olmadığı anlamına gelir.
Protokol, master'ın sinyalini bağımlı cihaza bağlı belirli SS/CK'ye indirerek bağımlı cihazı seçmesiyle başlar. Slave düşük bir sinyal aldığında hem SCK'yı hem de MOSI'yi dinlemeye başlar. Master daha sonra veri içeren bitleri göndermeden önce bir başlangıç biti gönderir.
Hem MOSI hem de MISO tam çift yönlüdür, yani aynı anda veri gönderip alabilirler.
Birden fazla slave'e bağlanabilme, tam çift yönlü iletişim ve diğerlerine göre daha düşük güç tüketimi ile I2C, SPI gibi senkron protokoller bellek aygıtlarında, dijital bellek kartlarında, ADC'den DAC'ye dönüştürücülerde ve kristalde kullanılır. bellek görüntüler.
I2C (Entegre Entegre Devre)
I2C, SPI gibi başka bir senkron seri protokoldür, ancak buna göre birçok avantajı vardır. Bunlar, birden fazla master ve slave'e sahip olma yeteneği, basit adresleme (Chip'e gerek yok) içerir. Select), çeşitli voltajlarla çalışma ve iki çekme ucuna bağlı yalnızca iki kablo kullanma dirençler.
I2C genellikle birçok IoT cihazında, endüstriyel ekipmanda ve tüketici elektroniğinde kullanılır.
Bir I2C protokolündeki iki pin, veri ileten ve alan SDA (Seri Veri Hattı) ve saat işlevi gören SCL (Seri Saat Hattı) pinidir.
- Protokol, master'ın SDA pininden bir başlangıç biti (düşük) göndermesiyle başlar, ardından bağımlıyı seçen yedi bitlik bir adres ve okuma veya yazma seçimi için bir bit to ile devam eder.
- Başlangıç biti ve adresi aldıktan sonra, köle master'a bir onay biti gönderir ve gelen iletimler için SCL ve SDA'yı dinlemeye başlar.
- Master bunu aldığında, doğru slave ile bağlantının yapıldığını anlar. Master şimdi, köleden erişmek istediği belirli kaydı (bellek) seçecektir. Bunu, hangi kaydın kullanılacağını belirten sekiz bit daha göndererek yapar.
- Adresi aldıktan sonra, köle, master'a başka bir onay göndermeden önce seçme kaydını okur.
- Hangi özel bağımlı ve onun kayıtlarından hangisinin kullanılacağını seçtikten sonra, master sonunda veri bitini bağımlıya gönderir.
- Veri gönderildikten sonra, master bir durdurma biti (yüksek) ile bitmeden önce master'a son bir Onay biti gönderilir.
İlgili: En İyi Arduino IoT Projeleri
Seri İletişim Neden Kalıcıdır?
Paralel ve birçok kablosuz protokolün yükselişi ile seri iletişim asla popülerliğini kaybetmedi. Genellikle veri iletmek ve almak için yalnızca iki ila dört kablo kullanan seri protokoller, yalnızca birkaç bağlantı noktası olan elektronik cihazlar için önemli bir iletişim modudur.
Diğer bir neden ise, güvenilirliğe dönüşen basitliğidir. Bir seferde yalnızca birkaç kablonun veri göndermesiyle serial, iletilirken herhangi bir kayıp veya bozulma olmadan tüm veri paketlerini gönderme güvenilirliğini kanıtlamıştır. Yüksek frekanslarda ve daha uzun menzilli iletişimde bile, seri protokoller bugün hala mevcut olan birçok modern paralel iletişim protokolünü yenmektedir.
Çoğu kişi UART, SPI ve I2C gibi seri iletişimin dezavantajlı olduğunu düşünebilir. eski ve modası geçmiş olmalarına rağmen, güvenilirliklerini birkaç kez kanıtlamış olmaları gerçeği devam ediyor. onlarca yıl. Protokollerin gerçek bir ikame olmaksızın bu kadar eski olması, bunların aslında vazgeçilmez olduklarını ve öngörülebilir gelecekte elektronikte kullanılmaya devam edeceklerini göstermektedir.
Raspberry Pi gibi SBC'ler ile Arduino ve Raspberry Pi Pico gibi mikrodenetleyiciler arasında kafanız mı karıştı? İşte bilmeniz gerekenler.
Sonrakini Oku
- Teknoloji Açıklaması
- Veri kullanımı
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın