SPI总线
SPI:Serial Peripheral Interface 由Motorola定义。是一种高速,全双工,同步通信总线。
工作方式:主从模式。
4个信号: 1. SDO——主设备数据输出,从设备数据输入
2. SDI——主设备数据输入,从设备数据输出
3. SCLK—— 时钟信号,由主设备产生
4. CS—— 从设备使能信号,由主设备控制
通信过程:数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。
缺点:没有指定的数据流,没有应答机制确认是否接收到信号
SPI协议举例:假设8位寄存器装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。
那么第一个上升沿来的时候 数据将会是sdo=1;寄存器=0101010x。下降沿到来的时候,sdi上的电平将所存到寄存器中去,那么这时寄存器=0101010sdi,这样在 8个时钟脉冲以后,两个寄存器的内容互相交换一次。这样就完成里一个spi时序。
SPI输出串行同步时钟极性和相位可以进行配置:
时钟极性(CPOL): CPOL=0,串行同步时钟的空闲状态为低电平;
CPOL=1,串行同步时钟的空闲状态为高电平。
时钟相位(CPHA): CPHA=0,在串行同步时钟的第一个跳变沿(上升或者下降)数据被采集;
CPHA=1,在串行同步时钟的第二个跳变沿(上升或者下降)数据被采
SPI 4种工作模式