Razumijevanje o SPI komunikacijskom protokolu u ugrađenom

Isprobajte Naš Instrument Za Uklanjanje Problema





Komunikacija igra bitnu ulogu u dizajniranju ugrađenog sustava. Bez odlaska na protokole, periferno širenje je vrlo složeno i troši veliku snagu. The ugrađeni sustav u osnovi koristi serijsku komunikaciju za komunikaciju s perifernim uređajima.
Postoji mnogo protokola serijske komunikacije, poput UART, CAN, USB, I2C i SPI komunikacije. Serijski komunikacijski protokol karakteristike uključuju veliku brzinu i mali gubitak podataka. Olakšava projektiranje na razini sustava i osigurava pouzdan prijenos podataka.

Serijska komunikacija podataka

Električno kodirane informacije nazivaju se serijski podaci, koji se prenose bit po bit s jednog uređaja na drugi putem skupa protokola. U ugrađenom sustavu podaci o upravljačkim senzorima i aktuatorima se primaju ili prenose na upravljačke uređaje poput mikrokontrolera, tako da se podaci dalje analiziraju i obrađuju. Kako mikrokontroleri rade s digitalnim podacima, podaci s analogni senzori , aktuatori i ostala periferna oprema pretvara se u jednu bajtnu (8-bitnu) binarnu riječ prije nego što se pošalje mikrokontroleru.




Serijska komunikacija podataka

Serijska komunikacija podataka

Ovi serijski podaci prenose se s obzirom na određeni taktni impuls. Brzina prijenosa podataka naziva se brzina prijenosa podataka. Broj podatkovnih bitova koji se mogu prenijeti u sekundi naziva se brzinom prijenosa podataka. Pretpostavimo da su podaci od 12 bajtova, a zatim se svaki bajt pretvara u 8 bitova tako da ukupna veličina prijenosa podataka iznosi oko 96 bita / s podataka (12 bajtova * 8 bitova po bajtu). Ako se podaci mogu prenositi jednom svake sekunde, brzine prijenosa su oko 96 bita / s ili 96 bauda. Zaslon zaslona osvježava vrijednost podataka svake sekunde.



Osnove serijskog perifernog sučelja

SPI komunikacija označava serijsko periferno sučelje protokol komunikacije , koji je razvila Motorola 1972. SPI sučelje je dostupno na popularnim komunikacijskim kontrolerima kao što su PIC, AVR i ARM kontroler itd. Ima sinkronu serijsku komunikacijsku podatkovnu vezu koja radi u punom dupleksu, što znači da se podatkovni signali istodobno nose u oba smjera.

SPI protokol sastoji se od četiri žice kao što su MISO, MOSI, CLK, SS koje se koriste za glavnu / podređenu komunikaciju. Glavni je mikrokontroler, a pomoćni uređaji su druga periferna oprema poput senzora, GSM modem i GPS modem itd. Višestruki pomoćni uređaji povezani su s glavnim putem serijske sabirnice SPI. SPI protokol ne podržava Multi-master komunikaciju i koristi se na kratkoj udaljenosti unutar pločice.

Osnove serijskog perifernog sučelja

Osnove serijskog perifernog sučelja

SPI linije

MISO (Master in Slave out) : MISO linija konfigurirana je kao ulaz u glavnom uređaju i kao izlaz u slave uređaju.


MOSI (Master out Slave in) : MOSI je linija konfigurirana kao izlaz u glavnom uređaju i kao ulaz u slave uređaju u kojoj se koristi za sinkronizaciju kretanja podataka.

SCK (serijski sat) : Ovaj signal uvijek pokreće master za sinkroni prijenos podataka između glavnog i pomoćnog uređaja. Koristi se za sinkronizaciju kretanja podataka i prema i kroz MOSI i MISO vodovima.

SS (odabir slave) i CS (odabir čipa) : Glavni signal pokreće glavni signal za odabir pojedinačnih pomoćnih uređaja / perifernih uređaja. To je ulazni redak koji se koristi za odabir podređenih uređaja.

Glavna robotska komunikacija sa SPI serijskom sabirnicom

Implementacija SPI-ja za jednog glavnog i jednog podređenog

Ovdje komunikaciju uvijek pokreće gospodar. Glavni uređaj prvo konfigurira frekvenciju takta koja je manja ili jednaka maksimalnoj frekvenciji koju slave uređaj podržava. Master zatim odabire željeni slave za komunikaciju povlačenjem linije odabira čipa (SS) tog određenog slave uređaja kako bi prešao u nisko stanje i aktivan. Master generira informacije na MOSI liniji koja prenosi podatke od master do slave.

Komunikacija gospodara robova

Komunikacija glavnog roba

Implementacije s jednim glavnim i više podređenih

