SPI(Serial Peripheral Interface)一種同步串行傳輸規(guī)范,也是一種單片機(jī)外設(shè)芯片串行擴(kuò)展接口,是一種高速、全雙工、同步通信總線,可以在同一時(shí)間發(fā)送和接收數(shù)據(jù)。在通訊過(guò)程中,主設(shè)備發(fā)送數(shù)據(jù)給到從設(shè)備的的時(shí)候,同時(shí)從設(shè)備也會(huì)發(fā)送數(shù)據(jù)給到主設(shè)備去接收。所以SPI通訊協(xié)議沒(méi)有讀寫信號(hào)和應(yīng)答信號(hào)。而SPI最高速度可以達(dá)到10M/bps。
SPI通訊一般是四個(gè)接口。分別是:
1、MISO(Master Input Slave Output):用于主設(shè)備的數(shù)據(jù)輸入和從設(shè)備的輸出
2、MOSI(Master Output Slave Input):用于主設(shè)備的數(shù)據(jù)輸出和從設(shè)備的輸入
3、SCLK(Serial Clock):用于主設(shè)備的時(shí)鐘信號(hào)輸出
4、CS(Chip Select):片選信號(hào),用于從設(shè)備的使能,多用于一主多從的情況下面對(duì)于從設(shè)備的使能控制。
SPI的通信流程:
1、主設(shè)備首先通過(guò)CS端口選擇需要通信的從設(shè)備
2、主設(shè)備發(fā)送時(shí)鐘信號(hào),告訴從設(shè)備要開(kāi)始發(fā)送和接收數(shù)據(jù)
3、然后,根據(jù)要求主設(shè)備發(fā)送數(shù)據(jù)或者發(fā)送空白字節(jié)來(lái)接收數(shù)據(jù)