0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32处理器A/D转换输入电阻与采样时间的分析

CHANBAEK 来源:头条号物联网全栈开发 作者:头条号物联网全栈 2023-03-23 11:23 次阅读

当经过运算放大器隔离之后的信号输入到STM32处理器模拟输入口时,

我们需要串联一个电阻,根据规格书的A/D转换电路框图所示,

pYYBAGQbxO-AGiSCAAE0u2Ukfck330.png

图1.A/D转换电路框图闪

图中RAIN为外部输入电阻,最大值为50KΩ;

RADC为内部采样开关电阻,最大值为1KΩ;

CADC为内部采样和保持电容,最大值为8pF.

poYBAGQbxRKARsN8AALMexrG-7E058.png

图2.ADC特性参数

而外部输入电阻的取值与采样时间、采样保持电容有关,如下图:

pYYBAGQbxSKAObTbAAJLGm6N1x0743.png

图3. 外部电容最大取值与采样时间关系

这些取值背后有什么深层的逻辑,外部输入电阻RAIN起到什么作用,应当如何取值?

外部输入电阻的作用

一、限流作用

根据图1所示的框图,处理器的模拟输入口内置了上、下拉的保护二极管

我们所说的输入口阻抗高,是指输入电压在VSS以及VDDA之间时的一种情况。

有些人不求甚解,了解到这一特性,就盲目把外部输入电压或者运放输出的电压不经过任何电阻,直接连接至输入端口

殊不知,这样会导致严重的后果,当输入电压超过处理器模拟电路电源VDDA与二极管导通电压之和时,内部的上拉二极管导通,假设输入电压为Vin, 外部输入电阻为Rin,

此时流过IO口的电流为:

poYBAGQbxhSAZR67AAAfNBZ4n6Q909.jpg

当没有串联限流电阻时,Rin=0,此时流过IO的电流非常大。

会造成IO口的损坏,甚至导致VDDA的电源无法稳压,其输出电压被抬升,造成由其供电的其它器件损坏。

当电压低于0减去二极管导通电压时,下拉二极管可能出现同样的情况。

这种超出输入范围的电压,可能是外界的干扰导致,还有一种可能是用于调整信号的运放跟处理器的VDDA不是由同一个电源供电,而是有不同的上下电顺序。

比如运放先于VDDA供电,此时运放可能输出高电压,而VDDA还没有电压,运放输出通过内部二极管流入VDDA,出现上述分析的情况。

在规格书的最大规格参数中提到,输入到模拟输入口这些非5V兼容的端口的电压不能超过4.0V,另外还有注释说明,在任何情况下,端口的注入电流不得高于5mA,总的注入电流不得高于25mA。

pYYBAGQbxTiAXaVoAAN2dHl1dC8901.png

IO口注入电流要求

根据这一要求,考虑当外部输入电压通过12V的TVS管最高钳位至19V。

则外部输入电阻

pYYBAGQbyAuAJ_UfAAAnXMfzSm4524.png

二、低通滤波

电阻和电容可以组成一阶滤波器,如下图所示在A/D输入端口加上电阻、电容组成的低通滤波电路,并将电容和电阻靠近端口放置。

可以有效滤除输入信号的干扰,包括运放输出的干扰以及从运放到端口的导线从空间耦合的干扰。

pYYBAGQbxUuAb9GYAAPlhzGOmps702.png

图4.R3、C6组成的低通滤波网络

我们知道,R、C低通滤波网络的-6dB截止频率为:

pYYBAGQbxhWAK_jZAAAQ7aK4KZU717.jpg

截止频率由R、C的乘积决定,当C固定时,R越小,截止频率越高,对高频干扰的过波效果越差。

因此,需要根据有效信号,选择合适的电阻R以达到最佳的滤波效果。

电阻越大越好?

从输入限流的角度来看,输入电容越大越好。

但是我们还需要考虑对A/D转换的影响。

A/D转换器的每一个通道都有模拟开关,分为以下步骤完成一次转换:

1)选通模拟开关,此时外部电压通过外部输入电阻以及模拟开关的电阻向采样保持电容充电(输入端口与地之间没有并联电容);

2) 选通一段时间后,断开模拟开关,由于采样保持电容两端的电压不能突变,所以电容能保持输入电压;

3) 转换器对采样保持电容上的电压与参考电压进行逐次比较,将模拟量转为数字量。

在STM32处理器中,模拟开关的选通时间可以通过寄存器设置,如下图:

pYYBAGQbxV-AOMLeAALUJijO-lw965.png

图5.采样时间的设置

当图4的电路中,当不存在C6时,在步骤1的采样内,其等效电路为:

poYBAGQbxW2AYHQ8AABqIg6q0zA113.png

图6.充电电路

此时,VADC的充电方程表示为:

pYYBAGQbyCSAdBlBAAAndOhQWf0542.png

在步骤1结束时,时间t=ts,得到采样保存电容上的电压为:

poYBAGQbxhaAdPY2AAAoskA_J38636.jpg

其与输入电压VIN的误差值为:

poYBAGQbxheAYisPAAAcK0fnIR8185.jpg

对应的A/D值为:

pYYBAGQbxheAVvAmAAAvNg7lgsQ995.jpg

式中N为A/D转换器的位数,

ADC的分辨率为1/2LSB,误差必须比分率更小,考虑小于1/4LSB,得到:

poYBAGQbxhiAAWo2AAA0VHPpQyo530.jpg

当VIN=VDDA时,所产生的误差最大,所以有:

pYYBAGQbxhiAPUhDAAAhTRi4MCk010.jpg

化简得到:

poYBAGQbxhmASfTjAAAtmqZ5KPs637.jpg

