二十一、ADC原理介绍
1. ADC基础知识
1.1. 什么是ADC
ADC是一种用于将模拟信号转换为数字信号的模拟数字转换器。我们知道,模拟信号是连续的,其取值可以在一定范围内任意变化。而数字信号则是离散的,仅能取有限的值。ADC的工作原理是将模拟信号通过采样转换为离散的数字信号,然后再通过量化、编码等处理,最终得到对应的数字表示。ADC采样的频率越高,得到的数字信号就越接近原来的模拟信号,也就是保真度越高,但是需要更多的资源和计算功耗。
1.2. GD32的ADC介绍
GD32F4采用的是逐次逼近型的12位ADC,它有 19 个多路复用通道可以转换。19个通道来自 16 个外部通道、2个内部通道和一个电池电压(VBAT)通道的模拟信号。其中16个外部通道是通过GPIO复用得来,2个内部通道分别是内部温度传感器和内部参考电压。而电池电压VBAT是需要将电压接入芯片的VBAT引脚才可采集。16个外部通道,都对应单片机的某个引脚,这个引脚不是固定的,可以是一个通道一个引脚,也可以是一个通道两个引脚。
各种通道的 A/D 转换可以配置成单次、连续、扫描或间断转换模式。
单次转换模式:每次进行一次ADC转换后,ADC会自动停止,并将结果存储在ADC数据寄存器中。
连续转换模式:当ADC完成一次转换后,它会自动启动另一次转换,持续的进行转换,直到外部触发或者软件触发的方式停止连续转换。
扫描模式:用于对多个输入通道进行依次转换。在扫描模式下,ADC会根据配置的通道采集顺序,对多个通道进行依次采样并转换。
间断模式:用于对注入通道和常规通道之间进行切换。在间断模式下,ADC会优先转换注入通道,当注入转换完成后,自动切换到常规通道进行转换。
ADC 转换的结果最终可以按照左对齐或右对齐的方式存储在16位数据寄存器中。本章节使用的是扫描模式,实现单个通道单次采集。通过设置不同的采集通道,可以实现多个通道,依次单次采集。
1.3. ADC基本参数
分辨率:表示ADC转换器的输出精度,通常以位数(bit)表示,比如8位、10位、12位等,位数越高,精度越高。
采样率:表示ADC对模拟输入信号进行采样的速率,通常以每秒采样次数(samples per second,SPS)表示,也称为转换速率,表示ADC能够进行多少次模拟到数字的转换。
采样范围:指ADC可以采集到的模拟输入信号的电压范围,范围见下:
其中V(REF- )为负参考电压等于 V(SSA )等于地0V,V(REF+ )为正参考电压等于V(DDA),而V(DDA)立创梁山派天空星上接入的是3.3V 。
1.4. 基本原理
GD32F4采用的是逐次逼近型的12位ADC,逐次逼近型ADC是一种常见的ADC工作原理,它的思想是通过比较模拟信号与参考电压之间的大小关系来逐步逼近输入信号的数字表示。在逐次逼近型ADC中,输入信号和参考电压被加入一个差分放大器中,产生一个差分电压。然后,这个差分电压被输入到一个逐步逼近的数字量化器中,该量化器以逐步递减的方式将其与一系列参考电压进行比较。具体来说,在每个逼近阶段,量化器将输入信号与一个中间电压点进行比较,将该电压点上方或下方的参考电压作为下一个逼近阶段的参考电压。这个过程一直持续到量化器逼近到最终的数字输出值为止。
2. ADC优点
- 数字信号具有良好的抗干扰性。数字信号是由一系列离散的数字表示,因此可以抵抗模拟信号受到的各种干扰,如噪声、漂移等。
- 方便数字信号的存储、处理和传输。由于数字信号是离散的,因此它们可以轻松存储在计算机内存或其他数字设备中,方便进行处理和传输。
- 具有可编程性。现代的ADC出现了很多可编程的功能,例如可编程增益、采样率和滤波器等,可以根据不同的应用场景进行优化。
- 适用性广泛。ADC被广泛应用于工业、通信、医疗、电子测量、音频、视频等领域,可转换各种不同类型的模拟信号,包括电压、电流、声音、光信号等。
3. ADC应用
ADC的应用非常广泛。例如,我们可以用ADC将传感器的模拟信号转换为数字信号,然后通过计算机进行处理和分析;ADC在音频处理中也起着重要的作用,将模拟声音信号转换为数字信号,并接下来进行数字信号处理;无线电通信中的信号调制也需要使用ADC等。总的来说,ADC在现代电子工程中非常重要,是数字信号处理和控制技术的关键部分。
4. ADC实验
以光敏电阻传感器作为实验案例。通过ADC采集其电压变化,实现判断周围环境的亮暗情况。
4.1. 实验介绍
光敏电阻是一种特殊的电阻器,它随着光照强度的升高,电阻值会迅速降低,其在无光照时,几乎呈高阻状态,因此暗时电阻很大。
原理图中的U2.1是一个电压比较器。当电压比较器的2脚电压大于3脚电压时,1脚输出低电平;当电压比较器的2脚电压小于3脚电压时,1脚输出高电平;R3为光敏电阻,当光敏电阻周围环境很亮时,其阻值会变小,AO的电压也会变小;当光敏电阻周围环境很暗时,其阻值会变大,AO的电压也会变大;
因此我们将AO接入我们的ADC接口,采集测量AO的电压变化,则可以知道周围环境的光照强度。