当前位置:文档之家› SPI时序分析和基础知识总结解析

SPI时序分析和基础知识总结解析


SPI接口是一种事实标准,并没有标准协议,大部分厂家都是参照Motorola的SPI 接口定义来设计的。但正因为没有确切的版本协议,不同家产品的SPI接口在技术 上存在一定的差别,容易引起歧义,有的甚至无法直接互连(需要软件进行必要的 修改)。
SPI接口经常被称为4线串行总线,以主/从方式工作,数据传输过程由主机初始化 。如图1所示,其使用的4条信号线分别为: 1) SCLK:串行时钟,用来同步数据传输,由主机输出; 2) MOSI:When master, out line; when slave, in line。主机输出从机输入数据线; 3) MISO:When master, in line; when slave, out line。主机输入从机输出数据线; 比如MOSI,该线上数据一定是Master流向Slave的。因此在电路板上,Master的 MOSI引脚应与Slave的MOSI引脚连接在一起。双方的MISO也应该连在一起,而不是 一方的MOSI连接另一方的MISO。 Motorola的经典命名是MOSI和MISO,这是站在信号线的角度来命名的。 不过,也有一些产家(比如Microchip)是按照类似SDI,SDO的方式来命名,这是 站在器件的角度根据数据流向来定义的。 SDI:串行数据输入 SDO:串行数据输出 在这种情况下,当Master与Slave连接时,就应该用一方的SDO连接另一个方的 SDI。 4) SS:Slave Select, 片选线,用于选择激活某Slave设备,低有效,由Master驱动输 出。只有当SS-信号线为低电平时,对应Slave设备的SPI接口才处于工作状态。
一主多从的SPI传输模式
SPI总线添加从器件:每个器件需要一个单独的从选择信号。总信号数最终为 n+3 个,其中 n 是总线上从器件的数量。在 SPI 总线上添加新的从器件也不方便。 对于额外添加的每个从器件,都需要一条新的从器件选择线。
SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产 生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在 SCLK的下降沿上数据改变,上升沿一位数据被存入移位寄存器。
SPI也支持多Slave应用。多个Slave共享时钟线、数据线,可以直接并接在一起; 而各Slave的片选线SS则单独与Master连接,受Master控制。在一段时间内,Master 只能通过某根SS线激活一个Slave,进行数据传输,而此时其他Slave的时钟线和数据 线端口则都应保持高阻状态,以免影响当前数据传输的进行。 SPI接口采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持 单Master。主机通过片选线来确定要通信的从机。这就要求从机的MISO口具有三态特 性,使得该口线在器件未被选通时表现为高阻抗。 SPI的时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在 后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率 可达几Mbps的水平。
在SPI操作中,最重要的两项设置就是时钟极性(CPOL或UCCKPL)和时钟相位 (CPHA或UCCKPH)。时钟极性设置时钟空闲时的电平,时钟相位设置读取数据和 发送数据的时钟沿。 主机和从机的发送数据是同时完成的,两者的接收数据也是同时完成的。所以为了 保证主从机正确通信,应使得它们的SPI具有相同的时钟极性和时钟相位。
在一个SPI时钟周期内,会完成如下操作: 1) 主机通过MOSI线发送1位数据,从机通过该线读取这1位数据; 2) 从机通过MISO线发送1位数据,主机通过该线读取这1位数据。 这是通过移位寄存器来实现的。如下图所示,主机和从机各有一个移位寄存器,且 二者连接成环。随着时钟脉冲,数据按位传输,高位在前,低位在后(MSB first), 依次移出主机寄存器和从机寄存器,并且依次移入从机寄存器和主机寄存器。当寄 存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。
SPI时序分析和基础知识总结
一、SPI总线的历史 二、SPI总线接口定义 三、SPI总线的工作方式和传输时序 四、SPI与I2C的异同点 五、SPI总线的优缺点 六、SPI总线的设置 七、SPI与SD卡信号
八、关于QSPI
Байду номын сангаас
SPI ( Serial Peripheral Interface )串行外设接口总线,最早由Motorola提出,出现 在其M68系列单片机中,由于其简单实用,又不牵涉到专利问题,因此许多厂家的 设备都支持该接口,广泛应用于外设控制领域。
在主设备这边配置SPI接口时钟的时候一定要弄清楚从设备的时钟要求,因为主设 备这边的时钟极性和相位都是以从设备为基准的 。 SPI总线有四种工作方式,其中使用的最为广泛的是SPI0和SPI3方式(实线表示);
四种工作方式时序分别为:
时序详解:
CPOL:时钟极性选择,为0时SPI总线空闲为低电平,为1时SPI总线空闲为高电平 CPHA:时钟相位选择,为0时在SCK第一个跳变沿采样,为1时在SCK第二个跳变沿采样 工作方式1: 当CPHA=0、CPOL=0时SPI总线工作在方式1。MISO引脚上的数据在第一个SPSCK沿跳变 之前已经上线了,而为了保证正确传输,MOSI引脚的MSB位必须与SPSCK的第一个边沿同步, 在SPI传输过程中,首先将数据上线,然后在同步时钟信号的上升沿时,SPI的接收方捕捉位信号 ,在时钟信号的一个周期结束时(下降沿),下一位数据信号上线,再重复上述过程,直到一个字 节的8位信号传输结束。 工作方式2: 当CPHA=0、CPOL=1时SPI总线工作在方式2。与前者唯一不同之处只是在同步时钟信号的 下降沿时捕捉位信号,上升沿时下一位数据上线。 工作方式3: 当CPHA=1、CPOL=0时SPI总线工作在方式3。MISO引脚和MOSI引脚上的数据的MSB位 必须与SPSCK的第一个边沿同步,在SPI传输过程中,在同步时钟信号周期开始时(上升沿)数据 上线,然后在同步时钟信号的下降沿时,SPI的接收方捕捉位信号,在时钟信号的一个周期结束 时(上升沿),下一位数据信号上线,再重复上述过程,直到一个字节的8位信号传输结束。 工作方式4: 当CPHA=1、CPOL=1时SPI总线工作在方式4。与前者唯一不同之处只是在同步时钟信号的 上升沿时捕捉位信号,下降沿时下一位数据上线。
相关主题