STM32H7的SPI总线基础知识备忘

一 概念

STM32H7的SPI支持4到32bit数据传输,而STM32F1和F4系列仅支持8bit或者16bit。

STM32H7的主频400MHz时,SPI1, 2, 3最高通信时钟是100MHz,而SPI4, 5, 6是50MHz。

STM32H7的MISO和MOSI引脚功能可以互换,使用比较灵活。

SPI总线的片选引脚SS在单一的主从器件配置下是可选的,一般情况下可以不使用。

SPI接口的区别和时钟源(SPI1到SPI6)

PI1到SPI6的区别:
SPI1,SPI2和SPI3支持4到32bit数据传输,SPI4,SPI5和SPI6是4到16bit数据传输。
SPI1,SPI2和SPI3的FIFO大小是16*8bit,而SPI4,SPI5和SPI6的FIFO大小是8*8bit。,

STM32H7主频在400MHz下,SPI1,SPI2和SPI3的最高时钟是200MHz,而SPI4,5,6是100MHz, 以SPI1为了,可以选择的时钟源如下:

这里特别注意一点,SPI工作时最少选择二分频,也就是说SPI1,2,3实际通信时钟是100MHz,而SPI4,5,6是50MHz。

SPI总线全双工,单工和半双工通信9

片选信号SS在单一的主从器件配置下是可选的,一般情况下可以不使用。但需要同步数据流,或者用于TI模式时需要此信号。

全双工通信
全双工就是主从器件之间同时互传数据,SPI总线的全双工模式接线方式如下:

关于这个接线图要认识到以下几点:)
注意接线方式,对于主器件来说MISO引脚就是输入端,从器件的MISO是输出端,即Master In / Slave Out data。MOSI也是同样道理。
每个时钟信号SCK的作用了,主器件的MISO引脚接收1个bit数据,MOSI引脚输出1个bit数据。
这种单一的主从接线模式下,SS引脚可以不使用。

半双工通信
半双工就是同一个时刻只能为一个方向传输数据,SPI总线的半工模式接线方式如下:

关于这个接线图要认识到以下几点:

更改通信方式时,要先禁止SPI。
主器件的MISO和从器件的MISO不使用,可以继续用作标准GPIO。
1KΩ的接线电阻很有必要,因为当主器件和从器件的通信方向不是同步变化时,容易出现其中一个输出低电平,另一个输出高电平,造成短路。
这种单一的主从接线模式下,SS引脚可以不使用。

单工模式:
单工就是只有一种通信方向,即发送或者接收,SPI总线的全双工模式接线方式如下:

关于这个接线图要认识到以下几点:

未用到的MOSI或者MISO可以用作标准GPIO。
这种单一的主从接线模式下,SS引脚可以不使用。

转自:

【经验分享】STM32H7的SPI总线基础知识和HAL库API - STM32团队 ST意法半导体中文论坛

相关推荐
沃尔特。16 小时前
直流无刷电机FOC控制算法
c语言·stm32·嵌入式硬件·算法
CW32生态社区16 小时前
CW32L012的PID温度控制——算法基础
单片机·嵌入式硬件·算法·pid·cw32
麒qiqi16 小时前
嵌入式 I2C 通信全解析:从硬件原理到驱动实现
stm32·单片机·嵌入式硬件
蓬荜生灰18 小时前
STM32(6)-- GPIO外设
单片机·嵌入式硬件
我爱我家diyer19 小时前
使用STM32的HAL库开发GD32F303CGT6
stm32·单片机·嵌入式硬件
新能源BMS佬大20 小时前
【仿真到实战】STM32落地EKF算法实现锂电池SOC高精度估算(含硬件驱动与源码)
stm32·嵌入式硬件·算法·电池soc估计·bms电池管理系统·扩展卡尔曼滤波估计soc·野火开发板
点灯小铭20 小时前
基于单片机的井盖安全监测与报警上位机监测系统设计
单片机·嵌入式硬件·毕业设计·课程设计
Hello_Embed20 小时前
USB 虚拟串口源码改造与 FreeRTOS 适配
笔记·单片机·嵌入式·freertos·usb
无垠的广袤21 小时前
【CPKCOR-RA8D1】RUHMI 转换 AI 模型
人工智能·python·嵌入式硬件·开发板
望眼欲穿的程序猿1 天前
SDCC+Ai8051U 中断点灯
stm32·单片机·嵌入式硬件