SPI简介
四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISD(Master Input Slave Output)、SS(Slave Select)
【SS低电平有效,】
同步,全双工(数据发送和接收单独各占一条线,能够同时发收数据)
一主多从
硬件电路![](https://i-blog.csdnimg.cn/blog_migrate/1b61a5fc1c780d5af8177b5daddedc58.png)
如果从机没有供电,需要主机引出一根电源线给从机供电。
主机和从机都需要接地。
MOSI:从机接收主机输出的数据
MISO:主机输入从机输出的数据
ss线低电平有效,主机将想要指定的从机的ss线置低电平,即可选定。
移位示意图
波特率发生器上升沿时主机里的移位寄存器向左移一位,同时将移出的数据放在MOSI上,从机同理;当下降沿时,MOSI上的数据采样输入到移位寄存器的最低位。
时序基本单元
SS电平有效
SS从高电平切换到低电平是通信的开始,之后一直保持低电平状态,直到整个通信过程完成。
CPOL(Clock Polarity)时钟极性
CPHA(Clock Phase)时钟相位
MISO开始和结束处于中间位置,意为高阻态(未避免多个从机在接发数据上产生冲突,所以在某一从机的SS未被选中时,其上的MISO为高阻态)