SPI,即Serial Peripheral Interface的英文縮寫。從字面意思看就是串行外部設(shè)備接口,是一種全雙工、高速、同步的通信總線。
SPI總線最早是摩托羅拉公司開發(fā)的全雙工同步串行總線,用于微控制器(MCU)連接外部設(shè)備之間的同步串行通信,主要應(yīng)用于Flash、數(shù)模轉(zhuǎn)換器、信號處理器、控制器、EEPROM存儲器等外設(shè)中。
SPI總線屬于一主多從接口,和I2C不同的是,SPI 采用CS片選來控制主機與從機通信。現(xiàn)在的單片機幾乎都支持SPI總線,其已經(jīng)成為一種高速、同步、雙工的通用標(biāo)準(zhǔn),在IoT產(chǎn)品中得到廣泛應(yīng)用。
SPI通常有4根線(四線制),可實現(xiàn)全雙工通信
【SCK】: 串行時鐘(Serial Clock)
【MOSI】:主發(fā)從收信號(Master Output, Slave Input)
【MISO】:主收從發(fā)信號(Master Input, Slave Output
【CS/CS】:片選信號(Slave Select)
SPI應(yīng)用也有3根線(三線制),實現(xiàn)半雙工通信。
SPI模塊為了和外設(shè)進行數(shù)據(jù)交換,根據(jù)外設(shè)工作要求,其輸出串行同步時鐘極性和相位可以進行配置,通過CPHA(時鐘相位)、CPOL(時鐘極性)來控制設(shè)備的通信模式。
時鐘極性CPOL是用來配置SCK的電平在哪種狀態(tài)時是有效狀態(tài)或者空閑狀態(tài)。時鐘相位CPHA是用來配置數(shù)據(jù)采樣是在哪個邊沿:
CPHA=0,數(shù)據(jù)采樣是在第1個邊沿,數(shù)據(jù)發(fā)送在第2個邊沿
CPHA=1,數(shù)據(jù)采樣是在第2個邊沿,數(shù)據(jù)發(fā)送在第1個邊沿
CPOL=0,當(dāng)SCLK=0時處于空閑態(tài),有效狀態(tài)就是SCLK處于高電平時
CPOL=1,當(dāng)SCLK=1時處于空閑態(tài),有效狀態(tài)就是SCLK處于低電平時
CPHA=0、CPOL=0:此時空閑態(tài)時,SCK處于低電平,數(shù)據(jù)采樣是在第1個邊沿,就是SCK由低電平到高電平的跳變,所以數(shù)據(jù)采樣是在上升沿(準(zhǔn)備數(shù)據(jù)),(發(fā)送數(shù)據(jù))數(shù)據(jù)發(fā)送是在下降沿。
CPHA=0、CPOL=1:此時空閑態(tài)時,SCK處于高電平,數(shù)據(jù)采集是在第1個邊沿,即SCK由高電平到低電平的跳變,所以數(shù)據(jù)采集是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。
CPHA=1、CPOL=0:此時空閑態(tài)時,SCK處于低電平,數(shù)據(jù)發(fā)送是在第1個邊沿,即SCK由低電平到高電平的跳變,所以數(shù)據(jù)采樣是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。
CPHA=1、CPOL=1:此時空閑態(tài)時,SCK處于高電平,數(shù)據(jù)發(fā)送是在第1個邊沿,即SCK由高電平到低電平的跳變,所以數(shù)據(jù)采集是在上升沿,數(shù)據(jù)發(fā)送是在下降沿。
另外,分享個時序圖識圖方法。交叉線:數(shù)據(jù)允許發(fā)生改變,但不一定要變。平行線:數(shù)據(jù)不允許發(fā)生改變,必須穩(wěn)定發(fā)送。
再細(xì)說傳輸時序。SPI接口在內(nèi)部硬件實際上是兩個簡單的移位寄存器,傳輸?shù)臄?shù)據(jù)為8位,在主器件產(chǎn)生的從器件使能信號和移位脈沖下,按位傳輸,高位在前,低位在后。如下圖所示,在SCLK的下降沿上數(shù)據(jù)改變,上升沿一位數(shù)據(jù)被存入移位寄存器。SPI接口沒有指定的流控制,沒有應(yīng)答機制確認(rèn)是否接收到數(shù)據(jù)。
通過以上SPI總線常識的簡單描述,我們大致可以了解到SPI具有高速、同步、全雙工、總線結(jié)構(gòu)、主從通信模式等優(yōu)勢,但也存在無指定流控制,也沒有應(yīng)答機制確認(rèn)等短板。
今天的分享就到這里啦,EBYTE人每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進行了解,還有客服小姐姐在線答疑哦!
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3