Pag-unawa tungkol sa SPI Communication Protocol sa Naka-embed

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Mahalaga ang papel ng komunikasyon sa naka-embed na disenyo ng system. Nang walang pagpunta sa mga protokol, ang paligid ng pagpapalawak ay lubos na kumplikado at mataas na lakas na pag-ubos. Ang naka-embed na system karaniwang gumagamit ng serial na komunikasyon upang makipag-usap sa mga peripheral.
Maraming mga serial protocol ng komunikasyon, tulad ng komunikasyon sa UART, CAN, USB, I2C at SPI. Ang serial komunikasyon protocol's Kabilang sa mga katangian ang mataas na bilis at mababang pagkawala ng data. Ginagawa nitong mas madali ang pagdidisenyo sa antas ng system, at tinitiyak ang maaasahang paglipat ng data.

Serial Data Communication

Ang impormasyong naka-code sa kuryente ay tinatawag na isang serial data, na kung saan ay naililipat nang paunti-unti mula sa isang aparato patungo sa isa pa sa pamamagitan ng isang hanay ng mga protokol. Sa naka-embed na system, ang data ng control sensors at actuators ay natanggap o nailipat sa mga aparato ng controller tulad ng microcontrollers upang ang data ay karagdagang pinag-aralan at naproseso. Habang gumagana ang mga microcontroller sa digital data, ang impormasyon mula sa mga analog sensor , ang mga actuator at iba pang mga peripheral ay ginawang isang byte (8-bit) binary word bago mailipat sa microcontroller.




Serial Data Communication

Serial Data Communication

Ang serial data na ito ay naipadala na may paggalang sa ilang mga pulso ng orasan. Ang rate ng paghahatid ng data ay tinukoy bilang rate ng baud. Ang bilang ng mga data bit na maaaring mailipat bawat segundo ay tinatawag bilang baud rate. Ipagpalagay na ang data ay 12 bytes, pagkatapos ang bawat byte ay ginawang 8bits upang ang kabuuang sukat ng paghahatid ng data ay tungkol sa 96bits / sec ng data (12bytes * 8 bits per byte). Kung ang data ay maaaring mailipat isang beses bawat segundo, ang mga rate ng baud ay nasa paligid ng 96bits / sec o 96 baud. I-refresh ng display screen ang halaga ng data minsan bawat segundo.



Mga Pangunahing Kaalaman sa Serial Peripheral Interface

Ang komunikasyon ng SPI ay nangangahulugang serial interface ng peripheral komunikasyon protocol , na binuo ng Motorola noong 1972. Ang interface ng SPI ay magagamit sa mga tanyag na kontrol sa komunikasyon tulad ng PIC, AVR, at Controller ng ARM , atbp. Mayroon itong magkasabay na link ng data ng komunikasyon na serial na nagpapatakbo sa buong duplex, na nangangahulugang dalhin ng mga signal ng data sa parehong mga direksyon nang sabay.

Ang SPI protocol ay binubuo ng apat na wires tulad ng MISO, MOSI, CLK, SS na ginagamit para sa master / slave na komunikasyon. Ang master ay isang microcontroller, at ang mga alipin ay iba pang mga peripheral tulad ng mga sensor, Modem ng GSM at modem ng GPS, atbp. Ang maraming mga alipin ay nakakonekta sa master sa pamamagitan ng isang SPI serial bus. Ang SPI protocol ay hindi sumusuporta sa Multi-master na komunikasyon at ginagamit ito para sa isang maikling distansya sa loob ng isang circuit board.

Mga Pangunahing Kaalaman sa Serial Peripheral Interface

Mga Pangunahing Kaalaman sa Serial Peripheral Interface

Mga Linya ng SPI

MISO (Master in Slave out) : Ang linya ng MISO ay na-configure bilang isang input sa isang master aparato at bilang isang output sa isang aparato ng alipin.


MOSI (Master out Slave in) : Ang MOSI ay isang linya na na-configure bilang isang output sa isang master device at bilang isang input sa isang aparato ng alipin kung saan ginagamit ito upang i-synchronize ang paggalaw ng data.

SCK (serial clock) : Ang signal na ito ay palaging hinihimok ng master para sa magkasabay na paglipat ng data sa pagitan ng master at ng alipin. Ginagamit ito upang pagsabayin ang paggalaw ng data kapwa papasok at palabas sa pamamagitan ng mga linya ng MOSI at MISO.

SS (Slave Select) at CS (Chip Select) : Ang signal na ito ay hinihimok ng master upang pumili ng mga indibidwal na alipin / Peripheral na aparato. Ito ay isang linya ng pag-input na ginamit upang piliin ang mga aparato ng alipin.

Master Slave Communication sa SPI Serial Bus

Single Master at Single Slave SPI Pagpapatupad

Dito, ang komunikasyon ay palaging pinasimulan ng master. Ang pangunahing aparato ay unang nag-configure ng dalas ng orasan na mas mababa sa o katumbas ng maximum na dalas na sinusuportahan ng alipin aparato. Pinipili ng master ang ninanais na alipin para sa komunikasyon sa pamamagitan ng pag-drag sa chip select line (SS) ng partikular na aparato ng alipin upang maging mababang estado at aktibo. Bumubuo ang master ng impormasyon sa linya ng MOSI na nagdadala ng data mula sa master hanggang sa alipin.

Pakikipag-usap sa Master Slave

Pakikipag-usap sa Master Slave

Single Master at Maramihang Mga Pagpapatupad ng Alipin

Ito ay isang maramihang pagsasaayos ng alipin na may isang master at maraming alipin sa pamamagitan ng SPI serial bus. Ang maraming mga alipin ay konektado kahanay sa master device na may serial bus na SPI. Dito, ang lahat ng mga linya ng orasan at mga linya ng data ay konektado magkasama, ngunit ang pin na pipiliin ng maliit na tilad mula sa bawat aparato ng alipin ay dapat na konektado sa isang hiwalay na pin na piliin ng alipin sa maser aparato.

Single Master at maraming alipin

Single Master at maraming alipin

Sa prosesong ito, ang kontrol ng bawat aparato ng alipin ay ginaganap ng isang chip select line (SS). Mababa ang chip select pin upang maisaaktibo ang aparato ng alipin at mataas upang hindi paganahin ang aparato ng alipin.

Ang paglilipat ng data ay isinaayos sa pamamagitan ng paggamit ng mga rehistro ng shift sa parehong mga aparato ng master at alipin na may isang ibinigay na laki ng salita tungkol sa 8-bit at 16-bit, ayon sa pagkakabanggit. Parehong nakakonekta ang mga aparato sa isang ring form upang ang halaga ng rehistro ng maser shift ay nakukuha sa pamamagitan ng linya ng MOSI, at pagkatapos ay binabago ng alipin ang data sa shift register nito. Karaniwang inililipat ang data sa MSB muna at inililipat ang bagong LSB sa parehong rehistro.

Paglipat ng Data sa pagitan ng Master at Alipin

Paglipat ng Data sa pagitan ng Master at Alipin

Kahalagahan ng Clock Polarity at Phase

Pangkalahatan ang paghahatid at pagtanggap ng data ay ginaganap na patungkol sa mga pulso ng orasan sa tumataas na mga gilid at nahuhulog na mga gilid. Ang Advanced microcontrollers ay may dalawang frequency: panloob na dalas at panlabas na dalas. Ang mga peripheral ng SPI ay maaaring maidagdag sa pamamagitan ng pagbabahagi ng mga linya ng MISO, MOSI at SCLK. Ang mga peripheral ay may iba't ibang uri o bilis tulad ng ADC, DAC, atbp. Kaya kailangan nating baguhin ang mga setting ng SPCR sa pagitan ng mga paglilipat sa iba't ibang mga peripheral.

Rehistro ng SPCR

Rehistro ng SPCR