而ts=Ts*1/fADC,最终得到:

poYBAGQbyDmACNg0AAA1lb8mIAY807.png

在前几天分享的代码中,fADC=14MHz, Ts=28.5cycles ,N=12,则可以算出:

RIN< 25.2kΩ。

另外还需要考虑到端口的输入漏电流对A/D采样精度的影响;

从图1中可以看到漏电流为1uA,等效于下拉3MΩ的漏电阻。

简单估算为了达到0.1%的精度,

pYYBAGQbxhqAQ-vXAAAjIAjgONk115.jpg

RIN+RADC<3kΩ, RIN<2kΩ。

总结

当输入电压超过端口允许电压范围时,流过端口电流必须小于5mA,要求电阻必须大于5kΩ。

为了滤除高频干扰,在输入端增加R、C低通滤波网络,电阻R的阻值应尽量大,以增强滤波效果,但是需要根据有效信号的频率选择合适的R、C。

为了在采样时间内,采样保持电容上的电压与实际输入电压的误差可以被忽略,由采样保持时间,采样频率,ADC的位数计算出最大输入电阻阻值。

为了降低ADC转换器的漏电流对测量精度的影响,根据精度要求估算出最大输出电阻。

在ADC输入口并联电容,可以再实现一级ADC的充放电的缓冲,使得外部输入电阻增大的情况下,采样保持电容由并联电容充电,仍然可以满足分辨率要求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18283

    浏览量

    222166
  • 运算放大器
    +关注

    关注

    211

    文章

    3985

    浏览量

    170675
  • STM32
    +关注

    关注

    2239

    文章

    10672

    浏览量

    348770
  • 采样时间
    +关注

    关注

    0

    文章

    3

    浏览量

    5776
  • 输入电阻
    +关注

    关注

    0

    文章

    35

    浏览量

    8114
收藏 人收藏

    评论

    相关推荐

    基于Cortex-A8处理器的嵌入式wince工控机

    本帖最后由 wqlcd_911 于 2012-4-6 17:09 编辑 ARM Cortex-A8处理器是第一款基于ARMv7架构的应用处理器,并且是有史以来ARM开发的性能最高、最具功率
    发表于 04-06 17:08

    Cortex-A9处理器的精妙应用

    `Cortex-A9处理器属于ARM公司的Cortex系列,是ARM公司既ARM11后推出的最新系列,在Cortex三大系列A、R、M中属于A系列,“
    发表于 11-03 17:02

    SEP3203处理器的FPGA数据通信接口设计

    流水线操作。1系统的总体设计[1-2]系统硬件主要由信号采集模块、FIFO、FPGA和SEP3203处理器组成。信号采集模块主要包括信号接收AD
    发表于 12-05 10:13

    SEP3203处理器实现FPGA数据通信接口设计

    FPGA处理数据的时间,所以整个系统实现了流水线操作。1 系统的总体设计系统硬件主要由信号采集模块、FIFO、FPGA和SEP3203处理器组成。信号采集模块主要包括信号接收
    发表于 04-26 07:00

    32位处理器的开发与8位处理器的开发有哪些明显的不同?

    32位处理器的开发与8位处理器的开发有哪些明显的不同?开发一个32位的嵌入式系统需要哪些工具和环境呢?32位嵌入式系统的开发过程中存在哪些技术难点?有什么方法去应对呢?
    发表于 04-19 08:11

    Cortex-M3处理器是什么

    STM32单片机STM32的核心Cortex-M3处理器是一个标准化的微控制结构,希望思考一下,何为标准化?简言之,Cortex-M3处理器
    发表于 07-16 06:33

    Cortex-M4处理器采用的架构是什么

    STM32测试试题本试题默认以STM32F407ZE作为考试内容一、选择题(50分,每题1分)1.Cortex-M4处理器采用的架构是(D
    发表于 08-02 10:41

    Cortex™-M3处理器

    2.1STM32F103xx增强型LQFP48引脚分布2.2 STM32F103xx概述2.2.1ARM®的Cortex™-M3核心并内嵌闪存和SRAMARM的Cortex™-M3处理器是最新一代
    发表于 08-11 07:03

    MSM8940处理器有哪些特点

    MSM8940处理器是什么?MSM8940处理器有哪些特点?
    发表于 11-09 07:09

    STM32处理器的启动方式是什么?

    STM32处理器的启动方式是什么?
    发表于 11-29 07:48

    双内核Cortex-A9处理器设计实现

    类别:嵌入式系统处理器知识产权许可商ARMHoldingsplc已经成功开发出双内核Cortex-A9处理器设计(被称为Osprey)的两个实现。Cortex-A9
    发表于 12-13 06:03

    A4处理器是如何去定义的

    A4处理器 (A4 Processor)A4 Processor, designed by Apple Inc. on 27th January 2010 is billed
    发表于 01-25 07:26

    RK3399处理器与AR9201处理器有哪些不同之处呢

    RK3399处理器与AR9201处理器有哪些不同之处呢?hi3559A处理器与RV1126处理器有哪些不同之处呢?
    发表于 02-21 07:29

    Sitara AM62处理器的资料分享

    和预测性维护),有助于赋予HMI全新的意义,而不是仅限于实现人机交互的界面。AM62处理器能够以低功耗实现边缘器件的分析功能(挂起状态功耗低至7mW且无需特殊考虑散热设计),支持工程师灵活地在尺寸受限
    发表于 11-03 06:11

    D-2700和D-1700处理器产品资料

    IntelXeon@D-2700和D-1700处理器为云、边缘和5G网络提供突破性的、密度优化的性能、可扩展性和价值。intel Xeon D集成了以太网和加速
    发表于 08-04 07:07