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

    文章

    19191

    浏览量

    229311
  • 运算放大器
    +关注

    关注

    215

    文章

    4904

    浏览量

    172655
  • STM32
    +关注

    关注

    2266

    文章

    10880

    浏览量

    355080
  • 采样时间
    +关注

    关注

    0

    文章

    3

    浏览量

    5784
  • 输入电阻
    +关注

    关注

    0

    文章

    43

    浏览量

    8174
收藏 人收藏

    评论

    相关推荐

    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

    Cortex-M3处理器是什么

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

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

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

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

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

    苹果a6处理器怎么样_a6处理器参数

    苹果正式发布iphone5,iphone5采用A6处理器,那么A6处理器怎么样?a6处理器参数是
    发表于 09-13 14:29 2.6w次阅读

    Cortex-A9处理器系列

    Cortex-A9处理器系列,有需要的朋友下来看看。
    发表于 01-22 13:57 28次下载

    基于STM32处理器的μC_OS_移植

    基于STM32处理器的μC_OS_移植
    发表于 09-25 11:18 6次下载
    基于<b class='flag-5'>STM32</b><b class='flag-5'>处理器</b>的μC_OS_移植

    cortex-a9是什么处理器_cortex-a9处理器介绍

    本文首先介绍了cortex-a9是什么处理器,其次介绍了cortex-a9处理器的单核与多核,最后阐述了cortex-a9
    发表于 04-18 16:41 2.6w次阅读

    分析Cortex-A7处理器与Cortex-A15处理器各自的优势及区别

    Cortex处理器一直都是很受欢迎的,许多用户也喜欢将其以往的产品进行比较,Cortex-A7与Cortex-A15之间的优势与区别也是大家热衷讨论的,那么下面则为大家进行对Cortex-A
    发表于 10-31 10:23 6783次阅读
    <b class='flag-5'>分析</b>Cortex-<b class='flag-5'>A</b>7<b class='flag-5'>处理器</b>与Cortex-<b class='flag-5'>A</b>15<b class='flag-5'>处理器</b>各自的优势及区别

    A14处理器性能已超酷睿i9处理器,意味着ARM超越Intel吗?

    苹果最新发布的A14处理器性能比去年的A13提升了16%,而去年的A13处理器已与Intel的顶级PC
    的头像 发表于 10-21 10:48 7658次阅读
    <b class='flag-5'>A</b>14<b class='flag-5'>处理器</b>性能已超酷睿i9<b class='flag-5'>处理器</b>,意味着ARM超越Intel吗?

    A14处理器的性能超过酷睿i9处理器,ARM胜出一筹

    苹果最新发布的A14处理器性能比去年的A13提升了16%,而去年的A13处理器已与Intel的顶级PC
    发表于 10-21 15:07 2862次阅读
    <b class='flag-5'>A</b>14<b class='flag-5'>处理器</b>的性能超过酷睿i9<b class='flag-5'>处理器</b>,ARM胜出一筹

    STM32处理器上的示例

    STM32处理器上的示例
    发表于 03-23 10:09 15次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>处理器</b>上的示例

    基于MDK的STM32处理器开发应用.zip

    基于MDK的STM32处理器开发应用
    发表于 12-30 09:21 5次下载