1980-yillarda Philips tomonidan ishlab chiqilgan I2C (muqobil ravishda I2C) elektronikada eng koʻp qoʻllaniladigan ketma-ket aloqa protokollaridan biriga aylandi. I2C elektron komponentlar yoki integral mikrosxemalar o'rtasidagi aloqani osonlashtiradi, komponentlar bir xil PCBda yoki kabel orqali ulanadi.
I2C protokoli nima?
I2C - bu faqat ikkita signal liniyasini talab qiladigan ketma-ket aloqa protokoli. U bosilgan elektron platadagi (PCB) chiplar o'rtasidagi aloqa uchun mo'ljallangan. I2C dastlab 100 Kbps aloqa uchun mo'ljallangan. Biroq, yillar davomida 3 gacha tezlikka erishish uchun tezroq ma'lumotlarni uzatish rejimlari ishlab chiqilgan.4 Mbit.
I2C ning asosiy xususiyati - faqat ikkita simli bitta aloqa avtobusida ko'plab komponentlarga ega bo'lish qobiliyati, bu I2C-ni oddiy ilovalar uchun mukammal qiladi. I2C protokoli I2C ilovalari oʻrtasida orqaga qarab moslashish imkonini beruvchi rasmiy standart sifatida oʻrnatildi.
I2C signallari
I2C protokoli aloqa avtobusidagi qurilmalar bilan aloqa qilish uchun ikkita ikki tomonlama signal liniyasidan foydalanadi. Ishlatilgan ikkita signal:
- Serial ma'lumotlar liniyasi (SDL)
- Serial ma'lumotlar soati (SDC)
I2C bir nechta tashqi qurilmalar bilan aloqa qilish uchun faqat ikkita signaldan foydalanishi mumkinligining sababi avtobus bo'ylab aloqa qanday amalga oshirilishidadir. Har bir I2C aloqasi 7-bitli (yoki 10-bitli) manzildan boshlanadi, u tashqi qurilma manzilini chaqiradi.
Bu I2C avtobusidagi bir nechta qurilmalarga tizim ehtiyojlariga koʻra asosiy qurilma rolini oʻynashga imkon beradi. Aloqa to'qnashuvlarining oldini olish uchun I2C protokoli avtobus bo'ylab silliq aloqani ta'minlaydigan arbitraj va to'qnashuvlarni aniqlash imkoniyatlarini o'z ichiga oladi.
I2C afzalliklari
Aloqa protokoli sifatida I2C quyidagi afzalliklarga ega:
- Moslashuvchan ma'lumotlarni uzatish tezligi.
- SPIga qaraganda uzoqroq aloqa.
- Avtobusdagi har bir qurilma mustaqil ravishda manzilga ega.
- Qurilmalar oddiy birlamchi/ikkilamchi aloqaga ega.
- Bu faqat ikkita signal liniyasini talab qiladi.
- U arbitraj va aloqa toʻqnashuvini aniqlash orqali bir nechta asosiy aloqalarni boshqarishga qodir.
I2C cheklovlari
Ushbu afzalliklarning barchasi bilan I2C, shuningdek, ishlab chiqilishi kerak bo'lgan bir nechta cheklovlarga ega. Eng muhim I2C cheklovlariga quyidagilar kiradi:
- Qurilmani manzillash uchun faqat 7-bit (yoki 10-bit) mavjud boʻlganligi sababli, bitta avtobusdagi qurilmalar bir xil manzilni ulashishi mumkin. Ba'zi qurilmalar manzilning so'nggi bir necha bitlarini sozlashi mumkin, ammo bu bir xil avtobusdagi qurilmalarni cheklaydi.
- Faqat bir nechta cheklangan aloqa tezligi mavjud va koʻplab qurilmalar yuqori tezlikda uzatishni qoʻllab-quvvatlamaydi. Avtobusdagi har bir tezlikni qisman qoʻllab-quvvatlash sekinroq qurilmalarning ishdagi nosozliklarga olib kelishi mumkin boʻlgan qisman uzatishlarni ushlab qolishining oldini olish uchun talab qilinadi.
- I2C avtobusining umumiy xususiyati avtobusdagi bitta qurilma ishlamay qolganda butun avtobus osilib qolishiga olib kelishi mumkin. Avtobusga quvvatni velosipedda ulash to‘g‘ri ishlashni tiklashi mumkin.
- Qurilmalar oʻzlarining aloqa tezligini oʻrnatganligi sababli, sekinroq ishlaydigan qurilmalar tezroq qurilmalarning ishlashini kechiktirishi mumkin.
- I2C aloqa liniyalarining ochiq drenajli topologiyasi tufayli boshqa ketma-ket aloqa shinalariga qaraganda koʻproq quvvat sarflaydi.
- I2C avtobusining cheklovlari odatda avtobusdagi qurilmalar sonini taxminan oʻntagacha cheklaydi.
I2C ilovalari
I2C - yuqori tezlikni emas, balki arzon narxlardagi va oddiy amalga oshirishni talab qiladigan ilovalar uchun ajoyib imkoniyat. Masalan, I2C aloqa protokolidan keng tarqalgan foydalanish quyidagilardan iborat:
- Ma'lum xotira IC'larini o'qish.
- DAC va ADC-larga kirish.
- Foydalanuvchi tomonidan boshqariladigan amallarni uzatish va boshqarish.
- Uskuna sensorlarini oʻqish.
- Bir nechta mikro-kontroller bilan aloqa.