历史上的今天
返回首页

历史上的今天

今天是:2024年10月15日(星期二)

正在发生

2018年10月15日 | STM32 ADC采样时间、采样周期、采样频率计算方法

2018-10-15 来源:eefocus

ADC转换就是输入模拟的信号量,单片机转换成数字量。读取数字量必须等转换完成后,完成一个通道的读取叫做采样周期。采样周期一般来说=转换时间+读取时间

 

。而转换时间=采样时间+12.5个时钟周期。采样时间是你通过寄存器告诉STM32采样模拟量的时间,设置越长越精确

一 STM32 ADC采样频率的确定

1. :先看一些资料,确定一下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


推荐阅读

史海拾趣

Changzhou Galaxy Century Microelectronics Co.,Ltd公司的发展小趣事

银河微电在追求经济效益的同时,也积极履行社会责任。公司注重环保和可持续发展,在生产过程中严格控制污染排放,推广绿色生产技术。此外,银河微电还积极参与社会公益事业,捐款捐物支持灾区重建、教育扶贫等项目。这些举措不仅提升了公司的社会形象,也为公司的长远发展积累了良好的口碑。

这五个故事只是银河微电发展历程中的一部分缩影,但它们充分展示了公司在技术创新、市场拓展、资本运作、战略合作和社会责任等方面的努力和成就。正是这些因素的共同作用,使得银河微电在电子行业中脱颖而出,成为一家备受瞩目的高新技术企业。

FTDI公司的发展小趣事

在发展过程中,银河微电积极寻求与行业内外的合作伙伴建立战略合作关系。通过与晶通半导体(深圳)有限公司等企业的合作,银河微电在技术研发、市场拓展等方面取得了显著成效。这些战略合作不仅提升了公司的综合实力,还为公司的未来发展奠定了坚实的基础。

DECON公司的发展小趣事

DECON公司成立于电子行业的蓬勃发展时期,初创期便专注于研发和生产高质量的电子连接器产品。通过对市场的深入调研和技术创新,公司成功定位自己在高端连接器市场的位置,并凭借其出色的产品质量和稳定的性能,逐步在市场中树立了良好的口碑。

Avasem公司的发展小趣事

在国内市场取得一定成功后,Avasem公司开始实施国际化战略,以进一步拓展全球市场份额。公司首先在欧洲和北美等成熟市场设立了研发中心和销售网点,以便更好地了解当地市场需求和消费者偏好。随后,Avasem公司通过与当地合作伙伴建立战略联盟,共同推广其产品和技术。这一战略不仅提升了公司在全球市场的知名度,还为其带来了可观的收益增长。

AUREL公司的发展小趣事

AUREL公司深知人才是企业发展的核心动力。因此,公司一直注重人才的引进和培养。通过与高校和研究机构的合作,公司吸引了大批优秀的研发人才和管理人才。同时,公司还建立了完善的人才激励机制和培训体系,为员工提供了广阔的职业发展空间。这些举措使得AUREL公司的人才队伍不断壮大,为公司的持续发展提供了有力保障。

DILABS公司的发展小趣事

为了进一步扩大市场份额,DILABS开始寻求与国内外知名企业的战略合作。他们与多家大型电子制造商签订了长期供货协议,同时也积极与高校和研究机构合作,共同研发新技术、新产品。这些战略合作不仅为DILABS带来了更多的订单,也促进了公司在技术和管理方面的不断进步。

问答坊 | AI 解惑

各大公司IC类免费样品申请

TPS2000系列数字存储示波器 详细资料申请 http://digital.ni.com/worldwide/china.nsf/sb/Download?OpenDocument&node=162000_zhs       样片申请服务(成都国腾微电子)http://www.gticcsssss.com/cn/khfw-ypsq.htm   ...…

查看全部问答>

单片机初学经验

单片机初学经验,大家看看 [ 本帖最后由 open82977352 于 2010-2-6 09:37 编辑 ]…

查看全部问答>

嵌入式爱好者的学习笔记连载

嵌入式爱好者的学习笔记连载(一)     本人从本科到研究生的专业都是电子工程,由于研究生阶段课题的需要,做了些控制方面的电路,但也只限于使用单片机。在介绍个人学习体会之前,先介绍一下我的学习背景,因为背景不同对某一方面的 ...…

查看全部问答>

Wince6.0屏幕旋转的问题

我想实现按键屏幕旋转,rotate.exe也考到Files文件夹下了, platform.bib中我也加了下句: IF BSP_NODISPLAY !             rotate.exe        $(_FLATRELEASEDIR)\\rotate.exe&nb ...…

查看全部问答>

关于嵌入式系统的开发!!速度进来.....

请详细讲讲嵌入式开发 比如用什么语言开发? 什么平台? 什么应用? 前景怎么样? 或者给提供类似的文章链接! 不甚感激!!!............. …

查看全部问答>

请教高手一个文件传输问题,高手请指点啊!

在VC里借鉴了个网友做的服务器和客户端程序,想把客户端移植到EVC下面,出现了编译错误,请高手指点怎么改?? vc下的客户端程序部分代码是: [code] DWORD WINAPI CClientDlg::SocketSend(LPVOID lpParameter) {         ...…

查看全部问答>

一个基于WLAN的嵌入式系统开发项目外包

一个基于无线局域网的远程控制系统项目,欢迎个人、团队参与,详细情况请参见以下说明 项目说明: 该项目由个人操作终端和远程接收控制终端构成,可利用ARM7或ARM9在linux下完成。 要求: 该项目要求开发者(或团队)熟悉ARM CPU, 熟悉无 ...…

查看全部问答>

如何在EVC 4.0的一个项目里导入.dll 文件

在编写一个关于 pocket pc 2003的程序 用的是 microsoft embedded visual c ++ 。 需要用到一个 .dll的文件, 不知道如何才能加入呢? 希望大家帮帮我…

查看全部问答>

学习wince开发

  我刚开始接触wince开发   对这还不是很了解    想通过半年的时间来提高自己 但是不知道从哪入手   想问有没有关于wince开发的教学视频啊或者参考书也可以    希望可以传上来或给个链接我&nb ...…

查看全部问答>

针对丝印器件 反查;本人曾经查找了一些资料,希望用得上

针对丝印器件 反查;本人曾经查找了一些资料,希望用得上 更偏僻的或者新出的产品就得花MONEY买专业材料了 价格不菲   这是其中一款反查界面;…

查看全部问答>