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.

PGA309EVM-USB: Difference in results when using Vref_int vs Vref_ext

Part Number: PGA309EVM-USB
Other Parts Discussed in Thread: PGA309

Hi Jon,

I am getting a difference in results when I make a switch from using Vref_int set at 4.096V to using a Vref_ext supplied at 4.096V.

I am not sure why I am getting the results I am getting.

I modified your model file (7212021_e2e_modelfile_modified.txt) and precal file (7212021_e2e_precal_modified.txt) that were provided to answer our original question to use an external Vref rather than the internal Vref.

My modified model and precal files are test-121313-rtp-Vref_ext-model.txt and test-121313-rtp-Vref_ext-precal.txt. These files are attached here.

 

[Filenames]
Pre-Cal Filename=test-121313-Rtp-Vref_ext-precal.txt
Sensor Emulator Filename=7212021_e2e_sensorfile_modified.csv
[Misc]
Comments=test, rtp, vref_ext
Serial No=8003
Model No=2001
Model ID=test-vrefext
Use Sensor Emulator=TRUE

[PGA309_Settings]
Numb Reg=3
Poly Order=2
Output Mode=1
Vout_High_Target=4.500000
Iout_High_Target=0.000000
Iout_Low_Target=0.000000
Vout_Low_Target=0.500000
Vs=5.000000
Vref=4.096000
Calibrate Nonlin=FALSE
Reg0=0
Reg1=0
Reg2=0
Reg3=3072
Reg4=0
Reg5=0
Reg6=5151
Reg7=0
Reg8=0
Temp0=-1.111000
Temp1=23.889000
Temp2=54.444000

The sensor emulator file remained the same (7212021_e2e_sensorfile_modified.csv).

6470.7212021_e2e_sensorfile_modified.csv

I am providing a comparison of the Vref_int versus Vref_ext results in the attached Excel file '210902-Question on setup for Vref_ext.xlsx'.

The Excel file shows the the jumper settings that are used on my PGA309 test board for the Vref_ext configuration.

It also shows the parameters used in your Vref_int precal file and my Vref_ext precal file.

Screen shots of the Auto-cal, EEPROM and Block Diagram are provided for the Vref_int and Vref_ext configurations.

210902-Question on setup for Vref_ext.xlsx

Thanks for your help.

Regards,

