首页 > 手机 > 配件 > spi总线,SPI总线介绍

spi总线,SPI总线介绍

来源:整理 时间:2022-04-07 21:50:35 编辑:华为40 手机版

怎样理解SPI总线时钟的极性与相位?

spi总线,SPI总线介绍

SPI是单片机外设电路中常用的一种通讯方式,适用于近距离通信,通常用于芯片间的通讯,有四根线。在SPI通讯中总线时钟和总线相位也两个比较重要的概念,一般在使用SPI通信时都使用默认设置,所以容易把这两个参数忽略。和大家分享一下SPI通讯、时钟极性以及时钟相位的基础知识。什么是SPI通讯总线SPI总线的英文全称为S“Serial Periphral Interface”,意思是串行外设接口,由于通讯距离比较短,适用于芯片级别的短距离通讯。

SPI的通讯分为主机和从机,属于高速全双工的总线通讯方式,SPI有四根线,分别为:MISO:主设备输入与从设备输出线;MOSI:主设备输出与从设备输入线;SCK:串行同步时钟信号线;SS:从机片选信号线,也用CS来表示。SPI总线的主机和从机的系统连接图如下图所示。SPI总线时钟的极性含义解释SPI的时钟极性用CPOL来表示。

SPI总线通讯的时基基准是时钟信号线SCK,SCK既有高电平,又有低电平,SPI的时钟极性用来表示时钟信号在空闲时是高电平还是低电平。情况说明如下:当CPOL=0:SCK信号线在空闲时为低电平;当CPOL=1:SCK信号线在空闲时为高电平;SPI总线时钟的相位含义解释时钟的相位用CPHA来表示,用来决定何时进行信号采样,在第一个跳变沿还是第二个跳变沿,至于是上升沿还是下降沿则由CPOL相位极性来表示。

下面分两种情况来介绍。如下图所示。上图表示CPHA=1时的情形,即在SCK时钟的第二个边沿进行数据的采样,至于是上升沿采样还是下降沿采样取决于时钟极性CPOL的值。如果CPHA=1,CPOL=1,则在SCK时钟的第二个边沿为上升沿时进行数据采样。如果CPHA=1,CPOL=0,则在SCK时钟的第二个边沿为下降沿时进行数据采样。

CPHA=0时的情形如下图所示。上图表示CPHA=0时的情形,即在SCK时钟的第一个边沿进行数据的采样,至于是上升沿采样还是下降沿采样取决于时钟极性CPOL的值。如果CPHA=0,CPOL=1,则在SCK时钟的第一个边沿为下降沿时进行数据采样。如果CPHA=0,CPOL=0,则在SCK时钟的第一个边沿为上升沿时进行数据采样。

总结一下,SPI的时钟极性决定了SCK在空闲时是低电平还是高电平;而相位极性则决定了在第一个边沿还是第二个边沿进行数据采样。SPI的时钟极性CPOL和相位极性CPHA是相互影响相互决定的,以上概念可能很绕口难以理解,但是对SPI进行一次编程之后,所有的内容都好理解了。以上就是这个问题的回答,感谢留言、评论、转发。

电子项目开发中,如何确定使用I2C总线还是SPI总线或者CAN总线?

spi总线,SPI总线介绍

电子项目开发中经常用到通讯功能,包括板子上芯片间的通讯和设备间的通讯。而常用的有线通讯方式无非就这几种,如I2C、SPI、RS232、RS485接口、CAN、USB等。其中I2C也叫IIC,对于题目中提到的几种通讯方式,I2C和SPI是芯片间的短距离通讯,无法长距离通讯。而CAN适合长距离通讯,根据不同的波特率通讯长度可达几公里。

什么时候选用I2C总线IIC由于只用到SCL和SDA两根通讯总线,所以应用广泛,目前有很多数字输出的芯片都是通过IIC传输数据的,比如EEPROM芯片AT24C系列,比如温度传感器芯片SHT20,比如气压传感器芯片BMP280,还有很多AD采样的芯片也是通过IIC传输的。所以,根据所使用的芯片是不是IIC通讯来确定。

IIC具有地址总线,可以挂接多个设备。什么时候选用SPI总线SPI总线也是很常用的芯片间的通讯总线,通常用3线SPI和4线SPI。3线SPI包括:SCLK,SDA,SS等。4线SPI包括:SCLK,MISO,MOSI,SS。也有很多数字量输出的芯片是通过SPI接口通讯的,一般3线SPI和4线SPI兼容。

如下图所示。SPI通过片选来确定所挂接设备的数量,占用单片机的GPIO口,不适用于挂接多个设备的情况,除非GPIO完全够。什么时候选用CAN总线CAN总线是设备间的通讯总线,具有两根线CANH和CANL,通讯距离非常远,可以达到数公里甚至更远,经常用于工业控制和汽车工业中。现在很多单片机带CAN片上资源,只需要选用一颗电平转换芯片即可实现CAN数据的传输。

由于CAN通讯传输距离远,可以扩展很多个CAN节点,所以设备间长距离通讯用的非常多。总结如果是芯片间的通讯可以选用IIC或者SPI,如果GPIO口有线且要挂接多个通讯芯片,则使用IIC。如果是设备间长距离的通讯可以选用RS485接口和CAN通讯,如果通讯距离只有一两公里可以选用RS485接口,如果通讯距离达到数公里则用CAN通讯总线。

文章TAG:总线spiSPI

最近更新