ADC码值转化过程

(AD7768-1为例)

1、ADC 理想传递函数

AD7768-1 可以使用高达 5V 的参考电压并转换模拟输入之间的差分电压 (AIN+ 和 AIN−) 到数字输出。模拟输入可以配置为以下任意一种:差分或伪差分输入。作为伪差分输入时,AIN+ 或 AIN- 可以连接到一个常数输入电压 (如 0V、AVSS 或其他参考电压),ADC 转换模拟量之间的电压差,使用共模 (AVDD1−AVSS)/2 可以最大限度地提高 ADC 输入范围。下图 (图2) 显示了 AD7768-1 的理想传递函数,值得注意的是目前绝大多数 ADC 在输出码值的时候是以二进制补码 (twos complement format) 的形式输出的,AD7768-1 也是如此。
在这里插入图片描述

2、二进制补码

二进制补码 (twos complement format) 是一种常用的二进制数表示方法,它主要用来表示负数的大小。在二进制补码中,正数的表示方法和普通的二进制数表示方法没有任何区别,但是负数的表示方法是通过将它的绝对值的二进制数取反 (即将每一位的 0 变为 1,1 变为 0),再加 1 得到的。假设要用二进制补码表示数字 -5,则首先需要将 5 的二进制数 101 取反得到 010,再加 1 得到 011,即 011 就是 -5 的二进制补码。

基于以上信息,根据下图 (图3) 我们可以得出 ADC 输出的码值和理想输入电压的对应关系;其中 -FS 是可以输入的最低电压,因为是一个负值,MSB 位取 1,所以得到 800000,正常来讲的话这个值应该是最小的,FS 是可以输入的最高电压,应该对应 0XFFFFFF。Midscale 对于 24 分辨率 ADC 来说的话,应该取 2 的 23 次方,也就是 8388608 (0X800000) 这个值。
在这里插入图片描述

3、根据 ADC 输出码值求输入电压

下图为求输入电压的计算公式,需要注意的是,部分工程师通过 ADC 读出来的 CODE 是直接二进制码值,那么此时 Midscale Code 需要对应转换为直接二进制的码值 0X800000 (对应十进制的 8388608),否则就会发现只有前端输入正电压是正确的,负电压就会报错了。
在这里插入图片描述

4、总结

本文以 AD7768-1 为例介绍了通用 ADC 进行编码过程,以及根据输出码值反推出实际 ADC 输入的电压。但需要注意,目前绝大多数 ADC 都是按照二级制补码方式输出编码值,这是为了方便计算机对符号和数值的统一运算而不需要增加额外的硬件电路,一定要和 ADC 输出的原码区分开。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值