Serial periferik interfeys (SPI) qisqa masofali aloqa uchun, ayniqsa, oʻrnatilgan tizimlarda ishlatiladi. Ko'proq keng tarqalgan ketma-ket aloqa protokoli I2C bo'lib, u komponentlar bir xil PCBda yoki kabel orqali ulangan bo'lishidan qat'i nazar, elektron komponentlar orasidagi aloqani osonlashtiradi.
Ikki asosiy ketma-ket aloqa protokollari boʻlgan I2C va SPI oʻrtasida tanlov qilish I2C, SPI va ilovaning afzalliklari va cheklovlarini toʻliq tushunishni talab qiladi. Har bir aloqa protokoli oʻziga xos afzalliklarga ega boʻlib, ular ilovangizga qoʻllanishi bilan ajralib turadi.
- Yuqori tezlik va kam quvvatli ilovalar uchun yaxshiroq.
- Rasmiy standart emas, odatda kamroq mos keladi.
- Bir nechta tashqi qurilmalar bilan aloqa qilish va asosiy qurilma rolini oʻzgartirish uchun yaxshiroq.
- Standartlashtirish yaxshi moslikni ta'minlaydi.
SPI yuqori tezlikli, kam quvvatli ilovalar uchun yaxshiroqdir. I2C ko'p sonli tashqi qurilmalar bilan aloqa qilish uchun ko'proq mos keladi. SPI ham, I2C ham oʻrnatilgan ilovalar uchun mustahkam, barqaror aloqa protokollari boʻlib, ular oʻrnatilgan dunyo uchun juda mos keladi.
SPI afzalliklari va kamchiliklari
-
Yuqorroq tezlikda toʻliq dupleks aloqani qoʻllab-quvvatlaydi.
- Juda kam quvvat.
- Qisqa uzatish masofalari, alohida PCBlardagi komponentlar oʻrtasida aloqa oʻrnatib boʻlmaydi.
- Bir nechta variant va moslashtirishlar moslik muammolarini keltirib chiqarishi mumkin.
- Bir avtobusda bir nechta qurilmalarni boshqarish uchun qoʻshimcha signal liniyalari talab qilinadi.
- Ma'lumotlar to'g'ri olinganligini tasdiqlamaydi.
- Shovqinga koʻproq moyil.
Serialdan periferik interfeysga juda kam quvvat sarflaydigan toʻrt simli ketma-ket aloqa interfeysi. U IC kontrollerlari va atrof-muhit birliklari bir-biri bilan bog'lanishi uchun mo'ljallangan. SPI shinasi to'liq dupleksli avtobus bo'lib, u bir vaqtning o'zida 10 Mbit / s gacha tezlikda asosiy qurilmaga va undan aloqani o'tkazish imkonini beradi. SPI ning yuqori tezlikda ishlashi, odatda, uzoq masofali aloqa signal liniyalariga qo'shadigan sig'imning oshishi tufayli uni alohida PCB'lardagi komponentlar o'rtasida aloqa qilish uchun foydalanishni cheklaydi. PCB sig'imi SPI aloqa liniyalari uzunligini ham cheklashi mumkin.
SPI o'rnatilgan protokol bo'lsa-da, u rasmiy standart emas. SPI muvofiqlik muammolariga olib keladigan bir nechta variant va sozlashlarni taklif qiladi. SPI ilovalari har doim birlamchi kontrollerlar va ikkilamchi tashqi qurilmalar o'rtasida tekshirilishi kerak, bu kombinatsiya mahsulot rivojlanishiga ta'sir qiladigan kutilmagan aloqa muammolariga yo'l qo'ymasligiga ishonch hosil qiling.
I2C-ning afzalliklari va kamchiliklari
- Aloqa ichidagi qurilma manzili orqali qoʻshimcha tanlangan signal liniyalarisiz bitta avtobusda bir nechta qurilmalarni qoʻllab-quvvatlaydi.
- Rasmiy standart I2C ilovalari va orqaga qarab muvofiqlikni ta'minlaydi.
- Yuborilgan ma'lumotlar ikkinchi darajali qurilma tomonidan qabul qilinishini ta'minlaydi.
- Teklikni oʻchirib yuborishi mumkin, lekin past uzatish tezligida.
- SPI aloqa protokoliga qaraganda amalga oshirish arzonroq.
- SPIga qaraganda shovqinga kamroq sezgir.
- Ma'lumotni uzoqroq masofalarga uzating.
- Uzatish tezligi va ma'lumotlar tezligi pastroq.
- Aloqa avtobusini chiqara olmaydigan bitta qurilma tomonidan bloklanishi mumkin.
- SPIga qaraganda koʻproq quvvat sarflaydi.
I2C rasmiy standart ketma-ket aloqa protokoli boʻlib, u faqat PCBdagi chiplar oʻrtasida aloqa oʻrnatish uchun moʻljallangan ikkita signal liniyasini talab qiladi. I2C dastlab 100 kbps aloqa uchun mo'ljallangan. Shunga qaramay, 3,4 Mbit / s gacha tezlikka erishish uchun yillar davomida tezroq ma'lumotlarni uzatish rejimlari ishlab chiqildi. I2C protokoli rasmiy standart sifatida yaratilgan boʻlib, u I2C ilovalari oʻrtasida yaxshi moslik va yaxshi orqaga qarab muvofiqlikni taʼminlaydi.
Yuqoridagi ijobiy va salbiy tomonlar roʻyxatiga qoʻshimcha ravishda I2C faqat ikkita simni talab qiladi. SPI uch yoki to'rtta talab qiladi. Bundan tashqari, SPI avtobusda faqat bitta asosiy qurilmani, I2C esa bir nechta asosiy qurilmalarni qoʻllab-quvvatlaydi.
I2C va SPI oʻrtasida tanlash
Umuman olganda, SPI yuqori tezlik va kam quvvatli ilovalar uchun yaxshiroqdir, I2C esa koʻp sonli tashqi qurilmalar bilan aloqa qilish uchun, shuningdek, I2C-dagi tashqi qurilmalar oʻrtasida asosiy qurilma rolini dinamik ravishda oʻzgartirish bilan bogʻliq vaziyatlarda yaxshiroq mos keladi. avtobus.