SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通讯总线,而且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今愈来愈多的芯片集成了这种通讯协议。
SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。web
SPI时序图详解-SPI接口在模式0下输出第一位数据的时刻
编程
SPI接口在模式0下输出第一位数据的时刻
SPI接口有四种不一样的数据传输时序,取决于CPOL和CPHL这两位的组合。图1中表现了这四种时序,
时序与CPOL、CPHL的关系也能够从图中看出。架构
CPOL是用来决定SCK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,布局
空闲电平为高电平。CPHA是用来决定采样时刻的,CPHA=0,在每一个周期的第一个时钟沿采样,性能
CPHA=1,在每一个周期的第二个时钟沿采样。spa
图4中,注意看CS和MISO信号。咱们能够看出,CS信号有效后,从器件马上输出了bit1(值为1)。3d
一般咱们进行的spi操做都是16位的。图5记录了第一个字节和第二个字节间的相互衔接的过程。
第一个字节的最后一位在SCK的上升沿被采样,随后的SCK降低沿,从器件就输出了第二个字节的第一位。orm
SPI总线协议介绍(接口定义,传输时序)blog
1、技术性能
SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,通常仅支持单Master。
时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通讯,目前应用中的数据速率可达几Mbps的水平。
-------------------------------------------------------
2、接口定义
SPI接口共有4根信号线,分别是:设备选择线、时钟线、串行输出数据线、串行输入数据线。
接口