Ymmärtäminen SPI-yhteyskäytäntöstä sulautetussa

Kokeile Instrumenttia Ongelmien Poistamiseksi





Viestinnällä on keskeinen rooli sulautettujen järjestelmien suunnittelussa. Oheislaitteiden laajennus on erittäin monimutkainen ja paljon virtaa kuluttava menemättä protokolliin. upotettu järjestelmä käyttää periaatteessa sarjaliikennettä kommunikoimaan oheislaitteiden kanssa.
On olemassa monia sarjaliikenneprotokollia, kuten UART-, CAN-, USB-, I2C- ja SPI-yhteys. Sarja tiedonsiirtoprotokolla Ominaisuuksiin kuuluu suuri nopeus ja alhainen tietojen menetys. Se helpottaa järjestelmätason suunnittelua ja varmistaa luotettavan tiedonsiirron.

Sarjatietoliikenne

Sähköisesti koodattua informaatiota kutsutaan sarjatiedoksi, joka lähetetään bitti bitiltä laitteelta toiselle protokollaryhmän kautta. Sulautetussa järjestelmässä ohjausanturit ja toimilaitteiden tiedot vastaanotetaan tai lähetetään ohjainlaitteille, kuten mikro-ohjaimille, niin että tietoja analysoidaan ja käsitellään edelleen. Kun mikro-ohjaimet työskentelevät digitaalisen datan kanssa, analogiset anturit , toimilaitteet ja muut oheislaitteet muunnetaan yhden tavun (8-bittiseksi) binäärisanaksi ennen kuin ne lähetetään mikrokontrollerille.




Sarjaliikenne

Sarjaliikenne

Tämä sarjaliikenne lähetetään tietyn kellopulssin suhteen. Tiedonsiirtonopeutta kutsutaan siirtonopeudeksi. Sekunnissa lähetettävien databittien määrää kutsutaan baudinopeudeksi. Oletetaan, että data on 12 tavua, sitten jokainen tavu muunnetaan 8 bitiksi niin, että tiedonsiirron kokonaiskoko on noin 96 bittiä / s dataa (12 tavua * 8 bittiä tavua kohti). Jos tietoja voidaan lähettää kerran sekunnissa, siirtonopeudet ovat noin 96 bittiä / s tai 96 baudia. Näyttö päivittää data-arvon kerran sekunnissa.



Sarjaisen oheisliitännän perusteet

SPI-tietoliikenne tarkoittaa sarjaliikennettä tiedonsiirtoprotokolla , jonka Motorola kehitti vuonna 1972. SPI-liitäntä on saatavana suosituissa tiedonsiirto-ohjaimissa, kuten PIC, AVR ja ARM-ohjain jne. Siinä on synkroninen sarjaliikennedatalinkki, joka toimii täydellä dupleksilla, mikä tarkoittaa, että datasignaalit kuljettavat molempia suuntaa samanaikaisesti.

SPI-protokolla koostuu neljästä johtimesta, kuten MISO, MOSI, CLK, SS, joita käytetään isäntä / orja-viestintään. Master on mikrokontrolleri, ja orjat ovat muita oheislaitteita, kuten antureita, GSM-modeemi ja GPS-modeemi jne. Useat orjat liitetään isäntään SPI-sarjaväylän kautta. SPI-protokolla ei tue Multi-master-tiedonsiirtoa ja sitä käytetään lyhyellä etäisyydellä piirilevyssä.

Sarjaisen oheisliitännän perusteet

Sarjaisen oheisliitännän perusteet

SPI-linjat

MISO (Master orja ulos) : MISO-linja on määritetty päälaitteen tuloksi ja orjalaitteen ulostuloksi.


MOSI (isäntä orja sisään) : MOSI on linja, joka on määritetty lähtölaitteeksi lähtöksi ja orjalaitteen tuloksi, jossa sitä käytetään dataliikkeen synkronointiin.

SCK (sarjakello) : Master ohjaa tätä signaalia aina synkronista tiedonsiirtoa varten isännän ja orjan välillä. Sitä käytetään tiedonsiirron synkronointiin sekä sisään että ulos MOSI- ja MISO-linjojen kautta.

SS (Slave Select) ja CS (Chip Select) : Master ohjaa tätä signaalia valitsemaan yksittäiset orjat / oheislaitteet. Se on tulolinja, jota käytetään orjalaitteiden valitsemiseen.

Master-orja-tiedonsiirto SPI-sarjaväylän kanssa

Yhden isännän ja yhden orjan SPI-toteutus

Tässä viestinnän aloittaa aina päällikkö. Päälaite konfiguroi ensin kellotaajuuden, joka on pienempi tai yhtä suuri kuin orjalaitteen tukema enimmäistaajuus. Sitten isäntä valitsee halutun orjan kommunikaatioon vetämällä kyseisen orjalaitteen sirunvalintalinjan (SS), jotta se menee matalaan tilaan ja aktiiviseksi. Isäntä generoi tiedot MOSI-linjalle, joka siirtää tiedot isännältä orjalle.

Master-orja-viestintä

Master-orja-viestintä

Yhden isännän ja usean orjan toteutukset

Tämä on usean orjan kokoonpano, jossa on yksi isäntä ja useita orjia SPI-sarjaväylän kautta. Useat orjat on kytketty rinnakkain isäntälaitteen kanssa SPI-sarjaväylällä. Tässä kaikki kellolinjat ja datalinjat on kytketty yhteen, mutta jokaisen orjalaitteen sirunvalintatappi on kytkettävä erilliseen orjavalintatappiin maser-laitteessa.

Yksi isäntä ja useita orjia

Yksi isäntä ja useita orjia

Tässä prosessissa jokaisen orjalaitteen ohjaus suoritetaan sirunvalintalinjalla (SS). Sirun valintatappi menee matalalle orjalaitteen aktivoimiseksi ja korkealle orjalaitteen poistamiseksi käytöstä.

Tiedonsiirto järjestetään käyttämällä siirtorekistereitä sekä isäntälaitteissa että orjalaitteissa, joiden sanakoko on noin 8-bittinen ja vastaavasti 16-bittinen. Molemmat laitteet on kytketty rengasmuodossa siten, että maser-siirtorekisteriarvo välitetään MOSI-linjan kautta, ja sitten orja siirtää dataa siirtorekisterissään. Tiedot siirretään yleensä ensin MSB: n kanssa ja siirtämällä uusi LSB samaan rekisteriin.

Tiedonsiirto isännän ja orjan välillä

Tiedonsiirto isännän ja orjan välillä

Kellon napaisuuden ja vaiheen merkitys

Yleensä datan lähetys ja vastaanotto tapahtuu nousevien reunojen ja laskevien reunojen kellopulssien suhteen. Advanced-mikrokontrollereilla on kaksi taajuutta: sisäinen taajuus ja ulkoinen taajuus. SPI-oheislaitteet voitaisiin lisätä jakamalla MISO-, MOSI- ja SCLK-linjat. Oheislaitteet ovat erityyppisiä tai nopeita, kuten ADC, DAC jne. Joten meidän on muutettava SPCR-asetuksia eri oheislaitteille tapahtuvien siirtojen välillä.

SPCR-rekisteri

SPCR-rekisteri

SPI-väylä toimii yhdessä neljästä eri siirtotilasta kellonapaisuudella (CPOL) ja kellovaiheella (CPHA), joka määrittelee käytettävän kellomuodon. Kellon napaisuus ja vaihekellonopeudet riippuvat siitä, mitä oheislaitetta yrität kommunikoida isännän kanssa.
CPHA = 0, CPOL = 0: Ensimmäinen bitti alkaa alemmana signaalina - tiedoista otetaan näytteet nousevalla reunalla ja data muuttuu laskevalla reunalla.

CPHA = 0, CPOL = 1: Ensimmäinen bitti alkaa matalammalla kellolla - datasta otetaan näyte laskevalla reunalla ja data muuttuu nousevalla reunalla.

CPHA = 1, CPOL = 0: Ensimmäinen bitti alkaa korkeammalla kellolla - datasta otetaan näyte laskevalla reunalla ja data muuttuu nousevalla reunalla.

CPHA = 1, CPOL = 1: Ensimmäinen bitti alkaa korkeammalla kellolla - tiedoista otetaan näytteet nousevalla reunalla ja data muuttuu laskevalla reunalla.

SPI-väylän ajoitukset

SPI-väylän ajoitukset

SPI-yhteyskäytäntö

Monissa mikro-ohjaimissa on sisäänrakennetut SPI-protokollat, jotka käsittelevät kaikkea lähettävää ja vastaanottavaa dataa. Kaikkia datamooditoimintoja (R / W) ohjataan SPI-protokollan ohjaus- ja tilarekistereillä. Täällä voit tarkkailla EEPROM-liitäntää PIC16f877a-mikrokontrolleriin SPI-protokollan kautta.

Tässä 25LC104 EEROM on 131072 tavun muisti, jossa mikro-ohjain siirtää kaksi tavua tietoja EEROM-muisti SPI-sarjaväylän kautta. Ohjelma tälle rajapinnalle on annettu alla.

Master-Slave-tiedonsiirto SPI-sarjaväylän kautta

Master-Slave-tiedonsiirto SPI-sarjaväylän kautta

#sisältää
Sbit SS = RC ^ 2
Sbit SCK = RC ^ 3
Sbit SDI = RC ^ 4
Sbit SDO = RC ^ 5
Älä alusta EEROMia ()
Tarpeeton pää ()
{
SSPSPAT = 0x00
SSPCON = 0x31
SMP = 0
SCK = 0
SDO = 0
SS = 1
EE_osoite = 0x00
SPI_write (0x80)
SPI_write (1234)
SS = 0
}

SPI-protokollan edut

  • Se on kaksisuuntainen tiedonsiirto.
  • Se on nopea tietoväylä 10MHz.
  • Se ei rajoitu 8 bittiin siirron aikana
  • Laitteiden liittäminen on helppoa SPI: n kautta.
  • Orja käyttää pääkelloa eikä tarvitse arvokkaita oskillaattoreita.

Tämä koskee SPI-viestintää ja sen tietoja liitäntä mikrokontrolleriin . Arvostamme kiinnostusta ja huomiota tähän artikkeliin ja ennakoimme näkemyksesi tästä artikkelista. Lisäksi mitä tahansa rajapintakoodausta ja -apua varten, voit kysyä meiltä kommentoimalla alla.

Valokuvahyvitykset: