Talaan ng mga Nilalaman:

BATAYAN NG SPI KOMUNIKASYON PROTOCOL: 13 Mga Hakbang
BATAYAN NG SPI KOMUNIKASYON PROTOCOL: 13 Mga Hakbang

Video: BATAYAN NG SPI KOMUNIKASYON PROTOCOL: 13 Mga Hakbang

Video: BATAYAN NG SPI KOMUNIKASYON PROTOCOL: 13 Mga Hakbang
Video: Counsel for the Heart - Program 13: A Spiritual Appetite 2024, Nobyembre
Anonim
BATAYAN NG SPI KOMUNIKASYON PROTOCOL
BATAYAN NG SPI KOMUNIKASYON PROTOCOL

Kapag ikinonekta mo ang isang microcontroller sa isang sensor, display, o ibang module, naisip mo ba kung paano nakikipag-usap ang dalawang aparato? Ano nga ba ang eksaktong sinasabi nila? Paano nila naiintindihan ang bawat isa?

Ang komunikasyon sa pagitan ng mga elektronikong aparato ay tulad ng komunikasyon sa pagitan ng mga tao. Ang magkabilang panig ay kailangang magsalita ng parehong wika. Sa electronics, ang mga wikang ito ay tinatawag na mga protocol ng komunikasyon. Sa kabutihang-palad para sa amin, iilan lamang ang mga protocol ng komunikasyon na kailangan naming malaman kapag nagtatayo ng karamihan sa mga proyekto sa electronics ng DIY. Sa seryeng ito ng mga artikulo, tatalakayin namin ang mga pangunahing kaalaman sa tatlong pinakakaraniwang mga protokol: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C), at Universal Asynchronous Receiver / Transmitter (UART) driven na komunikasyon. Una, magsisimula kami sa ilang pangunahing konsepto tungkol sa elektronikong komunikasyon, pagkatapos ay ipaliwanag nang detalyado kung paano gumagana ang SPI. Sa susunod na artikulo, tatalakayin namin ang komunikasyon na hinihimok ng UART, at sa ikatlong artikulo, sumisid kami sa I2C. Ang SPI, I2C, at UART ay medyo mas mabagal kaysa sa mga protokol tulad ng USB, ethernet, Bluetooth, at WiFi, ngunit mas simple ang mga ito at gumagamit ng mas kaunting mga mapagkukunan ng hardware at system. Ang SPI, I2C, at UART ay perpekto para sa komunikasyon sa pagitan ng mga microcontroller at sa pagitan ng mga microcontroller at sensor kung saan hindi kailangang ilipat ang malalaking data na may mataas na bilis.

Hakbang 1: SERIAL VS. KOMUNIKASYON NG PARALLEL

SERIAL VS. KOMUNIKASYON NG PARALLEL
SERIAL VS. KOMUNIKASYON NG PARALLEL

Ang mga elektronikong aparato ay nakikipag-usap sa bawat isa sa pamamagitan ng pagpapadala ng mga piraso ng data sa pamamagitan ng mga wires na pisikal na konektado sa pagitan ng mga aparato. Ang kaunti ay tulad ng isang titik sa isang salita, maliban sa halip na 26 na titik (sa alpabetong Ingles), ang isang bit ay binary at maaari lamang maging isang 1 o 0. Ang mga bit ay inililipat mula sa isang aparato patungo sa isa pa sa pamamagitan ng mabilis na mga pagbabago sa boltahe. Sa isang sistemang nagpapatakbo sa 5 V, isang 0 bit ang ipinapahiwatig bilang isang maikling pulso ng 0 V, at isang 1 bit ay naiparating sa pamamagitan ng isang maikling pulso na 5 V.

Ang mga piraso ng data ay maaaring mailipat alinman sa kahanay o serial form. Sa kahanay na komunikasyon, ang mga piraso ng data ay ipinapadala lahat nang sabay, bawat isa sa pamamagitan ng isang hiwalay na kawad. Ipinapakita ng sumusunod na diagram ang parallel transmission ng titik na "C" sa binary (01000011):

Hakbang 2:

Sa serial komunikasyon, ang mga piraso ay ipinapadala isa-isa sa pamamagitan ng isang solong kawad. Ipinapakita ng sumusunod na diagram ang serial transmission ng titik na "C" sa binary (01000011):

Hakbang 3:

Larawan
Larawan

Hakbang 4: PANIMULA SA KOMUNIKASYON ng SPI

PANIMULA SA KOMUNIKASYON ng SPI
PANIMULA SA KOMUNIKASYON ng SPI

