×
接口总线驱动 > 总线 > 详情

SPI总线小结

发布时间:2020-05-28 发布时间:
|
SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。

1、SPI总线主要特点

· 全双工;

· 可以当作主机或从机工作;

· 提供频率可编程时钟;

· 发送结束中断标志;

· 写冲突保护;

2、接口定义

该总线通信基于主-从配置。它有以下4个信号:

MOSI:Master Out Slave In主出/从入

MISO:Master In Slave Out 主入/从出

SCK:Serial Clock 串行时钟

SS:Slave Select 从属选择

芯片上“从属选择”(slave-select)的引脚数决定了可连到总线上的器件数量。

3、SPI时序分析

在SPI传输中,数据是同步进行发送和接收的。数据传输的时钟基于来自主处理器的时钟脉冲,摩托罗拉没有定义任何通用SPI的时钟规范。然而,最常用的时钟设置基于时钟极性(CPOL)和时钟相位(CPHA)两个参数,CPOL定义SPI串行时钟的活动状态,而CPHA定义相对于SO-数据位的时钟相位。 CPOL和CPHA的设置决定了数据取样的时钟沿。如图1所示,根据CPOL和CPHA的不同,有四种不同的工作模式。

           
                                         图1 SPI时序分析

其中,CPOL是用来决定SCK时钟信号空闲时的电平。CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。CPHA用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样。CPHA=1,在每个周期的第二个时钟沿采样。[page]

关于时序分析,网上有几张流行的说明图表,意义是相同的。



                                          图3 SPI时序分析


 

 

 

图2 SPI时序分析


 

 

 

图4 SPI时序分析

虽然表述的侧重点不同,但描述的意思是一致的。根据SCK无效电平和采样时刻的不同,2x2=4种时序。

4、注意事项

1)在Mcbsp的手册中,SPI的时序表述有所不同。SCK无效电平表述是相同的,但是采样时刻的表述她是通过有无delay来表达的。对比如下:

CPHA = 0表示在每个周期的第一个时钟沿采样,对应存在delay;

CPHA = 1表示在每个周期的第二个时钟沿采样,对应无delay。

2)在不同场合下,发送和接收的表述词汇可能不同。比如:

发送可表述为:transmit,output

接收可表述为receive,sample,latch

3)SPI主模块和从设备时钟相位和极性应该一致。个人理解这句话有2层意思:其一,主设备SPI时钟和极性的配置应该由外设来决定,也就是说主设备这边的时钟极性和相位都是以从设备为基准的;其二,两者的配置应该保持一致。 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
详解DSP和FPGA在汽车电子中的广泛应用