资料介绍
SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。
SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。
下面为一种情况例举:
上升沿发送、下降沿接收、高位先发送。
上升沿到来的时候,sdo上的电平将被发送到从设备的寄存器中。
下降沿到来的时候,sdi上的电平将被接收到主设备的寄存器中。
假设主机和从机初始化就绪:并且主机的sbuff=0xaa (10101010),从机的sbuff=0x55 (01010101),下面将分步对spi的8个时钟周期的数据情况演示一遍(假设上升沿发送数据)。
这样就完成了两个寄存器8位的交换,上面的0--1表示上升沿、1--0表示下降沿,sdi、 sdo相对于主机而言的。根据以上分析,一个完整的传送周期是16位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的名准备数据,主机在 下一个8位时钟周期才把数据读回来。
SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO; 用于 CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束 中断标志;写冲突保护;总线竞争保护等。
SPI总线有四种工作方式(SP0, SP1, SP2, SP3),其中使用的最为广泛的是SPI0和SPI3方式。
SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果 CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传 输协议之一进行数据传输。如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。 SPI主模块和与之通信的外设音时钟相位和极性应该一致。
SPI接口在模式0下输出第一位数据的时刻
SPI接口有四种不同的数据传输时序,取决于CPOL和CPHL这两位的组合。图1中表现了这四种时序,时序与CPOL、CPHL的关系也可以从图中看出。
图1
CPOL是用来决定SCK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样,CPHA=1,在每个周期的第二个时钟沿采样。
由于我使用的器件工作在模式0这种时序(CPOL=0,CPHA=0),所以将图1简化为图2,只关注模式0的时序。
图2
我们来关注SCK的第一个时钟周期,在时钟的前沿采样数据(上升沿,第一个时钟沿),在时钟的后沿输出数据(下降沿,第二个时钟沿)。首先来看主器件,主器件的输出口(MOSI)输出的数据bit1,在时钟的前沿被从器件采样,那主器件是在何时刻输出bit1的呢?bit1的输出时刻实际上在SCK信号有效以前,比 SCK的上升沿还要早半个时钟周期。bit1的输出时刻与SSEL信号没有关系。再来看从器件,主器件的输入口MISO同样是在时钟的前沿采样从器件输出的bit1的,那从器件又是在何时刻输出bit1的呢。从器件是在SSEL信号有效后,立即输出bit1,尽管此时SCK信号还没有起效。关于上面的主器件和从器件输出bit1位的时刻,可以从图3、4中得到验证。
图3
注意图3中,CS信号有效后(低电平有效,注意CS下降沿后发生的情况),故意用延时程序延时了一段时间,之后再向数据寄存器写入了要发送的数据,来观察主器件输出bit1的情况(MOSI)。
可以看出,bit1(值为1)是在SCK信号有效之前的半个时钟周期的时刻开始输出的(与CS信号无关),到了SCK的第一个时钟周期的上升沿正好被从器件采样。
图4
图4中,注意看CS和MISO信号。我们可以看出,CS信号有效后,从器件立刻输出了bit1(值为1)。
通常我们进行的spi操作都是16位的。图5记录了第一个字节和第二个字节间的相互衔接的过程。
第一个字节的最后一位在SCK的上升沿被采样,随后的SCK下降沿,从器件就输出了第二个字节的第一位。
SPI总线协议介绍(接口定义,传输时序)
一、技术性能
SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master。
时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平。
二、接口定义
SPI接口共有4根信号线,分别是:设备选择线、时钟线、串行输出数据线、串行输入数据线。
(1)MOSI:主器件数据输出,从器件数据输入
(2)MISO:主器件数据输入,从器件数据输出
(3)SCLK :时钟信号,由主器件产生
(4)/SS:从器件使能信号,由主器件控制
三、内部结构
四、传输时序
SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,上升沿一位数据被存入移位寄存器。
SPI接口没有指定的流控制,没有应答机制确认是否接收到数据。
本文转载自:
声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有,如涉及侵权,请联系小编邮箱: 进行处理。
(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- SPI总线协议及SPI时序图详解
- spi协议介绍
- 基于FPGA与MCU通信的SPI协议设计
- 各种USB接口类型传输协议汇总资料下载
- 基于SPI协议的SD卡读写说明 50次下载
- MDB接口总线通讯协议中文版资料免费下载 0次下载
- 如何使用单片机模拟SPI时序代码免费下载
- SPI总线协议的详细资料介绍和程序免费下载
- SPI总线协议和SPI时序图的详细资料讲解 46次下载
- SPI总线接口实现数据传输的实现方法 8次下载
- SPI总线协议介绍 18次下载
- SPI总线简介与参考实例 58次下载
- 用SPI总线实现DSP和MCU之间的高速通信
- SPI总线数据远距离传输实现
- 基于PC/104 总线与CPLD 的SPI 接口设计
- 深入剖析SPI协议 3.8k次阅读
- UART通信协议介绍和数据传输工作流程 3.1k次阅读
- 浅谈SPI总线通信接口及其协议 2.8k次阅读
- 一文介绍SPI串行总线 5.1k次阅读
- 多种SPI总线隔离设计方案 1.5w次阅读
- 详解SPI总线协议与时序图 1.5w次阅读
- AXI总线协议的几种时序介绍 1.2w次阅读
- 嵌入式硬件通信接口协议中的串行通信接口-SPI 2.1k次阅读
- 串行外设接口SPI通信协议的应用 2.5k次阅读
- SPI接口之间数据传输中故障分析 1w次阅读
- spi与i2c总线有什么区别 4.2w次阅读
- SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍,以及SPI接口详解 7.4w次阅读
- 《振南电子STM32视频教程》第十一讲:SPI总线 1.6k次阅读
- 带你详细解析串行外设接口(SPI)总线时序 9.4k次阅读
- 支持单线SPI接口的烧录技术实现 6.1k次阅读
下载排行
本周
- 1瑞斯特半导体E05T2-40RU
- 2.17 MB | 1次下载 | 免费
- 2瑞斯特半导体E05D2-11UB
- 2.05 MB | 1次下载 | 免费
- 3PCF8563 实时时钟/日历产品数据手册
- 1.16 MB | 次下载 | 免费
- 4NIS-LS5133-5L6U2IO2C产品规格书
- 215.13 KB | 次下载 | 免费
- 5I-PEX 81863-100B-01_CABLINE-CAP系列 50Pin极细同轴线束产品图纸
- 701.39 KB | 次下载 | 免费
- 6I-PEX 81619-100B-02-D_CABLINE-VS II系列 20P极细同轴线束图纸
- 302.97 KB | 次下载 | 免费
- 7I-PEX 81457-100B-02-D_CABLINE-VS II系列 30P极细同轴线工程图纸
- 326.48 KB | 次下载 | 免费
- 8DMR558 UV双频数模一体对讲模块 规格书
- 736.21 KB | 次下载 | 免费
本月
- 1ECM96智能电测仪表使用说明书
- 3.41 MB | 7次下载 | 10 积分
- 2纳祥科技NX9020中文规格书,114 dB CODEC,国产替代CS4272
- 440.34 KB | 4次下载 | 免费
- 3WD1117产品规格书
- 763.67 KB | 3次下载 | 免费
- 4AU6815P 内置 DSP 的 2×32W 立体声 I2S数字输入D类功放芯片中文资料
- 1.37 MB | 3次下载 | 免费
- 5ECM72智能电测仪表使用说明书
- 2.07 MB | 2次下载 | 10 积分
- 6PC0815/PC0815A 850伏N沟道耗尽模式功率MOSFET技术手册
- 0.42 MB | 2次下载 | 免费
- 7PC4139 32V低噪音大电流白光LED恒流驱动器数据手册
- 1.57 MB | 2次下载 | 免费
- 8 双麦阵列回音消除及降噪模块 A-47 说明书
- 1.96 MB | 2次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233095次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191469次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183360次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81607次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73833次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论