I2C və SPI arasında seçilən iki əsas serial kommunikasiya variantları olduqca çətin ola bilər və xüsusilə yanlış kommunikasiya protokolu istifadə edildikdə, layihənin dizaynına əhəmiyyətli təsir göstərə bilər. SPI və I2C həm də öz üstünlüklərini və məhdudiyyətlərini kommunikasiya protokolları kimi təqdim edir ki, bunların hər biri xüsusi tətbiqlərə uyğun olsun.
SPI
SPI və ya Serial to Periferik Interface, çox aşağı gücdür, IC nəzarətçiləri və bir-biri ilə ünsiyyət qurmaq üçün nəzərdə tutulmuş dörd telli serial kommunikasiya interfeysi. SPI avtobusu tam ötürücülü bir avtobusdur ki, bu da əsas qurğudan və ya 10 Mbps dərəcələrində eyni vaxtda axın üçün kommunikasiyaya imkan verir. SPI-nin yüksək sürətlə istifadəsi ümumiyyətlə, uzaq məsafədən kommunikasiyanın sinxron xəttlərə ötürülməsinə imkan verən qabiliyyətin artması səbəbindən ayrı PCB-lərdə ünsiyyət qurmaq üçün istifadə olunmasını məhdudlaşdırır. PCB capacitance də SPI kommunikasiya xətlərinin uzunluğunu məhdudlaşdıra bilər.
SPI qurulmuş bir protokol olsa da, uyğunluq məsələlərinə yol aça bilən bir neçə variant və SPI özelleştirmelerine səbəb olan rəsmi bir standart deyil. SPI tətbiqləri birləşmənin bir məhsulun inkişafına təsir edəcək gözlənilməz ünsiyyət problemlərinə malik olmasını təmin etmək üçün həmişə master nəzarətçiləri və kölə kənar qurğuları arasında yoxlanılmalıdır.
I2C
I2C yalnız PCB üzərində fişlər arasında əlaqə qurmaq üçün nəzərdə tutulmuş iki siqnal xətti tələb edən rəsmi bir standart serial rabitə protokolu. I2C başlanğıcda 100kbps ünsiyyət üçün nəzərdə tutulmuşdur, lakin daha sürətli məlumat ötürülməsi rejimi il ərzində 3.4Mbps-ə qədər sürət əldə etmək üçün hazırlanmışdır. I2C protokolu rəsmi standart olaraq yaradılmışdır ki, bu da I2C tətbiqləri arasında yaxşı uyğunluq və yaxşı geri uyğunluq təmin edir.
I2C və SPI arasında seçim
I2c və SPI arasında seçilən iki əsas serial rabitə protokolu, I2C, SPI və tətbiqinizin üstünlükləri və məhdudiyyətlərini yaxşı başa düşməyi tələb edir. Hər bir kommunikasiya protokolu sizin tətbiqinizə tətbiq edildiyi kimi özünü fərqləndirən fərqli üstünlüklərə malik olacaq. I2C və SPI arasında əsas fərqlər aşağıdakılardır:
- I2C yalnız iki tel tələb edir, SPI isə üç-dörd tələb edir
- SP2, I2C yavaş olduğu müddətdə yüksək sürətlə tam dubleks kommunikasiyanı dəstəkləyir
- I2C SPI-dən daha çox güc çəkir
- I2C eyni avtobusda birdən çox cihazı dəstəkləyir, əlavə olaraq seçilən siqnal hatları ilə ünsiyyət qurğusu ilə müraciət edərkən, SPI eyni avtobusda birdən çox cihazı idarə etmək üçün əlavə sinyal xətləri tələb edir.
- I2C, göndərilən məlumatların kölə qurğusu tərəfindən qəbul edildiyini və SPI'nin məlumatların düzgün alındığını doğrulamadığını təmin edir
- I2C, kommunikasiya avtobusunu buraxmayan bir cihazla bağlana bilər
- SPI, I2C-nin aşağı ötürülmə sürəti ilə olsa da, PCB-dən ötürülə bilməz
- I2C SPI kommunikasiya protokolundan daha ucuzdur
- I2C birdən çox master cihazını dəstəkləyir, SPI yalnız avtobusda bir master cihazı dəstəkləyir
- I2C SPI-dən daha az səs-küy edir
- SPI yalnız qısa məsafələrə səyahət edə bilər və nadir hallarda PCB-dən uzaqda olsa da, I2C məlumatları daha az məsafələrə ötürə bilər,
- Rəsm standartlarının olmaması SPI protokolunun bir neçə dəyişikliyinə gətirib çıxardı, I2C protokoluna əsasən yoluxmuş dəyişikliklər
SPI və I2C arasında bu fərqlər tətbiq üçün ən yaxşı ünsiyyət variantını seçməlidir. SPI və I2C həm yaxşı ünsiyyət variantlarıdır, lakin hər birinə bir neçə fərqli üstünlük və üstünlük tətbiqləri vardır. Ümumilikdə, I2C çox sayda ətraf mühitlə ünsiyyət qurmaq və I2C avtobusunun ətraf mühit qurğuları arasında əsas quruluş rolunun dinamik dəyişməsi üçün idealdır. Hər iki SPI və I2C də gömülü dünyaya uyğun olan gömülü tətbiqlər üçün möhkəm, sabit kommunikasiya protokollarıdır.