Ovo je višestruka pomoćna konfiguracija s jednim glavnim i više podređenih kroz serijsku sabirnicu SPI. Višestruki pomoćni uređaji povezani su paralelno s glavnim uređajem sa serijskom sabirnicom SPI. Ovdje su sve linije sata i podatkovne linije povezane zajedno, ali pin za odabir čipa sa svakog slave uređaja mora biti povezan s zasebnim pinom za odabir slave na maser uređaju.

Samac i više robova

Samac i više robova

U ovom se postupku kontrola svakog slave uređaja vrši pomoću linije za odabir čipa (SS). Pribadača za odabir čipa ide nisko za aktiviranje slave uređaja, a visoko kako bi se onemogućio slave uređaj.

Prijenos podataka organiziran je korištenjem registara pomaka i na glavnom i na pomoćnom uređaju s danom veličinom riječi od oko 8-bitnih, odnosno 16-bitnih. Oba su uređaja spojena u obliku prstena tako da se vrijednost registra maserskog pomaka prenosi kroz MOSI liniju, a zatim slave prebacuje podatke u svoj registar smjene. Podaci se obično prvo premještaju s MSB-om, a novi LSB premještaju u isti registar.

Prijenos podataka između glavnog i podređenog

Prijenos podataka između glavnog i podređenog

Značaj polariteta i faze sata

Općenito se prijenos i prijem podataka izvodi s obzirom na impulse takta na rastućim i padajućim rubovima. Napredni mikrokontroleri imaju dvije frekvencije: unutarnju i vanjsku. SPI periferne jedinice mogu se dodati dijeljenjem linija MISO, MOSI i SCLK. Periferni uređaji su različitih vrsta ili brzina poput ADC, DAC itd. Stoga moramo promijeniti postavke SPCR između prijenosa na različite periferne uređaje.

SPCR registar

SPCR registar

SPI sabirnica radi u jednom od 4 različita načina prijenosa s satnim polaritetom (CPOL) i taktnom fazom (CPHA) koji definiraju format sata koji će se koristiti. Polaritet sata i fazni takt ovise o tome koji periferni uređaj pokušavate komunicirati s glavnim upravljačem.
CPHA = 0, CPOL = 0: Prvi bit započinje kao niži signal - podaci se uzorkuju na rastućem rubu, a podaci se mijenjaju na donjem rubu.

CPHA = 0, CPOL = 1: Prvi bit započinje s nižim taktom - podaci se uzorkuju na donjem rubu, a podaci se mijenjaju na rastućem rubu.

CPHA = 1, CPOL = 0: Prvi bit započinje višim taktom - podaci se uzorkuju na donjem rubu, a podaci se mijenjaju na rastućem rubu.

CPHA = 1, CPOL = 1: Prvi bit započinje višim taktom - podaci se uzorkuju na rastućem rubu, a podaci se mijenjaju na donjem rubu.

Vremenski raspored SPI sabirnice

Vremenski raspored SPI sabirnice

SPI komunikacijski protokol

Mnogi mikrokontroleri imaju ugrađene SPI protokole koji obrađuju sve podatke o slanju i primanju. Bilo kojom operacijom načina podataka (R / W) upravljaju se kontrolnim i statusnim registrima SPI protokola. Ovdje možete promatrati EEPROM sučelje za mikrokontroler PIC16f877a putem SPI protokola.

Ovdje je 25LC104 EEROM memorija od 131072 bajta u kojoj mikrokontroler prenosi dva bajta podataka u EEROM memorija kroz serijsku sabirnicu SPI. Program za ovo povezivanje dan je u nastavku.

Komunikacija master-slave putem SPI serijske sabirnice

Komunikacija master-slave putem SPI serijske sabirnice

#include
Sbit SS = RC ^ 2
Sbit SCK = RC ^ 3
Sbit SDI = RC ^ 4
Sbit SDO = RC ^ 5
Poništi inicijalizaciju EEROM ()
Prazno glavno ()
{
SSPSPAT = 0x00
SSPCON = 0x31
SMP = 0
SCK = 0
SDO = 0
SS = 1
EE_adress = 0x00
SPI_write (0x80)
SPI_write (1234)
SS = 0
}

Prednosti SPI protokola

  • To je full duplex komunikacija.
  • Riječ je o podatkovnoj sabirnici velike brzine od 10 MHz.
  • Nije ograničeno na 8 bita tijekom prijenosa
  • Hardversko povezivanje jednostavno je putem SPI-a.
  • Slave koristi glavni sat i ne trebaju mu dragocjeni oscilatori.

Ovo je sve o SPI komunikacijama i njihovim povezivanje s mikrokontrolerom . Cijenimo vaše veliko zanimanje i pažnju za ovaj članak i stoga očekujemo vaše stajalište o ovom članku. Nadalje, za bilo kakvo međusobno povezivanje i pomoć, možete nas zatražiti komentarom u nastavku.

Foto bodovi: