logologo
Ai badge logo

Bu madde yapay zeka desteği ile üretilmiştir.

I2C (Inter Integrated Circuit)

Elektrik Ve Elektronik+2 Daha
fav gif
Kaydet
viki star outline
Comm_I2C_250-250x250.png
I2C Haberleşme Protokolü
Tam Adı
I²C (Inter-Integrated Circuit)
Geliştirici
Philips Semiconductor (NXP Semiconductors)
Tür
Senkron Seri İletişim Protokolü
İletişim Tipi
Master–Slave
Kanal Sayısı
2
Alternatifleri
SPI UART

I²C (Inter-Integrated Circuit), genellikle I-squared-C veya I-two-C olarak telaffuz edilir, Philips (şimdiki NXP Semiconductors) tarafından 1980'lerin başında geliştirilmiş, kısa mesafeli, düşük hızlı, çift yönlü, iki telli bir seri haberleşme protokolüdür. Entegre devreler (IC'ler) arasında, özellikle bir baskılı devre kartı (PCB) üzerinde iletişim kurmak için tasarlanmıştır. Basitliği ve düşük pin sayısı gereksinimi nedeniyle gömülü sistemlerde yaygın olarak kullanılır.

Temel Özellikleri

  • İki Sinyal: Haberleşme için sadece iki sinyal hattı kullanır:
  • SDA (Serial Data Line): Seri veri hattı. Verilerin çift yönlü olarak aktarılmasını sağlar.
  • SCL (Serial Clock Line): Seri saat hattı. Veri aktarımını senkronize eden saat sinyallerini taşır. Genellikle yönetici (master) cihaz tarafından kontrol edilir.
  • Master-Slave Mimarisi
  • Master: Haberleşmeyi başlatan ve saat sinyalini (SCL) üreten cihazdır. Veri gönderebilir veya slave cihazdan veri talep edebilir.
  • Slave: Master tarafından adreslenen ve master komutlarına yanıt veren cihazdır. Master cihazdan veri alabilir veya master cihaza veri gönderebilir.
  • Çoklu Yönetici (Multi-Master) Desteği: Birden fazla cihazın yönetici rolünü üstlenmesine olanak tanır. Bir çakışma algılama ve tahkim (arbitration) mekanizması sayesinde, aynı anda birden fazla yönetici veri göndermeye çalışırsa hangi yöneticinin veri yolunu kullanacağına karar verilir.



I2C Protokolü'nün Bağlantı Şeması (Analog Devices)


Adresleme: Her bağımlı cihazın veri yolunda benzersiz bir adresi vardır (genellikle 7-bit, bazen 10-bit). Yönetici, iletişim kurmak istediği bağımlı cihazı bu adresle seçer.


Onay Mekanizması (Acknowledgement - ACK / Not Acknowledge - NACK): Her veri baytı (8 bit) aktarıldıktan sonra, alıcı cihaz bir ACK biti göndererek veriyi başarılı bir şekilde aldığını veya bir NACK biti göndererek bir sorun olduğunu (örneğin, meşgul veya veriyi alamadı) bildirir.


  • Hız Modları: Farklı hızlarda çalışabilir:
  • Standart Mod (Standard Mode): 100 kbit/s'ye kadar
  • Hızlı Mod (Fast Mode - Fm): 400 kbit/s'ye kadar
  • Hızlı Mod Artı (Fast Mode Plus - Fm+): 1 Mbit/s'ye kadar
  • Yüksek Hızlı Mod (High-speed Mode - Hs-mode): 3.4 Mbit/s'ye kadar
  • Ultra Hızlı Mod (Ultra Fast-mode - UFm): 5 Mbit/s'ye kadar (tek yönlü)


Açık Tahliye (Open-Drain) / Açık Kollektör (Open-Collector) Çıkışlar: SDA ve SCL hatları Tamamlayıcı Metal-Oksit Yarıiletken (CMOS) veya Transistör-Transistör Mantığı (TTL) çıkışlarına sahiptir. Bu, birden fazla cihazın aynı hatta bağlanabilmesini ve hattın "kablolu VE (wired-AND)" mantığıyla çalışmasını sağlar. Bu nedenle, bu hatlar harici çekme (pull-up) dirençleriyle VDD'ye (besleme voltajı) bağlanmalıdır.

Çalışma Prensibi

  • Başlatma Koşulu (Start Condition): Yönetici, SCL hattı yüksek seviyedeyken SDA hattını yüksekten düşüğe çekerek iletişimi başlatır.
  • Adresleme: Yönetici, başlatma koşulundan sonra iletişim kurmak istediği bağımlı cihazın 7-bit (veya 10-bit) adresini ve ardından okuma (R) veya yazma (W) işlemini belirten bir R/W biti gönderir.
  • Onay (ACK): Adreslenen bağımlı cihaz, adresi tanıdıysa ve iletişim kurmaya hazırsa, SDA hattını bir saat darbesi boyunca düşük seviyeye çekerek bir ACK biti gönderir.
  • Veri Aktarımı:
  • Yazma İşlemi: Yönetici, bağımlı cihaza veri baytlarını gönderir. Her bayttan sonra bağımlı cihaz bir ACK gönderir.
  • Okuma İşlemi: Yönetici, bağımlı cihazdan veri baytlarını alır. Her bayttan sonra yönetici, daha fazla veri almak istiyorsa ACK, son baytı aldıysa NACK gönderir.
  • Veri bitleri, SCL hattı düşükken SDA hattında ayarlanır ve SCL hattının yükselen kenarında örneklenir. En anlamlı bit (MSB) önce gönderilir.
  • Durdurma Koşulu (Stop Condition): Yönetici, SCL hattı yüksek seviyedeyken SDA hattını düşükten yükseğe çekerek iletişimi sonlandırır.
  • Tekrarlayan Başlatma Koşulu (Repeated Start Condition): Bir yönetici, mevcut iletişimi durdurma koşuluyla sonlandırmadan, başka bir bağımlı cihaza geçmek veya aynı bağımlı cihazla işlem modunu (okuma/yazma) değiştirmek için tekrarlayan başlatma koşulu gönderebilir.
  • Saat Esnetme (Clock Stretching): Bağımlı bir cihaz, bir sonraki biti işlemek veya göndermek için daha fazla zamana ihtiyaç duyarsa, SCL hattını geçici olarak düşük seviyede tutarak yöneticiyi bekletebilir. Yönetici, SCL hattının tekrar yüksek seviyeye çıkmasını beklemek zorundadır.

Kullanım Alanları

I²C, gömülü sistemlerde çok çeşitli uygulamalarda kullanılır:

  • Sıcaklık sensörleri, nem sensörleri, ivmeölçerler, jiroskoplar gibi sensörlerden veri okuma.
  • EEPROM ve flash bellek yongalarına veri yazma ve okuma.
  • Gerçek zamanlı saatlerden (RTC) zaman ve tarih bilgilerini ayarlama ve okuma.
  • ADC (Analog-Dijital Çevirici) ve DAC (Dijital-Analog Çevirici) kontrolü.
  • LCD ve OLED ekran kontrolcüleri.
  • Güç yönetimi IC'leri (PMIC).
  • Fan hızı kontrolü ve sistem durumu izleme.
  • Dokunmatik ekran denetleyicileri.

Avantajları ve Dezavantajları

Avantajlar

Dezavantajlar

Düşük Pin Sayısı: Sadece iki hat (SDA ve SCL) kullanır, bu da mikrodenetleyicilerde pin tasarrufu sağlar.

Hız Sınırlaması: SPI gibi diğer protokollere göre daha yavaştır; standart modda 100 kbps hız sağlar.

Basitlik: Donanım ve yazılım uygulaması nispeten basittir.

Mesafe Sınırlaması: Veri yolu kapasitansı nedeniyle uzun mesafelerde güvenilirliği azalır.

Çoklu Cihaz Desteği: Tek bir veri yoluna çok sayıda cihaz bağlanabilir.

Karmaşıklık (Çoklu Yöneticili Sistemler): Çoklu yönetici uygulaması, tahkim mekanizması nedeniyle karmaşıktır.

Onay Mekanizması: Veri aktarımının güvenilirliğini artırır.

Çekme Dirençleri: Harici çekme dirençleri gerektirir, bu da ek maliyet ve devre karmaşıklığı anlamına gelir.

Yaygın Kullanım: Çok sayıda sensör, EEPROM, RTC gibi entegre devre tarafından desteklenir.

Adres Çakışmaları: Aynı adrese sahip birden fazla cihaz aynı veri yolunda kullanılamaz.


Kaynakça

Matrix Orbital. “I2C.” Matrix Orbital. Erişim 31 Mayıs 2025. https://www.matrixorbital.com/i2c

SFUptownMaker. “I2C”. Sparkfun Learn Blog. Son Erişim Tarihi: 27 Mayıs 2025. Erişim Linki: https://learn.sparkfun.com/tutorials/i2c/all

Wu, Joseph. "A Basic Guide to I2C". Texas Instruments Application Notes. Son Erişim Tarihi: 27 Mayıs 2025. Erişim Linki: https://www.ti.com/lit/an/sbaa565/sbaa565.pdf

Vahid, Frank and Givargis Tony. "Embedded System Design: A Unified Hardware/Software Approach". Department of Computer Science and Engineering, University of California, Draft version (1999). Son Erişim Tarihi: 27 Mayıs 2025. Erişim Linki: https://dsp-book.narod.ru/ESDUA.pdf

Lacamera, Daniele. Embedded Systems Architecture, Packt Publishing (2018). Kitap Linki: https://www.oreilly.com/library/view/embedded-systems-architecture/9781788832502/

Ayrıca Bakınız

Yazarın Önerileri

CAN Bus Haberleşme ProtokolüCA
CAN Haberleşme ProtokolüCA

CAN Haberleşme Protokolü

Elektrik Ve Elektronik +1
RFID (Radyo Frekansı ile Tanımlama Sistemi)

RFID (Radyo Frekansı ile Tanımlama Sistemi)

Elektrik Ve Elektronik +2
UART Haberleşme ProtokolüUA

UART Haberleşme Protokolü

Elektrik Ve Elektronik +2

Sen de Değerlendir!

0 Değerlendirme

Yazar Bilgileri

Avatar
Ana YazarYağmur Yıldız Parıltı26 Mayıs 2025 21:22
KÜRE'ye Sor