找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

371

积分

0

好友

45

主题
发表于 2025-12-27 11:20:19 | 查看: 25| 回复: 0

本文以GD32F103为例,深入解析ADC(模数转换器)内部关键参数,如采样开关电阻(Rsh)、采样电容(Csh)、转换时间(Tconv)与采样率(fs),并通过与STM32F103的对比及实例计算,阐明如何配置ADC以实现最优性能,为嵌入式硬件设计提供参考。

ADC内部结构概览

要理解ADC的性能极限,首先需要了解其内部的简化结构。下图展示了一个典型的ADC连接模型,其中包含了关键的内部寄生参数。

图31 使用ADC典型的连接图
ADC典型连接示意图,显示了内部采样开关电阻(RADC)、采样电容(CADC)以及外部信号源的寄生参数。

GD32F103与STM32F103 ADC关键参数对比

不同厂商的MCU,其ADC模块的特性参数存在差异。以下是GD32F103与STM32F103x8芯片的部分ADC特征参数,设计时需以具体型号的数据手册为准。

GD32F103芯片ADC参数表
GD32F103的ADC供电电压、输入电压范围等基本参数。

STM32F103x8芯片ADC特性表
STM32F103x8的ADC特性表,包含更详细的精度与电气参数。

核心参数解读与计算

在硬件设计与软件配置中,以下几个参数至关重要:

  • fs(Sampling rate):采样率,即每秒完成的转换次数。
  • Tconv / fADCCONV(ADC conversion time):完成一次模数转换所需的时间。
  • RADC(Input sampling switch resistance):内部采样开关的导通电阻。
  • CADC(Input sampling capacitance):内部采样电容的容值。

在常见的开发例程(如正点原子)中,配置通常遵循以下步骤:

  1. 设定系统主频(如72MHz)。
  2. 配置ADC时钟分频因子(如6分频)。
  3. 设定通道采样时间(通常为最大值以保证精度,如239.5个周期)。

转换时间计算实例
假设系统时钟为72MHz,ADC分频为6,采样时间设置为1.5个周期:

  • ADCCLK = 72MHz / 6 = 12MHz
  • 单个ADC周期时间 = 1 / 12MHz ≈ 0.0833 µs
  • 总转换时间 TCONV = 采样时间 + 12.5个固定周期 = 1.5 + 12.5 = 14个周期
  • TCONV = 14 * 0.0833 µs ≈ 1.17 µs

因此,在12MHz ADCCLK下,最短采样间隔约为1.17µs。若采样时间设为最大值239.5个周期,则最长转换时间为 (239.5 + 12.5) / 12MHz ≈ 21µs。

转换时间公式:TCONV = 采样时间 + 12.5个周期

计算示例:当ADCCLK=14MHz,采样时间为1.5周期时,TCONV = 1µs

外部输入阻抗限制
外部信号源阻抗(RAIN)会影响采样电容的充电速度,进而引入误差。数据手册提供了保证精度(如误差小于1/4 LSB)下的最大允许外部阻抗表。这要求我们在设计前端电路(如传感器接口、运放输出)时,必须考虑输出阻抗的匹配问题,这种系统级的思维在复杂的嵌入式设计中非常重要。

最大RAIN计算公式及对照表
用于计算最大外部输入阻抗的公式及STM32F103的参考表格,确保采样精度。

利用TI计算工具辅助设计

德州仪器(TI)提供了一款在线的ADC建模工具,其参数模型与ST/GD的ADC类似,可用于快速评估和计算。

TI ADC采样率计算工具界面
输入系统参数,工具可自动计算最小采集时间(tacq)等结果。

ADC误差分析与硬件设计要点

了解ADC的误差来源是进行高精度设计的基础。总误差(ET)包含偏移误差、增益误差等多种因素。

ADC精度参数解读图
实际ADC转换曲线与理想曲线的偏差详解。

ADC精度参数典型值表

在硬件设计上,需特别注意参考电压的稳定性和输入阻抗的匹配。下图展示了STM32的输入阻抗匹配建议。

STM32输入阻抗匹配电路建议
外部电路的等效输入阻抗需与ADC采样速度匹配,高速采样要求更低的外围阻抗。

ADC注入模式的高级应用

对于电机控制等需要多通道同步采样的高级应用,ADC的注入模式非常有用。它允许在一个常规转换序列中,插入高优先级的“注入”转换。

ADC注入模式介绍(1)
注入组与常规组的通道管理方式。

ADC注入模式介绍(2)
注入通道的特性,如独立的偏移寄存器、可编程采样时间。

ADC注入模式介绍(3)
注入转换如何中断并插入到常规转换序列中。

ADC注入模式介绍(4)
在电机矢量控制中实现多相电流同步采样的应用场景。

PWM和ADC同步时序示意图
通过PWM定时器触发ADC注入组,实现精确的同步采样时序。

掌握ADC内部参数与外部电路的匹配,是稳定实现数据采集功能的关键。无论是基础的时钟配置,还是利用注入模式完成复杂控制,都需要开发者深入理解这些底层硬件知识,这与深入理解 网络/系统 原理一样,是构建可靠嵌入式系统的基石。




上一篇:TextCNN文本分类实战:TensorFlow实现与Python教程详解
下一篇:详解C语言数据在内存中的存储与字节序
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-11 14:30 , Processed in 0.314473 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表