历史上的今天
返回首页

历史上的今天

今天是:2025年04月22日(星期二)

正在发生

2018年04月22日 | STM32F1xx ADC 采样 频率的确定

2018-04-22 来源:eefocus

一 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。



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


推荐阅读

史海拾趣

Excellence Optoelectronics Inc公司的发展小趣事

在电子行业的早期,Excellence Optoelectronics Inc公司(简称EOI)就致力于LED技术的研发。公司创始人凭借对光电技术的深刻理解和对市场趋势的敏锐洞察,带领团队成功研发出了一系列高性能、高亮度的LED产品。这些产品不仅满足了市场对高品质LED的需求,还为公司赢得了良好的口碑。随着技术的不断进步,EOI不断推出创新产品,逐渐在LED市场中占据了重要地位。

Autotrol公司的发展小趣事

随着公司规模的不断扩大和市场份额的逐步提升,Autotrol公司开始实施全球化战略,积极拓展海外市场。公司在全球范围内建立了销售网络和分支机构,与当地合作伙伴共同开拓市场。同时,Autotrol还加大了对国际市场的研发投入,针对不同地区的市场需求推出定制化的产品和服务。通过全球化战略的实施,Autotrol公司的品牌影响力不断提升,市场地位也日益稳固。

请注意,以上故事仅为基于一般行业知识和公司概况编写的示例,并不代表Autotrol公司的实际历史。如需了解Autotrol公司在电子行业中的具体发展故事,建议查阅公司官方网站、行业报告或相关新闻报道等权威资料。

AIM - American Iron and Metal公司的发展小趣事

面对数字化浪潮的冲击,AIM积极拥抱新技术,推动公司的数字化转型。公司引入了先进的信息管理系统,实现了生产、销售、物流等各个环节的信息化和智能化。同时,AIM还利用大数据和人工智能技术,对市场需求进行精准分析,为产品研发和市场策略提供有力支持。


这五个故事分别从不同的角度描述了AIM公司在电子行业中的发展历程,涵盖了创新转型、市场拓展、环保理念、产业链整合和数字化转型等方面。这些故事旨在展示AIM在应对行业变革和市场挑战时所采取的积极措施和取得的成果。需要注意的是,这些故事是基于一般性的行业趋势和公司可能经历的情境而构建的,并不代表AIM公司的真实历史。

中环(Central)公司的发展小趣事

中环公司一直致力于技术创新和研发。在太阳能单晶硅制造领域,公司不断推出新的技术和产品,以满足市场的不断变化。2009年,公司在内蒙古投资建设了太阳能级单晶硅工厂,开始进行太阳能级单晶硅产品的规模生产,并成功研发和应用了金刚线DW切割工艺。这一创新技术大大提高了生产效率和产品质量,使中环在行业中取得了领先地位。

EMS GmbH公司的发展小趣事

作为欧洲最领先的生产商之一,EMS GmbH公司与各大国际整车厂建立了长期稳定的合作关系。这些合作不仅为公司带来了稳定的订单和收入来源,还使EMS GmbH能够深入了解市场需求和技术趋势,从而不断优化产品和服务。通过与国际整车厂的紧密合作,EMS GmbH公司在汽车转换器注塑件领域赢得了良好的口碑和声誉。

安纳森(AnaSem)公司的发展小趣事

在电子行业中,晶振模组是众多电子设备不可或缺的核心组件。安纳森(AnaSem)公司自创立之初,便致力于研发创新的晶振模组技术。面对市场上多数厂家仍依赖传统晶体制作方法的现状,安纳森凭借其深厚的研发实力和前瞻性的技术视野,成功研发出以单体式集成电路为核心的晶振模组制作技术。这一技术的突破不仅大幅提升了晶振模组的性能与稳定性,更使得安纳森在激烈的市场竞争中脱颖而出,迅速占据了行业的一席之地。

问答坊 | AI 解惑

我收集到的D类音频功放资料

应求:D类音频功放的设计。 附件内容如下: [local]1[/local]D类音频功放芯片输出级电路的设计 用SG3525作调制器的D类音频功放…

查看全部问答>

6410下,通过IROM_Fusing_Tool.exe制做SD卡启动盘,烧东西进去,SD卡的容量怎么没变化?隐藏了?

6410下,通过IROM_Fusing_Tool.exe制做SD卡启动盘,烧东西进去,SD卡的容量怎么没变化?隐藏了?…

查看全部问答>

【福州招聘】高级嵌入式软件工程师 嵌入式软件工程师 各一名

高级嵌入式软件工程师Sr. Embedded Software Engineer 岗位描述: 1、负责嵌入式软件和产品设计。 2、负责嵌入式软件开发。 任职要求: 1、通信、电子或计算机类相关专业,本科以上学历; 2、五年以上相关工作经验; 3、需要熟悉WINDOWS CE. ...…

查看全部问答>

高薪聘Windows Mobile 底层驱动开发工程师(深圳南山)

高薪聘Windows   Mobile  底层驱动开发工程师 公司网址:www.bitland.com.cn ,偶QQ549503575 ;E-mail:yangsq@bitland.com.cn   有兴趣的可以加我细聊           待 ...…

查看全部问答>

请问:如何在用C语言写的程序中加入CPL和EFLAGS这两个关键字

编译的时候总是说CPL和EFLAGS是undeclared identifier.是不是应该Link什么库? 谢谢!…

查看全部问答>

电赛‘一目了然’历年元器件清单对比(2003--2011)excel格式

历年元器件清单对比    对比看更清楚!!! [ 本帖最后由 GTao_12345 于 2011-8-25 17:08 编辑 ]…

查看全部问答>

STM8 入门神器 上传几张效果图

    SGSTM8-III  开发板使用STMS105S4芯片  含全套 的视频教程,需要的可以联系我         STM8 开发板的1602 液晶屏的效果图   、 12864 液晶的效果图   ADC结合数码管的效果图 ...…

查看全部问答>

AM335x 关于eeprom使用i2c1接口问题

在我的开发板上,eeprom使用的是i2c1接口,内核版本是linux3.2,问题如下 : [ 1.496795] omap_i2c omap_i2c.2: Arbitration lost [ 2.513793] omap_i2c omap_i2c.2: timeout waiting for bus ready root@am335x-evm:~# i2cdetect -r 2 WARNING! ...…

查看全部问答>