简述SPI通信协议-01

本文详细介绍了SPI(串行外围设备接口)的基本概念,包括其工作原理、通信方式及关键特性。SPI是一种高速、全双工、同步通信总线,仅使用四根线进行通信。文章深入解析了SPI的CPOL极性和CPHA相位设置,以及数据传输过程。同时,文中还提到了STM32的SPI接口具体实现。
摘要由CSDN通过智能技术生成

What is SPI?

SPI:Serial Peripheral interface 串行外围设备接口。

SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线。

SPI 接口一般使用 4 条线通信

MISO :主设备数据输入,从设备数据输出。

MOSI :主设备数据输出,从设备数据输入。

SCLK :时钟信号,由主设备产生。

CS     :从设备片选信号,由主设备控制。

CPOL极性

SPI的CPOL,表示当SCLK空闲idle的时候,其电平的值是低电平0还是高电平1:

CPOL=0,时钟空闲idle时候的电平是低电平,所以当SCLK有效的时候,就是高电平,就是所谓的active-high;

CPOL=1,时钟空闲idle时候的电平是高电平,所以当SCLK有效的时候,就是低电平,就是所谓的active-low;

CPHA相位

CPHA=0,表示第一个边沿:

对于CPOL=0,idle时候的是低电平,第一个边沿就是从低变到高,所以是上升沿;

对于CPOL=1,idle时候的是高电平,第一个边沿就是从高变到低,所以是下降沿;

CPHA=1,表示第二个边沿:

对于CPOL=0,idle时候的是低电平,第二个边沿就是从高变到低,所以是下降沿;

对于CPOL=1,idle时候的是高电平,第一个边沿就是从低变到高,所以是上升沿;

上升沿发送、下降沿接收、高位先发送;

数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取;

 

  • 硬件上为4根线;

  • 主机和从机都有一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次传输;

  • 串行移位寄存器通过MOSI信号线将字节传送给从机,同时从机也将自己的串行移位寄存器中的内容通过MISO信号线返回给主机。这样,两个移位寄存器中的内容就被交换;

  • 外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。

STM32的SPI接口-SPI接口的框图

 

STM32的SPI接口通过4个引脚与外部器件相连,与标准的SPI协议是一致的:

MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据;

MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据;

SCK:串口时钟,作为主设备的输入,从设备的输入;

NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有对象的野指针°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值