GD32 MCU ADC采样率如何计算?

大家在使用ADC采样的时候是否计算过ADC的采样率,这个问题非常关键!

以下为GD32F303系列MCU中有关ADC的参数,其中ADC时钟最大值为40MHz,12位分辨率下最大采样率为2.86MSPS.如果ADC时钟超频的话,可能会造成ADC采样异常,因而对于ADC时钟以及采样率的计算很重要。

首先给大家介绍下ADC时钟如何配置,如下为RCU时钟树中有关ADC时钟的说明,通过ADCPSC控制位可以选择ADC时钟来自于AHB还是APB2分频,若ADCPSC配置为0,ADC时钟为APB2时钟2/4/6/8/12/16分频,若ADCPSC配置为1,ADC时钟为AHB时钟5/6/10/20分频。

ADC时钟配置可通过以下rcu_adc_clock_config函数实现。

C
/*!
    \brief      configure the ADC prescaler factor
    \param[in]  adc_psc: ADC prescaler factor
                only one parameter can be selected which is shown as below:
      \arg        RCU_CKADC_CKAPB2_DIV2: ADC prescaler select CK_APB2 / 2
      \arg        RCU_CKADC_CKAPB2_DIV4: ADC prescaler select CK_APB2 / 4
      \arg        RCU_CKADC_CKAPB2_DIV6: ADC prescaler select CK_APB2 / 6
      \arg        RCU_CKADC_CKAPB2_DIV8: ADC prescaler select CK_APB2 / 8
      \arg        RCU_CKADC_CKAPB2_DIV12: ADC prescaler select CK_APB2 / 12
      \arg        RCU_CKADC_CKAPB2_DIV16: ADC prescaler select CK_APB2 / 16
      \arg        RCU_CKADC_CKAHB_DIV5: ADC prescaler select CK_AHB / 5
      \arg        RCU_CKADC_CKAHB_DIV6: ADC prescaler select CK_AHB / 6
      \arg        RCU_CKADC_CKAHB_DIV10: ADC prescaler select CK_AHB / 10
      \arg        RCU_CKADC_CKAHB_DIV20: ADC prescaler select CK_AHB / 20
    \param[out] none
    \retval     none
*/
void rcu_adc_clock_config(uint32_t adc_psc)

ADC时钟计算好后,根据不同的分辨率就可以计算采样率了,如下图所示,不同的分辨率对应的采样转换时间是不同的,比如12位分辨率,采样转换就需要14个ADCCLK。

综上举例:如果系统时钟AHBCLK为120M,APB2时钟为60M,如果ADC时钟配置为rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV6),那么ADCCLK的时钟为60M/6=10M,若ADC配置为12位分辨率,则ADC采样转换时间为14/10M=1400ns,采样率为10M/14=714KSPS.

画两个重点:1、ADC采样时钟一定不要超过手册标注的最大值;2、若采样定时触发ADC采样的话,定时触发的周期要大于多通道ADC采样时间之和。

更多GD32 MCU相关咨询:https://www.gd32bbs.com/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【总线】AXI4第七课时:AXI的额外的控制信息(PROT和CACHE)

大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣,那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者,AXI4以其高性能和高度可扩展性,成为了现代电子系统中不可或缺的通信桥梁…

Vue3.js“非原始值”响应式实现基本原理笔记(二)

如果您觉得这篇文章有帮助的话!给个点赞和评论支持下吧,感谢~ 作者:前端小王hs 阿里云社区博客专家/清华大学出版社签约作者/csdn百万访问前端博主/B站千粉前端up主 此篇文章是博主于2022年学习《Vue.js设计与实现》时的笔记整理而来 书籍&a…

STM32F103C8T6核心板原理图和PCB分享

PCB图 原理图 资料下载地址: 原理图PCB库: https://545c.com/d/45573183-61875742-29897c?p7526 (访问密码: 7526)

第3章.中央服务器的物联网模式--企业系统集成

为了从物联网实施中获得最大价值,物联网系统需要与企业中的现有软件系统集成。事实上,与外部系统的集成允许网络世界和物理世界之间的交互——代表物理世界的物联网系统和驻留在网络/虚拟世界中的外部系统。用于此模式的符号如下图所示: 图3.…

mac怎么压缩pdf文件大小,mac压缩pdf文件大小不改变清晰度

在数字化时代,pdf格式因其良好的兼容性和稳定性,成为了文档分享和传输的首选。然而,随着文件内容的丰富,pdf文件的体积也越来越大,给存储和传输带来了不小的困扰。本文将揭秘几种简单有效的pdf文件压缩方法&#xff0c…

图神经网络实战(16)——经典图生成算法

图神经网络实战(16)——经典图生成算法 0. 前言1. 图生成技术2. Erdős–Rnyi模型3. 小世界模型小结系列链接 0. 前言 图生成算法是指用于创建模拟图或网络结构的算法,这些算法可以根据特定的规则和概率分布生成具有特定属性的图&#xff0c…

SCI一区级 | Matlab实现BO-Transformer-BiLSTM时间序列预测

SCI一区级 | Matlab实现BO-Transformer-BiLSTM时间序列预测 目录 SCI一区级 | Matlab实现BO-Transformer-BiLSTM时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.【SCI一区级】Matlab实现BO-Transformer-BiLSTM时间序列预测,贝叶斯优化Transfor…

C++_STL---list

list的相关介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 list的底层是带头双向循环链表结构,链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。…

WAIC | 上海人形机器人创新中心 | 最新演讲 | 详细整理

前言 笔者看了7月4号的人形机器人与具身智能发展论坛的直播,并在7月5日到了上海WAIC展会现场参观。这次大会的举办很有意义,听并看了各家的最新成果,拍了很多照片视频,部分演讲也录屏了在重复观看学习 稍后会相继整理创立穹彻智…

[c++] 可变参数模版

前言 可变参数模板是C11及之后才开始使用,学校的老古董编译器不一定能用 相信大家在刚入门c/c时都接触过printf函数 int printf ( const char * format, ... ); printf用于将数据格式化输出到屏幕上,它的参数非常有意思,可以支持任意数量,任意类型的多参数.而如果我们想实现类…

【Java探索之旅】继承概念_语法_父类的成员访问

文章目录 📑前言一、继承1.1 继承的概念1.2 继承语法1.3 继承发生后 二、父类的访问2.1 父类成员变量访问2.2 父类成员方法访问 🌤️全篇总结 📑前言 在面向对象编程中,继承是一种重要的概念,它允许我们创建一个类&…

[go-zero] 简单微服务调用

文章目录 1.注意事项2.服务划分及创建2.1 用户微服务2.2 订单微服务 3.启动服务3.1 etcd 服务启动3.2 微服务启动3.3 测试访问 1.注意事项 go-zero微服务的注册中心默认使用的是Etcd。 本小节将以一个订单服务调用用户服务来简单演示一下,其实订单服务是api服务&a…

VSCode设置好看清晰的字体!中文用鸿蒙,英文用Jetbrains Mono

一、中文字体——HarmonyOS Sans SC 1、下载字体 官网地址:https://developer.huawei.com/consumer/cn/design/resource/ 直接下载:https://communityfile-drcn.op.dbankcloud.cn/FileServer/getFile/cmtyPub/011/111/111/0000000000011111111.20230517…

昇思25天学习打卡营第18天 | K近邻算法实现红酒聚类

1、实验目的 了解KNN的基本概念;了解如何使用MindSpore进行KNN实验。 2、K近邻算法原理介绍 K近邻算法(K-Nearest-Neighbor, KNN)是一种用于分类和回归的非参数统计方法,最初由 Cover和Hart于1968年提出(Cover等人,1967)&#…

Golang | Leetcode Golang题解之第220题存在重复元素III

题目: 题解: func getID(x, w int) int {if x > 0 {return x / w}return (x1)/w - 1 }func containsNearbyAlmostDuplicate(nums []int, k, t int) bool {mp : map[int]int{}for i, x : range nums {id : getID(x, t1)if _, has : mp[id]; has {retu…

ctfshow web sql注入 web242--web249

web242 into outfile 的使用 SELECT ... INTO OUTFILE file_name[CHARACTER SET charset_name][export_options]export_options:[{FIELDS | COLUMNS}[TERMINATED BY string]//分隔符[[OPTIONALLY] ENCLOSED BY char][ESCAPED BY char]][LINES[STARTING BY string][TERMINATED…

【三级等保】等保整体建设方案(Word原件)

建设要点目录: 1、系统定级与安全域 2、实施方案设计 3、安全防护体系建设规划 软件全文档,全方案获取方式:本文末个人名片直接获取。

数据结构——二叉树相关题目

1.寻找二叉树中数值为x的节点 //寻找二叉树中数值为x的节点 BTNode* TreeFind(BTNode* root, BTDataType x)//传过来二叉树的地址和根的地址,以及需要查找的数据 {if (root Null){return Null;}//首先需要先判断这个树是否为空,如果为空直接返回空if (…

基于python的数据分解-趋势-季节性-波动变化

系列文章目录 前言 时间序列数据的分解,一般分为趋势项,季节变化项和随机波动项。可以基于加法或者乘法模型。季节变化呈现出周期变化,因此也叫季节效应(周期)。 一、数据分解步骤 (1)估计时间序列的长期…

拓扑排序,PageRank(markov),实对称矩阵等

拓扑排序 多件事情有先后顺序,如何判断哪个先哪个后 拓扑排序算法: 1.读入图时,需要记录每个顶点的入度,以及相邻的所有顶点 2.将入度为0的顶点入队(先进先出) 3.取出队首元素a,&#xf…