有关SPI的知识点总结

什么是SPI

        是一种高速的全双工同步通信总线。

        分为主从两种模式,有一个主设备和多个从设备,通过片选信号管理从设备。

        SPI接口的读写操作都是由主设备发起的。

SPI构成

        有四条信号线:只有主设备可以控制信号线

                 SDI 数据输入  SDO 数据输出   SCK 时钟   CS 片选

        主从设备连接:

                MISO 主设备输入连从设备输出   MOSI 主设备输出从设备输入 

                SCLK串行时钟信号由主设备产生  CS/SS 从设备片选信号 主设备控制

SPI四种通信模式

        存在两个特殊的寄存器配置:CPOL CPHA

        CPOL配置SPI的极性  CPHA配置相位→关于极性和相位的理解可以看 这篇文章

        举个栗子:当两个全配置成1时,表示空闲状态是1高电平,在第二个跳边沿进行数据采样;也就是当时钟信号第一次由高变成低时数据输出,再由低变成高时数据采样(偶数次边沿采样),即每个周期的上升沿数据采样。

SPI数据发送接收

        可参考文章SPI原理超详细讲解---值得一看

SPI工作中的注意事项

  1.  主从模式有相同的工作模式——SCLK,CPOL和CPHA相同
  2.  原理概括——在时序控制下,两个双向移位寄存器进行数据交换
  3. 注意SPI并没有读写这一说法从机也不会通过标志位判断读还是写,SPI中只有主模式和从模式之分,外设的读操作和写操作是同时进行的。
  4. 接上,如果只想对从机写,则外设忽略接收到的数据即可;若只想读就要向从机发一个空字节来引发从机传输——发一个数据必然会收到一个数据,要收到数据也必须先发一个数据。
  5. 多从机模式的连接有两种方法 :多NSS和菊花链参考文章SPI协议详解(图文并茂+超详细)
  6. SPI的优势在于可以传输任意大小字节的数据;硬件结构简单不需要地址(不同于I2C)从机使用主机的时钟(不同于UART)不需要收发器(不同于CAN)
  7. 从理论上讲,只要实际可行,时钟速率就可以是您想要的任何速率,当然这个速率受限于每个系统能提供多大的系统时钟频率,以及最大的SPI传输速率。
  8. 缺点是没有应答信号,支持短距离传输,需要很多引脚(与I2C相比)
  9. 关于SPI补充可参考文章关于SPI协议,看这一篇文章就够了!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部