Sisällysluettelo:

SPI -Viestintäpöytäkirjan perusteet: 13 vaihetta
SPI -Viestintäpöytäkirjan perusteet: 13 vaihetta

Video: SPI -Viestintäpöytäkirjan perusteet: 13 vaihetta

Video: SPI -Viestintäpöytäkirjan perusteet: 13 vaihetta
Video: SKR 1.3 - TMC2130 SPI v3.0 2024, Heinäkuu
Anonim
SPI -TIEDONPÖYTÄKIRJAN PERUSTEET
SPI -TIEDONPÖYTÄKIRJAN PERUSTEET

Kun liität mikro -ohjaimen anturiin, näyttöön tai muuhun moduuliin, mietitkö koskaan, miten kaksi laitetta puhuvat keskenään? Mitä ne oikein sanovat? Miten he kykenevät ymmärtämään toisiaan?

Viestintä elektronisten laitteiden välillä on kuin ihmisten välistä viestintää. Molempien osapuolten on puhuttava samaa kieltä. Elektroniikassa näitä kieliä kutsutaan viestintäprotokolliksi. Onneksi meillä on vain muutamia viestintäprotokollia, jotka meidän on tiedettävä, kun rakennamme useimpia DIY -elektroniikkahankkeita. Tässä artikkelisarjassa keskustelemme kolmen yleisimmän protokollan perusasioista: SPI (Serial Peripheral Interface), Inter-Integrated Circuit (I2C) ja Universal Asynchronous Receiver/Transmitter (UART) -viestintä. Ensinnäkin aloitamme joistakin sähköisen viestinnän peruskäsitteistä ja selitämme sitten yksityiskohtaisesti, miten SPI toimii. Seuraavassa artikkelissa keskustelemme UART -pohjaisesta viestinnästä, ja kolmannessa artikkelissa sukellamme I2C: hen. SPI, I2C ja UART ovat melko hitaampia kuin protokollat, kuten USB, ethernet, Bluetooth ja WiFi, mutta ne ovat paljon yksinkertaisempia ja käyttävät vähemmän laitteisto- ja järjestelmäresursseja. SPI, I2C ja UART ovat ihanteellisia tiedonsiirtoon mikro -ohjaimien välillä sekä mikro -ohjaimien ja antureiden välillä, joissa suuria määriä nopeita tietoja ei tarvitse siirtää.

Vaihe 1: SERIAL VS. Rinnakkaisviestintä

SARJA VS. Rinnakkaisviestintä
SARJA VS. Rinnakkaisviestintä

Elektroniset laitteet puhuvat keskenään lähettämällä databittejä fyysisesti laitteiden välille kytkettyjen johtojen kautta. Bitti on kuin kirjain sanassa, paitsi että 26 kirjaimen sijasta (englanninkielisessä aakkosessa) bitti on binaarinen ja voi olla vain 1 tai 0. Bittejä siirretään laitteesta toiseen nopeilla jännitteen muutoksilla. Järjestelmässä, joka toimii 5 V jännitteellä, 0 bittiä kommunikoidaan lyhyenä 0 V pulssina ja 1 bitti 5 V lyhyellä pulssilla.

Databittejä voidaan lähettää joko rinnakkain tai sarjamuodossa. Rinnakkaisviestinnässä databitit lähetetään kaikki samanaikaisesti, jokainen erillisen langan kautta. Seuraava kaavio esittää kirjaimen “C” rinnakkaislähetyksen binäärimuodossa (01000011):

Vaihe 2:

Sarjaliikenteessä bitit lähetetään yksi kerrallaan yhden langan kautta. Seuraavassa kaaviossa näkyy C -kirjaimen sarjavälitys binäärimuodossa (01000011):

Vaihe 3:

Kuva
Kuva

Vaihe 4: JOHDANTO SPI -Viestintään

SPI -VIESTINNÄN JOHDANTO
SPI -VIESTINNÄN JOHDANTO

