SPI完整讲解(一)

本文详细介绍了SPI协议,包括其物理层、协议层和通信过程。SPI是一种高速全双工通信总线,通常用于MCU与ADC、LCD等设备之间的通信。文中提到SPI通信以SS线置低为开始信号,结束时SS线被拉高,数据传输方向由主机到从机。SPI协议支持4种模式,并详细阐述了时钟极性和相位的概念。STM32的SPI外设支持主机和从机模式,具备灵活的数据帧长度配置。在发送过程中,数据写入SPI_DR寄存器并通过移位寄存器发送,接收过程则与发送同步进行。
摘要由CSDN通过智能技术生成

SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线,它被广泛地使用在ADC,LCD等设备与MCU间,要求通讯速率较高的场合。

SPI物理层

在这里插入图片描述
上图中下面是作为SPI通信的主机,上面可以挂载不同的从机,同IIC一致,总线上是可以挂载很多设备的
SS线:每个从设备都有独立的这一条SS信号线,本信号线独占主机的一个引脚,即有多少 个从设备,就有多少条片选信号线.I2C 协议中通过设备地址来寻址,选中总线上的某个设备并与其进行通讯;而SPI协议中没有设备地址,它使用SS信号线来寻址,当主机要选择从设备时,把该从设备的SS 信号线设置为低电平,该从设备即被选中,即片选有效,接着主机开始与被选中的从设备进行SPI通讯.所以SPI通讯以SS线 置低电平为开始信号,以SS线被拉高作为结束信号,SS线通常称为片选信号线,也称为NSS,CS

SDA:时钟信号线,用于通讯数据,它由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不一样,如STM32的SPI时钟频率最大为fpclk/2,pclk为APB2时钟两个设备之间通讯时,通讯速率受限于低速设备,SPI1在APB2时钟线上,SPI2,SPI3在APB1时钟线上

MOSI (Master Output,Slave Input):主设备输出/从设备输入引脚,主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,即这条线上数据的方向为主机到从机。

MISO(Master Input,Slave Output):主设备输入/从设备输出引脚,主机从这条信号线读入数据,从机的数据由这条信号线输出到主机,即在这条线上数据的方向为从机到主机。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值