SPI通信
硬件电路
注意:为避免输入信号(MISO)造成冲突,只有被SS选中的设备才能使用MISO进行通信,空闲状态下该引脚呈现高阻态模式
SPI信号移位示意图
主机与从机通过交换时序实现数据传输,无论要与不要都需要双方移位寄存器的数据进行互换,才能完成数据的传输。在每个时钟信号,从自身寄存器移出一位数据,移入到对方的移位寄存器,从最高位开始移动。
SPI时序
SPI时序基本单元
SPI交换时序(模式0)
注意:由于在第一个边沿就要将输入移入到寄存器中,所以数据要在第一个边沿信号前就放置到数据总线上。在SS被拉低后,将要立即将一位数据放到数据总线上
SPI交换时序(模式1)
SPI交换时序(模式2)
SPI交换时序(模式3)
总结:
CPOL(Clock Polarity,时钟极性)决定空闲状态时,时钟信号线的高低电平
CPHA(Clock Phase,时钟相位)决定移入数据的边沿位置
移出数据意味着从自身寄存器中的最高位将一位数据移出到信号线上
移入数据意味着从信号线上读取一位数据移入到自身寄存器中的末尾