SPI协议学习笔记

2022-11-07 17:06:07 浏览数 (1)

SPI优点与缺点 优点:支持全双工,通信简单,数据传输速率快 缺点:在数据可靠性上存在一定的缺陷,因为它不像I2C一样有ACK应答机制 SPI总线的构成及信号类型 SPI总线只需四条线(如图1所示)就可以完成MCU与各种外围器件的通讯: 1)MOSI – Master数据输出,Slave数据输入 2)MISO – Master数据输入,Slave数据输出 3)SCK – 时钟信号,由Master产生 4)/CS – Slave使能信号,由Master控制。

每个SPI的slave和MCU都有一个i/o口连接,当我们的Master和某个slave通信时将需 要将从设备对应的片选引脚电平拉低或者是拉高。 通信模式 SPI通信有4种不同的模式,通信双方必须是工作在同一模式。不同的从设备可能在出厂是就是配 置为某种模式,不可改变;所以一般要将Master的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来控制Master的通信模式。 时钟极性CPOL是用来配置SCLK的电平出于哪种状态时是空闲态或者有效态,时钟相位CPHA 是用来配置数据采样是在第几个边沿,具体如下:: CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时 CPOL=1,表示当SCLK=1时处于空闲态,所以有效状态就是SCLK处于低电平时 CPHA=0,表示数据采样是在第1个边沿,数据发送在第2个边沿 CPHA=1,表示数据采样是在第2个边沿,数据发送在第1个边沿 在一个SPI时钟周期内,会完成如下操作: 1) Master通过MOSI线发送1位数据,同时Slave通过MOSI线读取这1位数据 2) Slave通过MISO线发送1位数据,同时Master通过MISO线读取这1位数据 Master和Slave各有一个移位寄存器,如图4所示,而且这两个移位寄存器连接成环状。依照SCK的变化,数据以MSB first的方式依次移出Master寄存器和Slave寄存器,并且依次移入Slave寄存器和Master寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。

SPI注意点 1)Slave的时钟极性和相位决定了Master时钟极性和相位,在时钟极性的配置上一定要确定Slave是在SCK的下降沿还是上升沿输出数据,是在SCK的上升沿还是下降沿接收数据,就是说,Master的通信模式要向Slave看齐 2)Slave时钟频率小于Master时钟频率时,如果Master的SCK的速率太快,会出现Slave接收到的数据不正确,而SPI接口又没有应答机制确认Slave是否接收到数据从而导致通信传输数据错误。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183566.html原文链接:https://javaforall.cn

0 人点赞