SPI on yleinen viestintäprotokolla, jota käyttävät monet eri laitteet. Esimerkiksi SD -korttimoduulit, RFID -kortinlukijamoduulit ja 2,4 GHz: n langaton lähetin/vastaanotin käyttävät SPI: tä kommunikoidakseen mikro -ohjaimien kanssa.

SPI: n ainutlaatuinen etu on se, että tietoja voidaan siirtää keskeytyksettä. Mikä tahansa määrä bittejä voidaan lähettää tai vastaanottaa jatkuvana virtana. I2C: n ja UART: n avulla tiedot lähetetään paketeina, rajoittuen tiettyyn määrään bittejä. Aloitus- ja lopetusolosuhteet määrittävät kunkin paketin alun ja lopun, joten tiedot keskeytyvät lähetyksen aikana. SPI: n kautta kommunikoivat laitteet ovat isäntä-orja-suhteessa. Isäntä on ohjauslaite (yleensä mikro -ohjain), kun taas orja (yleensä anturi, näyttö tai muistisiru) ottaa vastaan ohjeita isännältä. Yksinkertaisin SPI -kokoonpano on yksi isäntä, yksi orjajärjestelmä, mutta yksi isäntä voi ohjata useampaa kuin yhtä orjaa (lisää tästä alla).

Vaihe 5:

Kuva
Kuva

Vaihe 6:

MOSI (Master Output/Slave Input) - Linja, jolla isäntä lähettää tietoja orjalle.

MISO (Master Input/Slave Output) - linja, jolla orja lähettää dataa isännälle.

SCLK (Kello) - Kellosignaalin linja.

SS/CS (Slave Select/Chip Select) - Rivi, jolla isäntä voi valita orjan, jolle data lähetetään

Vaihe 7:

Kuva
Kuva

*Käytännössä orjien määrää rajoittaa järjestelmän kuormituskapasitanssi, mikä vähentää isännän kykyä vaihtaa tarkasti jännitetasojen välillä.

Vaihe 8: MITEN SPI TOIMII

KELLO

Kellosignaali synkronoi databittien ulostulon isäntälaitteesta orjan näytteenottoon. Yksi bitti dataa siirretään jokaisessa kellosyklissä, joten tiedonsiirtonopeus määräytyy kellosignaalin taajuuden mukaan. SPI -tiedonsiirto aloitetaan aina päällikön toimesta, koska isäntä konfiguroi ja luo kellosignaalin.

Kaikki viestintäprotokollat, joissa laitteet jakavat kellosignaalin, tunnetaan synkronisina. SPI on synkroninen viestintäprotokolla. On myös asynkronisia menetelmiä, jotka eivät käytä kellosignaalia. Esimerkiksi UART-viestinnässä molemmat puolet on asetettu ennalta määritettyyn siirtonopeuteen, joka määrää tiedonsiirron nopeuden ja ajoituksen.

SPI: n kellosignaalia voidaan muuttaa käyttämällä kellon napaisuuden ja kellovaiheen ominaisuuksia. Nämä kaksi ominaisuutta määrittävät yhdessä, milloin bitit tulostetaan ja milloin niistä otetaan näytteitä. Isäntä voi asettaa kellon napaisuuden sallimaan bittien lähettämisen ja näytteenoton kellosyklin nousevalle tai laskevalle reunalle. Kellovaihe voidaan asettaa niin, että lähtö ja näytteenotto tapahtuvat kellosyklin ensimmäisellä tai toisella reunalla riippumatta siitä, nouseeko vai laskeeko.

SLAVE SELECT

Isäntä voi valita orjan, jolle hän haluaa puhua asettamalla orjan CS/SS -linjan matalalle jännitetasolle. Valmiustilassa, joka ei lähetä, orjavalintalinja pidetään korkealla jännitetasolla. Päälaitteessa voi olla useita CS/SS -nastoja, mikä mahdollistaa useiden orjien kytkemisen rinnakkain. Jos läsnä on vain yksi CS/SS-nasta, useita orjia voidaan kytkeä isäntään ketjutuksella.

