有一位客户想知道,增益校准寄存器如何影响AD7730的转换结果。他想得到计算公式。
在单极性模式下,关系式为
数据 = [(0.75 × VIN × Gain/VREF) × (2**23) – (Offset_Reg – 0x800000)] × Full_Scale_Reg/0x400000 × 2
在双极性模式下,关系式为
数据 = [(0.75 × VIN × PGA_Gain/VREF) × (2**23) – (Offset_Reg – 0x800000)] × Full_Scale_Reg/0x400000 + 0x800000
其中
数据 = 数字转换结果
VIN = 施加的模拟输入电压
增益 = PGA增益设置
VREF = 基准电压
Offset_Reg = 失调寄存器所含的值
Full_Scale_Reg = 满量程寄存器所含的值
Offset_Reg标称值为0x800000,
Full_Scale_Reg标称值为0x555555。
由于工艺容差,值0.75因器件
而略有不同。
假设存在标称满量程系数,则失调寄存器的1 LSB约合数据寄存器的1.3 LSB。确切的值因器件而略有不同,而且如果满量程寄存器系数发生变化,该比值也会改变。
确切的值可以通过将满量程寄存器的值除以0x400000来获得。对于0x555555的标称满量程系数,该值约为1.33。然而,如果用户更改了满量程寄存器,则比值也会改变。之所以如此,是因为失调消除是在增益缩放之前,当ADC调整转换器输出时执行的。
可以将满量程寄存器视为乘法系数,其值等于(满量程系数/0x400000)。由于缩放是在消除失调后执行的,因此失调寄存器LSB的相对权重与数据寄存器LSB不同。
对于增益缩放,标称值之所以为1.3,是因为在ADC转换过程中,输入信号衰减3/4。因此,需要放大4/3以对此进行数字补偿。(这对用户一般是透明的;只有调整校准值时,这才会变得显而易见。)
信号流可以视为
[输入信号] -> [PGA] -> [衰减0.75] -> [ADC转换] -> [减去失调] -> [放大FS/0x400000] -> [数据寄存器]
如果在ADC的系统零电平校准模式下,将系统的零电平点作为输入电压施加来执行系统失调校准,则不需要考虑此放大系数,因为ADC校准程序会将正确的值写入失调寄存器。只有在利用常规转换(即将结果写入数据寄存器)执行校准时,才需要乘以放大系数,然后写入失调寄存器。
对于满量程系数或满量程校准,它是一个简单的放大系数。因此,若要将ADC的增益提高10%,需将满量程系数提高10%。