SPI(Serial Periphreal Iterface-串行外設接口)總線系統(tǒng)是一種同步串行外設接口,使MCU與各種外圍接口以串行方式進行通訊交換信息,SPI有三個寄存器,控制寄存器SPCR,狀態(tài)寄存器SPSR,數(shù)據寄存器SPDR,外圍設備包括FlashRam,網絡控制器,LCD顯示驅動器,AD轉換器和MCU etc.接口一共用4條線,串行時鐘線(SCLK),主機輸入/從機輸出數(shù)據線MISO,主機輸出/從機輸入數(shù)據線MOSI,和低電平有效的從機選擇線NSS.
SPI接口主要應用在EEPROM,flash 實時時鐘,AD轉換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。
數(shù)據傳輸?shù)倪^程:在主器件的移位脈沖下,數(shù)據按位傳輸,低位在前,高位在后,為全雙工通信,整體傳輸速度比IIC要快,速度可達幾Mbps.
優(yōu)點,信號線少,協(xié)議簡單,相對數(shù)據速率高。缺點:沒有指定的流控制,沒有應答機制,確認是否接收到數(shù)據。
SPI有4種工作模式,各個工作模式的不同在于SCLK 的不同,具體工作由CPOL,CPHA決定。
使用SPI通訊,參考方法如下:
第一步:設置主,從模式,設置MSTR ,SPE(使能位);
第二步:設置(時鐘)相位和極性,
第三步:設置數(shù)據幀的格式;(8位數(shù)據位,1位停止位,設置高位MSB在先,還是低位(LSB)在先);