Useita orjia SPI

voidaan asettaa toimimaan yhden isännän ja yhden orjan kanssa, ja se voidaan määrittää useiden orjien kanssa, joita yksi isäntä ohjaa. On olemassa kaksi tapaa yhdistää useita orjia isäntään. Jos isäntälaitteessa on useita orjanvalintatappeja, orjat voidaan kytkeä rinnakkain seuraavasti:

Vaihe 9:

Kuva
Kuva

Vaihe 10:

MOSI JA MISO

Isäntä lähettää tiedot orjalle bitti kerrallaan sarjassa MOSI -linjan kautta. Slave vastaanottaa isännältä lähetetyt tiedot MOSI -nastassa. Isännältä orjalle lähetetty data lähetetään yleensä ensin merkittävimmällä bitillä. Slave voi myös lähettää dataa takaisin isännälle sarjaportin kautta MISO -linjan kautta. Tiedot, jotka orja lähettää takaisin isännälle, lähetetään yleensä ensin vähiten merkitsevällä bitillä. SPI -DATALÄHETYKSEN VAIHEET 1. Master lähettää kellosignaalin:

Vaihe 11:

Kuva
Kuva

Jos käytettävissä on vain yksi orjan valintatappi, orjat voidaan ketjuttaa seuraavasti:

Vaihe 12:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

MOSI JA MISO

Isäntä lähettää tiedot orjalle bitti kerrallaan sarjassa MOSI -linjan kautta. Slave vastaanottaa isännältä lähetetyt tiedot MOSI -nastassa. Isännältä orjalle lähetetty data lähetetään yleensä ensin merkittävimmällä bitillä.

Slave voi myös lähettää dataa takaisin isännälle sarjaportin kautta MISO -linjan kautta. Tiedot, jotka orja lähettää takaisin isännälle, lähetetään yleensä ensin vähiten merkitsevällä bitillä.

SPI -TIETOJEN LÄHETTÄMISEN VAIHEET

*Huomautus Kuvat ovat lueteltuja oboja, jotka voit helposti erottaa

1. Isäntä antaa kellosignaalin:

2. Isäntä kytkee SS/CS -nastan matalajännitteiseen tilaan, joka aktivoi orjan:

3. Isäntä lähettää tiedot bitti kerrallaan orjalle MOSI -linjaa pitkin. Orja lukee bitit, kun ne vastaanotetaan:

4. Jos vastausta tarvitaan, orja palauttaa tiedot bitti kerrallaan isännälle MISO -linjaa pitkin. Päällikkö lukee bitit, kun ne vastaanotetaan:

Vaihe 13: SPI: n EDUT JA HAITAT

SPI: n käytössä on joitain etuja ja haittoja, ja jos sinulla on mahdollisuus valita eri viestintäprotokollien välillä, sinun pitäisi tietää, milloin SPI: tä käytetään projektisi vaatimusten mukaisesti:

EDUT

Ei aloitus- ja pysäytysbittejä, joten dataa voidaan suoratoistaa jatkuvasti keskeytyksettä Ei monimutkaista orjaosoitejärjestelmää, kuten I2C Suurempi tiedonsiirtonopeus kuin I2C (lähes kaksi kertaa nopeampi) aika

EHDOT

Käyttää neljää johtoa (I2C ja UART -laitteet käyttävät kahta) Ei kuittausta siitä, että tiedot on vastaanotettu onnistuneesti (I2C: llä on tämä) SPI: stä. Jatka tämän sarjan toiseen osaan oppiaksesi UART -pohjaisesta viestinnästä tai kolmanteen osaan, jossa keskustelemme I2C -protokollasta.

Jos sinulla on kysyttävää, kysy sitä kommenttikentässä, olemme täällä auttamassa. Ja muista seurata

Terveisin: M. Junaid

Suositeltava: