I2C va SPI o'rtasida ikkita asosiy ketma-ket aloqa opsiyasi tanlash juda qiyin bo'lishi mumkin va loyihani loyihalashda, ayniqsa, noto'g'ri aloqa protokoli ishlatilganda sezilarli ta'sir ko'rsatishi mumkin. Ikkala SPI va I2C ham o'zlarining afzalliklari va chegaralarini aloqa protokoli sifatida keltirib chiqaradi, bu esa har biri alohida ilovalar uchun mos keladi.
SPI
SPI yoki Periferik interfeysdan seriyali, juda past kuch, IC nazorat qilish va atrof-muhit birliklari uchun bir-biri bilan muloqot qilish uchun mo'ljallangan to'rt simli ketma-ket aloqa interfeysi. SPI avtobusi to'liq jihozlangan avtobus bo'lib, asosiy qurilmaga bir vaqtning o'zida 10 Mbit / s gacha tezlikda aloqa qilish imkonini beradi. SPI ning yuqori tezlikli ishlashi, odatda, uzatkich uzatish uchun signal uzatmalariga qo'shilsa, u alohida-alohida PCBlarda tarkibiy qismlar o'rtasida bog'lanish uchun ishlatiladi. Tenglikni o'tkazish imkoniyati SPI aloqa liniyalarining uzunligini ham cheklab qo'yishi mumkin.
SPI o'rnatilgan protokol bo'lsa-da, bu bir necha variantlarga va muvofiqligi masalalariga olib kelishi mumkin bo'lgan SPI moslashuviga olib keladigan rasmiy standart emas. SPI ilovalari har doim birlashmaning mahsulotni ishlab chiqishiga ta'sir qiladigan kutilmagan aloqa muammolariga ega bo'lmasligini ta'minlash uchun master dispetcherlar va qul ekologik birliklari o'rtasida tekshirilishi kerak.
I2C
I2C faqat chiplar o'rtasidagi tenglik bilan bog'lanish uchun mo'ljallangan ikkita signal chizig'ini talab qiladigan rasmiy standart aloqa protokoli hisoblanadi. I2C dastlab 100kbps aloqa uchun mo'ljallangan, ammo tezkor ma'lumot uzatish rejimi yillar mobaynida 3.4 Mbit / s gacha tezlikni ta'minlash uchun ishlab chiqilgan. I2C protokoli rasmiy standart sifatida ishlab chiqilgan bo'lib, I2C ilovalari orasida yaxshi muvofiqligi va yaxshi qaytarib muvofiqligi bilan ta'minlaydi.
I2C va SPI o'rtasida tanlov
I2c va SPI o'rtasidagi ikkita asosiy ketma-ket aloqa protokoli I2C, SPI va ilovangizning afzalliklari va cheklovlarini yaxshi tushunishni talab qiladi. Har bir aloqa protokoli sizning ilovangizga nisbatan qo'llanishi mumkin bo'lganidek, o'zini farqlash xususiyatiga ega bo'ladi. I2C va SPI o'rtasidagi asosiy farqlar quyidagilardir:
- I2C faqat ikkita simni talab qiladi, SPI esa uch yoki to'rtta talab qiladi
- SPI yuqori tezlikda to'liq dupleks aloqa xizmatini qo'llab-quvvatlaydi, I2C esa sekinroq
- I2C SPI ga qaraganda ko'proq kuch sarflaydi
- I2C bir xil avtobusda bir nechta qurilmani aloqa vositasi manzillari orqali qo'shimcha tanlangan signal uzatishsiz qo'llab-quvvatlaydi, shu bilan birga SPI bir avtobusda bir nechta qurilmalarni boshqarish uchun qo'shimcha signal liniyalarini talab qiladi
- I2C, yuborilgan ma'lumotlarning tobe qurilma tomonidan qabul qilinishini ta'minlaydi, SPI ma'lumotlarning to'g'ri qabul qilinishini tasdiqlamaydi
- I2C aloqa avtobusini ozod qila olmaydigan bir qurilma tomonidan qulflanishi mumkin
- I2C past ma'lumot uzatish tezligida bo'lsada, SPI tenglikni uzata olmaydi
- I2C SPI aloqa protokoliga nisbatan ancha arzonroq
- I2C bir nechta asosiy qurilmalarni qo'llab-quvvatlaydi, SPI faqat avtobusda bitta asosiy qurilmani qo'llab-quvvatlaydi
- I2C SPI ga nisbatan kamroq shovqinga ega
- SPI faqat qisqa masofani bosib o'tishi mumkin va kamdan-kam hollarda PCB ni o'chirishi mumkin, I2C ma'lumotlar uzatishni ancha past masofalarga o'tkazishi mumkin,
- Rasmiy standartning etishmasligi SPI protokolining bir nechta o'zgarishiga olib keldi, I2C protokoli bilan katta darajada qochib ketgan o'zgarishlar
SPI va I2C o'rtasidagi bu farqlar sizning ilovangiz uchun eng yaxshi aloqa opsiyasini tanlashni amalga oshirishi kerak. Ikkala SPI va I2C ham yaxshi aloqa opsiyalari, lekin ularning har biri alohida afzalliklarga ega va afzal dasturlarga ega. Umuman olganda, I2C ko'p sonli atrof-muhit birliklari bilan aloqa qilish va I2C avtobusidagi atrof-muhit birliklari orasida asosiy qurilma rolini dinamik ravishda o'zgartirish uchun mos bo'lganligi uchun I2C yaxshi bo'lgan yuqori tezlik va kam quvvatli ilovalar uchun yaxshiroqdir. SPI va I2C har ikkisi ham ko'milgan dunyoga yaxshi moslangan ko'milgan ilovalar uchun mustahkam, barqaror aloqa protokollaridir.