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