Frank

  • Hi Frank,

    I suspect it may be related to the use of the Three-Wire output mode, which the PGA309EVM software seems to struggle with sometimes. Note that your document shows the "read all registers" is returning all "1414"s, indicating a communications problem. I modified the pre-cal file and jumper positions to use the Four-Wire mode and was able to get these results.

    Same exact configuration but with the jumpers and settings changed for Three-Wire mode, and the results are inconsistent. The cal looks good but some of the registers are being reported as zeroed out. 

    After turning the Test Pin on, I see similar results to what you had observed, where the registers are getting stuck at "1414".

    Next I tried using the internal reference but maintaining the Three-Wire mode. The calibration did not seem to run successfully, and once again I'm getting weird variations on the "1414" register reading.

    Unfortunately, at this point it appears to be a software problem related to using the EVM with Three-Wire mode. I will try to look into this further but for the time being I would suggest calibrating using Four-Wire mode.

    Cheers,

    Jon

  • Hi Frank,

    I discussed this with one of my colleagues and he pointed out that the issues with using Three-Wire mode to communicate with the DUT on the PGA309EVM are mostly fundamental, rather than due to a software problem. When you put the jumpers in place for Three-Wire mode, the PRG pin is shorted to Vout and the One-Wire communication line to the USBDAQ is also shorted to the Vout line (albeit on the other side of a 100 ohm resistor, R5).

    When the output of the device is enabled, communications from the USBDAQ on the One-Wire line will be unable to "reach" the PRG pin - Vout will shift to force the desired output voltage, corrupting or supressing the signal as seen at PRG. This explains the difficulty reading the registers from the device using the Block Diagram. (Note that setting JMP8 to the "One to PRG" position would not be a good workaround, as it will cause Vout to directly drive the One-Wire line from the USBDAQ, which could cause damage as the driver and Vout fight each other)

    When configured in Three-Wire mode with PRG shorted to Vout, the device can only be communicated with for a very small 33ms time interval immediately following a power cycle, while the Vout is still disabled. See section 4.8, section 4.10 and the note in section 3.1 from the PGA309 user guide for more details. Once the calibration procedure is done and the output is enabled, you can't "reach" the device over One-Wire without performing a power cycle. Even using the Test Pin won't help because it will force the Vout to be enabled.

    One would think the I2C Digital Interface on this page could be used as a workaround, but the problem is that the I2C only works correctly for reading the EEPROM and will fail to successfully read the registers themselves when used from the Block Diagram page. It's not entirely clear why this happens but it is a known limitation of the EVM.

    Basically, you can perform your auto-calibration procedure in Three-Wire mode, but you won't be able to read the registers afterwards; only the EEPROM will be readable, via the I2C interface. Furthermore, since (for reasons that are still unknown as of this time, although I think it's related to some kind of timing out or race condition during the cal process that results in a loss of control of Vout) the auto-cal can return some very weird results when you try to run a cal in Three-Wire mode, you may find the EEPROM results returned aren't really what you wanted either. It seems at this juncture that your best bet when using the PGA309EVM is to do your calibration in Four-Wire mode. Then you can always change your jumpers to force Three-Wire mode instead of Four-Wire when you want to verify your calibration with the sensor emulator.

    Cheers,

    Jon

  • Thanks for your two replies.

    I will work in the 4-wire mode with the EVM since it will give access to the registers and EEPROM values. 

    I experimented with Vref_ext because I was trying to find a way to keep the Rt+ temperature sensing (Fig. 2-20, User Guide, SBOU024B) and get around the limitation "For systems that use the PGA309 internal reference, it is recommended that VEXC be used for sensor excitation, and Lin DAC be set to zero. The reason for this is to minimize any large current draws from the REFIN/REFOUT pin that could affect the internal VREF value used by the internal circuits." (p. 31, User Guide, SBOU024B).

    Fig. 2-10 (p. 30, User Guide) seems to imply that if an external Vref is provided, I could keep the Rt+ set-up and use LinDAC to flatten the parabolic pressure nonlinearity.

    Is it possible to have a Rt+ set-up and use LinDAC in this way?

    Or, if I must use LinDAC to get better output linearization, is using an external temperature sensor the only hardware option?

    Regards, Frank

  • Hi Frank,

    In context, the user guide is talking about using Vref, Vexc, etc as the supply by which to excite the bridge sensor. You don't want to use REFIN/REFOUT directly to drive the bridge sensor if the internal reference is being used instead of an externally supplied reference, this is true.

    However, if you use Vexc with the linearization features turned off, what you are basically doing is buffering and slightly attenuating Vref, with Vexc = 0.83*Vref or Vexc = 0.52*Vref depending on the range used (see Figure 2-11). Because it has its own driving amplifier this Vexc output is capable of driving the sensor without causing current draws from the internal reference voltage. When using the Vexc excitation with an Rt+ series resistor for temperature sensing (as in Figure 2-20), recall that as long as the proper temp ADC input mux option is selected, everything is ratiometric to Vexc ("It is seen that the final Temp ADC reading will be the same regardless of the VEXC value", page 44). With this configuration there is no reason why you couldn't use an Rt+ setup when you are using the internal reference of the PGA309 instead of an external reference. And indeed if desired you can use the LinDAC to do correction of the bridge nonlinearity, just as Section 2.6 shows.

    The "Vref" in Figure 2-10 etc can be either the internal options of the PGA309 (2.5V or 4.096V), or an external Vref voltage applied to the REFIN/REFOUT pin. What the user guide is saying at the top of Page 31 is that if you need a specific external reference voltage to drive your bridge sensor (let's say you wanted to drive it with exactly 3.3V for some reason and you had a 3.3V reference handy), you should use the external reference itself to drive the bridge sensor instead of Vexc because whether you choose Range 0 or Range 1, Vexc is always going to be an attentuated version of the external Vref and won't be equivalent to it. Therefore the top of the bridge sensor will be shorted to REFIN/REFOUT, because your external reference is driving both the bridge sensor and also the Vref of the PGA309. But if you wanted to use the internal Vref (say you chose 2.5V) to drive the bridge circuit, it is not recommended that you try connecting REFIN/REFOUT to the bridge circuit, because by pulling current out of that pin you are running the risk of sagging the internal reference used elsewhere inside the device. You're better off using the buffered Vexc even though it is attenuated, because it will be more stable. It is not saying that you aren't allowed to use LinDAC with an internal reference, it's just saying you shouldn't try driving the bridge sensor with the REFIN/REFOUT pin and that you should use the Vexc pin instead, which if the LinDAC is not used is basically the closest you can safely get to driving the bridge sensor directly with the internal Vref.

    I know it is rather confusing, but just think of that comment on Page 31 as warning that while it's okay to use an external Vref to drive both the bridge sensor and the REFIN pin, you should never try using the internal reference on the REFOUT pin to drive a bridge sensor. It does not mean you are not allowed to use a nonzero LinDAC in conjunction with the internal Vref. I do not foresee any problems with using the internal reference, Rt+, and LinDAC all together and indeed this is a quite common use case.

    Cheers,

    Jon

  • Thanks for the explanation Jon.

    Part of my confusion comes from looking at the PGA309 User Guide at the same time as the PGA309EVM User Guide. The user has direct access to the PGA309 REFIN/REFOUT pin 16. I was thinking there was a jumper somewhere on the PGA309EVM that was connecting pin 16 to Vs or Vref_int somehow. PGA309 User Guide Fig. 2-11, p. 31, shows REFIN/REFOUT is connected or it is not. Is it left unconnected on the PGA309EVM?

    Frank

  • Hi Frank,

    See section 2.6 of the PGA309 User Guide, REFIN/REFOUT has two options

    1. It can be driven by an external reference, in which case it basically acts as REFIN. In this configuration you need to disable the reference buffer by setting the "Vref enable/disable select" to off (REN = 0 in bit 8 of register 3). If you don't disable the buffer then it will fight against the external reference, causing problems.

    2. It can be driven by the internal reference, in which case it basically acts as REFOUT. In this configuration you need to enable the reference buffer by setting the "Vref enable/disable select" to on (REN = 1 in bit 8 of register 3). Bit 9 will determine whether the 2.5V or 4.096V internal reference is selected. Whichever one you choose will be buffered by the internal reference buffer and appear at that REFOUT pin for external use (although again you should try to keep the current drawn from this pin at a minimum).

    Now, on the EVM, there are two applicable jumpers present, JMP1 and JMP2.

    1. When JMP1 is in the "NC" position, nothing can drive the REFIN pin, and so it is safe to use the internal reference of the PGA309. The position of JMP2 doesn't matter.

    2. When JMP1 is in the "Vref" position, the REFIN pin will be driven by either the Vs rail (JMP2 = "Vs") or by whatever external reference is connected to T2 or VEC1 (JMP2 = "Vref_ext"). In this case it's important to disable the internal reference buffer, so it doesn't fight the external reference.

    Figure 2-11 of the User Guide is technically showing an external reference used for REFIN, since the switch wiper is neither set to 2.5V or to 4.096V. But you could choose to use one of these internal Vref voltages if desired. Again the control for this is in register 3, see above.

    Cheers,

    Jon

  • Thanks Jon.

    Frank