当前位置:首页 > 通信技术 > 通信技术
[导读] SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。SPI

 SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。

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时序详解---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是怎样输出的.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

NFC技术是一种无线通讯技术,可以在短距离内进行数据交换。NFC全称为Near Field Communication,是一种基于RFID技术的短距离无线通讯技术。NFC技术基于13.56 MHz的高频,其工作距离一般在...

关键字: NFC技术 通讯技术 数据交换

SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。SPI是一种单主机、高速的,全双工,同步...

关键字: spi spi通信原理

上海2022年12月29日 /美通社/ -- 2022年12月22日,库卡中国实验室获评首个“国家机器人检测与评定中心(总部)”数据交换实验室,授牌仪式在库卡中国上海松江园区举办。此次挂牌授权标志着国评中心总部对于库卡中...

关键字: 机器人 数字化 工业机器人 数据交换

对于控制器和外设之间的短距离电路板内连接,串行外设接口(SPI)和Inter-Integrated Circuit (I2C)接口是流行的事实上的通信标准。由于存在广泛的硬件和软件支持,SPI和I2C已被传感器、执行器和...

关键字: ADI 控制器 串行外设接口

电子数据互换(electronic data interchange,EDI)亦称电子数据交换,是一种综合了计算机应用、通信和现代管理技术的电子化贸易手段。

关键字: 数据交换 电子 通信

总线(Bus)是指计算机组件间规范化的交换数据(data)的方式,即以一种通用的方式为各组件提供数据传送和控制逻辑。

关键字: 总线 数据交换 控制逻辑

数据交换(Data Switching)是指在多个数据终端设备(DTE)之间,为任意两个终端设备建立数据通信临时互连通路的过程。数据交换可以分为:电路交换、报文交换、分组交换和混合交换。电路交换原理与电话交换原理基本相同...

关键字: 数据交换 电路 电路交换

为什么要加锁在SMP系统中,如果仅仅是需要串行地增加一个变量的值,那么使用原子操作的函数(API)就可以了。但现实中更多的场景并不会那么简单,比如需要将一个结构体A中的数据提取出来,然后格式化、解析,再添加到另一个结构体...

关键字: spi ic ck

摘 要 :为满足双处理器、双操作系统分工协同工作完成数据处理的需求,选用因特尔公司生产的 ATOM 系列处理器 N2600 和桥片 NM10,设计了一种双 X86 处理器架构的数据处理系统电路,通过NM10 的 PCIE...

关键字: X86 双处理器 N2600 82574 控制器 以太网 数据交换

摘 要 :为了实现工业物联网的数据能够自动识别,方便工业数据的共享和交换,提出工业物联网中产业领域的分类方法。该方法以我国 2017 年出台的国民经济行业分类(GB/T 4754—2017)为基础,将产业划分为装备制造类...

关键字: 工业物联网 数据自动识别 数据共享 数据交换 大数据技术 云服务
关闭
关闭