STM32H7的SPI总线基础知识备忘

news/2025/1/8 21:33:00/

一 概念

   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总线的全双工模式接线方式如下:
 

st-img

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

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

st-img


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

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

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

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

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

转自:

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


http://www.ppmy.cn/news/1561638.html

相关文章

使用命令行管理git项目

# 初始化一个新的Git仓库 git init # 添加文件到暂存区 git add <file> # 提交暂存区的更改到仓库 git commit -m "commit message" # 查看当前仓库的状态 git status # 查看提交历史 git log # 查看文件的改动 git diff <file> # 创建一个新…

代码随想录算法【Day11】

150. 逆波兰表达式求值 class Solution { public:int evalRPN(vector<string>& tokens) {// 力扣修改了后台测试数据&#xff0c;需要用longlongstack<long long> st; for (int i 0; i < tokens.size(); i) {if (tokens[i] "" || tokens[i] &…

Spring Boot 多环境配置与切换

Spring Boot 多环境配置与切换 当在多配置文件中&#xff0c;需要切换配置文件时&#xff0c;通常的做法都是修改激活的文件名称&#xff0c;而spring.profiles.activeprofiles.active是配合maven profile进行选择不同配置文件进行启动&#xff0c;可以避免修改文件&#xff0…

javafx 将项目打包为 Windows 的可执行文件exe

要将 JavaFX 项目打包为 .exe 文件&#xff0c;你可以使用一些工具将你的应用程序封装为 Windows 可执行文件。以下是两种常用的方法&#xff1a; 方法 1&#xff1a;使用 jpackage&#xff08;适用于 JDK 14 及更高版本&#xff09; jpackage 是 JDK 内置的工具&#xff0c;…

云从科技Java面试题及参考答案

高并发情况下的解决策略有哪些? 在高并发情况下,有多种解决策略。 首先是缓存策略。可以使用像 Redis 这样的缓存系统。缓存热门数据,比如在电商系统中,商品的基本信息、热门商品的详情等可以放入缓存。当有大量用户请求这些数据时,直接从缓存中读取,大大减少数据库的压力…

[ Android ] Google JetPack架构指南

文章目录 架构原则架构分层关于DomainLayer架构选型参考JetPack架构组件参考网站 架构原则 UI和数据分离&#xff0c;不要将所有代码写在Activity和Fragment里面 数据驱动UI&#xff0c;最好是持久性数据模型 单一数据源&#xff0c;集中修改数据&#xff0c;比如基于Databas…

【小程序开发】- 小程序版本迭代指南(版本发布教程)

一&#xff0c;版本号 版本号是小程序版本的标识&#xff0c;通常由一系列数字组成&#xff0c;如 1.0.0、1.1.0 等。版本号的格式通常是 主版本号.次版本号.修订号 主版本号&#xff1a;当小程序有重大更新或不兼容的更改时&#xff0c;主版本号会增加。 次版本号&#xff1a…

Java基于SSM框架的影院选座系统小程序【附源码、文档】

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…