Pasirinkimas tarp projekto I2C ir SPI

Pasirinkus tarp I2C ir SPI, dvi pagrindinės nuosekliojo ryšio galimybės gali būti gana sudėtingos ir turi didelės įtakos projekto projektui, ypač jei naudojamas netinkamas ryšio protokolas. Tiek "SPI", tiek "I2C" teikia savo pranašumus ir apribojimus kaip komunikacijos protokolus, kurie juos pritaiko konkrečioms programoms.

SPI

SPI arba Serial to Peripheral Interface yra labai mažos galios, keturių laidų nuosekliojo ryšio sąsaja, skirta IC kontroleriams ir periferiniams įrenginiams bendrauti tarpusavyje. "SPI" autobusas yra "full-duplex" autobusas, kuris vienu metu gali jungtis prie pagrindinio įrenginio ir iš jo, esant iki 10Mbps spartos. Greitas SPI veikimas paprastai riboja tai, kad jis naudojamas ryšiui tarp komponentų atskiruose PCB dėl padidėjusio talpos, kad ilgesnio nuotolio ryšys padidina signalų linijas. PCB talpa taip pat gali apriboti SPI ryšio linijų ilgį.

Nors SPI yra nustatytas protokolas, tai nėra oficialus standartas, dėl kurio atsiranda keletas variantų ir SPI pritaikymų, dėl kurių gali kilti suderinamumo problemų. SPI diegimai visada turėtų būti tikrinami tarp pagrindinių valdiklių ir pagalbinių išorinių įrenginių, siekiant užtikrinti, kad derinyje nebus jokių nenumatytų komunikacijos problemų, kurios turės įtakos produkto kūrimui.

I2C

I2C yra oficialus standartinis nuoseklusis ryšių protokolas, kuris reikalauja tik dviejų signalų linijų, skirtų ryšiui tarp PCB kištukų. Iš pradžių I2C buvo sukurtas 100kbps ryšiui, tačiau greitesni duomenų perdavimo būdai buvo sukurti per pastaruosius metus, siekiant greičio iki 3,4 Mb / s. I2C protokolas buvo sukurtas kaip oficialus standartas, kuris užtikrina gerą I2C realizacijų suderinamumą ir gerą atgalinį suderinamumą.

Pasirinkimas tarp I2C ir SPI

Pasirinkus I2C ir SPI, du pagrindiniai nuosekliojo ryšio protokolai, reikia gerai suprasti I2C, SPI ir jūsų programos pranašumus ir apribojimus. Kiekvienas ryšių protokolas turės aiškių pranašumų, kurie paprastai skirsis, kaip tai taikoma jūsų paraiškai. Pagrindiniai skirtumai tarp I2C ir SPI yra šie:

Dėl šių skirtumų tarp SPI ir I2C turėtų būti lengviau pasirinkti geriausią bendravimo su jūsų paraiška variantą. Tiek SPI, tiek I2C yra geros komunikacijos galimybės, tačiau kiekvienas turi keletą išskirtinių pranašumų ir pageidaujamų programų. Apskritai, SPI yra geresnės didelės spartos ir mažo galingumo programoms, tuo tarpu I2C geriau tinka bendrauti su daugeliu išorinių įrenginių ir dinamiškai keisti pagrindinio įrenginio vaidmenį tarp periferinių įrenginių I2C magistralėje. Tiek "SPI", tiek "I2C" yra tvirti, stabili ryšio protokolai, skirti įmontuotoms programoms, kurios puikiai tinka integruotam pasauliui.