登录/注册

stc单片机ad精度计算

更多

理解STC单片机ADC精度计算对于获得准确的模拟信号测量至关重要。以下是关键概念和计算方法的详细说明(使用中文):

核心概念区分

  1. 分辨率:

    • 这是ADC理论上能区分的最小电压变化。
    • 由ADC的位数决定(常见的STC ADC有8位、10位、12位)。
    • 计算公式: 分辨率 = Vref / (2^N - 1)
      • Vref: ADC的参考电压(伏特, V)。对于很多STC单片机,Vref 可以是 Vcc(电源电压,如5V或3.3V)或内部参考电压(如1.28V, 2.5V, 有些型号支持外部参考电压输入)。
      • N: ADC的位数。
      • 2^N: 表示ADC可以输出的最大数字值(最大值 = 2^N - 1)。
    • 举例 (12位 ADC, Vref = 5.0V):
      • 分辨率 = 5.0V / (4096 - 1) ≈ 5.0V / 4095 ≈ 0.001221V ≈ 1.221mV
      • 这意味着理想情况下,输入电压每变化大约1.221mV,ADC的输出数字值理论上会变化1个LSB。
  2. 精度:

    • 这是ADC实际测量值与真实输入电压值之间的最大偏差。它表示测量的准确程度
    • 精度通常远低于分辨率!分辨率告诉你尺子上的最小刻度(多细),精度告诉你用这把尺子测量的结果离真实长度差多远。
    • 精度受多种误差因素影响,需要用这些误差项来计算总精度。

影响ADC精度的主要误差源 (STC及通用ADC)

  1. 偏移误差: 当输入电压为0V(或规定的最小值)时,ADC输出不为0(或最小值对应的数字码)。表现为整个转换曲线在垂直方向上的平移。
  2. 增益误差: ADC转换曲线的实际斜率与理想斜率(满量程输入对应满量程输出)之间的偏差。表现为转换曲线在斜率上的差异。
  3. 积分非线性误差: ADC实际转换曲线偏离理想直线的最大偏差(通常以LSB为单位)。它衡量的是转换点的不均匀性。INL通常是最主要的静态误差源。
  4. 微分非线性误差: 相邻两个输入电平对应的实际输出码宽度(步长)与理想步长(1 LSB)之间的最大偏差。DNL > 1 LSB 会导致丢码(某个数字输出码永远不会出现)。
  5. 量化误差: 由ADC的离散特性决定的固有误差,理论最大值为 ±½ LSB。这是任何ADC都无法避免的。
  6. 参考电压误差:
    • 精度/稳定性: Vref本身的精度(初始精度)和稳定性(随温度、时间、负载的变化)。如果Vref不准或波动,整个转换结果都会不准或波动。这是STC单片机(尤其是使用Vcc作参考时)精度的重要限制因素。
    • 噪声: Vref上的噪声会直接叠加到输入信号上。
  7. 电源电压噪声/纹波: 当使用Vcc作为Vref或给ADC模拟部分供电时,电源上的噪声会直接影响转换结果。
  8. 模拟输入信号噪声: 被测量信号本身包含的噪声。
  9. 模拟通道串扰: 切换不同ADC通道时,前一个通道的信号可能残留影响当前通道(电荷注入等)。
  10. 温度漂移: 偏移、增益、INLVref等参数会随温度变化。
  11. 时钟抖动: ADC转换时钟的不稳定性(抖动)会影响采样保持和转换过程,特别是在较高转换速率时。

ADC的总精度估算(最坏情况)

一种保守的估算总不可调误差(精度)的方法是绝对值求和法

总精度误差 (LSB) ≈ |偏移误差| + |增益误差| + |INL| + |DNL| + |Vref误差贡献| + ... + 0.5 (量化误差)

更常用的估算方法是平方和根法: 总精度误差 (LSB) ≈ √(偏移误差² + 增益误差² + INL² + DNL² + Vref误差贡献² + ... + (0.5)²)

这种方法在统计上更合理,反映了各项误差独立随机出现的概率。

将总精度误差 (LSB) 转换为电压值

总精度误差 (电压) ≈ 总精度误差 (LSB) * 分辨率 ≈ 总精度误差 (LSB) * (Vref / (2^N - 1))

