深圳市航顺芯片技术研发有限公司
登录
直播中
王飞云
8年用户
1579经验值
私信
关注
[问答]
SPI协议是什么?有哪些特征?
开启该帖子的消息推送
I2C协议
SPI协议是什么?有哪些特征?
什么是I2C协议?
回帖
(1)
罗颖
2021-11-2 14:40:36
SPI
SPI协议:Serial Peripheral Interface
SPI,是一种
高速的
,
全双工
,
同步
的
通信总线
,并且在芯片的管脚上只占用
四根线
,节约了芯片的管脚。
在大容量产品和互联型产品上,SPI接口可以配置为支持SPI协议或者支持I2S音频协议。SPI接口默认工作在SPI方式,可以通过软件把功能从SPI模式切换到I2S模式。
F207↓
SPI 接口一般使用 4 条线通信:
MISO 主设备数据输入,从设备数据输出。
MOSI 主设备数据输出,从设备数据输入。
SCLK 时钟信号,由主设备产生。
CS 从设备片选信号,由主设备控制。
两个数据线,一个数据线,一个片选线。
两个移位寄存器加上MISO和MOSI有点像环形寄存器,左边给右边传一个最高位并且左边移位,右边最高位被左边传来的最高位替代,并且移位,最低位移出来的又传给左边的移位寄存器的最低位。最终两个移位寄存器可以完全交换数据。
SPI 主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。
SPI 总线四种工作方式 SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果 CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果 CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI 主模块和与之通信的外设备时钟相位和极性应该一致。
NSS
从选择(NSS)脚管理,软件模式下任意一个GPIO理论上都可以做NSS,不是固定的,因为这个可以连接多个SPI设备,比如PA2、PA3、PA4都作为NSS,进行片选,就可以连接三个从设备。
时钟信号的相位和极性
SPI_CR寄存器的CPOL和CPHA位来控制的。
CPOL:时钟极性,控制在没有数据传输时时钟的空闲状态电平,此位对主模式和从模式下的设备都有效。0:SCK引脚在空闲状态保持低电平,1:SCK引脚在空闲状态保持高电平。
CPHA:时钟相位,1:SCK时钟的第二个边沿(CPOL位为0就是下降沿,1就是上升沿)进行数据位的采样,数据在第二个时钟边沿被锁存,如果0:,SCK时钟的第一边沿(CPOL位0下降沿,1上升沿)进行数据位采样,数据在第一个时钟边沿被锁存。
CPOL时钟极性和CPHA时钟相位组合选择数据捕捉的时钟边沿。
主从要匹配
I2C
两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备。
它是由数据线
SDA
和时钟
SCL
构成串行总线,可发送和接收数据。在CPU与被控IC之间,IC与IC之间进行双向传送。高速IIC总线一般可达400kbps以上。
半双工
I2C协议
空闲状态 I2C总线的SDA和SCL两条信号线同时处于高电平状态
开始信号 SCL为高电平期间,SDA由高到低的跳变 启动信号是电平跳变时序信号,不是一个电平信号
停止信号 当SCL为高期间,SDA由低到高的跳变 停止信号也是一种电平跳变时序信号,而不是电平信号
应答信号 发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。低电平是有效应答,高电平是无效应答。 对于反馈有效应答ACK的要求是,接收器在第9个时钟脉冲之前的低电平期间将SDA线拉低,并且确保在该时钟的高电平期间为稳定的低电平。
数据的有效性 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。就是说数据在SCL的上升沿到来之前就要准备好,并且在下降沿到了之前必须稳定。
数据传输 每个位和时钟都是对应的
片选:动词,单片机学科词汇,可以理解成选片。举个例子,有很多芯片挂在同一总线上(像电脑里很多外设都是挂在总线上),但我们有时候需要对其中特定的某个芯片进行数据、地址或命令的独立传输,此时,我们需要有一个信号来告诉挂在总线上的芯片们,这些数据、地址是传给哪个芯片的。那这样的话,其他芯片就会对这些信号“漠不关心”,而目标芯片就知道这些数据是传给自己的从而做出反应。这个信号就叫做片选信号CS(chip select)或SS(slave select)。片选这个词即由此而来,指通过设置跳线,利用与门、或门、非门的组合来决定到底是哪几部分进入工作状态。
SPI
SPI协议:Serial Peripheral Interface
SPI,是一种
高速的
,
全双工
,
同步
的
通信总线
,并且在芯片的管脚上只占用
四根线
,节约了芯片的管脚。
在大容量产品和互联型产品上,SPI接口可以配置为支持SPI协议或者支持I2S音频协议。SPI接口默认工作在SPI方式,可以通过软件把功能从SPI模式切换到I2S模式。
F207↓
SPI 接口一般使用 4 条线通信:
MISO 主设备数据输入,从设备数据输出。
MOSI 主设备数据输出,从设备数据输入。
SCLK 时钟信号,由主设备产生。
CS 从设备片选信号,由主设备控制。
两个数据线,一个数据线,一个片选线。
两个移位寄存器加上MISO和MOSI有点像环形寄存器,左边给右边传一个最高位并且左边移位,右边最高位被左边传来的最高位替代,并且移位,最低位移出来的又传给左边的移位寄存器的最低位。最终两个移位寄存器可以完全交换数据。
SPI 主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。
SPI 总线四种工作方式 SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果 CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果 CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI 主模块和与之通信的外设备时钟相位和极性应该一致。
NSS
从选择(NSS)脚管理,软件模式下任意一个GPIO理论上都可以做NSS,不是固定的,因为这个可以连接多个SPI设备,比如PA2、PA3、PA4都作为NSS,进行片选,就可以连接三个从设备。
时钟信号的相位和极性
SPI_CR寄存器的CPOL和CPHA位来控制的。
CPOL:时钟极性,控制在没有数据传输时时钟的空闲状态电平,此位对主模式和从模式下的设备都有效。0:SCK引脚在空闲状态保持低电平,1:SCK引脚在空闲状态保持高电平。
CPHA:时钟相位,1:SCK时钟的第二个边沿(CPOL位为0就是下降沿,1就是上升沿)进行数据位的采样,数据在第二个时钟边沿被锁存,如果0:,SCK时钟的第一边沿(CPOL位0下降沿,1上升沿)进行数据位采样,数据在第一个时钟边沿被锁存。
CPOL时钟极性和CPHA时钟相位组合选择数据捕捉的时钟边沿。
主从要匹配
I2C
两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备。
它是由数据线
SDA
和时钟
SCL
构成串行总线,可发送和接收数据。在CPU与被控IC之间,IC与IC之间进行双向传送。高速IIC总线一般可达400kbps以上。
半双工
I2C协议
空闲状态 I2C总线的SDA和SCL两条信号线同时处于高电平状态
开始信号 SCL为高电平期间,SDA由高到低的跳变 启动信号是电平跳变时序信号,不是一个电平信号
停止信号 当SCL为高期间,SDA由低到高的跳变 停止信号也是一种电平跳变时序信号,而不是电平信号
应答信号 发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。低电平是有效应答,高电平是无效应答。 对于反馈有效应答ACK的要求是,接收器在第9个时钟脉冲之前的低电平期间将SDA线拉低,并且确保在该时钟的高电平期间为稳定的低电平。
数据的有效性 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。就是说数据在SCL的上升沿到来之前就要准备好,并且在下降沿到了之前必须稳定。
数据传输 每个位和时钟都是对应的
片选:动词,单片机学科词汇,可以理解成选片。举个例子,有很多芯片挂在同一总线上(像电脑里很多外设都是挂在总线上),但我们有时候需要对其中特定的某个芯片进行数据、地址或命令的独立传输,此时,我们需要有一个信号来告诉挂在总线上的芯片们,这些数据、地址是传给哪个芯片的。那这样的话,其他芯片就会对这些信号“漠不关心”,而目标芯片就知道这些数据是传给自己的从而做出反应。这个信号就叫做片选信号CS(chip select)或SS(slave select)。片选这个词即由此而来,指通过设置跳线,利用与门、或门、非门的组合来决定到底是哪几部分进入工作状态。
举报
更多回帖
rotate(-90deg);
回复
相关问答
I2C协议
NEC
协议
的
特征
是什么?
2022-02-15
1090
SPI
协议
的优缺点
2020-12-24
4362
什么是
SPI
协议
2021-03-04
1549
IPMB接口
协议
的实现目标和
特征
是什么?
2021-06-10
1527
SPI
协议
的特性是什么?具有哪些优劣势?
2022-02-17
1630
SPI
协议
如何通过IO口模拟,
有
哪些注意事项?
2023-06-26
629
SPI
协议
的工作方式
有
哪几种呢
2021-11-04
1937
有
什么方法可以实现
SPI
协议
的Master端呢
2021-11-25
1348
对
SPI
协议
进行解析
2021-11-05
1092
如何去实现
SPI
时序
协议
的基本读写呢
2021-12-20
1924
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分