打印
[资源共享]

什么时候能用单片机片内ADC,得看这些参数!

[复制链接]
4090|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
为什么要讲ADC?主要有两个原因:第一个原因是选择困惑,经常看到小伙伴对ADC有疑问,不知道该用MCU内置的ADC,还是单独的ADC;第二个原因是ADC是我们在开发时用到最多的外设功能之一,因为世界是模拟的,越来越多的项目需要测量模拟信号,根据这些信号再去分析、计算等操作,所以如果选一个外设来讲的话,那一定是ADC。

既然是芯片引脚解读系列,就来看看MCU内部集成ADC的情况。我们以ST的MCU为例,像STM32F412中集成的是1个16通道的12位,2.4MSPS ADC,也有一些是集成2个、3个ADC的,STM32H750上就集成了3个16位,3.6MSPS速率的ADC。一般来说,集成的ADC的性能强弱和本身MCU性能有很大关系。

使用特权

评论回复
沙发
powerantone|  楼主 | 2023-4-26 10:27 | 只看该作者
MCU内置的ADC引脚大多是和GPIO口复用的,16通道就是要有16个模拟输入信号引脚。除了输入引脚之外,还有专门的ADC电源和地,也是我们之前讲过的VDDA和VSSA。VDDA可以通过隔离器件接到VDD,也可以单独使用基准电源芯片供电,这个根据ADC转换要求选择,一般都是接到VDD。

在使用内置ADC的时候,需要注意datasheet中相关的内容,比如下面这个表里的表示ADC动态性能参数,ENOB代表的是有效位数,SIAND信号与噪声失真比。

使用特权

评论回复
板凳
powerantone|  楼主 | 2023-4-26 10:28 | 只看该作者

使用特权

评论回复
地板
powerantone|  楼主 | 2023-4-26 10:28 | 只看该作者
下面就从性能、设计难度、成本几个维度,给大家分析一下片内ADC和独立ADC之间的区别。

首先说一下性能,说实在的,内置ADC的性能提升从一些方面来说,是被框死的。ADC是模拟外设,而MCU主要是数字半导体而且速度很重要,MCU使用的混合信号技术很难为了提高模拟功能而去牺牲数字速度。

另外,ADC需要内部参考电压,去和模拟输入信号的电压电平做对比,这个参考电压要么来自MCU电源VDD,要么从一个专用的引脚引入。ADC输出精度很大程度上取决于稳定的参考电压,因此需要在MCU内部把这个参考电源和数字逻辑分开隔离,以最大限度地减少噪声干扰。虽然外部专用参考电压引脚可以提供更好的隔离,但仍然会受到通过MCU切换的高速数字信号的一些小干扰,这对测量小电压时非常重要,很可能会因为参考电压噪声,而丢失信号。

使用特权

评论回复
5
powerantone|  楼主 | 2023-4-26 10:28 | 只看该作者
那么,是不是可以使用更高的参考电压来最大限度地减少噪声的影响?当然可以,但要在测量低电压时保持相同的精度,就势必要提高分辨率、位数。这会增加芯片上ADC的面积,并增加ADC在生产中的测试时间,MCU的成本无疑会增加很多。所以,内置ADC的性能提升从很多方面是被限制的。

再来看一下独立的ADC性能有多强,模拟大厂ADI的高速的ADC最多的位数可以达到32位,采样速率最快可以达到10GSPS。10Gsps对比MCU几M的速率,大家想想,也就是飞机和蜗牛的速度吧。

当然,性能高并不代表一定合适。所以还需要多考虑。将ADC和MCU集成就意味着省了一颗芯片的面积,占用电路板的空间更小。而从价格上来看,带有集成ADC的MCU的价格肯定是低于MCU和独立ADC的组合价格,性能高的ADC芯片价格可比MCU要美丽多了。

使用特权

评论回复
6
powerantone|  楼主 | 2023-4-26 10:28 | 只看该作者
什么情况下,我们去选择MCU内置的ADC呢?这主要看内置ADC的精度、输入通道数和速度等参数是否满足我们的设计要求。如果满足设计要求,比如简单的低分辨率的,就可以直接使用内置ADC,这样既降低了硬件成本,又降低了设计复杂度。

那不满足的时候,比如一些精密的应用场合,我们就要去选择独立的ADC芯片了。选择的标准基本和内置ADC的选择标准一样,只不过外加独立ADC的时候,还需要考虑与单片机的数字接口,常用的有IIC、SPI、并口等接口。

现在MCU的性能提升,各种外设的性能也是水涨船高,很多应用,集成的ADC也都能够胜任了。

关于ADC引脚,今天就先讲到这里,下期我们继续讲其他引脚,敬请期待!

使用特权

评论回复
7
有何不可0365| | 2024-7-31 14:54 | 只看该作者
很多应用,集成的ADC也都能够胜任了。

使用特权

评论回复
8
yangjiaxu| | 2024-7-31 16:25 | 只看该作者
什么时候都可以用,主要是看你程序的大小,对程序的要求如何,还有就是电路的设计,ADC的精度等等

使用特权

评论回复
9
亚瑟| | 2024-7-31 21:34 | 只看该作者
集成的可以用在精度不高的地方

使用特权

评论回复
10
呐咯密密| | 2024-9-19 15:31 | 只看该作者
片内的省事,也省钱,但是外置的精准度更高

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

549

主题

2383

帖子

4

粉丝