1、说到SPI通信协议,就要引入master主机和slave从机的概念,简单的描述就是主机负责发送命令,从机负责执行命令,例如write、read等。
2、SPI协议是一种没有应答机制的通信协议,既当主机发出读命令后,从机直接发出数据,不需要对接收到的命令做ACK应答(区别于IIC协议,通信协议之IIC协议,将详细阐述)。
3、SPI协议是一种总线协议(总线上可以挂多个存储单元),主要包含cs_n(片选),sclk(时钟控制),mosi(主机的输出),miso(从机的输出),又称“四线协议”。
4、SPI总线协议的四种模式:分别是00/01/10/11
什么是00/01/10/11状态:引入概念1、时钟极性CPOL 分别有0和1两种
、 2、时钟相位CPHA 分别有0和1两种
时钟极性CPOL :时钟的初始状态是高电平还是低电平
时钟相位CPHA :时钟的跳变,在第几次跳变接收数据
时钟极性和时钟相位的选择与芯片的选择有直接的关系。根据不用芯片手册的支持的收发模式选择不同的时钟极性和时钟相位。
5、cs_n信号的作用:是激活存储器,激活的存储器,将进行读写操作。
6、sclk信号的作用:根据不同芯片的特性选择适合的时钟极性和时钟相位后,在上升沿发送或存储数据,同理在下降沿也可实行发送或存储,当上升沿接收,那么下降沿发送(根据芯片特性决定);注意sclk的大小与芯片支持的最大频率有关,不能超过最大频率。
7、mosi线的作用:是发送命令、地址等的串行总线。
8、miso线的作用:是接收存储器的数据串行总线。
9、下图为接收发送的时序图,上升沿接收,下降沿发送的00和11模式。