【STM32H743IIT6】STM32H7的ADC时钟频率设置问题 —— 网上大多文章未注意到的要点!

前言

我使用的是定时器触发ADC采样。最近在想达到ADC的最高采样率的时候,发现一直却卡在1Msps上不去,直到在硬汉嵌入式的论坛里才发现了答案:[ADC] STM32H743/H750的Y版和V版芯片ADC的主频区别
这篇文章就详细的讲一下这个问题,这也是我发现网上有关H7配置ADC的文章是都没有提到的,而这确实是最重要的一个关键点。

判断芯片是Y还是V版

博主使用的 H743 是正点原子的阿波罗开发板。由于 ST 公司持续进行芯片更新迭代,你手中的芯片版本很可能与博主不同。不同版本的芯片,手册内容存在差异,比如 Y 版芯片对应 Y 版手册,V 版芯片则对应 V 版手册 。

博主手上的是V版的芯片,如下图所示的位置可以看到:

判断Y版芯片和V版芯片手册中ADC的不同

Y版

上面给出的硬汉嵌入式的超链接里面就有说这个问题,首先让我们来看一下Y版手册的:

可以知道,ADC的时钟来源有两个,一个是来自AHB总线上的时钟,另一个就来自独立于APB时钟,并与AHB时钟异步的特定时钟源。手册里有说到:AHB总线上的时钟有一个同步预分频器,只可以配置为1、2、4;特定时钟源则有一个异步预分频器,可以配置为1、2、4、6...256。最后可以看到配置好的时钟频率直接通过了右边的红色框框送给到了ADC作为时钟。

V版

 V版手册与Y版大致相同,但是注意到多了一个adc_sclk的时钟源,就是系统时钟源,包括了HSI、HSE等等;在红框框那里,又多出了一个2分频,这是着重要注意的,也就是说,前面的时钟配置好以后,都会再经过这个2分频才会给到ADC作为时钟!

CubeMX中的ADC时钟配置

这里就讲ADC的时钟配置问题,这是很多博主都没有注意到的,甚至是有错误的地方。

总时钟配置

CubeMX里是只有两个时钟来源(AHB时钟和特定时钟源) ,可知ST虽然更新了芯片,但是软件上却没有进行处理,大家还是要多注意一下。

虽然V版芯片多了个sclk的来源,这里没有显示出来,但sclk原本的时钟频率也不高,不用管即可。

V版芯片ADC时钟注意要点

V版芯片这里注意,其实是有个隐形的÷2的,也就是现在配置了100MHz,实际上经过分频后就只有50MHz。

ADC时钟分频设置注意

  • 上面红色框框里面的就是异步分频,指的就是当你ADC选择的时钟源为特定时钟源的时候,才需要选择这里的1、2、4、6...256之间的分频。
  • 蓝色框框里就是同步分频,指的就是当ADC选择的时钟源是AHB提供的时候的时候,才需要选择这里的1、2、4分频。
  • 但是博主这里有个问题,H743IIT6的同步分频选不了1和2,应该是和异步分频的1和2分频合在一起了,如果有像我这种情况的就可以选异步的1和2分频来当作同步的1和2分频。

总结

这个Y版、V版芯片和同步、异步时钟分频的问题,基本没有博文提到,所以有可能你们配置一开始就是有问题的,之前导致了我ADC采样率一直在1MHz上不去,现在可以超频到50MHz来达到最高5Msps的采样率。

ps.这里吐槽一下正点原子,明明是V版芯片,资料里的手册提供的却是Y版芯片的,使用阿波罗开发板的朋友注意一下。还有ST公司,CubeMx里也不更新一下,当初看了手册再在CubeMX中配置的时候也疑惑了一段时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24097.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(四)

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(四) 第一部分:网络平台搭建与设备安全防护任务书第二部分:网络安全事件响应、数字取证调查、应用程序安全任务书任务 1:应急响应&…

touchgfx的工作机制

touchgfx的工作机制 一.MVP软件架构 MVP的全称为Model-View-Presenter Model: 就是数据部分,在整个touchgfx应用中,只有一个Model类实例对象,它为所有的Screen屏幕界面服务,可以理解成是一个全局变量区,同时它还负责和后端系统通信 View: 就是UI界面部分,对应于View类,在整…

在 Ansys Mechanical 中解决干涉拟合

有意和无意的过盈配合在工程设计和有限元分析 (FEA) 中很常见。当两个组件重叠或接触时,就会发生这种情况,从而产生应力和变形,必须仔细分析以确保功能正常。有意干涉,例如轴和轴承之间的压配合或用于固定金…

Linux设备驱动开发-SPI驱动开发详解(包含设备树处理详细过程)

基础知识及 SPI 相关结构体介绍 引脚:MISO(master 输入,slave 输出),MOSI(master 输出,slave 输入),片选引脚,SCK(时钟) 控制寄存器&…

Visual Studio 中的 /MD 与 /MT、动态库与静态库的深入解析

