SPI简介是什么?SPI有几根线?SPI的通信原理是什么?

SPI简介是什么?SPI有几根线?SPI的通信原理是什么?SPI 最早是摩托罗拉公司开发的全双工同步串行总线 用于微控制器连接外部设备之间的同步串行通信 主要应用于 Flash 数模转换器 信号处理器 控制器 EEPROM 存储器等外设中

欢迎大家来到IT世界,在知识的湖畔探索吧!

一、SPI简介

SPI,即Serial Peripheral Interface的英文缩写。从字面意思看就是串行外部设备接口,是一种全双工、高速、同步的通信总线。

SPI最早是摩托罗拉公司开发的全双工同步串行总线,用于微控制器(MCU)连接外部设备之间的同步串行通信,主要应用于Flash、数模转换器、信号处理器、控制器、EEPROM存储器等外设中。

SPI总线属于一主多从接口,和I2C不同的是,SPI 采用CS片选来控制主机与从机通信。现在的单片机几乎都支持SPI总线,其已经成为一种高速、同步、双工的通用标准,在IoT产品中得到广泛应用。

二、SPI有几根线?

SPI通常有4根线(四线制),可实现全双工通信

【SCK】: 串行时钟(Serial Clock)

【MOSI】:主发从收信号(Master Output, Slave Input)

【MISO】:主收从发信号(Master Input, Slave Output

【CS/CS】:片选信号(Slave Select)

SPI简介是什么?SPI有几根线?SPI的通信原理是什么?



欢迎大家来到IT世界,在知识的湖畔探索吧!

SPI应用也有3根线(三线制),实现半双工通信。

SPI简介是什么?SPI有几根线?SPI的通信原理是什么?

三、SPI通信原理

SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,通过CPHA(时钟相位)、CPOL(时钟极性)来控制设备的通信模式。

SPI简介是什么?SPI有几根线?SPI的通信原理是什么?

时钟极性CPOL是用来配置SCK的电平在哪种状态时是有效状态或者空闲状态。时钟相位CPHA是用来配置数据采样是在哪个边沿:

CPHA=0,数据采样是在第1个边沿,数据发送在第2个边沿

CPHA=1,数据采样是在第2个边沿,数据发送在第1个边沿

CPOL=0,当SCLK=0时处于空闲态,有效状态就是SCLK处于高电平时

CPOL=1,当SCLK=1时处于空闲态,有效状态就是SCLK处于低电平时

SPI简介是什么?SPI有几根线?SPI的通信原理是什么?

CPHA=0、CPOL=0:此时空闲态时,SCK处于低电平,数据采样是在第1个边沿,就是SCK由低电平到高电平的跳变,所以数据采样是在上升沿(准备数据),(发送数据)数据发送是在下降沿。

CPHA=0、CPOL=1:此时空闲态时,SCK处于高电平,数据采集是在第1个边沿,即SCK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送是在上升沿。

CPHA=1、CPOL=0:此时空闲态时,SCK处于低电平,数据发送是在第1个边沿,即SCK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。

CPHA=1、CPOL=1:此时空闲态时,SCK处于高电平,数据发送是在第1个边沿,即SCK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。

另外,分享个时序图识图方法。交叉线:数据允许发生改变,但不一定要变。平行线:数据不允许发生改变,必须稳定发送。

SPI简介是什么?SPI有几根线?SPI的通信原理是什么?

再细说传输时序。SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,上升沿一位数据被存入移位寄存器。SPI接口没有指定的流控制,没有应答机制确认是否接收到数据。

SPI简介是什么?SPI有几根线?SPI的通信原理是什么?

通过以上SPI总线常识的简单描述,我们大致可以了解到SPI具有高速、同步、全双工、总线结构、主从通信模式等优势,但也存在无指定流控制,也没有应答机制确认等短板。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/105833.html

(0)
上一篇 3天前
下一篇 3天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信