我是靠谱客的博主 忧心小懒虫,最近开发中收集的这篇文章主要介绍为什么STM32的ADC转换时钟不能大于14MHz先简单介绍一下ADC:STM32F103 拥有 1~3 个 ADC(STM32F101/102 系列只有 1 个 ADC),这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。 STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。 ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

先简单介绍一下ADC:STM32F103 拥有 1~3 个 ADC(STM32F101/102 系列只有 1 个 ADC),这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。 STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。 ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。
 

基础就不讲了吧,CSDN有很多关于基础的文章,但是我没有看到见解为什么ADC的时钟不能超过14MHz的,这里讲解一下:

 

看一个寄存器,这个是设置ADC的采样时间,采样时间:

ADC转换时间的公式:

                                   

 ADC采样时间的最小周期为1.5个周期,加上12.5个周期,那就是最小为14个周期,即总转换时间会大于或等于14个周期

STM32 的 ADC 最大的转换速率为 1Mhz,也就是转换时间为 1us

当选择14MHz的时钟频率作为ADC的时钟频率时;

因为ADC最小转换周期为14个时钟周期,14MHz的时钟,转换时间刚好为1us

而STM32 的 ADC 最大的转换速率为 1Mhz,转换最小时间为 1us,

如果选择大于14MHz的时钟频率作为ADC的时钟频率时,转换时间就会少于1us,所以会降低结果的准确性。

 

 

 

 

 

最后

以上就是忧心小懒虫为你收集整理的为什么STM32的ADC转换时钟不能大于14MHz先简单介绍一下ADC:STM32F103 拥有 1~3 个 ADC(STM32F101/102 系列只有 1 个 ADC),这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。 STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。 ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门的全部内容,希望文章能够帮你解决为什么STM32的ADC转换时钟不能大于14MHz先简单介绍一下ADC:STM32F103 拥有 1~3 个 ADC(STM32F101/102 系列只有 1 个 ADC),这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。 STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。 ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部