单片机学习系列(6):模数转换(ADC)与数模转换(DAC)原理与应用

单片机学习系列(6):模数转换(ADC)与数模转换(DAC)原理与应用

一、模数转换(ADC)概述

  • 作用与意义:在实际应用中,单片机常常需要处理各种模拟信号,比如温度传感器输出的随温度变化的电压信号、光线传感器输出的与光照强度相关的电流信号等。而单片机只能识别和处理数字信号,ADC 就起到了将这些模拟信号转换为数字信号的关键作用,使得单片机可以对外部的模拟世界进行感知和分析,进而做出相应的控制决策。

二、ADC 工作原理

  • 采样:首先对模拟信号进行采样,即在一定的时间间隔内获取模拟信号的瞬时值。这个采样频率需要满足奈奎斯特采样定理,即采样频率至少是模拟信号最高频率成分的 2 倍,这样才能保证采样后的数据可以完整地还原出原始模拟信号(在理想情况下)。例如,对于一个最高频率为 1kHz 的模拟信号,采样频率应不低于 2kHz。
  • 量化:采样得到的模拟值是连续的,而数字信号是离散的,量化就是将采样得到的连续模拟值按照一定的规则划分成离散的等级,每个等级用一个特定的数字代码来表示。比如采用 8 位 ADC,就可以将模拟信号量化为 256(2⁸)个等级。
  • 编码:把量化后的结果用二进制代码等形式进行编码,最终得到可以被单片机识别和处理的数字信号。

三、ADC 相关参数

分辨率

  • 定义:指 ADC 能够分辨的最小模拟输入量变化,通常用数字输出的位数来表示。例如 10 位 ADC 的分辨率为 1/1024(因为 2¹⁰ = 1024),意味着它可以把模拟输入范围等分成 1024 份来进行区分,位数越高,分辨率越高,对模拟信号的分辨能力就越强。
  • 应用影响:在测量精度要求较高的场景中,如高精度的电子秤,需要测量微小的重量变化对应的微弱模拟电压变化,就需要选择高分辨率的 ADC 来保证测量的准确性。

转换时间

  • 定义:从启动 ADC 转换开始到得到稳定的数字输出结果所需要的时间。不同类型、不同速度等级的 ADC 其转换时间不同,快速的 ADC 转换时间可以达到微秒甚至纳秒级,而一些低速 ADC 可能需要几十毫秒甚至更长时间。
  • 应用考虑:在对实时性要求较高的系统中,比如实时监测电机转速变化对应的模拟信号,就需要选用转换时间短的 ADC,以确保能及时获取最新的信号数据进行相应控制。

参考电压

  • 定义:ADC 进行量化时的基准电压,它决定了模拟输入信号的量程范围。比如参考电压为 5V 时,对于 8 位 ADC,其能转换的模拟输入电压范围通常就是 0 - 5V,输入的模拟信号超出这个范围可能导致转换结果不准确或者损坏 ADC 芯片。
  • 应用要点:在连接外部模拟信号源时,要确保信号的电压范围在 ADC 的参考电压范围内,并且根据实际需求合理设置参考电压,以充分利用 ADC 的分辨率和量程。

四、单片机中 ADC 的配置与应用(以 STM32 单片机为例)

通道选择

  • 原理:STM32 单片机通常有多个 ADC 通道,这些通道可以连接不同的外部模拟信号输入引脚。比如 ADC1 的通道 0 可以连接一个温度传感器的输出引脚,通道 1 可以连接光线传感器引脚等,通过配置相应的寄存器来选择要进行转换的通道。
  • 代码示例(简单示意)
// 使能 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值