如何查找误差参数(STC手册)

  1. 查阅数据手册: 在STC单片机对应的数据手册中找到 ADC电气特性 章节。
  2. 寻找关键参数: 通常包含以下典型值(注意单位是LSB还是%):
    • INL (积分非线性误差)
    • DNL (微分非线性误差)
    • Offset Error (偏移误差) / Zero Error (零点误差)
    • Gain Error (增益误差) / Full Scale Error (满量程误差)
    • Vref Tolerance (参考电压容差) / Vref Accuracy (参考电压精度)
      • 特别注意区分内部Vref(如果可用)和使用Vcc时的精度。使用Vcc时,精度通常较差(可能在1%-5%范围)。
    • ADC Supply Voltage Rejection RatioPSRR (电源抑制比) - 衡量对电源噪声的抑制能力。
    • 可能给出在特定条件下的 总不可调误差
  3. 注意测试条件: 参数通常是在特定电源电压、温度、转换速率下给出的(如Vcc=5.0V, Ta=25℃)。实际应用条件不同时,需要考虑漂移。

提高STC单片机ADC精度的实用方法

  1. 使用稳定的基准电压 (Vref):
    • 首选: 如果芯片支持且应用要求高精度,使用外部高精度、低噪声、低温漂的基准电压源(如REF3030, LM4040, TL431等)。
    • 次选: 使用STC内部提供的基准电压(如1.28V, 2.5V),通常比使用Vcc更稳定(但精度可能仍有限,需查手册)。
    • 避免: 尽量避免直接用不稳定的VccVref(如开关电源供电)。如果必须用,确保Vcc非常稳定(LDO稳压)且干净(良好滤波)。
  2. 优化电源:
    • 使用低压差线性稳压器为MCU和模拟电路供电。
    • VccAVcc(如果有独立引脚)及Vref引脚就近放置高质量去耦电容(如0.1μF陶瓷电容 + 1-10μF钽电容/电解电容)。
  3. 模拟输入信号调理:
    • 滤波: 在ADC输入端添加低通RC滤波器,滤除高频噪声和干扰。截止频率根据信号带宽设置。
    • 阻抗匹配: 确保信号源阻抗足够低(远小于ADC输入阻抗),或使用运算放大器缓冲。STC ADC输入阻抗不高(手册会给出典型值,如几十kΩ)。
  4. 良好的PCB布局:
    • 模拟/数字分区: 将模拟电路(ADC输入、Vref、模拟电源)与数字电路(MCU内核、数字I/O、时钟)在物理上和走线上隔离。
    • 避免交叉: 模拟走线与数字走线(尤其是高频时钟线)垂直交叉,避免平行长距离走线。
    • 地平面: 良好的接地策略,可使用独立的模拟地和数字地,并在电源入口处单点连接。
    • 缩短走线: 尽量缩短模拟信号走线和Vref走线。
  5. 软件处理:
    • 多次采样平均: 对同一信号进行多次ADC转换(如16次、32次、64次)然后求平均值,这是减小随机噪声影响最有效的方法。
    • 数字滤波: 对ADC采样序列进行软件滤波(如移动平均、FIR、IIR滤波器)。
    • 软件校准:
      • 零点校准: 在已知输入为零时(如输入接地),读取ADC值AD_ZERO作为零点偏移。
      • 满度校准: 在已知输入为满量程(或接近满量程的精确电压)时,读取ADC值AD_FULL
      • 计算实际值: 实际电压 = (测量值 - AD_ZERO) * (已知满量程电压) / (AD_FULL - AD_ZERO)
    • 休眠模式: 在ADC转换期间,让MCU进入空闲模式或暂时关闭其他高功耗数字外设,减少电源噪声。
  6. 选择合适的工作条件:
    • 在能满足信号带宽要求的前提下,降低ADC转换速率有时能提高精度(减少内部开关噪声影响)。

