1980'lerde Philips tarafından geliştirilen I2C, elektronikte en yaygın seri iletişim protokollerinden biri haline geldi. I2C , bileşenler aynı PCB'de mi yoksa bir kabloyla mı bağlanmış olsun, elektronik bileşenler veya IC ile IC arasındaki iletişimi sağlar. I2C'nin en önemli özelliği, tek bir iletişim veriyolunda çok sayıda bileşene sahip olma yeteneğidir, bu da I2C'yi sadelik ve düşük maliyetli aşırı hız gerektiren uygulamalar için mükemmel kılan iki kablo ile donatılmıştır.
I2C Protokolüne Genel Bakış
I2C, PCB üzerindeki yongalar arasında iletişim için tasarlanmış iki sinyal hattını gerektiren bir seri iletişim protokolüdür. I2C, orijinal olarak 100kbps haberleşme için tasarlandı ancak yıllar içinde 3,4Mbit'e varan hızlara ulaşmak için daha hızlı veri aktarım modları geliştirildi. I2C protokolü, I2C uygulamaları ve iyi geriye dönük uyumluluk arasında iyi bir uyumluluk sağlayan resmi bir standart olarak kurulmuştur.
I2C Sinyalleri
I2C Protokolü, I2C veriyolundaki tüm cihazlarla iletişim kurmak için sadece iki çift yönlü sinyal hattı kullanır. Kullanılan iki sinyal:
- Seri Veri Hattı (SDL)
- Seri Veri Saati (SDC)
I2C'nin bir dizi çevre birimi ile haberleşmeye sadece iki sinyal kullanabilmesinin nedeni, veri yolu boyunca iletişimin nasıl ele alınacağıdır. Her bir I2C iletişimi, iletişimin geri kalanını iletişimin alması amaçlanan çevre biriminin adresini çağıran bir 7-bit (veya 10-bit) adresi ile başlar. Bu, I2C veriyolundaki çoklu aygıtların, sistemin gereksinimleri belirledikçe ana aygıtın rolünü oynamasına izin verir. İletişim çarpışmaları önlemek için I2C protokolü, otobüs boyunca sorunsuz iletişim sağlayan tahkim ve çarpışma tespit yeteneklerini içerir.
Avantajları ve sınırlamalar
Bir iletişim protokolü olarak, I2C, birçok gömülü tasarım uygulaması için iyi bir seçimdir. I2C aşağıdaki avantajları getirir:
- I2C sadece iki sinyal hattı gerektirir
- Esnek veri aktarım oranları
- Otobüsteki her cihaz bağımsız olarak adreslenebilir
- Cihazların basit bir Master / Slave ilişkisi var
- I2C, tahkim ve haberleşme çarpışma tespiti sağlayarak çoklu ana iletişimi ele alabilir.
- SPI'dan daha uzun mesafe iletişimi
Tüm bu avantajlar ile I2C'nin ayrıca etrafında tasarlanması gereken birkaç sınırlaması vardır. En önemli I2C sınırlamaları şunları içerir:
- Cihaz adresleme için sadece 7 bit (veya 10 bit) bulunduğundan, aynı veri yolundaki cihazlar aynı adresi paylaşabilir. Bazı cihazlar, adresin son birkaç parçasını yapılandırabilir, ancak bu yine de aynı veri yolundaki aygıtların sınırlanmasını zorlar.
- Sadece birkaç sınırlı iletişim hızı vardır ve birçok cihaz iletim hızını desteklemez. Daha yavaş cihazların operasyonel hatalara neden olacak kısmi aktarımları yakalamasını önlemek için, veri yolu üzerindeki her bir hız için kısmi destek gereklidir.
- I2C veriyolunun ortak doğası, veriyolundaki tek bir aygıtın çalışması durduğunda tüm veriyolunun asılı kalmasına neden olabilir. Vericiyi veri yoluna çevirmek, veri yolunu yeniden başlatmak ve düzgün çalışmayı sağlamak için kullanılabilir.
- Cihazlar iletişim hızlarını ayarlayabildiğinden, daha yavaş işletim cihazları daha hızlı cihazların çalışmasını geciktirebilir.
- I2C, haberleşme hatlarının açık tahliye topolojisi nedeniyle diğer seri iletişim otobüslerinden daha fazla güç çeker.
- I2C veriyolunun sınırlamaları, tipik olarak bir otobüse ait cihazların sayısını bir düzine kadar cihazla sınırlandırır.
Uygulamalar
I2C veriyolu, yüksek hızdan ziyade düşük maliyetli ve basit bir uygulama gerektiren uygulamalar için mükemmel bir seçenektir. Örneğin, belirli bellek IC'lerini okumak, DAC'lere ve ADC'lere erişmek, sensörleri okumak , kullanıcı yönlendirmeli eylemleri iletmek ve kontrol etmek, donanım sensörlerini okumak ve birden çok mikro denetleyici ile iletişim kurmak I2C iletişim protokolünün yaygın kullanımıdır.