Post Go back to editing


1. Please help me understand the purpose of VZERO and what I need to be setting it to for a 3-Lead sensor that requires no bias.

2. If a sensor does require a bias, what is the right way to ensure proper biasing?

3. I noticed in LPDac_Setup() that the condition to short VBIAS to VZERO is only done when Cbias and Czero are equal to one another, the only way for this to happen is when Sensor.mV_bias is equals Actual_Vzero. Is this something I have to pre-plan meet the shorting function requirements (Cbias == Czero)?

void LPDac_Setup(void)
 unsigned int channel = 0;                                                            // Only using Channel 0 
 uint16_t Cbias, Czero; 
 float Actual_Vzero;
                                                                                      // Power up DAC
 LPDacPwrCtrl(CHAN0, PWR_UP);
 Czero = (uint16_t)round((Sensor.VZero - 200) * 63.0/2166 + 0.5);  
 Actual_Vzero = Czero * LSB_Size_6Bit;                                                // As Vzero is 6bit, actual could be 34mV away from expected
 Actual_Vzero = Actual_Vzero * 1000;
 Cbias = (uint16_t)((Actual_Vzero - Sensor.mV_Bias) * 4095.0/2200 + 0.5);
 if(Cbias == Czero)
  LPDacCfg(channel,LPDACSWNOR,VBIAS12BIT_VZERO12BIT_SHORT,LPDACREF2P5);               // For a Zero bias sensor, short vzero to vbias

  • Hi,

     Vzero is the common mode voltage given to internal Transimpedance amplifiers. (positive input of TIAs)

    VBias is the bias voltage given to the external sensor.

    For any sensor connection(even for zero bias sensor), you may set Vzero to 1100mV because excitation voltage at CE0 may vary from 200mV to 2.4V. So its center value is 1100mV.

    May I know why you require VBIAS to be shorted with VZERO?

  • I'm just going off of the comments in the example code "For a Zero bias sensor, short vzero to vbias"

    Are you saying that changing Vbias moves the common mode voltage up or down from 1100mV?

    Can I change Vbias on a 0-bias sensor slightly to get it closer to true zero?