嵌入式开发学习日志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的工作方式的内容。

相关推荐
世人万千丶16 小时前
Flutter 框架跨平台鸿蒙开发 - 恐惧清单应用
学习·flutter·华为·开源·harmonyos·鸿蒙
fie888916 小时前
基于51单片机的航模遥控器6通道接收机程序
单片机·嵌入式硬件·51单片机
yuzhuanhei16 小时前
Visual Studio 配置C++opencv
c++·学习·visual studio
bu_shuo17 小时前
嵌入式硬件工程师VS单板硬件工程师
嵌入式硬件·电子工程师·单板硬件
llilian_1617 小时前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
Yyq1302086968217 小时前
MH2457,‌国产 32 位屏驱 MCU‌芯片,支持‌1080P 高清显示‌与‌以太网通信‌,广泛应用于两轮车仪表盘及工控屏等领域
单片机·嵌入式硬件
此刻觐神17 小时前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
憧憬从前18 小时前
算法学习记录DAY2
学习
babe小鑫18 小时前
会计岗位学习数据分析的价值分析
学习·数据挖掘·数据分析
千枫s18 小时前
电脑vm虚拟机kali linux安装shannon
学习·网络安全