Nagpapatakbo ang SPI bus sa isa sa 4 na magkakaibang mode ng paglipat na may orasan polarity (CPOL) at phase phase (CPHA) na tumutukoy sa isang format ng orasan na gagamitin. Ang polarity ng orasan at ang mga rate ng orasan ng phase ay nakasalalay sa aling paligid na aparato na sinusubukan mong makipag-usap sa master.
CPHA = 0, CPOL = 0: Ang unang bit ay nagsisimula bilang isang mas mababang signal - ang data ay naka-sample sa tumataas na gilid at nagbabago ang data sa pagbagsak ng gilid.

CPHA = 0, CPOL = 1: Ang unang bit ay nagsisimula sa isang mas mababang orasan - ang data ay na-sample sa bumabagsak na gilid at nagbabago ang data sa tumataas na gilid.

CPHA = 1, CPOL = 0: Ang unang bit ay nagsisimula sa isang mas mataas na orasan - ang data ay na-sample sa bumabagsak na gilid at nagbabago ang data sa tumataas na gilid.

CPHA = 1, CPOL = 1: Ang unang bit ay nagsisimula sa isang mas mataas na orasan - ang data ay na-sample sa tumataas na gilid, at nagbabago ang data sa pagbagsak ng gilid.

Mga setting ng SPI Bus

Mga setting ng SPI Bus

SPI Communication Protocol

Maraming mga microcontroller ang nakabuo ng mga SPI na protokol na humahawak sa lahat ng pagpapadala at pagtanggap ng data. Ang alinman sa mga pagpapatakbo ng mode ng data (R / W) ay kinokontrol ng isang kontrol at mga rehistro ng katayuan ng SPI Protocol. Dito, maaari mong obserbahan ang interface ng EEPROM sa PIC16f877a microcontroller sa pamamagitan ng SPI protocol.

Dito, ang 25LC104 EEROM ay isang memorya ng 131072 bytes kung saan inililipat ng microcontroller ang dalawang byte ng data sa Memorya ng EEROM sa pamamagitan ng isang serial bus na SPI. Ang programa para sa interfacing na ito ay ibinibigay sa ibaba.

Master sa Slave na komunikasyon sa pamamagitan ng SPI serial bus

Master sa Slave na komunikasyon sa pamamagitan ng SPI serial bus

# isama
Sbit SS = RC ^ 2
Sbit SCK = RC ^ 3
Sbit SDI = RC ^ 4
Sbit SDO = RC ^ 5
I-una ang walang bisa na EEROM ()
Void main ()
{
SSPSPAT = 0x00
SSPCON = 0x31
SMP = 0
SCK = 0
SDO = 0
SS = 1
EE_adress = 0x00
SPI_write (0x80)
SPI_write (1234)
SS = 0
}

Mga kalamangan ng SPI Protocol

  • Ito ay isang buong komunikasyon sa duplex.
  • Ito ay high-speed data bus 10MHzs.
  • Hindi ito limitado sa 8bits habang naglilipat
  • Ang interface ng hardware ay simple sa pamamagitan ng SPI.
  • Gumagamit ang alipin ng isang master orasan at hindi nangangailangan ng mahalagang mga oscillator.

Ito ay tungkol sa mga komunikasyon ng SPI at nito nakikipag-ugnay sa isang microcontroller . Pinahahalagahan namin ang iyong masigasig na interes at pansin para sa artikulong ito at dahil dito inaasahan ang iyong pananaw sa artikulong ito. Bukod dito, para sa anumang pag-encode ng coding at tulong, maaari mo kaming tanungin sa pamamagitan ng pagbibigay ng puna sa ibaba.

Mga Kredito sa Larawan:

  • Serial Data Communication ng glowscotland
  • Mga Pangunahing Kaalaman sa Serial Peripheral Interface ni ni
  • Single Master at maraming alipin ng kumain ka na
  • Paglipat ng Data sa pagitan ng Master at Alipin ng inhinyero
  • Ang mga oras ng SPI Bus ni maximintegrated