Ang SPI ay isang pangkaraniwang protocol ng komunikasyon na ginagamit ng maraming iba't ibang mga aparato. Halimbawa, ang mga module ng SD card, mga module ng RFID card reader, at 2.4 GHz wireless transmitter / receivers na gumagamit ng SPI upang makipag-usap sa mga microcontroller.

Ang isang natatanging benepisyo ng SPI ay ang katunayan na ang data ay maaaring mailipat nang walang pagkagambala. Ang anumang bilang ng mga piraso ay maaaring maipadala o matanggap sa isang tuloy-tuloy na stream. Sa I2C at UART, ang data ay ipinapadala sa mga packet, limitado sa isang tukoy na bilang ng mga piraso. Ang mga kundisyon ng pagsisimula at pagtigil ay tumutukoy sa simula at pagtatapos ng bawat packet, kaya ang data ay nagambala sa panahon ng paghahatid. Ang mga aparato na nakikipag-usap sa pamamagitan ng SPI ay nasa isang relasyon ng master-alipin. Ang master ay ang aparato ng pagkontrol (karaniwang isang microcontroller), habang ang alipin (karaniwang isang sensor, display, o memory chip) ay kumukuha ng tagubilin mula sa master. Ang pinakasimpleng pagsasaayos ng SPI ay isang solong master, solong sistema ng alipin, ngunit ang isang master ay maaaring makontrol ang higit sa isang alipin (higit pa rito sa ibaba).

Hakbang 5:

Larawan
Larawan

Hakbang 6:

MOSI (Master Output / Slave Input) - Linya para sa master na magpadala ng data sa alipin.

MISO (Master Input / Slave Output) - Linya para sa alipin na magpadala ng data sa master.

SCLK (Clock) - Linya para sa signal ng orasan.

SS / CS (Select Slave / Chip Select) - Linya para mapili ng master kung aling alipin ang magpapadala ng data

Hakbang 7:

Larawan
Larawan

* Sa pagsasagawa, ang bilang ng mga alipin ay limitado ng capacitance ng pag-load ng system, na binabawasan ang kakayahan ng master na tumpak na lumipat sa pagitan ng mga antas ng boltahe.

Hakbang 8: PAANO GUMAGAWA NG SPI

ANG ORASAN

Ang signal ng orasan ay sumasabay sa output ng mga data bits mula sa master sa sampling ng mga bits ng alipin. Ang isang piraso ng data ay inililipat sa bawat pag-ikot ng orasan, kaya't ang bilis ng paglilipat ng data ay natutukoy ng dalas ng signal ng orasan. Ang komunikasyon ng SPI ay palaging pinasimulan ng master dahil ang master ay nag-configure at bumubuo ng signal ng orasan.

Anumang mga protocol ng komunikasyon kung saan nagbabahagi ang mga aparato ng isang signal ng orasan ay kilala bilang kasabay. Ang SPI ay isang kasabay na protocol ng komunikasyon. Mayroon ding mga hindi magkakasabay na pamamaraan na hindi gumagamit ng isang signal ng orasan. Halimbawa, sa komunikasyon ng UART, ang magkabilang panig ay nakatakda sa isang paunang naka-configure na rate ng baud na nagdidikta sa bilis at oras ng paghahatid ng data.

Ang signal ng orasan sa SPI ay maaaring mabago gamit ang mga katangian ng orasan polarity at yugto ng orasan. Ang dalawang mga pag-aari na ito ay nagtutulungan upang tukuyin kung kailan ang mga piraso ay output at kapag sila ay na-sample. Ang polarity ng orasan ay maaaring itakda ng master upang pahintulutan ang mga piraso na ma-output at mai-sample sa alinman sa pagtaas o pagbagsak na gilid ng ikot ng orasan. Maaaring maitakda ang yugto ng orasan para sa output at sampling na maganap sa alinman sa unang gilid o pangalawang gilid ng cycle ng orasan, hindi alintana kung tumataas o bumabagsak ito.

PUMILI NG ULIP

Maaaring pumili ang master kung aling alipin ang nais niyang kausapin sa pamamagitan ng pagtatakda ng linya ng CS / SS ng alipin sa isang mababang antas ng boltahe. Sa idle, non-transmitting state, ang linya ng pagpili ng alipin ay pinananatili sa isang mataas na antas ng boltahe. Maaaring magamit ang maramihang mga CS / SS na pin sa master, na nagpapahintulot sa maraming mga alipin na mai-wire nang kahanay. Kung mayroon lamang isang pin na CS / SS na naroroon, maraming mga alipin ang maaaring i-wire sa master sa pamamagitan ng daisy-chaining.

Maramihang SLAVES SPI

