STM32F103XX的ADC的采样时钟最快14MHz,最快采样率为1MHz。

ADC时钟:

这个ADC时钟是从哪来的呢。我们看下面这个STM32的时钟结构图:

我们大多使用STM32的最快PCLK2系统时钟72MHz。

ADCCLK的时钟由72MHz的6分频能瞒住14MHz以下的要求 为12MHz。

RCC_ADCCLKConfig(RCC_PCLK2_Div6); //72M/6=12,ADC最大时间不能超过14M

ADC转换时间:

有如下公式: TCONV = 采样时间+ 12.5 个周期

其中12.5个周期是采集12位AD时间是固定的,另外一个采样时间可以取下面几个参数由SMPx[2:0]寄存器控制,每个通道可以单独配置。

   000:1.5周期

100:41.5周期

001:7.5周期

101:55.5周期

010:13.5周期

110:71.5周期

011:28.5周期

111:239.5周期

当我们选择1.5周期时。转换时间 = 1.5+12.5 = 14周期。

当时钟配置为12MHz时 转换时间 = 14/12 = 1.167us.

其中有人就有疑问 为什么系统时钟72MHz 竟然达不到手册上说的1MHz- 1us的采样 。

其实我们要了解,真正决定ADC转换速度的不是系统时钟72MHz 而是不超过14MHz的 ADCCLK。 当我们配置系统时钟为72MHz的时候 ADCCLK 最大为12MHz.所以转换速度稍微慢了。

当我们把系统时钟设置为56MHz的时候,经过4div正好为14MHz,此时就能达到1us的采样。但是测试发现如果按照最快速度转换ADC结果不是很准确。

                            ---------ForeverLongo

最新文章

  1. 用CSS3写一个立方体
  2. 使用shell脚本实现ping对应IP所对应的人名
  3. Android调用系统相机功能
  4. Supervisor重新加载配置
  5. 面试题12:打印1到最大的n位数
  6. Ionic2学习笔记(1):新建一个页面
  7. c语言文件复制
  8. PHP 表单 - 验证邮件和URL
  9. C#基础-Func,Action
  10. UVA 11490 - Just Another Problem(数论)
  11. CoolBlog开发笔记第2课:搭建开发环境
  12. MySQL长短密码
  13. 在thinkphp框架中使用后台传值过来的数组,在hightcart中使用数组
  14. [Zabbix3.0] 添加MySQL监控
  15. Dart语言入门(一)
  16. Sonar 配置及部署(windows系统)
  17. C#实现数字字符串左补齐0的方法
  18. 删除ELK中的数据。。
  19. ubuntu16.04下python2、python3环境选择与python升级(pip版本切换)
  20. anaconda的安装tensorflow

热门文章

  1. 条理清晰的搭建SSH环境之整合Hibernate和Spring
  2. react-router实现tab页面切换,并解决选中样式首页始终选中问题
  3. Npm基本指令(转)
  4. 理解IOC
  5. 【Mongodb】用户和认证 权限总结
  6. 自动构建工具Grunt
  7. Oauth2.0(五):Authorization Code 授权
  8. js 或 且 非
  9. 10 -- 深入使用Spring -- 5...1 使用Quartz
  10. grid网格的流动一