STM32 ADC 采样 频率的确定
一 STM32 ADC 采样频率的确定
- 1. :
先看一些资料,确定一下ADC 的时钟:
(1),由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步。CLK 控制器为ADC 时钟提供一个专用的可编程预分频器。
(2) 一般情况下在程序 中将 PCLK2 时钟设为 与系统时钟 相同
/* HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);
/* PCLK1 = HCLK/2 */
RCC_PCLK1Config(RCC_HCLK_Div2);
(3)在时钟配置寄存器(RCC_CFGR) 中 有 为ADC 时钟提供一个专用的可编程预分器
位15:14 ADCPRE:ADC预分频
由软件设置来确定ADC时钟频率
00:PCLK2 2分频后作为ADC时钟
01:PCLK2 4分频后作为ADC时钟
10:PCLK2 6分频后作为ADC时钟
11:PCLK2 8分频后作为ADC时钟
我们可对其进行设置 例如:
/* ADCCLK = PCLK2/4 */
RCC_ADCCLKConfig(RCC_PCLK2_Div4);
另外 还有 ADC 时钟使能设置
/* Enable ADC1, ADC2 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2 |
RCC_APB2Periph_GPIOC, ENABLE);
(4)16.7 可编程的通道采样时间
ADC 使用若干个ADC_CLK 周期对输入电压采样,采样周期数目可以通过
ADC_SMPR1 和ADC_SMPR2 寄存器中的SMP[2:0]位而更改。每个通道可以以
不同的时间采样。
总转换时间如下计算:
TCONV = 采样时间+ 12.5 个周期
例如:
当ADCCLK=14MHz 和1.5 周期的采样时间
TCONV = 1.5 + 12.5 = 14 周期 = 1μs
SMPx[2:0]:选择通道x的采样时间
这些位用于独立地选择每个通道的采样时间。在采样周期中通道选择位必须保持不变。
000:1.5周期 100:41.5周期
001:7.5周期 101:55.5周期
010:13.5周期 110:71.5周期
011:28.5周期 111:239.5周期
注:
– ADC1的模拟输入通道16和通道17在芯片内部分别连到了温度传感器和VREFINT。
– ADC2的模拟输入通道16和通道17在芯片内部连到了VSS。
- 具体分析如下:
(1)我们的输入信号是50Hz (周期为20ms),初步定为1周期200个采样点,(注:一周期最少采20个点,即采样率最少为1k) ,每2个 采样点间隔为 20ms /200 = 100 us
ADC可编程的通道采样时间 我们选最小的 1.5 周期,则 ADC采样周期一周期大小为
100us /1.5=66us 。 ADC 时钟频率为 1/66us =15 KHz。
ADC可编程的通道采样时间 我们选71.5 周期,则 ADC采样周期一周期大小为
(100us /71.5) 。 ADC 时钟频率为 7.15MHz。
(2)接下来我们要确定系统时钟:我们 用的是 8M Hz 的外部晶振做时钟源(HSE),估计得 经过 PLL倍频 PLL 倍频系数分别为2的整数倍,最大72 MHz。为了 提高数据 计算效率,我们把系统时钟定为72MHz,(PLL 9倍频)。则 PCLK2=72MHz,PCLK1=36MHz;
我们通过设置时钟配置寄存器(RCC_CFGR) 中 有 为ADC 时钟提供一个专用的可编程预分器,将PCLK2 8 分频后作为ADC 的时钟,则可知ADC 时钟频率为 9MHz
从手册可知: ADC 转换时间:
STM32F103xx 增强型产品:ADC 时钟为56MHz 时为1μs(ADC 时钟为72MHz 为1.17μs)
(3)由以上分析可知:不太对应,我们重新对以上中 内容调整,提出如下两套方案:
方案一:我们的输入信号是50Hz (周期为20ms),初步定为1周期2500个采样点,(注:一周期最少采20个点,即采样率最少为1k) ,每2个 采样点间隔为 20ms /2500 = 8 us
ADC可编程的通道采样时间 我们选71.5 周期,则 ADC采样周期一周期大小为
8us /71.5 。 ADC 时钟频率约为 9 MHz。
将PCLK2 8 分频后作为ADC 的时钟,则可知ADC 时钟频率为 9MHz
方案二:我们的输入信号是50Hz (周期为20ms),初步定为1周期1000个采样点,(注:一周期最少采20个点,即采样率最少为1k) ,每2个 采样点间隔为 20ms /1000= 20 us
ADC可编程的通道采样时间 我们选239.5周期,则 ADC采样周期一周期大小为
20us /239.5 。 ADC 时钟频率约为 12 MHz。
将PCLK2 6 分频后作为ADC 的时钟,则可知ADC 时钟频率为 12MHz
转载于:https://www.cnblogs.com/zym0805/p/7149392.html
STM32 ADC 采样 频率的确定相关推荐
- STM32 ADC采样
目录 1.基础概念 2.原理:ADC采样过程分为四步:采样.保持.量化.编码. 3.采样定理 4.采样保持放大器(SHA) 5.ADC电压值转换 6.ADC轮询采样 1.基础概念 ADC 全称:Ana ...
- STM32 ADC采样使用内部参考电压
整理也能进步!写得清楚才能理解更深. [问题背景] 在使用ADC时,通常的用法是Vref+接电源VDD3.3V,然后计算时直接用3.3V做参考电压,但是这种方法忽略了一些情况如供电电压有可能随外部一些 ...
- STM32的ADC采样与多通道ADC采样
一 单通道采样 参考资料: <STM32库开发实战指南> 刘火良,杨森著 原理性质的东西还是少讲,因为上面那本书里面讲解的很详细了,直接来看硬件电路图 这里使用的是3362电位器(10K ...
- adc 采样时间 采样周期数 采样频率计算(以stm32为例)
ADC转换就是输入模拟的信号量,单片机转换成数字量.读取数字量必须等转换完成后,完成一个通道的读取叫做采样周期.采样周期一般来说=转换时间+读取时间.而转换时间=采样时间+12.5个时钟周期.采样时间 ...
- 【STM32】定时器TIM触发ADC采样,DMA搬运到内存(超详细讲解)
TIM+ADC+DMA原理 一般情况下,当我们需要进行采样的时候,需要用到ADC.例如:需要对某个信号进行定时采样(也就是隔一段时间,比如说2ms). 本文提供的解决方案是:使用ADC的定时器触发AD ...
- STM32 ADC多通道规则采样和注入采样
layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true 什么是ADC? STM ...
- STM32多通道ADC采样获取GY-25A倾角传感器模拟输出数据
STM32多通道ADC采样获取GY-25A倾角传感器模拟输出数据 GY-25A模块是新型的倾角传感器模块,具有X和Y两轴模拟角度输出和串口角度输出的功能.这里介绍STM32获取GY-25A模拟输出的角 ...
- STM32多通道ADC采样获取MCP9701模拟温度传感器温度输出数据
STM32多通道ADC采样获取MCP9701模拟温度传感器温度输出数据 市面上常见的模拟温度传感器有TI的LM35系列,然后使用中并不简便.MCP9701是Microchip公司推出的相似的模拟温度传 ...
- STM32+FreeRTOS+CUBEMX_学习笔记(五 )ADC采样
ADC的各种模式 前言 1.STM系列ADC的参数: 2.ADC的几种工作模式 单次转换模式 连续转换模式 DMA 双ADC模式 3.函数 4.具体操作 参考资料 前言 ADC采样是一种常见的功能 1 ...
最新文章
- 中国「人造太阳」刚刚再破纪录:运行时间突破千秒,负责人:为稳态的聚变工程堆奠定基础...
- Linux 学习笔记_12_文件共享服务_3_NFS网络文件服务
- 如何编写一个python项目
- 对于基于模板的前端框架的补充
- tcpdump非常实用的抓包实例
- 快捷指令获取url内容_快捷指令,钢铁侠里的“贾维斯”
- 计算机类专业试题及答案,2010年计算机类专业试题及答案
- isbn书号查询php代码,php根据isbn书号查询amazon网站上的图书信息的示例_PHP
- 【个税】2020年个人所得税计算规则
- python instagram 爬虫
- 使用Consol线连接路由器
- Client network socket disconnected before secure TLS connection was established
- MySQL数据库 sql语句及其含义
- 基于依存句法分析的开放式中文实体关系抽取
- 家谱文化研究②:比赘婿更不光彩的家庭角色?何雨柱还乐在其中
- 【Designing ML Systems】第 11 章 :机器学习的人性方面
- 规范化(标准化)数据的方法
- ALV GRID类型
- android fastboot命令大全,安卓手机Fastboot模式百科介绍,Fastboot命令大全
- 在msconfig里修改了处理器数和最大内存后电脑无法启动一直蓝屏
热门文章
- bzoj 2844: albus就是要第一个出场 高斯消元
- 特征权重量化 TF-IDF 用于信息检索和数据挖掘的加权技术
- Android 程序打包及签名
- 关于继承方式和访问权限
- Windows和Linux双启动,并用在Windows下配置CoLinux启动
- 32 | 浅谈容器网络
- python的6种基本数据类型--集合
- php动态删除输入框,jQuery实现动态添加和删除input框实例代码
- java反序列化漏洞 tomcat_CVE-2020-9484 Apache Tomcat反序列化漏洞浅析
- yum安装nginx php mysql_yum安装nginx+mysql+php