SPI的通信原理以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,有4根线,单向传输时只要3根线。
(1)MOSI(SDO) – 主设备数据输出,从设备数据输入(Master Out Slave In)
(2)MISO(SDI) – 主设备数据输入,从设备数据输出(Master In Slave Out)
(3)SCLK – 时钟信号,由主设备产生(Serial Clock)
(4)CS – 从设备使能信号,由主设备控制,拉低有效。(Chip Select)
四种SPI模式:
CKPOL (Clock Polarity) = CPOL = POL = Polarity = (时钟)极性
(CPOL=0时钟空闲时为低电平,CPOL=1时钟空闲时为高电平)
CKPHA (Clock Phase) = CPHA = PHA = Phase = (时钟)相位
(CPHA=0时在第一个时钟跳变沿采样数据,CPHA=1时在第二个时钟跳变沿采样数据,)
1、SPI的IO状态初始化[CPOL=1]
{
CS_H
CLK_H
DATA_H
CS_L
}
2、SPI数据传输[CPHA=1]
{
CS_L
{//[器件特殊要求先发送一个1]
DATA_L
CLK_L
CLK_H
}
DATA_ToBeSent
CLK_L
CLKH
CS_H
}