溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的

發(fā)布時(shí)間:2021-12-03 10:46:17 來(lái)源:億速云 閱讀:240 作者:柒染 欄目:互聯(lián)網(wǎng)科技

本篇文章為大家展示了SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

將微控制器連接到傳感器,顯示器或其他模塊時(shí),您是否考慮過(guò)兩個(gè)設(shè)備之間如何通信?他們到底在說(shuō)什么?他們?nèi)绾文軌蛳嗷ダ斫猓?  
 
 電子設(shè)備之間的通信就像人類之間的通信,雙方都需要說(shuō)同一種語(yǔ)言。在電子學(xué)中,這些語(yǔ)言稱為通信協(xié)議。幸運(yùn)的是,在構(gòu)建大多數(shù)DIY電子項(xiàng)目時(shí),我們只需要了解一些通信協(xié)議。在本系列文章中,我們將討論三種最常見(jiàn)協(xié)議的基礎(chǔ)知識(shí):串行外設(shè)接口(SPI),內(nèi)部集成電路(I2C)和通用異步接收器/發(fā)送器(UART)驅(qū)動(dòng)通信。  
 
 首先,我們將從一些關(guān)于電子通信的基本概念開(kāi)始,然后詳細(xì)解釋SPI的工作原理。  
 
 SPI,I2C和UART比USB,以太網(wǎng),藍(lán)牙和WiFi等協(xié)議慢得多,但它們更簡(jiǎn)單,使用的硬件和系統(tǒng)資源也更少。SPI,I2C和UART非常適用于微控制器之間以及微控制器和傳感器之間的通信,在這些傳感器中不需要傳輸大量高速數(shù)據(jù)。
SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的

 

串行與并行通信

電子設(shè)備通過(guò)物理連接在設(shè)備之間的導(dǎo)線發(fā)送數(shù)據(jù)位來(lái)相互通信,有點(diǎn)像一個(gè)字母中的字母,除了26個(gè)字母(英文字母表中),一個(gè)位是二進(jìn)制的,只能是1或0。通過(guò)電壓的快速變化,位從一個(gè)設(shè)備傳輸?shù)搅硪粋€(gè)設(shè)備。在工作電壓為5V的系統(tǒng)中,0位作為0V的短脈沖通信,1位通過(guò)5V的短脈沖通信。  
 
 數(shù)據(jù)位可以并行或串行形式傳輸。在并行通信中,數(shù)據(jù)位是同時(shí)發(fā)送的,每個(gè)都通過(guò)單獨(dú)的線路。下圖顯示了二進(jìn)制(01000011)中字母“C”的并行傳輸:  
 SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的  
 
在串行通信中,通過(guò)單線逐個(gè)發(fā)送這些位。下圖顯示了二進(jìn)制(01000011)中字母“C”的串行傳輸:  
SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的

 

SPI通信簡(jiǎn)介

許多設(shè)備都采用了SPI通用通信協(xié)議。例如,SD卡模塊,RFID讀卡器模塊和2.4 GHz無(wú)線發(fā)送器/接收器都使用SPI與微控制器通信。  
 
 SPI的一個(gè)獨(dú)特優(yōu)勢(shì)是可以不間斷地傳輸數(shù)據(jù)。可以連續(xù)流發(fā)送或接收任意數(shù)量的比特。使用I2C和UART,數(shù)據(jù)以數(shù)據(jù)包形式發(fā)送,限制為特定的位數(shù)。啟動(dòng)和停止條件定義每個(gè)數(shù)據(jù)包的開(kāi)始和結(jié)束,因此數(shù)據(jù)在傳輸過(guò)程中會(huì)被中斷。  
 
 通過(guò)SPI通信的設(shè)備處于主從關(guān)系。主設(shè)備是控制設(shè)備(通常是微控制器),而從設(shè)備(通常是傳感器,顯示器或存儲(chǔ)器芯片)接收來(lái)自主設(shè)備的指令。最簡(jiǎn)單的SPI配置是單主機(jī),單從機(jī)系統(tǒng),但是一個(gè)主機(jī)可以控制多個(gè)從機(jī)(下面將詳細(xì)介紹)。  
 
 SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間。  
SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的
(1)MISO– Master Input Slave Output,主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;
(2)MOSI– Master Output Slave Input,主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;
(3)SCLK – Serial Clock,時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生;
(4)CS – Chip Select,從設(shè)備使能信號(hào),由主設(shè)備控制。
SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的
*實(shí)際上,從設(shè)備的數(shù)量受到系統(tǒng)負(fù)載電容的限制,受主設(shè)備在電壓電平之間精確切換的能力。  
 
 

SPI如何工作

