ADC的相关知识整理

    最近发生了多起电子表退货的事件,拿回来之后发现是电池没电了,从购买日期算起,已经多数使用超过一年了,符合产品标准。但是由于当初硬件同学定下的最低电压数值太低了,导致在没有达到这个电压的时候就带不动了。这里调整电压后,领导让整理一下ad相关的知识,做个ppt。我这个做软件的电路文盲,为了整理这些东西,查询了数十篇网上的教程,然后翻阅了包括电子表、体温计和智能日历的PCB原理图以及对应平台的datasheet,前后请教了包括我牛逼上天的亲哥、我们牛逼上天的硬件总监以及Nordic的工程师好友。搞出来之后,成就感满满~ 后边发给硬件总监请他指正,这位大爷看完后一脸平静的看着我说,这个都是很基础的东西...好吧,我怎么没有学点电子物理呢阿西吧继续努力吧...好在我这个也不是拿来指导硬件的同学们的,主要还是给我自己以及软件开发参考用。

ADC是什么?

  • ADC将模拟信号转变为数字信号的电子元件,通常是将一个输入电压信号转换为一个输出的数字信号。
  • 模拟信号:某一个区间内连续的物理信号,比如电压会每时每刻都存在且不停的变化;
  • 数字信号:某一个区间内有限个数的抽象数值记录,比如每隔1秒钟一个电压数值;
 

采样率和分辨率   

  • 采样:在模拟信号上间隔某个固定的时间采集瞬时值,得到一系列的离散值。采样越密集,得到的离散数据集越贴近实际信号。采样率表示采样的频率;
  • 分辨率:输入电压对应分辨率的位数,分辨率=测量电压范围/(2^resolution-1)。 比如逐次逼近型的ADC,8位分辨率下,能够将刻度逐次等分8次,每次将精确度提高一倍。假设最大输入电压为3.3V,那么能够分辨的最小电压变化为3.3V/255= 12.94mV.

 

 采样方式

  • 单通道:单个端口采集对GND的电压,受到输入电压的干扰,如果输入电压波动很剧烈,误差会很大(蜂鸟Pro等);
  • 差分方式:使用两个端口采集,可以一定程度上排除干扰(需要电路上做支持);

采样原理

  •     ADC有多种不同的设计原理和构造方式,一般嵌入式芯片集成的都是逐次逼近型ADC
  •     逐次逼近:类似于软件上的二分,通过N个并联的比较电路逐次比较大小,来确定输入电压的范围,每次将数值范围在当前分辨率内减小二分之一,比较电路的数量决定了分辨率(2^N-1)。

基础电路知识

  • 分压:
  • 通过串联电阻进行分压,串联的电阻分得的电压和阻值成正比。
  • 通过串联电容进行分压,串联的电容分得的电压和容值成反比;
  • 不论是电阻还是电容,接通的时候都会导致整个电路电流增大,从而出现压降;

 选择合适的参数

  • 判断是否存在差分电路,如没有则是单端采集模式;
  • 判断ADC采集端口的输入范围,比如3.3V
  • 基于参考电压的增益:比如DA14585内部基准是1.2V,则需要至少3倍增益才能达到3.3V以上的量程;

理解电路逻辑:产品A

v_BAT=(1M+220K)/220K*v_AD

 

理解电路逻辑:产品B

v_BAT=vref_adc_value∗3000/4095;

v_BAT =v_BAT*2;

 

理解电路逻辑:产品C

R_NTC=adc_ntc∗R_REF/(2∗adc_30k-adc_ntc);

 

结合实际需求:产品D 

  • 超低功耗,长时间持续运行
  • 电压一定的时间内变化较小,每隔5分钟测量一次,并取6次的均值;

结合实际需求:产品C 

  • 高精度
  • 采集:每隔100ms执行一次测量,每次测量重复64次;
  • 过滤:数据排序后,抛掉前后各30个,取4个中位数的均值,得到这次采集的结果;
  • 去抖动:每秒钟会得到10个处理过后的数值,经过平均后显示到屏幕上(相当于每秒钟执行了6400*2次才得到一个数值);
  • 进一步提高精度的思考
  • 修改电路,同步修改算法,将单端采集改为差分的模式,NTC一路,30K一路。由于差分是直接计算PN端口的压差的,会直接消除电压波动带来的误差;

低电量阈值设定方法 (硬件同学贡献)

  • 列出电路中各个元器件的最低工作电压,和最大工作电流。保证最大工作电流的情况下,电池电压不能低于元器件的最低工作电压
  • 电子表:2.3V作为设备的最低截至电压,5mA作为电池放电电流。
  • eink屏幕-2.3V            <1mA
  • 蓝牙-2.0V                     5mA
  • FLASH-1.8V                  5mA
  • MCU ADC测量               1mA
  • 将放电曲线根据放电时间,分成10等份,每一份代表10%的电量
  • 将一颗新电池依次放电到100%90%80%....  10%, 使用MCUADC测量不同阶段时的电压,作为不同电量阶段的电压阈值

 

 

附:逐次逼近型ADC内部工作原理 

来源:知乎用户 yinweitaiaini ,文章标题:ADC原理简述。原始地址:https://zhuanlan.zhihu.com/p/67245022

 

 

 

 

  • 27
    点赞
  • 291
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值