單片機(jī)是一個(gè)可編程的微控制器,和spi通信其實(shí)是兩個(gè)獨(dú)立的東西。只不過(guò)我們用單片機(jī)可以去實(shí)現(xiàn)spi通信而已,但是實(shí)現(xiàn)spi通信不一定非要單片機(jī)。
我們?nèi)撕腿酥g溝通,要靠說(shuō)話,并且兩個(gè)人語(yǔ)言要一樣,比如說(shuō)都用普通話。那芯片和芯片溝通,它們又不會(huì)說(shuō)話,怎么傳遞信息呢?就是通過(guò)通信總線,通信總線有很多種,比如IIC、SPI、USART、CAN,它們的區(qū)別就像普通話、英語(yǔ)、韓語(yǔ)、俄語(yǔ),都是用來(lái)傳遞信息用的,只是傳遞方式不同。但傳遞信息,有一個(gè)前提,就是語(yǔ)言要相同,也就是通信方式要相同。所以說(shuō),spi是一種通信方式,是用來(lái)傳遞信息的。不同的通信方式,傳遞信息的方式不同。
Spi是一種全雙工、高速的、同步的通信總線。簡(jiǎn)單來(lái)說(shuō),就是你們兩個(gè)可以同時(shí)快速地說(shuō)話,你能把你要說(shuō)的告訴對(duì)方,同時(shí)也能聽(tīng)到對(duì)方說(shuō)什么,這就是全雙工。還有一種叫半雙工,就是你們同時(shí)只能有一個(gè)人說(shuō),另一個(gè)聽(tīng),說(shuō)完了,另外一個(gè)才能說(shuō)。很明顯,全雙工傳遞信息的效率更高吧。同步的意思我給你們兩個(gè)對(duì)話設(shè)定個(gè)條件,比如說(shuō)我說(shuō)開(kāi)始你們才可以對(duì)話,我說(shuō)停止就都不能說(shuō)話。我們?nèi)撕腿藗鬟f信息一般是靠耳朵和嘴巴對(duì)吧?
Spi通信傳遞信息是通過(guò)接口,來(lái)看下圖:
SPI通信協(xié)議:?jiǎn)纹瑱C(jī)spi通信接口什么意思,spi接口干什么用的?spi接口有4根線,分別是CS、SCLK、MOSI、MISO。SCLK是同步信號(hào),一般由主控來(lái)控制。既然是通信,自然是需要有個(gè)”對(duì)象”,如上圖A和B。A是SPI Master,也就是主控,比如說(shuō)單片機(jī),一般就是主控的角色,主控來(lái)負(fù)責(zé)發(fā)送SCLK同步信號(hào)通知SPI Slave是否需要進(jìn)行數(shù)據(jù)通信B是SPI Slave,也就是從機(jī),比如說(shuō)Flash芯片。CS代表片選信號(hào),為什么要用片選呢?因?yàn)橐粋€(gè)SPI Master可以跟不同的SPI Slave進(jìn)行通信。
SPI Master就是通過(guò)CS來(lái)控制,具體跟哪個(gè)SPI Slave通訊,控制CS為低電平就代表選中該SPI Slave。如果說(shuō)只跟一個(gè)從設(shè)備通訊,也可以直接把CS串聯(lián)電阻接地,省的每次都去控制它。MOSI英文全稱是Master Output Slave Input,這個(gè)一般接主控器件數(shù)據(jù)輸出引腳,從機(jī)器件數(shù)據(jù)輸入引腳。MISO英文全稱是Slave Input Master Output,這個(gè)一般接主控器件數(shù)據(jù)輸入引腳,從機(jī)器件數(shù)據(jù)輸出引腳。
除此以外,還有一種特殊的用法,就是只用SCLK和MOSI這兩個(gè)引腳的SPI通信。比如說(shuō)我們無(wú)際單片機(jī)編程實(shí)戰(zhàn)項(xiàng)目課程里有個(gè)OLED屏的應(yīng)用。
片選引腳CS我直接硬件接地了,因?yàn)橹挥幸粋€(gè)從設(shè)備。我們主要是控制OLED屏去顯示內(nèi)容,并不需要從OLED讀取數(shù)據(jù),所以MISO也不需要,這種情況是可以只用2根線的。
來(lái)源:電工學(xué)習(xí)網(wǎng)
審核編輯:湯梓紅
-
微控制器
+關(guān)注
關(guān)注
48文章
7658瀏覽量
152158 -
單片機(jī)
+關(guān)注
關(guān)注
6043文章
44623瀏覽量
638788 -
通信
+關(guān)注
關(guān)注
18文章
6074瀏覽量
136452 -
SPI
+關(guān)注
關(guān)注
17文章
1724瀏覽量
92167
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
AVR單片機(jī)的SPI串行通信的應(yīng)用
單片機(jī)SPI通信接口
![<b class='flag-5'>單片機(jī)</b><b class='flag-5'>SPI</b><b class='flag-5'>通信</b>接口](https://file.elecfans.com/web1/M00/E9/D0/o4YBAGBwE4CAEcBUAABUOsXH_p4844.jpg)
《單片機(jī)數(shù)據(jù)通信及測(cè)控應(yīng)用技術(shù)詳解》pdf
單片機(jī)SPI通信協(xié)議的應(yīng)用
![<b class='flag-5'>單片機(jī)</b><b class='flag-5'>SPI</b><b class='flag-5'>通信</b>協(xié)議的應(yīng)用](https://file.elecfans.com/web1/M00/7D/E6/o4YBAFwQse6AQXcWAABe46h-_zs985.jpg)
單片機(jī)spi通信的通用程序分享
![<b class='flag-5'>單片機(jī)</b><b class='flag-5'>spi</b><b class='flag-5'>通信</b>的通用程序分享](https://file.elecfans.com/web1/M00/7F/49/o4YBAFwl0UWAAPktAAA_3ibeZyM597.jpg)
使用51單片機(jī)進(jìn)行主從機(jī)模擬SPI通信資料免費(fèi)下載
![使用51<b class='flag-5'>單片機(jī)</b>進(jìn)行主從<b class='flag-5'>機(jī)</b>模擬<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>資料免費(fèi)下載](https://file.elecfans.com/web1/M00/95/DD/pIYBAF0CA9KAXcn-AAGrP2cZTow296.png)
51單片機(jī)軟件SPI通訊
![51<b class='flag-5'>單片機(jī)</b>軟件<b class='flag-5'>SPI</b>通訊](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于MSP430單片機(jī)MCU與DSP的SPI通信設(shè)計(jì)
![基于MSP430<b class='flag-5'>單片機(jī)</b>MCU與DSP的<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>設(shè)計(jì)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論