您好,
例如,如果外部传感器将0A电流转换为-0.1V,将100A电流转换为2.0V,则偏移-0.1V无法通过 ADCPPBxOFFCAL补偿, 我们必须对外部电路进行一些修改,将输入电压提升到正电压,然后将其连接到ADC输入引脚(因为该引脚不能接受负电压),然后ADC输出始终为正,因此 ADCPPBxOFFCAL应该始终为正,对吗?
但 ADCPPBxOFFCAL可以设置为负值,何时将其设置为负值?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,
例如,如果外部传感器将0A电流转换为-0.1V,将100A电流转换为2.0V,则偏移-0.1V无法通过 ADCPPBxOFFCAL补偿, 我们必须对外部电路进行一些修改,将输入电压提升到正电压,然后将其连接到ADC输入引脚(因为该引脚不能接受负电压),然后ADC输出始终为正,因此 ADCPPBxOFFCAL应该始终为正,对吗?
但 ADCPPBxOFFCAL可以设置为负值,何时将其设置为负值?
您好,Howard:
假设外部通道的真正偏移误差为+10mV:
因此,您需要使用PPB对信号进行数字修正。 如果VREFHI为2.5V,则您需要应用(-1)*(10mV/2.5V)*4096 =-16个数字校正计数。
如果将此值写入关联PPB通道的OFFCAL寄存器,则会出现以下行为:
总的来说,补偿适用于ADC范围内的所有代码,但ADC范围已缩小。
您可以使用OFFREF寄存器代替使用OFFCAL寄存器。 这不会饱和,并会产生负输出。 输出转至PPB结果而不是ADC结果。 在这种情况下:
选择使用哪种信号取决于信号是否接近导轨并可能饱和。 如果不是,则可能使用OFFCAL校准,因为常规ADC寄存器中的结果比PPB结果早1个周期可用。 如果是,则使用OFFREF可能是更好的选择,因为ADC范围丢失的较少(但下游算法需要能够处理负输入值)。
谢谢你。 解释是绝对清楚的。
1.只有一件事需要确认。 ADCRESULTy=ADC输出- ADCPPBxOFFCAL,因此在您的示例中,OFFCAL应该设置为16,而不是-16,对吗?
2.此外,ADCPPBxRESULT = ADCPPBxOFFREF - ADCRESULTy, NOT ADCRESULTy - ADCPPBxOFFREF,正确吗? 因此,如果我设置 了ADCPPBxOFFREF=0, ADCPPBxRESULT将是“- ADCRESULTy”,而不 是ADCRESULTy。
但在技术参考手册OFFREF。9.2 部分,它说“将0写入9.1 寄存器有效地禁用了错误计算功能,将ADCRESULT值传递到ADCPPBxRESULT寄存器,而不更改。”
我只想确保下面的技术参考手册是正确的。