時(shí)鐘  
 時(shí)鐘信號(hào)將來(lái)自主設(shè)備的數(shù)據(jù)位輸出與從設(shè)備的位采樣同步。在每個(gè)時(shí)鐘周期傳輸一位數(shù)據(jù),因此數(shù)據(jù)傳輸?shù)乃俣扔蓵r(shí)鐘信號(hào)的頻率決定。由于主設(shè)備配置并生成時(shí)鐘信號(hào),因此SPI時(shí)鐘始終為主設(shè)備的時(shí)鐘。  
 
 設(shè)備共享時(shí)鐘信號(hào)的任何通信協(xié)議稱為同步。SPI是一種同步通信協(xié)議,還有一些不使用時(shí)鐘信號(hào)的異步方法。例如,在UART通信中,雙方都設(shè)置為預(yù)先配置的波特率,該波特率決定數(shù)據(jù)傳輸?shù)乃俣群蜁r(shí)間。  
 
 SPI中的時(shí)鐘信號(hào)可以使用時(shí)鐘極性和時(shí)鐘相位屬性進(jìn)行修改。這兩個(gè)屬性協(xié)同工作以定義何時(shí)輸出以及何時(shí)對(duì)它們進(jìn)行采樣。時(shí)鐘極性可由主機(jī)設(shè)置,以允許在時(shí)鐘周期的上升沿或下降沿輸出和采樣。時(shí)鐘相位也可以由主機(jī)設(shè)置,以便在時(shí)鐘周期的第一個(gè)邊沿或第二個(gè)邊沿上進(jìn)行輸出和采樣,無(wú)論是上升還是下降。  
 
 從設(shè)備選擇  
 主設(shè)備可以通過(guò)將從設(shè)備的CS / SS線設(shè)置為低電壓電平來(lái)選擇要通話的從設(shè)備。在空閑非傳輸狀態(tài)中,從選擇線保持在高電壓電平。主機(jī)上可能有多個(gè)CS / SS引腳,以允許多個(gè)從機(jī)并聯(lián)連接。如果只有一個(gè)CS/SS引腳,則可以通過(guò)菊花鏈將多個(gè)從器件連接到主器件。  
 
 多個(gè)從設(shè)備  
 SPI可以設(shè)置為使用單個(gè)主設(shè)備和單個(gè)從設(shè)備進(jìn)行操作,也可以設(shè)置通過(guò)單個(gè)主設(shè)備控制多個(gè)從設(shè)備。有兩種方法可以將多個(gè)從站連接到主站。如果主機(jī)有多個(gè)從機(jī)選擇引腳,則從機(jī)可以并聯(lián)連接,如下所示:  
 SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的  
 如果只有一個(gè)從選擇引腳可用,則從器件可以菊花鏈?zhǔn)竭B接,如下所示:  
SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的  
MOSI和MISO
 
 主機(jī)通過(guò)MOSI線串行發(fā)送數(shù)據(jù)到從機(jī)。從器件接收MOSI引腳上的主器件發(fā)送的數(shù)據(jù)。從主設(shè)備發(fā)送到從設(shè)備的數(shù)據(jù)通常首先以最高有效位發(fā)送。  
 
 從機(jī)還可以通過(guò)串行的MISO線路將數(shù)據(jù)發(fā)送回主機(jī)。從從設(shè)備發(fā)送回主設(shè)備的數(shù)據(jù)通常首先以最低有效位發(fā)送。  
 
 SPI數(shù)據(jù)傳輸步驟  
 1.主機(jī)輸出時(shí)鐘信號(hào):  
 SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的
2.主器件將SS / CS引腳切換到低電壓狀態(tài),從而激活從器件:  
 
 SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的
3.主機(jī)沿MOSI線一次一位地向從機(jī)發(fā)送數(shù)據(jù)。從機(jī)在接收到的位時(shí)讀取這些位:  
 
 SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的
4.如果需要響應(yīng),從站將沿著MISO線一次一位地向主站返回?cái)?shù)據(jù)。主機(jī)在接收到的位時(shí)讀取這些位:

SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的


 

SPI的優(yōu)點(diǎn)和缺點(diǎn)

使用SPI有一些優(yōu)點(diǎn)和缺點(diǎn),如果在不同的通信協(xié)議之間進(jìn)行選擇,您應(yīng)該根據(jù)項(xiàng)目的要求知道何時(shí)使用SPI:  
 
 優(yōu)點(diǎn)  
 沒(méi)有啟動(dòng)和停止位,因此數(shù)據(jù)可以連續(xù)流式傳輸而不會(huì)中斷  
 沒(méi)有復(fù)雜的從機(jī)尋址系統(tǒng),如I2C  
 比I2C更高的數(shù)據(jù)傳輸速率(幾乎快兩倍)  
 單獨(dú)的MISO和MOSI線,因此可以同時(shí)發(fā)送和接收數(shù)據(jù)  
 
 缺點(diǎn)  
 使用四根線(I2C和UART使用兩根)  
 無(wú)法確認(rèn)數(shù)據(jù)已成功接收(I2C已執(zhí)行此操作)  
 沒(méi)有錯(cuò)誤檢查,如UART中的奇偶校驗(yàn)位  
 僅允許單個(gè)主機(jī)

上述內(nèi)容就是SPI總線工作原理、優(yōu)缺點(diǎn)和應(yīng)用是怎樣的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

spi
AI