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