Turinys:
- 1 žingsnis: SERIAL VS. Lygiagretus bendravimas
- 2 žingsnis:
- 3 žingsnis:
- 4 žingsnis: SPI KOMUNIKACIJOS ĮVADAS
- 5 žingsnis:
- 6 žingsnis:
- 7 žingsnis:
- 8 žingsnis: KAIP SPI VEIKIA
- 9 veiksmas:
- 10 veiksmas:
- 11 veiksmas:
- 12 žingsnis:
- 13 žingsnis: SPI pranašumai ir trūkumai
Video: SPI KOMUNIKACIJOS PROTOKOLO PAGRINDAI: 13 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Kai prijungiate mikrovaldiklį prie jutiklio, ekrano ar kito modulio, ar kada nors pagalvojate, kaip šie du įrenginiai kalbasi tarpusavyje? Ką jie tiksliai sako? Kaip jie sugeba suprasti vienas kitą?
Bendravimas tarp elektroninių prietaisų yra tarsi bendravimas tarp žmonių. Abi pusės turi kalbėti ta pačia kalba. Elektronikoje šios kalbos vadinamos bendravimo protokolais. Mūsų laimei, yra tik keli bendravimo protokolai, kuriuos turime žinoti kurdami daugumą „pasidaryk pats“elektronikos projektų. Šioje straipsnių serijoje aptarsime trijų dažniausiai pasitaikančių protokolų pagrindus: nuosekliąją periferinę sąsają (SPI), integracinę grandinę (I2C) ir universalų asinchroninį imtuvą/siųstuvą (UART). Pirma, pradėsime nuo kai kurių pagrindinių elektroninio bendravimo sąvokų, tada išsamiai paaiškinsime, kaip veikia SPI. Kitame straipsnyje aptarsime UART valdomą bendravimą, o trečiajame straipsnyje pasinersime į I2C. SPI, I2C ir UART yra šiek tiek lėtesni nei protokolai, tokie kaip USB, „Ethernet“, „Bluetooth“ir „WiFi“, tačiau jie yra daug paprastesni ir naudoja mažiau aparatūros ir sistemos išteklių. SPI, I2C ir UART idealiai tinka komunikacijai tarp mikrovaldiklių ir tarp mikrovaldiklių bei jutiklių, kai nereikia perduoti didelės spartos duomenų.
1 žingsnis: SERIAL VS. Lygiagretus bendravimas
Elektroniniai prietaisai kalbasi tarpusavyje siunčiant duomenų bitus laidais, fiziškai sujungtais tarp įrenginių. Šiek tiek yra kaip raidė žodyje, išskyrus tai, kad vietoj 26 raidžių (angliškoje abėcėlėje) bitas yra dvejetainis ir gali būti tik 1 arba 0. Bitai perkeliami iš vieno įrenginio į kitą greitai keičiant įtampą. Sistemoje, veikiančioje esant 5 V įtampai, 0 bitas perduodamas kaip trumpas 0 V impulsas, o 1 bitas - trumpas 5 V impulsas.
Duomenų bitai gali būti perduodami lygiagrečiai arba nuosekliai. Lygiagrečiai bendraujant, duomenų bitai siunčiami vienu metu, kiekvienas per atskirą laidą. Ši diagrama rodo lygiagretų raidės „C“perdavimą dvejetainiu (01000011):
2 žingsnis:
Serijinio ryšio metu bitai siunčiami po vieną per vieną laidą. Šioje diagramoje pavaizduotas serijinis raidės „C“perdavimas dvejetainiu būdu (01000011):
3 žingsnis:
4 žingsnis: SPI KOMUNIKACIJOS ĮVADAS
SPI yra bendras ryšio protokolas, naudojamas daugelyje skirtingų įrenginių. Pavyzdžiui, SD kortelės moduliai, RFID kortelių skaitytuvo moduliai ir 2,4 GHz belaidis siųstuvas/imtuvas naudoja SPI, kad galėtų bendrauti su mikrovaldikliais.
Vienas unikalus SPI privalumas yra tai, kad duomenys gali būti perduodami be pertrūkių. Nepertraukiamu srautu galima siųsti ar gauti bet kokį bitų skaičių. Naudojant I2C ir UART, duomenys siunčiami paketais, apribotais tam tikru bitų skaičiumi. Pradžios ir sustabdymo sąlygos apibrėžia kiekvieno paketo pradžią ir pabaigą, todėl duomenys perdavimo metu nutrūksta. Įrenginiai, bendraujantys per SPI, yra pagrindinio ir vergo santykiai. Pagrindinis yra valdymo įtaisas (dažniausiai mikrovaldiklis), o vergas (dažniausiai jutiklis, ekranas ar atminties mikroschema) priima vadovo nurodymus. Paprasčiausia SPI konfigūracija yra vieno šeimininko, vieno pavaldžios sistemos, tačiau vienas valdytojas gali valdyti daugiau nei vieną vergą (daugiau apie tai žemiau).
5 žingsnis:
6 žingsnis:
MOSI (pagrindinė išvestis/pavaldi įvestis) - eilutė, skirta kapitonui siųsti duomenis vergui.
MISO (pagrindinė įvestis/pavaldinio išvestis) - eilutė, skirta vergui siųsti duomenis pagrindiniam.
SCLK (laikrodis) - laikrodžio signalo eilutė.
SS/CS (Slave Select/Chip Select) - eilutė, skirta kapitonui pasirinkti, kuriam vergui siųsti duomenis
7 žingsnis:
*Praktiškai vergų skaičių riboja sistemos apkrovos talpa, o tai sumažina šeimininko galimybę tiksliai perjungti įtampos lygius.
8 žingsnis: KAIP SPI VEIKIA
LAIKRODIS
Laikrodžio signalas sinchronizuoja duomenų bitų išėjimą iš pagrindinio į pavaldinio bitų atranką. Kiekvieno laikrodžio ciklo metu perduodamas vienas bitas duomenų, todėl duomenų perdavimo greitį lemia laikrodžio signalo dažnis. SPI ryšį visada inicijuoja kapitonas, nes kapitonas sukonfigūruoja ir generuoja laikrodžio signalą.
Bet koks ryšio protokolas, kai įrenginiai dalijasi laikrodžio signalu, vadinamas sinchroniniu. SPI yra sinchroninio ryšio protokolas. Taip pat yra asinchroninių metodų, kuriuose nenaudojamas laikrodžio signalas. Pavyzdžiui, UART komunikacijoje abi pusės yra iš anksto sukonfigūruotos duomenų perdavimo spartos, kuri nurodo duomenų perdavimo greitį ir laiką.
Laikrodžio signalą SPI galima keisti naudojant laikrodžio poliškumo ir laikrodžio fazės savybes. Šios dvi savybės kartu apibrėžia, kada bitai išvedami ir kada imami mėginiai. Pagrindinis gali nustatyti laikrodžio poliškumą, kad būtų galima išvesti bitus ir imti mėginius ant kylančio arba krintančio laikrodžio ciklo krašto. Laikrodžio fazę galima nustatyti, kad išvestis ir mėginių ėmimas vyktų pirmame arba antrame laikrodžio ciklo krašte, nepriklausomai nuo to, ar jis kyla, ar krinta.
SLAVE SELECT
Šeimininkas gali pasirinkti, su kuriuo vergu nori kalbėti, nustatydamas vergo CS/SS liniją į žemos įtampos lygį. Neveikiančioje, neperduodančioje būsenoje vergo pasirinkimo linija palaikoma aukštos įtampos lygyje. Pagrindiniame kompiuteryje gali būti keli CS/SS kaiščiai, o tai leidžia lygiagrečiai prijungti kelis vergus. Jei yra tik vienas CS/SS kaištis, prie pagrindinio kompiuterio gali būti prijungti keli vergai.
KELIŲ VERGŲ SPI
gali būti nustatytas veikti su vienu šeimininku ir vienu vergu, taip pat su keliais vergais, kuriuos valdo vienas šeimininkas. Yra du būdai prijungti kelis vergus prie pagrindinio. Jei šeimininkas turi kelis vergų pasirinkimo kaiščius, vergai gali būti prijungti lygiagrečiai taip:
9 veiksmas:
10 veiksmas:
MOSI IR MISO
Pagrindinis siunčia duomenis į pavaldinį po truputį, nuosekliai per MOSI liniją. Vergas gauna iš pagrindinio kompiuterio siunčiamus duomenis per MOSI kaištį. Duomenys, siunčiami iš pagrindinio į pavaldinį, paprastai siunčiami pirmiausia su svarbiausiu bitu. Vergas taip pat gali nuosekliai siųsti duomenis atgal valdytojui per MISO liniją. Duomenys, atsiųsti iš vergo atgal į pagrindinį kompiuterį, paprastai siunčiami pirmiausia su mažiausiai reikšmingu bitu. SPI DUOMENŲ PERDAVIMO ŽINGSNIAI 1. Meistras perduoda laikrodžio signalą:
11 veiksmas:
Jei yra tik vienas vergo pasirinkimo kaištis, vergai gali būti sujungti grandine taip:
12 žingsnis:
MOSI IR MISO
Pagrindinis siunčia duomenis į pavaldinį po truputį, nuosekliai per MOSI liniją. Vergas gauna iš pagrindinio kompiuterio siunčiamus duomenis per MOSI kaištį. Duomenys, siunčiami iš pagrindinio į pavaldinį, paprastai siunčiami pirmiausia su svarbiausiu bitu.
Vergas taip pat gali nuosekliai siųsti duomenis atgal valdytojui per MISO liniją. Duomenys, atsiųsti iš vergo atgal į pagrindinį kompiuterį, paprastai siunčiami pirmiausia su mažiausiai reikšmingu bitu.
SPI DUOMENŲ PERDAVIMO ŽINGSNIAI
*Pastaba Vaizdai yra sąraše „Oboe“, kuriuos galite lengvai atskirti
1. Meistras išleidžia laikrodžio signalą:
2. Pagrindinis įjungia SS/CS kaištį į žemos įtampos būseną, kuri įjungia vergą:
3. Pagrindinis siunčia duomenis po vieną bitą vergui išilgai MOSI linijos. Vergas skaito gautus bitus:
4. Jei reikia atsakymo, vergas po vieną bitą grąžina duomenis pagrindiniam kompiuteriui išilgai MISO linijos. Meistras skaito bitus, kai jie gaunami:
13 žingsnis: SPI pranašumai ir trūkumai
Naudojant SPI yra keletas privalumų ir trūkumų, ir jei jums suteikiamas pasirinkimas tarp skirtingų ryšio protokolų, turėtumėte žinoti, kada naudoti SPI pagal jūsų projekto reikalavimus:
PRIVALUMAI
Nėra pradžios ir pabaigos bitų, todėl duomenys gali būti nuolat transliuojami be pertraukų Nėra sudėtingos vergų adresavimo sistemos, tokios kaip I2C Didesnis duomenų perdavimo greitis nei I2C (beveik dvigubai greitesnis) Atskiros MISO ir MOSI linijos, todėl duomenys gali būti siunčiami ir gaunami tuo pačiu metu laikas
TRŪKUMAI
Naudoja keturis laidus (I2C ir UART naudoja du) Nepripažįstama, kad duomenys buvo gauti sėkmingai (I2C tai turi) Nėra jokios klaidų tikrinimo formos, kaip UART pariteto bitas Tik leidžia tik vienam meistrui Tikimės, kad šis straipsnis geriau suprato iš SPI. Tęskite antrąją šios serijos dalį, kad sužinotumėte apie UART valdomą bendravimą, arba trečiąją dalį, kurioje aptariame I2C protokolą.
Jei turite klausimų, nedvejodami užduokite juos komentarų skiltyje, mes esame čia, kad padėtume. Ir būtinai sekite
Pagarbiai: M. Junaid
Rekomenduojamas:
RC5 nuotolinio valdymo protokolo dekoderis be bibliotekos: 4 žingsniai
RC5 nuotolinio valdymo protokolo dekoderis be bibliotekos: prieš dekoduojant rc5 pirmiausia aptariame, kas yra rc5 komanda ir kokia jos struktūra. Taigi iš esmės „rc5“komanda naudojama nuotolinio valdymo pultuose, naudojamuose televizoriuose, kompaktinių diskų grotuvuose, „d2h“, namų kino sistemose ir tt, ji turi 13 arba 14 bitų, išdėstytų
Alternatyvi komunikacijos liemenė (CoCoA): 8 žingsniai (su paveikslėliais)
Alternatyvi komunikacijos liemenė (CoCoA): „CoCoA“projektas yra nešiojama liemenė, prijungta prie interneto, kuri suteikia lytėjimo alternatyvaus bendravimo simbolius, padedančius žmonėms, turintiems kalbos ar neverbalinę negalią. Santrumpa CoCoa kilusi iš sutrumpinto portugalų vardo:
Oro kondicionieriaus nuotolinio valdymo pulto IR protokolo supratimas: 9 žingsniai (su nuotraukomis)
Oro kondicionieriaus nuotolinio valdymo pulto IR protokolo supratimas: jau kurį laiką mokausi apie IR protokolus. Kaip siųsti ir priimti IR signalus. Šiuo metu lieka tik kintamosios srovės nuotolinio valdymo pulto IR protokolas. Skirtingai nuo tradicinių beveik visų elektronikos prietaisų (tarkime, televizoriaus) nuotolinio valdymo pulto, kuriame
UART KOMUNIKACIJOS PAGRINDAI: 16 žingsnių
UART KOMUNIKACIJOS PAGRINDAI: Prisiminkite, kai spausdintuvai, pelės ir modemai turėjo storus kabelius su šiomis didžiulėmis griozdiškomis jungtimis? Tie, kuriuos tiesiogine prasme reikėjo įsukti į kompiuterį? Šie įrenginiai tikriausiai naudojo UART, kad galėtų bendrauti su kompiuteriu. Nors USB turi daug
Infraraudonųjų spindulių NEC protokolo kodavimo ir dekodavimo plokštė: 5 žingsniai
Infraraudonųjų spindulių NEC protokolo kodavimo ir dekodavimo plokštė: priima neapdorotą moduliuotą arba demoduliuotą NEC IR signalą ir paverčia jį baitais, siunčiamais iš nuoseklaus prievado. Serijos duomenų perdavimo spartą galima pasirinkti iš dviejų numatytųjų greičių. Numatytasis naudojimo režimas perduoda komandų seką su kadravimo baitu