STM32的SPI通信

1 SPI协议简介

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

1.1 SPI物理层

SPI通信设备之间的常用连接方式如下图所示:

SPI通信使用3条总线及片选线,3条总线分别为SCK、MOSI、MISO,片选线为SS,它们的作用介绍如下:

  1. SS(Slave Select):从设备选择信号线,常称为片选信号线,也称为NSS、CS,以下用NSS表示。当有多个SPI从设备与SPI主机相连时,设备的其他信号线SCK、MOSI、及MISO同时并联到相同的SPI总线上,即无论有多少个从设备,都共同使用这3条总线;而每个从设备都有独立的一条NSS信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选信号线。IIC协议中通过设备地址来寻址、选中总线上的某个设备并与其进行通信;而SPI协议中没有地址,它使用NSS信号线来寻址,当主机要选择从设备时,把该从设备的NSS信号线设置为低电平,该从设备即被选中,即片选有效,主机便可以开始与被选中的从设备进行SPI通信。所以SPI通信以NSS线置低电平为开始信号,以NSS线被拉高作为结束信号。
  2. SCK(Serial Clock):时钟信号线,用于通信数据同步。它由通信主机产生,决定了通信的速率。不同的设备支持的最高时钟频率不一样,如STM32的SPI时钟频率最大为。两个设备通信时,通信速率受限于低速设备。
  3. MOSI(Master Output,Slave Input):主设备输入/从设备输出引脚。主机从这条信号线输出,从机由这条信号线读入主机发送的数据,即这条线上数据的方向为主机到从机。
  4. MISO(Master Input,Slave Output):主设备输入/从设备输出引脚。主机从这条信号线读入数据,从机由这条信号线输出到主机,即这条线上数据的方向为从机到主机。

------未完待续------

相关推荐
0x3F(小茶)6 分钟前
嵌入式C设计模式完全指南(基于《C嵌入式编程设计模式》)
c语言·开发语言·单片机·嵌入式硬件·设计模式
老高学长12 分钟前
金融机构文档加密软件哪个好|合规与安全兼顾|2026新测评
网络·人工智能·安全
lpfasd12312 分钟前
docker中默认网络的作用和注意事项
网络·docker·容器
都在酒里18 分钟前
FreeRTOS 手动移植教程(二):任务管理——多任务创建、优先级抢占与删除
stm32·单片机·嵌入式硬件·rtos
大江东去浪淘尽千古风流人物24 分钟前
【KV-Tracker】Transformer 实时位姿跟踪:KV-Cache 加速多视图几何网络达 27FPS
网络·深度学习·transformer·slam·位姿估计·kv-cache
提伯斯64626 分钟前
Jetson_Pixhawk局域网UDP连接QGC
linux·网络·嵌入式硬件·网络协议·udp·jetson
zbtlink34 分钟前
2.5G路由器,你家能用上吗?
网络·智能路由器
Agent_Sea38 分钟前
私有化部署AI平台的成本临界点判断:从调用量、合规强度和业务周期三个维度核查
网络·人工智能·ai平台
Kurisu5751 小时前
深度拆解:从令牌桶到滑动窗口,高并发系统限流算法的数学本质与边界
java·网络·算法
hoho_121 小时前
目标主机使用了不受支持的SSL加密算法【原理扫描】
网络·网络协议·ssl