文章目录 1. /MD 与 /MT 的区别1.3 调试版本1.4 注意事项 2. 动态库与静态库的联系与区别2.3 联系与区别 3. 结合你的错误分析3.1 错误原因3.2 解决方案3.3 经验教训 4. 总结 在 Visual Studio 中进行 C/C 项目开发时,开发者经常需要对运行时库选项(例如…

蓝桥杯备考:贪心算法之矩阵消除游戏

这道题是牛客上的一道题,它呢和我们之前的排座位游戏非常之相似,但是,排座位问题选择行和列是不会改变元素的值的,这道题呢每每选一行都会把这行或者这列清零,所以我们的策略就是先用二进制把选择所有行的情况全部枚举…

绿色节能|暴雨服务器荣获液冷装置新专利授权

近日,暴雨信息宣布“液冷装置及电子设备”专利正式获批,标志着暴雨信息在电子设备散热领域取得重大技术突破,为数据中心及高性能电子设备的散热需求提供了创新性解决方案。 双重密封零漏液保障 传统冷板技术存在液体泄漏风险,严…

萌新学 Python 之闭包函数

闭包函数:在一个函数体内嵌套函数,是一个函数对象,允许在内部函数中修改或引用外部函数的变量 闭包函数对数据有封存功能 闭包函数需要满足以下几个条件: 1.函数必须有一个嵌套函数,在定义函数时,内部再…

【Python修仙编程】(二) Python3灵源初探(2)

第一部分:林羽的修仙之旅——字符串与布尔类型的修炼 林羽站在练气期一阶的起点,望着手中的《Python无极心法》秘籍,心中充满了期待。师傅玄天真人在一旁微笑着说道:“林羽,今天我们要修炼的是‘字符串’和‘布尔类型…

AI大模型(四)基于Deepseek本地部署实现模型定制与调教

AI大模型(四)基于Deepseek本地部署实现模型定制与调教 DeepSeek开源大模型在榜单上以黑马之姿横扫多项评测,其社区热度指数暴涨、一跃成为近期内影响力最高的话题,这个来自中国团队的模型向世界证明:让每个普通人都能…

2.部署kafka:9092

官方文档:http://kafka.apache.org/documentation.html (虽然kafka中集成了zookeeper,但还是建议使用独立的zk集群) Kafka3台集群搭建环境: 操作系统: centos7 防火墙:全关 3台zookeeper集群内的机器,1台logstash 软件版本: …

IO进程 day05

IO进程 day05 9. 进程9. 9. 守护进程守护进程的特点守护进程创建步骤 10. 线程10.1. 线程的概念10.2. 进程和线程的区别10.2. 线程资源10.3. 线程的函数接口1. pthread_create-创建线程线程函数和普通函数的区别 2. pthread_exit3.线程资源回收函数join和detach的区别 获取线程…

数字IC低功耗后端设计实现之power gating和isolation技术

考虑低功耗设计需求,下图中间那个功能模块是需要做power domain的,即这个模块需要插MTCMOS。需要开启时,外面的VDD会和这个模块的LOCAL VDD形成通路,否则就是断开即power off状态。 这些低功耗设计实现经验,你真的懂了…

使用 Open3D 批量渲染并导出固定视角点云截图

一、前言 在三维点云处理与可视化中,固定视角批量生成点云渲染截图是一个常见的需求。例如,想要将同一系列的点云(PCD 文件)在同样的视角下生成序列图片,以便后续合成为视频或进行其他可视化演示。本文将介绍如何使用…

c++的继承

封装、继承和多态是c的三大特性,他们的关系甚为紧密 封装的概念简单易懂,其实就是将数据和操作数据的方法结合在一起,形成一个独立的单元(类),通过访问控制符(如private、protected和public&…

3dtiles平移旋转工具制作

3dtiles平移旋转缩放原理及可视化工具实现 背景 平时工作中,通过cesium平台来搭建一个演示场景是很常见的事情。一般来说,演示场景不需要多完善的功能,但是需要一批三维模型搭建,如厂房、电力设备、园区等。在实际搭建过程中&…

我是如何从 0 到 1 找到 Web3 工作的?

作者:Lotus的人生实验 关于我花了一个月的时间,从 0 到 1 学习 Web3 相关的知识和编程知识。然后找到了一个 Web3 创业公司实习的远程工作。 👇👇👇 我的背景: 计算机科班,学历还可以(大厂门槛水平) 毕业工…

进程状态(R|S|D|t|T|X|Z)、僵尸进程及孤儿进程

文章目录 一.进程状态进程排队状态:运行、阻塞、挂起 二.Linux下的进程状态R 运行状态(running)S 睡眠状态(sleeping)D 磁盘休眠状态(Disk sleep)t 停止、暂停状态(tracing stopped)T 停止、暂停状态(stopp…

为什么要将PDF转换为CSV?CSV是Excel吗?

在企业和数据管理的日常工作中,PDF文件和CSV文件承担着各自的任务。PDF通常用于传输和展示静态的文档,而CSV因其简洁、易操作的特性,广泛应用于数据存储和交换。如果需要从PDF中提取、分析或处理数据,转换为CSV格式可能是一个高效…

Starlink卫星动力学系统仿真建模第十讲-基于SMC和四元数的卫星姿态控制示例及Python实现

基于四元数与滑模控制的卫星姿态控制 一、基本原理 1. 四元数姿态表示 四元数运动学方程: 3. 滑模控制设计 二、代码实现(Python) 1. 四元数运算工具 import numpy as npdef quat_mult(q1, q2):"""四元数乘法""…