总结计算步骤(示例:STC12C5A60S2 10位ADC, 使用内部1.28V参考电压)

  1. 确定参数 (查手册):
    • N = 10 (位)
    • Vref = 1.28V (假设)
    • INL = ±2 LSB (手册典型值)
    • DNL = ±1 LSB (手册典型值, 保证无丢码)
    • Offset Error = ±3 LSB (手册典型值)
    • Gain Error = ±2% FSR (手册典型值, FSR=Full Scale Range=1.28V)
      • Gain Error (LSB) = ±2% * (1024 - 1) ≈ ±2% * 1023 ≈ ±20.46 LSB (增益误差通常按满量程百分比给出)
    • Vref Accuracy = ±1% (手册典型值)
      • Vref Error Contribution (LSB) ≈ ±1% * 1023 ≈ ±10.23 LSB
    • 量化误差 = ±0.5 LSB (固有)
    • (假设其他误差忽略不计)
  2. 计算分辨率:
    • 分辨率 = 1.28V / (1024 - 1) ≈ 1.28V / 1023 ≈ 0.001252V ≈ 1.252mV
  3. 估算总精度误差 (平方和根法):
    • 总误差 (LSB) ≈ √[ (3)^2 + (20.46)^2 + (2)^2 + (1)^2 + (10.23)^2 + (0.5)^2 ]
    • ≈ √[ 9 + 418.6116 + 4 + 1 + 104.6529 + 0.25 ]
    • ≈ √[537.5145] ≈ 23.18 LSB
  4. 计算总精度误差 (电压):
    • 总误差 (电压) ≈ 23.18 LSB * 1.252mV/LSB ≈ 29.02mV
  5. 结论(最坏情况估算):
    • 在所述条件下,该ADC的测量结果与真实电压值的最大可能偏差(精度)约为 ±29.02mV (或约 ±2.27% FSR = 29.02mV / 1280mV * 100%)。
    • 重要提示: 这只是基于手册典型值的最坏情况估算。实际精度可能更好(平均情况),也可能受其他未考虑因素影响而变差(如温度、PCB噪声)。软件平均和校准是提高实际测量精度的关键手段。

核心要点: STC单片机ADC的精度不仅仅取决于位数(分辨率),更受限于其内部误差(INL, DNL, 偏移,增益)和参考电压Vref的稳定性。Vref的精度往往是最终测量精度的瓶颈。 仔细阅读手册获取参数,理解各项误差来源,并通过硬件设计(稳定Vref, 良好电源和布局,滤波)和软件处理(多次采样平均,校准)来最大化实际应用的精度。

STC单片机STC8C2K64S4-36I-LQFP44

1970-01-01 08:00:00 至 1970-01-01 08:00:00

stc51单片机怎么烧录

烧录STC51单片机是一项常见的操作,下面将详细介绍如何进行烧录以及所需的步骤和工具。本文将按照如下顺序进行详解: STC51

2024-01-02 17:41:48

5代STC全系列单片机自动编程器免冷启动下载USB转TTL

编程器 5代STC全系列单片机自动编程器免冷启动下载USB转TTL

2023-12-19 10:28:54

可以读取hex文件的stc单片机下载器

可以读取hex文件的stc单片机下载器

资料下载 谭徽爱 2022-01-17 11:52:45

如何学习STC单片机

在当前,电子信息类专业的大中专学生和想掌握产品硬件设计的工程师一般都会采用STC系列单片机作为入门的硬件平台。在学习STC

资料下载 李明 2021-11-14 13:06:00

自动上电STC单片机下载器(开源 )

自动上电STC单片机下载器(开源 )(pic单片机选型)-自动上电STC

资料下载 佚名 2021-07-22 09:53:51

基于STC89C52RC单片机的智能定时开关电源

基于STC89C52RC单片机的智能定时开关电源

资料下载 佚名 2021-05-25 11:50:31

STC系列单片机USB接口原理图下载

STC系列单片机USB接口原理图下载

资料下载 刘国伟 2021-04-15 09:38:51

AT与STC单片机的主要区别

1.常用的51单片机 51单片机即传统的兼容8051指令代码的8位单片机,对于新手来说,刚接触

2023-09-11 10:23:29

宏晶MCU单片机STC8F2K64S4-28I-LQFP44

1970-01-01 08:00:00 至 1970-01-01 08:00:00

stc单片机和51单片机的区别

stc单片机和51单片机的区别,1、stc8a系列

2021-07-14 07:13:37

STC单片机的特性、原理和应用

说到STC单片机有人会说到,STC也能算主流,估计要被喷了~~我们基于它是国内还算是比较不错的

2020-08-19 17:53:20

如何对STC单片机进行免掉电下载

其实STC单片机可以不用免掉电下载,想要知道怎样才能免掉电下载,我们先要了解STC单片

2019-12-27 15:51:13

stc单片机ad转换程序

本文主要阐述了stc单片机ad转换程序及转换心得。

2019-11-04 09:58:01

stc与at单片机的区别

stc与at单片机的区别:下载方式不同,AT中的S51S52系列的下载方式是ISP下载方式,而C51C52与STC都是串口下载方式;

2019-11-04 09:15:30

7天热门专题 换一换
相关标签