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

相关推荐
逐步前行2 分钟前
STM32_TIM_寄存器操作
stm32·单片机·嵌入式硬件
似水明俊德26 分钟前
02-C#.Net-反射-学习笔记
开发语言·笔记·学习·c#·.net
0南城逆流01 小时前
【STM32】知识点介绍七:PWM功能
stm32·单片机·嵌入式硬件
智者知已应修善业1 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
dashizhi20151 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑
adore.9681 小时前
3.18 复试学习
学习
留白_1 小时前
MySQL学习(9)——索引
学习
我是一棵无人问荆的小草1 小时前
单片机通电后延迟启动策略
单片机·嵌入式硬件
坏柠2 小时前
ESP32-S3 蓝牙 BLE 从零到一:广播、服务、特征,用一个智能灯的例子全讲透
嵌入式硬件
请你喝好果汁6412 小时前
生信学习笔记:ArchR 处理小麦单细胞 ATAC-seq 中的细胞数差异与 Embedding 报错调试
学习