TI中文支持网
TI专业的中文技术问题搜集分享网站

ADS127L01: 如何计算读取的值和实际电压的对应关系

Part Number:ADS127L01

ADS127L01是一个24 bit的数模转换器,读取出来的实际的24bit的值如何跟实际的电压对应起来,转换公式是什么?

比如以下是我读取到的数据:

TX | 0x00 0x00 0x00 0x12
RX | 0x56 0x34 0x80 0x20

获取到的数据取低24bit,就是0x34 0x80 0x20,实际值是0x348020,这个值如何转化为实际的输入电压值?

谢谢。

Amy Luo:

您好,

要将输出代码转换为电压,必须首先计算最低有效位或LSB的值。一个LSB代表一个代码的电压权重。换句话说,输入电压必须改变一个LSB大小,以增加/减少ADC输出。ADC的满标度范围(FSR)除以总的代码数可得出LSB值:

LSB = FSR / (2^n – 1), 其中“n”是ADC的分辨率。

在ADS127L01 中,每个ADC的差分输入电压可以在-VREF到+VREF之间,因此满标度范围=2 x VREF。那么,LSB值计算如下截图所示:

接下来,您必须知道ADC的输出数据格式。ADS127L01 以二进制补码输出数据,其中0x7FFFFF表示正满标度,0x800000表示负满标度。如上截图中 table 20中所示。

将输出代码转换回输入电压的最直接的方法是将数据与0x800000进行逻辑“与”计算并测试MSB(最高有效位)。如果MSB等于0,只需将十进制等效值乘以LSB值。如果MSB=1,则必须首先从十进制等效值中减去2^n,然后乘以LSB值。

例如,使用VREF=2.5 V,N=24bit,,我们可以计算LSB大小为298 nV。输出代码0x147AE1对应于+400 mV的输入电压。同时,输出代码0xD70A3D对应于-800mV的输入电压。

如果输出代码是0x348020,那么就是1.025V。

注意我这里计算都四舍五入了,取的都是整数,计算时您可以保留更多位小数位以提高计算精度。

赞(0)
未经允许不得转载:TI中文支持网 » ADS127L01: 如何计算读取的值和实际电压的对应关系
分享到: 更多 (0)