南宁微网站开发,wordpress 主题查询,wordpress新浪jquery,新手做网站教程总线介绍
SPI#xff0c;是英语Serial Peripheral interface的缩写#xff0c;顾名思义就是串行外设接口。SPI协议主要作为主控芯片去配置外围芯片的接口协议。SPI接口主要应用在 EEPROM#xff0c;FLASH#xff0c;实时时钟#xff0c;AD转换器#xff0c;还有数字信号…总线介绍
SPI是英语Serial Peripheral interface的缩写顾名思义就是串行外设接口。SPI协议主要作为主控芯片去配置外围芯片的接口协议。SPI接口主要应用在 EEPROMFLASH实时时钟AD转换器还有数字信号处理器和数字信号解码器之间。SPI是一种高速的全双工同步串行主从结构通信总线并且在芯片的管脚上只占用四根线节约了芯片的管脚同时为PCB的布局上节省空间提供方便正是出于这种简单易用的特性现在越来越多的芯片集成了这种通信协议。
SPI仅定义了传输的信息并未对传输的数据内容含义进行定义用户需查阅相关产品的datasheet查看
SPI知识点说明
总线说明
SPI存在四个接口
SCK时钟信号同步传输用以指示接收端接收数据SS_n片选信号在一主多从情况下指示主机访问的是哪一个slave。一般为低有效数据MOSImaster output slave input。主机对外输出数据的端口slave接收数据端口MISO:master input slave output.主机接收从机返回数据从机输出数据
时钟极性、采样设定
可通过设计完成在数据发送、接收与时钟沿的关系
CPOL表示当SCLK空闲idle的时候其电平的值是低电平0还是高电平1CPHA表示对应着数据采样是在第几个边沿edge是第一个边沿还是第二个边沿0对应着第一个边沿1对应着第二个边沿
存在以下情况
CPOLCPHA 0,0即SCLK默认条件下为0数据采样发送在第一个沿也就是上升沿对应的数据发送即为时钟下降沿。CPOLCPHA 0,1即SCLK默认条件下为0数据采样发送在第二个沿也就是下降沿对应的数据发送即为时钟上升沿。CPOLCPHA 1,0即SCLK默认条件下为1数据采样发送在第一个沿也就是下降沿对应的数据发送即为时钟上升沿。CPOLCPHA 1,1即SCLK默认条件下为1数据采样发送在第二个沿也就是上升沿对应的数据发送即为时钟下降沿。
SPI数据含义
spi协议仅定义了数据传输的途径对该路径中传输的数据具体是什么含义没有做定义。如参考文档中spi中就存在起始位、数据位、操作位、地址等但本身SPI并没有这些规定SPI可以理解成信使仅负责将发送端期望发送的数据顺利的送到目的端对应信件中的内容还是由发端、接收端的规则制定
SPI和IIC的对比
SPI是全双工而IIC是半双工。IIC支持多主机多从机模式而SPI只能有一个主机。从GPIO占用上来看IIC占用更少的GPIO更节省资源。SPI的数据位宽更灵活可以根据需要选择多位数据宽度。SPI协议没有响应机制主机无法得知从机是否接收到所发的数据如果不采取一些方法的话可能会导致数据丢帧。正是因为没有复杂的响应机制SPI协议可以做到非常高的速率(上百兆)每一个SCK都可以进行数据的传输通过引入CRC校验等校验方法可以即高速传输数据又能保持数据的准确度。IIC通过器件地址来选择从机从机数量的增加不会导致GPIO的增加而SPI通过CS选择从机每增加一个从机就要多占用一个GPIO当然也可以通过加入译码器来实现多从机控制。两者大多都应用于板内器件短距离通讯。
参考文献
深入理解SPi通讯协议5分钟看懂_哔哩哔哩_bilibili
SPI原理超详细讲解---值得一看-CSDN博客
一文看懂SPI协议 - 知乎 (zhihu.com)