maaaring i-set up upang mapatakbo sa isang solong master at isang solong alipin, at maaari itong mai-set up na may maraming mga alipin na kinokontrol ng isang solong master. Mayroong dalawang paraan upang ikonekta ang maraming alipin sa master. Kung ang master ay may maraming mga pin na piling alipin, ang mga alipin ay maaaring i-wire nang kahanay tulad nito:

Hakbang 9:

Larawan
Larawan

Hakbang 10:

MOSI AT MISO

Nagpapadala ang master ng data sa alipin ng paunti-unti, sa serial sa pamamagitan ng linya ng MOSI. Natatanggap ng alipin ang data na ipinadala mula sa master sa MOSI pin. Ang data na ipinadala mula sa panginoon sa alipin ay karaniwang ipinapadala na may pinakamahalagang bit muna. Ang alipin ay maaari ring magpadala ng data pabalik sa master sa pamamagitan ng linya ng MISO sa serial. Ang data na ipinadala mula sa alipin pabalik sa master ay karaniwang ipinapadala na may pinakamaliit na makabuluhang kaunting muna. MGA HAKBANG NG SPI DATA TRANSMISSION 1. Ang master ay naglalabas ng signal ng orasan:

Hakbang 11:

Larawan
Larawan

Kung may isang pin na piniling alipin lamang ang magagamit, ang mga alipin ay maaaring ma-chain ng kadena tulad nito:

Hakbang 12:

Larawan
Larawan
Larawan
Larawan
Larawan
Larawan
Larawan
Larawan

MOSI AT MISO

Nagpapadala ang master ng data sa alipin ng paunti-unti, sa serial sa pamamagitan ng linya ng MOSI. Natatanggap ng alipin ang data na ipinadala mula sa master sa MOSI pin. Ang data na ipinadala mula sa panginoon sa alipin ay karaniwang ipinapadala na may pinakamahalagang bit muna.

Ang alipin ay maaari ring magpadala ng data pabalik sa master sa pamamagitan ng linya ng MISO sa serial. Ang data na ipinadala mula sa alipin pabalik sa master ay karaniwang ipinapadala na may pinakamaliit na makabuluhang kaunting muna.

HAKBANG NG SPI DATA TRANSMISSION

* Tandaan Ang Mga Imahe ay Nakalista Oboe maaari mong madaling makilala

1. Ang master ay naglalabas ng signal ng orasan:

2. Inililipat ng master ang SS / CS pin sa isang mababang boltahe na estado, na nagpapagana sa alipin:

3. Ang master ay nagpapadala ng data nang paisa-isa sa alipin kasama ang linya ng MOSI. Binabasa ng alipin ang mga piraso sa pagtanggap sa kanila:

4. Kung kinakailangan ng isang tugon, ang alipin ay nagbabalik ng data nang paisa-isa sa master kasama ang linya ng MISO. Binabasa ng master ang mga piraso habang natanggap sila:

Hakbang 13: Mga kalamangan at kawalan ng kalamangan ng SPI

Mayroong ilang mga pakinabang at kawalan sa paggamit ng SPI, at kung bibigyan ng pagpipilian sa pagitan ng iba't ibang mga protocol sa komunikasyon, dapat mong malaman kung kailan gagamitin ang SPI alinsunod sa mga kinakailangan ng iyong proyekto:

MGA KAGAMITAN

Walang pagsisimula at paghinto ng mga piraso, kaya't ang data ay maaaring mai-stream ng tuluy-tuloy nang walang pagkagambala Walang kumplikadong sistema ng pag-address ng alipin tulad ng I2C Mas mataas na rate ng paglipat ng data kaysa sa I2C (halos dalawang beses nang mas mabilis) Paghiwalayin ang mga linya ng MISO at MOSI, kaya maaaring maipadala at matanggap ang data sa parehong oras

KAPANGYARIHAN

Gumagamit ng apat na wires (Gumagamit ang I2C at UART ng dalawa) Walang pagkilala na ang data ay matagumpay na natanggap (mayroon itong I2C) Walang porma ng error sa pag-check tulad ng parity bit sa UART Pinapayagan lamang para sa isang solong master Inaasahan na ang artikulong ito ay nagbigay sa iyo ng isang mas mahusay na pag-unawa ng SPI. Magpatuloy sa bahaging dalawa sa seryeng ito upang malaman ang tungkol sa komunikasyon na hinihimok ng UART, o sa bahagi ng tatlong kung saan tinatalakay namin ang I2C na protocol.

Kung mayroon kang anumang mga katanungan, huwag mag-atubiling itanong ito sa seksyon ng komento, narito kami upang tumulong. At tiyaking susundan

Regards: M. Junaid

Inirerekumendang: