STM32 ADC的采样周期确定

最新更新时间:2012-11-25来源: 互联网关键字:STM32  ADC  采样周期 手机看文章 扫描二维码
随时随地手机看文章
一 STM32 ADC 采样 频率的确定

  先看一些资料,确定一下STM32 ADC 的时钟:

  (1),由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步。CLK 控制器为ADC 时钟提供一个专用的可编程预分频器。

  (2)一般情况下在程序 中将 PCLK2 时钟设为 与系统时钟 相同

  RCC_HCLKConfig(RCC_SYSCLK_Div1);

  RCC_PCLK2Config(RCC_HCLK_Div1);

  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时钟

  我们可对其进行设置例如:

  RCC_ADCCLKConfig(RCC_PCLK2_Div4);

  另外还有 ADC 时钟使能设置

  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。

  2. 具体分析如下:

  (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

关键字:STM32  ADC  采样周期 编辑:神话 引用地址:STM32 ADC的采样周期确定

上一篇:ADC性能提高的建议
下一篇:一 STM32 ADC 采样 频率的确定

推荐阅读最新更新时间:2023-10-12 20:44

STM32的启动模式
刚开始接触STM32,最先遇到的问题就是下载程序。我按照教程,使用串口下载,感觉很简单。但是,最近需要使用LCD12864,就把以前的MSP430上的程序移植了一下,结果我发现了一个奇怪的现象,每次下载完程序后,断电,再上电后,液晶屏就不再显示了。这让我感到无比的头疼,因为我总以为是我的程序有问题,反反复复修改了好多遍,经过几个小时的调试,我最终找到了问题的缘由:那就是启动模式。 STM32不同于51或者430的地方是,它有两个管脚:BOOT0,BOOT1用来控制单片机上电复位后启动的位置。如下图所示: ● 第一种启动方式是最常用的用户FLASH启动,正常工作就在这种模式下,STM32的FLASH可以擦出10万次,所以不用
[单片机]
<font color='red'>STM32</font>的启动模式
STM32 RCC配置
固件库 V3.5 IAR /* ---------------------函数实体--------------------------------*/ /******************************************************************************* * 函数名称: RCC_Configuration * 函数功能: 设置系统各部分时钟 * 参数变量: NONE * 全局变量: NONE * 调用函数: * 修改时间: * 版 本: V1.0 * 状 态:调试完成 *****************************
[单片机]
STM32 按键输入
#include stm32f10x.h #include key.h //按键初始化函数 void KEY_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8; GPIO_InitStructure.GPIO_S
[单片机]
STM32 看门狗学习笔记
STM32 有两个看门,一个是独立看门狗,一个是窗口看门狗.这里先说独立看门狗. 以单片机为核心的微型计算机系统中,单片机经常会受到来自外界电磁场的干扰。 造成程序跑飞,只是程序的正常运行状态被打断而进入死循环,从而使单片机控制的系统无法正常工作。看门狗就是一种专门用于检测单片机程序运行状态的硬件结构。 独立看门狗的特性是,要利用片内的40k RC振荡器作为时钟据(说这个RC是相当的不准),优点就是,即使CPU主晶振 停了,即使CPU进入了休眠模式,狗也可以生效.当CPU进入休眠模式,并且是深度休眠的时候,这个看门狗可以作为一个CPU 的定时唤醒闹钟,以达到超低功耗的同时还会定时醒来.看门狗由于最大可以分频到256,看门狗
[单片机]
<font color='red'>STM32</font> 看门狗学习笔记
STM32 DMA通道外设基地址的配置
简介:看了许多资料都没有讲如何配置DMA通道外设基地址 ADC 规则数据寄存器(ADC_DR)的地址偏移:4Ch #define ADC1_DR_Address ((u32)0x4001244C) 就是ADC1的外设基地址(0x4001 2400)加上ADC数据寄存器(ADC_DR)的偏移地址(0x4c)计算得到的。 Example: /************************************************************************************ * 文件名 :main.c * 描述 :串口1(USART1)向电脑发送当前ADC1的转换电压值 * 库版本 :ST3.5.0
[单片机]
低功耗ADC实现高性能明智设计
今天,人们希望将仪表携带到现场,让其靠电池电源运行,甚至立即实现更高的准确性。模拟电路与数字电路不同,它不会从较小几何尺寸产生的尺度效应中受益。如果功率消耗较少,那么噪声(精确测量的大敌)实际上将会增加。可以理解,随着新低压工艺的出现,信噪比(SNR)将变得更差,因为信号幅度在减小。那么,在提高性能的同时,模拟信号链怎样才能"走向绿色"呢?   很多高速仪表的核心是一个高速模数转换器( ADC )。例如:金属物体的非破坏性测试就采用了一种类似于医疗超声的成像方法,采用这种方法时,数字图像传感器为高速ADC馈送信号。在某些情况下会有很多个通道,因此,尺寸和功耗成为关键。便携式仪表显然需要节省电池电力,不过,即使是固定安装设备,也需
[模拟电子]
低功耗<font color='red'>ADC</font>实现高性能明智设计
STM32】SysTick滴答定时器(delay延时函数讲解)
STM32F1xx官方资料: 《Cortex-M3权威指南-中文》-第8章最后一个小节:Systick定时器 SysTick定时器 Systick定时器,是一个简单的定时器,对于CM3、CM4内核芯片,都有Systick定时器。Systick定时器常用来做延时,或者实时系统的心跳时钟。这样可以节省MCU资源,不用浪费一个定时器。比如UCOS中,分时复用,需要一个最小的时间戳,一般在STM32+UCOS系统中,都采用Systick做UCOS心跳时钟。 Systick定时器就是系统滴答定时器,一个24 位的倒计数定时器,计到0 时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick 控制及状态寄存器中的使
[单片机]
医学数字成像的挑战和最新动态
21 世纪 数字成像 技术的出现给我们带来优异的诊断功能、图像存档以及随时随地的检索功能。自20世纪70年代早期 医学成像 数字技术出现以来,数字成像的重要性得以日益彰显。 半导体 器件中混合信号设计能力方面的一些新进展,让成像系统实现了史无前例的电子封装密度,从而带来医学成像的巨大发展。同时,嵌入式处理器极大地提高了 医疗 图像处理和实时图像显示的能力,从而实现了更迅速、更准确的诊断。这些技术的融合以及许多新兴的电子健康记录标准为更为完善的病人护理提供了发展动力。   本文将介绍不同成像方法电子设计存在的诸多挑战和一些最新动态,具体包括数字X射线、磁共振成像(MRI)和超声波系统。 数字X射
[医疗电子]
医学数字成像的挑战和最新动态
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved