Philips tarafından 1980'lerde geliştirilen I2C (alternatif olarak I2C), elektronikte en yaygın kullanılan seri iletişim protokollerinden biri haline geldi. I2C, bileşenlerin aynı PCB üzerinde veya bir kabloyla bağlı olmasına bakılmaksızın elektronik bileşenler veya entegre devreler arasındaki iletişimi kolaylaştırır.
I2C Protokolü Nedir?
I2C, yalnızca iki sinyal hattı gerektiren bir seri iletişim protokolüdür. Baskılı devre kartı (PCB) üzerindeki çipler arasında iletişim için tasarlanmıştır. I2C başlangıçta 100 Kbps iletişim için tasarlanmıştır. Bununla birlikte, yıllar içinde 3'e varan hızlara ulaşmak için daha hızlı veri iletim modları geliştirilmiştir.4 Mbit.
I2C'nin temel özelliği, I2C'yi basit uygulamalar için mükemmel kılan, yalnızca iki kabloyla tek bir iletişim veriyolunda birçok bileşene sahip olma yeteneğidir. I2C protokolü resmi bir standart olarak oluşturulmuştur ve I2C uygulamaları arasında geriye dönük uyumluluk sağlar.
I2C Sinyalleri
I2C protokolü, iletişim veri yolundaki cihazlarla iletişim kurmak için iki çift yönlü sinyal hattı kullanır. Kullanılan iki sinyal şunlardır:
- Seri Veri Hattı (SDL)
- Seri Veri Saati (SDC)
I2C'nin birkaç çevre birimi ile iletişim kurmak için yalnızca iki sinyal kullanabilmesinin nedeni, veri yolu boyunca iletişimin nasıl ele alındığıdır. Her I2C iletişimi, çevre biriminin adresini çağıran 7 bitlik (veya 10 bitlik) bir adresle başlar.
Bu, I2C veri yolundaki birden fazla cihazın, sistemin gereksinimlerinin gerektirdiği şekilde birincil cihazın rolünü oynamasına izin verir. İletişim çakışmalarını önlemek için I2C protokolü, veri yolu boyunca sorunsuz iletişime izin veren tahkim ve çarpışma algılama özelliklerini içerir.
I2C'nin Faydaları
Bir iletişim protokolü olarak I2C aşağıdaki avantajlara sahiptir:
- Esnek veri aktarım hızları.
- SPI'dan daha uzun mesafeli iletişim.
- Bus üzerindeki her cihaz bağımsız olarak adreslenebilir.
- Cihazların basit bir birincil/ikincil ilişkisi vardır.
- Yalnızca iki sinyal hattı gerektirir.
- Arbitraj ve iletişim çakışması algılaması sağlayarak birden fazla birincil iletişimi işleme kapasitesine sahiptir.
I2C'nin Sınırlamaları
Tüm bu avantajlarla birlikte, I2C'nin etrafında tasarlanması gerekebilecek birkaç sınırlaması da vardır. En önemli I2C sınırlamaları şunları içerir:
- Aygıt adreslemesi için yalnızca 7 bit (veya 10 bit) mevcut olduğundan, aynı veri yolundaki aygıtlar aynı adresi paylaşabilir. Bazı cihazlar adresin son birkaç bitini yapılandırabilir, ancak bu aynı veri yolundaki cihazlar için bir sınırlama getirir.
- Yalnızca birkaç sınırlı iletişim hızı mevcuttur ve birçok cihaz daha yüksek hızlarda iletimi desteklemez. Daha yavaş cihazların operasyonel aksaklıklara neden olabilecek kısmi aktarımları yakalamasını önlemek için veri yolu üzerindeki her hız için kısmi destek gerekir.
- I2C veri yolunun paylaşılan yapısı, veri yolundaki tek bir cihaz çalışmayı durdurduğunda tüm veri yolunun askıda kalmasına neden olabilir. Veri yoluna giden gücün bisiklete bindirilmesi düzgün çalışmayı geri yükleyebilir.
- Cihazlar kendi iletişim hızlarını ayarladığından, daha yavaş çalışan cihazlar daha hızlı cihazların çalışmasını geciktirebilir.
- I2C, iletişim hatlarının açık drenaj topolojisi nedeniyle diğer seri iletişim veri yollarından daha fazla güç çeker.
- I2C veri yolunun sınırlamaları genellikle bir veri yolundaki cihaz sayısını yaklaşık bir düzine ile sınırlar.
I2C Uygulamaları
I2C, yüksek hız yerine düşük maliyetli ve basit uygulama gerektiren uygulamalar için harika bir seçenektir. Örneğin, I2C iletişim protokolünün yaygın kullanımları şunları içerir:
- Belirli bellek IC'lerini okuma.
- DAC'lere ve ADC'lere erişme.
- Kullanıcı tarafından yönlendirilen eylemleri iletme ve kontrol etme.
- Donanım sensörlerini okuma.
- Birden çok mikro denetleyiciyle iletişim kurma.