S5PV210开发 -- SPI 你知道多少?

一、SPI简介

参看:SPI详解
SPI(serial peripheral interface,串行外围设备接口)总线技术是 Motorola 公司推出的一种同步串行接口。它用于CPU与各种外围器件进行全双工、同步串行通讯。它只需四条线就可以完成 MCU 与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入->从机输出数据线(MISO)、主机输出<-从机输入数据线(MOSI)、低电平有效从机选择线CS。当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。即完成一个字节数据传输的实质是两个器件寄存器内容的交换。主SPI的时钟信号(SCK)使传输同步。

二、SPI 主、从硬件连接图

SPI是用来跟各种外设,如:
传感器:温度,压力,ADC,触摸屏,视频游戏控制器
控制设备:音频编解码器,数字电位器,DAC
相机镜头:佳能EF镜头卡口
通讯:以太网,USB,USART,CAN,IEEE 802.15.4,IEEE 802.11,手持视频游戏
内存:闪存和EEPROM
实时时钟
LCD,有时甚至用于管理的图像数据
任何MMC或SD卡(包括SDIO变体[6] )
对于高性能系统中,FPGA中有时使用SPI接口作为从一台主机,作为主传感器,或用于用于引导如果它们是基于SRAM的闪存。

查看芯片手册和原理图 DM368 有 5 组 SPI 总线,每组 3 个片选;Hi3516A 有 2 组 SPI 总线,每组 3 个片选。




SPI总线一个主机接多个从机连接方法:
典型的SPI总线:主站和三个独立的从站
在独立从配置,存在用于每个从一个独立的片选线。电源和芯片选择线之间的上拉电阻强烈建议为每个独立的装置,以减少设备之间的串扰。[3]这是通常使用SPI的方式。因为从站的MISO引脚连接在一起时,它们需要是三态销(高,低或高阻抗)。

菊花链式SPI总线:主站和协同从站
实现SPI一些产品可在被连接的菊花链配置中,第一从输出被连接到第二从输入等每个从属的SPI端口被设计第二组时钟的过程中发出脉冲的精确副本数据它的第一组时钟脉冲的期间接收到的。整个链充当通信移位寄存器 ; 菊花链通常与移位寄存器完成通过SPI提供的输入或输出的银行。这种特征仅需要从主,而不是为每个从一个单独的SS线的单个SS线。可以与SPI需要菊花链配置潜在互操作的其它应用包括SGPIO,JTAG,[5]和双线接口。


三、SPI 四种工作模式

(1)工作模式

SPI 有四种工作模式,各个工作模式的不同在于 SCLK 不同, 具体工作由 CPOL,CPHA 决定。
CPOL: (Clock Polarity),时钟极性
当CPOL为0时,时钟空闲时电平为低;
当CPOL为1时,时钟空闲时电平为高;
CPHA:(Clock Phase),时钟相位
当CPHA为0时,时钟周期的上升沿采集数据,时钟周期的下降沿输出数据;
当CPHA为1时,时钟周期的下降沿采集数据,时钟周期的上升沿输出数据;

CPOL和CPHA,分别都可以是0或时1,对应了四种组合。
四种工作方式时序分别为:

(2)辨识技巧

上面讲到了有四种工作模式,该如何确认自己的设备使用的是哪种工作模式呢?
以GV7601SDI 解码芯片为例:

1、先确认从机需求的 SCLK 极性,不工作时是在低电位还是高电位,由此确认 CPOL 为 0 或 1



时钟空闲时电平为低,得出: CPOL 为 0

2、再由slave芯片 datasheet 中的时序图确认 slave 芯片是在 SCLK 的下降沿采集数据,还是在SCLK的上升沿


翻译一下:
在读取序列(命令字R / W位设置为高电平)期间,将传输串行数据或先接收MSB,与串行时钟SCLK的上升沿同步。芯片选择(CS)信号必须在第一个之前设置为低至少1.5ns(图4-62中的t0)时钟边缘以确保正确的操作。串行输出(SDOUT)的第一位(MSB)在读命令的最后一个下降SCLK沿之后是可用的(图4-63中的t5)字,剩余的位在SCLK的负边沿输出。
注意:当多个设备连接到GSPI链时,只能有一个CS在读取序列期间被断言。
在写序列(命令字R / W位设置为低电平)期间,等待状态为37.1ns(t4 in命令字和以下数据字之间需要图4-62)。这个在连续的命令字/数据字之间也必须保持等待状态写序列。当选择自动增量模式(AutoInc = 1)时,等待状态必须在初始命令之后的连续数据字之间保持字/数据字序列。在写序列期间,所有命令和随后的数据字输入到SDIN引脚输出在SDOUT引脚不变。当几个设备连接到GSPI链,数据可以同时写入所有CS设备低。


得出:CPHA为 0
相关文章
相关标签/搜索