嵌入式开发学习日志41——stm32之SPI总线基本结构

在熟悉了I2C总线之后,让我们来看看stm32提供的另一种通信协议------SPI。

SPI意为串行外围接口,主要应用在EEPROM、FLASH、实时时钟、AD转换器等。由于SPI是一种高速的、全双工同步通信总线,并且在芯片上占据了极少的管脚,节省了更多的空间,所以越来越多芯片开始应用这种通信协议。

相比于I2C的两条通信线,SPI一般使用4条,三条作为SPI总线,一条用作CS片选。

三条总线分别是MISO、MOSI、SCLK。MISO是主设备输入/从设备输出引脚,可用于主机读入数据;MOSI是主设备输出/从设备输入引脚,用于主机输出数据;SCLK光从名字上看就与时钟信号有关,它被用于实现通信数据的同步,它由主机产生,决定了通信的速率。

就像I2C种所有从机和主机都共用一根SDA线一样,SPI中接入的所有设备也会共用上述的三根总线。

CS片选线则和上面三根线不同,每个从设备都会有一根独立的CS片选线连接到主机的引脚上,有多少设备就有多少根线,而片选线的功能就相当于I2C中的I2C寻址,也是用于主机对从设备的选择的。

如何选择呢?

当主机要选择从设备时,该从设备的CS信号线就会被设置为低电平,此时该从设备就被选中,也就是所谓的片选有效,当CS线的电平被拉高,那么就代表通信结束,原理十分简单易懂。

SPI也有属于自己的特点。由于是实现全双工通信,所以SPI可以做到同时接受和传输串行数据。同时类似于I2C中的停止信号,SPI也有自己的发送结束中断标志。此外,他还有写冲突与总线竞争等保护机制。

在了解完这些基本结构后,下一章将会详细叙说关于SPI的工作方式的内容。

相关推荐
fīɡЙtīиɡ ℡11 分钟前
大模型结构化输出
人工智能·学习
Lzh编程小栈18 分钟前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
Rocktech_ruixun22 分钟前
机器人数据采集能力取决于什么?瑞迅科技RK3588/3576核心板方案深度解析
人工智能·嵌入式硬件·机器人
水果里面有苹果24 分钟前
28-DRV8825PWPR步进电机驱动器
单片机
Dave12054640 分钟前
Day17:Agent Memory高级设计——短期记忆、长期记忆与向量语义记忆
人工智能·学习
恒锐丰科技韩生1 小时前
率能 SS6625E|3.0~20V 单通道 H 桥直流电机驱动 SOP8 电子锁玩具机器人分享
嵌入式硬件·硬件工程
zlinear数据采集卡1 小时前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
小唔w1 小时前
2026年AI培训行业观察:主流学习渠道一览
人工智能·学习
Nan_Shu_6142 小时前
学习:MapVGL 地理信息可视化
学习
皖山文武2 小时前
逻辑代数基础学习笔记--概述
笔记·学习·机器学习