Sisukord:
- 1. samm: SERIAL VS. Paralleelne side
- 2. samm:
- 3. samm:
- 4. samm: SPI KOMMUNIKATSIOONI SISSEJUHATUS
- 5. samm:
- 6. samm:
- 7. samm:
- 8. samm: KUIDAS SPI TÖÖTAB
- 9. samm:
- 10. samm:
- 11. samm:
- 12. samm:
- 13. samm: SPI eelised ja puudused
Video: SPI KOMMUNIKATSIOONIProtokolli alused: 13 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Kui ühendate mikrokontrolleri anduri, ekraani või muu mooduliga, kas te mõtlete kunagi, kuidas need kaks seadet omavahel räägivad? Mida nad täpselt ütlevad? Kuidas nad suudavad üksteist mõista?
Suhtlus elektrooniliste seadmete vahel on nagu inimestevaheline suhtlus. Mõlemad pooled peavad rääkima sama keelt. Elektroonikas nimetatakse neid keeli suhtlusprotokollideks. Meie õnneks on ainult mõned suhtlusprotokollid, mida peame teadma enamiku isetehtud elektroonikaprojektide ehitamisel. Selles artiklisarjas käsitleme kolme kõige levinuma protokolli põhitõdesid: jada perifeerne liides (SPI), integraallülitus (I2C) ja universaalne asünkroonne vastuvõtja/saatja (UART) juhitud side. Esiteks alustame mõnest elektroonilise suhtluse põhimõistest, seejärel selgitame üksikasjalikult, kuidas SPI töötab. Järgmises artiklis käsitleme UART -põhist suhtlust ja kolmandas artiklis sukeldume I2C -sse. SPI, I2C ja UART on mõnevõrra aeglasemad kui sellised protokollid nagu USB, Ethernet, Bluetooth ja WiFi, kuid need on palju lihtsamad ning kasutavad vähem riistvara ja süsteemiressursse. SPI, I2C ja UART sobivad ideaalselt suhtlemiseks mikrokontrollerite vahel ning mikrokontrollerite ja andurite vahel, kus suurt hulka kiireid andmeid pole vaja üle kanda.
1. samm: SERIAL VS. Paralleelne side
Elektroonilised seadmed räägivad omavahel, saates andmebitte seadmete vahel füüsiliselt ühendatud juhtmete kaudu. Bitt on nagu täht sõnas, välja arvatud 26 tähe (inglise tähestikus) asemel on binaarne bitt ja see võib olla ainult 1 või 0. Bittide ülekandmine ühest seadmest teise toimub pinge kiire muutumise teel. Süsteemis, mis töötab 5 V juures, edastatakse 0 bitti 0 V lühikese impulssina ja 1 bit lühikese 5 V impulsi kaudu.
Andmebitte saab edastada kas paralleelselt või järjestikku. Paralleelses suhtluses saadetakse andmebitte kõik korraga, igaüks eraldi traadi kaudu. Järgmine diagramm näitab tähe “C” paralleelset edastamist kahendkoodis (01000011):
2. samm:
Jadaühenduses saadetakse bitid ükshaaval ühe juhtme kaudu. Järgmine diagramm näitab tähe “C” jadaülekannet binaarses (01000011):
3. samm:
4. samm: SPI KOMMUNIKATSIOONI SISSEJUHATUS
SPI on tavaline kommunikatsiooniprotokoll, mida kasutavad paljud erinevad seadmed. Näiteks SD -kaardi moodulid, RFID -kaardilugeja moodulid ja 2,4 GHz traadita saatja/vastuvõtjad kasutavad SPI -d mikrokontrolleritega suhtlemiseks.
Üks SPI ainulaadne eelis on asjaolu, et andmeid saab katkestusteta edastada. Pidevas voos saab saata või vastu võtta suvalist arvu bitte. I2C ja UART puhul saadetakse andmed pakettidena, mis on piiratud kindla arvu bittidega. Alustamis- ja lõpetamistingimused määravad iga paketi alguse ja lõpu, nii et andmed katkestatakse edastamise ajal. Seadmed, mis suhtlevad SPI kaudu, on ülem-orjasuhtes. Juhtimisseade (tavaliselt mikrokontroller) on kapten, samas kui alam (tavaliselt andur, ekraan või mälukiip) võtab kaptenilt juhiseid. SPI lihtsaim konfiguratsioon on üks ülem, üks alam süsteem, kuid üks juht saab juhtida rohkem kui ühte alamat (sellest lähemalt allpool).
5. samm:
6. samm:
MOSI (Master Output/Slave Input) - rida, et kapten saaks saata orjale andmeid.
MISO (Master Input/Slave Output) - rida, mille abil ori saadab andmeid masterile.
SCLK (Kell) - kella signaali rida.
SS/CS (alamvalik/kiibi valimine) - rida, mille abil kapten saab valida, millisele orjale andmed saata
7. samm:
*Praktikas piirab orjade arvu süsteemi koormusmahtuvus, mis vähendab kapteni võimet pingetasemete vahel täpselt ümber lülituda.
8. samm: KUIDAS SPI TÖÖTAB
KELL
Kella signaal sünkroniseerib andmebittide väljundi masterilt alampoolse bittide proovivõtule. Igas taktsüklis edastatakse üks andmebitt, seega määratakse andmeedastuskiirus kella signaali sagedusega. SPI -side algatab alati kapten, kuna kapten konfigureerib ja genereerib kella signaali.
Mis tahes suhtlusprotokolli, kus seadmed jagavad kellasignaali, nimetatakse sünkroonseks. SPI on sünkroonne suhtlusprotokoll. On ka asünkroonseid meetodeid, mis ei kasuta kella signaali. Näiteks UART-side puhul on mõlemad pooled seadistatud eelseadistatud andmeedastuskiirusele, mis määrab andmeedastuse kiiruse ja ajastuse.
SPI kella signaali saab muuta, kasutades kella polaarsuse ja kellafaasi omadusi. Need kaks atribuuti töötavad koos, et määratleda, millal bitte väljastatakse ja millal neist proovid võetakse. Kella polaarsuse saab kapten seadistada nii, et bitti väljastatakse ja proovid võetakse kellatsükli tõusvas või langevas servas. Kellafaasi saab seadistada nii, et väljund ja proovivõtmine toimuksid kellatsükli esimesel või teisel serval, olenemata sellest, kas see tõuseb või langeb.
SLAVE SELECT
Juht saab valida, millise orjaga ta rääkida soovib, seades orja CS/SS liini madalale pingetasemele. Ooterežiimis, mitteedastavas olekus hoitakse alamvaliku liini kõrge pinge tasemel. Juhtseadmes võib olla saadaval mitu CS/SS tihvti, mis võimaldab paralleelselt juhtmeid ühendada mitme alamga. Kui on olemas ainult üks CS/SS-tihvt, saab mitu alamseadet ühendada juhtmehhanismiga aheldamise teel.
MITU ORJAT SPI
saab seadistada töötama ühe isanda ja ühe orjaga ning selle saab seadistada mitme orjaga, mida juhib üks juht. Mitme orja ühendamiseks peremehega on kaks võimalust. Kui isandal on mitu alamvaliku tihvti, saab orjad ühendada paralleelselt järgmiselt:
9. samm:
10. samm:
MOSI JA MISO
Meister saadab orjale bitti haaval, järjestikku MOSI liini kaudu. Alam võtab masterilt saadetud andmed vastu MOSI tihvti kaudu. Andmed, mis saadetakse kaptenilt orjale, saadetakse tavaliselt kõigepealt kõige olulisema bitiga. Alam võib ka MISO liini kaudu jadale andmeid masterile tagasi saata. Alamilt tagasi kaptenile saadetud andmed saadetakse tavaliselt kõigepealt kõige vähem olulise bitiga. SPI -ANDMETE EDASTAMISE ETAPID 1. Kapten väljastab kella signaali:
11. samm:
Kui saadaval on ainult üks alamvaliku tihvt, saab orjad siduda järgmiselt:
12. samm:
MOSI JA MISO
Juht saadab orjale bitti haaval, järjestikku MOSI liini kaudu. Alam võtab masterilt saadetud andmed vastu MOSI tihvti kaudu. Andmed, mis saadetakse kaptenilt orjale, saadetakse tavaliselt kõigepealt kõige olulisema bitiga.
Alam võib ka MISO liini kaudu jada kaudu andmeid kaptenile tagasi saata. Alamilt tagasi kaptenile saadetud andmed saadetakse tavaliselt kõigepealt kõige vähem olulise bitiga.
SPI ANDMETE EDASTAMISE SAMMUD
*Märkus. Pildid on loetletud Oboe, mida saate hõlpsasti eristada
1. Meister väljastab kella signaali:
2. Juht lülitab SS/CS tihvti madalpingeolekusse, mis aktiveerib alamseadme:
3. Ülem saadab andmed ükshaaval orjale mööda MOSI liini. Ori loeb bitid nende vastuvõtmisel:
4. Kui on vaja vastust, tagastab alammasin andmed bitti korraga kaptenile mööda MISO joont. Kapten loeb bitid nende vastuvõtmisel:
13. samm: SPI eelised ja puudused
SPI kasutamisel on mõningaid eeliseid ja puudusi ning kui valida erinevate sideprotokollide vahel, peaksite teadma, millal SPI -d kasutada vastavalt oma projekti nõuetele:
EELISED
Ilma algus- ja lõpetamisbittideta, nii et andmeid saab pidevalt voogesitada ilma katkestusteta. Pole keerulist alam -aadressisüsteemi, nagu I2C, suurem andmeedastuskiirus kui I2C (peaaegu kaks korda kiirem) Eraldi MISO- ja MOSI -liinid, nii et andmeid saab saata ja vastu võtta samal ajal aega
Miinused
Kasutab nelja juhtmest (I2C ja UART -id kasutavad kahte) Ei kinnitata, et andmed on edukalt vastu võetud (I2C -l on see olemas) Ei ole ühtegi veakontrolli vormi, nagu UART -i pariteedibitt Võimaldab ainult ühte meistrit Loodetavasti on see artikkel teile parema arusaamise andnud SPI -st. Jätkake selle sarja teise osaga, et õppida tundma UART -põhist suhtlust, või kolmandat osa, kus arutame I2C -protokolli.
Kui teil on küsimusi, küsige seda kommentaaride jaotises, oleme siin, et aidata. Ja järgige kindlasti
Lugupidamisega: M. Junaid
Soovitan:
Bitmap animatsioon SSD1331 OLED -ekraanil (SPI) koos Visuinoga: 8 sammu
Bitinop animatsioon SSD1331 OLED -ekraanil (SPI) koos Visuinoga: selles õpetuses kuvame ja liigutame lihtsa animatsioonina bitikaardipilti SSD1331 OLED -ekraanil (SPI) koos Visuinoga. Vaadake videot
I2C / IIC LCD -ekraan - Kasutage SPI LCD -d I2C LCD -ekraanile SPI -IIC mooduli kasutamine Arduino abil: 5 sammu
I2C / IIC LCD -ekraan | Kasutage SPI LCD -d I2C LCD -ekraanile SPI -IIC mooduli kasutamine Arduinoga: Tere poisid, kuna tavalisel SPI LCD 1602 -l on ühendamiseks liiga palju juhtmeid, nii et seda on väga raske liita arduinoga, kuid turul on saadaval üks moodul teisendage SPI -ekraan IIC -ekraaniks, nii et peate ühendama ainult 4 juhet
LED -alused: 7 sammu
LED Coaster: Kokkuvõte Kui sellele rannasõidulauale jook pannakse, on sisemine ahel suletud. Suletud ahel põhjustab kolme 3 LED -tule klaasi säramist. Materjalid Kork, juhtiv kangast lint, maskeerimislint, 3 LED -i, 3 V aku, valge vahtplast, liim
UART -KOMMUNIKATSIOONI ALUSED: 16 sammu
UART -KOMMUNIKATSIOONI PÕHIMÕTTED: Mäletate, kui printeritel, hiirtel ja modemitel olid paksud kaablid nende tohutute kohmakate pistikutega? Need, mis tuli sõna otseses mõttes arvutisse keerata? Need seadmed kasutasid tõenäoliselt arvutiga suhtlemiseks UART -sid. Kuigi USB -l on palju
Esialgne* SPI Pi: suhtlemine SPI 3-teljelise kiirendusmõõturiga, kasutades Raspberry Pi: 10 sammu
Esialgne* SPI Pi-l: suhtlemine SPI 3-teljelise kiirendusmõõturiga Raspberry Pi abil: samm-sammult juhised Raspbiani seadistamiseks ja suhtlemiseks SPI-seadmega, kasutades bcm2835 SPI raamatukogu (EI ole natuke põrutatud!) väga esialgne … Pean lisama paremaid pilte füüsilisest ühendamisest ja töötama läbi mõned ebamugavad koodid