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: Gain/offset settings do not seem to be properly written, in "Block Diagram"

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

Hello TI Team,

I have an issue with the PGA309EVM-USB board:

I try to set the values of the gain and offsets in the "Block Diagram" of the software. However, after clicking on "Write All Reg", nothing seem to change at the output.

For example, I use the model "4wire_4p096_diode.txt", I connect a multimeter to the output connector P1 and I click on "Run Sensor Emulator".

The output value change from 5V (high state? saturated output?) to 0.81V.

In the "Block Diagram", I try to change one of the gain/offset value. For example I change the "Output Amp Gain" from 6 to 9, then I click on "Write All Reg". Sadly, the output stay at 0.81V.

When I click on "Read all Reg", the "Output Amp Gain" is set back to '6'.

The same thing happens if I modify directly the register value (Register 4 [14:12] = 110).

The same thing happens whatever the field I modify on the "Block Diagram" .

Could you please help me and tell me what I'm doing wrong? Is there something I'm missing?

For information and if that matters:

I communicate using the "3-Wire" output mode and I set the JMP7 = "Vout to PRG" and JMP8 = "One to Vout" on the board, as advised in the Table 5 of the document "sbou084b".

I tried the other communication way (4-wire and set the jumper the other way), but it does not seem to work either.

The I2C communication gives wrong register values (FFFF or A0A0).

  • HI Benjamin,

    I will get a hold of the PGA309EVM and attempt to reproduce the issue.

    Please allow a couple of days.

    Thank you and Regards,

    Luis

  • Hello,

    Thank you for your reply.

    I add that I finally succeeded to change the Output Amp gain value by modifying an EEPROM file in "Addr8". Then, the value in the Block Diagram changed, but the output voltage didn't.

  • Hello again,

    I bring some more information. I used a data acquistion to observe the signals.

    On I2C, the PGA309 is looping to get the register values from the EEPROM (alternatively from register Addr0 to Addr15 and from Addr16 to Addr27). The signals seem to be compliant with the protocol detailed in the PGA309 user guide.

    By the way and as you may know, the TPs SDA1 and SCL1 are inverted (cf. circuit diagram sbor010).

    On One-wire, there is no data on the test point Vout_F1as long as I don't I click on "Write All Reg". When I click on it to change the settings, the signals also seems to be compliant with the protocol detailed in the PGA309 user guide, figure 4-6 (I can send you the trace if you want).

    What I think is that the data are sent from the microcontroller to the PGA309 via the One-wire communication, but as soon as the value are received, the PGA309 is automatically reset by the EEPROM with the I2C communication.

    However, I still don't understand, why even when I change the gain/offset value in the EEPROM thanks to the file I load in the "EEPROM" section of the software, the value at the output of the PGA309 does not change...

  • Hi Benjamin,

    One possible issue, is that you are loading the "4wire_4p096_diode.txt" model file and attempting to change settings in 3-wire mode (PRG connected to VOUT).   On my side, if I use the "4wire_4p096_diode.txt" model file, I leave JMP7 set to NC, and JMP8 set to ONE to PRG, for 4-wire configuration.I am able to go in the Block Diagram and modify gain settings, and see the output and registers update (read and write) properly; and I can see the device output change accordingly as I change gains, use different input voltages on the emulator. 

    Can you start by attempting the 4-wire mode first and see if this works for you properly?

    Please, keep in mind the PGA309 checks both the proper flag to start reading the EEPROM, and will also verify valid checksum while reading the EEPROM settings. Therefore, if you have manually modified the EEPROM settings without updating the checksum with a valid value, the PGA309 will not load any of the settings.

    Please refer to the following ppt document that details how to complete the calibration with the PGA309 in 4-wire votage output, 3-wire voltage output, and IOUT mode:

    Calibration = USB_DAQ + PGA309EVM_updated.pptx

    If you are interested in using the device on 3-wire voltage mode, please load the following pre-cal file: V_3wire_1-5V_pre-cal.txt

    and the following model file: V_3wire_1-5V_model.txt

    On the ppt file, chapter b) for 3-wire voltage output mode uses the default settings with the sensor emulator, the ppt documents also the proper jumper settings.

    Thank you and Regards,

    Luis

  • Hello Luis,
    Thanks for this reply!
    I actually tested the other configurations (3-wire mode / "4wire_..." file, 4/4, 3/4, 3/3), with the jumper placed accordingly with the Table 5 of the document sbou084b, but none of them are working :-(

    I already tried to follow the ppt document before and proceeded to a auto-calibration, but that's not really relevant with what I'd want. As a matter of fact, I don't really care of the kind of calibration model I use, since I just want to test the gain/offset settings. By the way, is it mandatory to use the auto-calibration every time I have to run an emulated sensor? I noticed the "Absolute Bridge" values displayed in the window "Sensor Emulator" were the same, whether I performed the auto-calibration or not.

    I created a new Model File using the pre-calibration file and the model file you sent me and following the ppt document. It's a shame there is not the configuration of the "Block Diagram" (in order to not be in over or undervoltage at the output) or at least the "Output Mode" one (but I guess it's obvious) presented in the document.
    I set the Output Mode to "Vout (3-wire)".
    The jumpers are placed as follow : JMP7 set to "Vout to PRG" ; JMP8 set to "ONE to Vout".
    When I click on "Run Sensor Emulator" and I set the "Load" to 25% ("Temperature" set to 0°C), the "Absolute Bridge" value is set to 9.54mV (confirmed by multimeter between Vin1 and Vin2) and the Out Meas value is 127mV (also checked at the connector P1 output).
    Then, I change the value of the "Output Amp Gain" from '3.6', to '6' and click on "Write All Reg" aaaaaand... The value stays at 127mV :-(

    When I click on "Read all Reg", the value of the "Output Amp Gain" is set back to 3.6.
    It's a shame that everything seems to work fine, appart from the controls in the "Block Diagram" :-s

    When I look at the register 4 of the PGA309, this latter is set to 0xB619 (shame since it means that the OWD is enabled and I believe I need it set to '0' for a 3-wire communication).
    As I cannot change it with the "Block Diagram" I try to change it in the EEPROM window.

    N.B. : About that, indeed I did not change the checksum in the register 14 during my previous tests, then I had systematically the value 3.7V at the output (high impedance level, I guess).  Thanks for the tip!

    The file  "MODEL_TEST_MN_7_SN_3_DC_3220.txt" seems to be the selected model. Then, I copy the file and I just change the value of the Addr8=46617 (0xB619) to 13849 (0x3619) to disable the OWD (and the Addr14 accordingly) and I save and load the new file in the software.
    This time the modification really change the state of the OWD checkbox to "unchecked" in the "Block Diagram" section, but when I try to change the values of gain/offset (I don't forget to click on "Write All Reg"), the output voltage stays at 127mV : the value of the registers of the PGA309 still cannot be changed.

    Then, I change the value of the output gain to '6' in the EEPROM configuration file (Addr8=22041 (0x5619)). The output voltage also stays at 127mV.
    I get the same issue when I try to reduce the Output Gain or change another gain/offset value...

    I can't think of any other test to run and I begin to think there is a problem with my evaluation board :-(

  • Hi Benjamin,

    When using "Test mode", the PGA309 Vout is immediately active (vout is on), and therefore, PRG pin needs to be independently connected to establish communication.  On the PGA309EVM standard multi-cal routine, when using the device connected on 3-wire (PRG shorted to VOUT), the software cycles the supply to disable vout momentarily to establish digital communication through the PRG pin.  Once the device has been programmed, the calibration routine continues.  The time interval after power-up is the only opportunity that an external communications controller can initiate digital communication with the PGA309 through the PRG pin and trigger a one second delay in the internal state machine. After VOUT is enabled no further digital communication is possible, unless power is cycled...

    The PGA309EVM software uses the PRG 1-wire interface to communicate with the device on 4-wire mode (also on 3-wire mode by toggling the supply, establishing digital communication, but not on test mode). I believe the SDA/SCL 2-wire interface on the EVM software is only used for direct EEPROM programming.

    The block diagram,  will not work on "test mode" with PRG shorted to VOUT since VOUT is immediately turned on. The EVM software uses the one-wire PRG pin to communicate with the device, and I believe you will not be able to use "test mode" with PRG shorted to VOUT.  If your application requires no EEPROM due to current consumption concerns, with PRG connected to VOUT (three-wire) an alternative solution may be to use the PGA308 instead. 

    If you have already programmed the EEPROM with a three-wire (PRG to Vout) configuration, and wish to re-establish communication, you could exercise the "test mode" on the block diagram on 4-wire mode, you will need to reload the EEPROM contents for 4-wire mode, cycle the PGA309 power, and then exercise the device.  Attached is an example of an EEPROM file for 4-wire interface. It may be also possible to communicate with the PGA309 device using the 2-wire SDA/SCL communication while on test mode, but I don't believe this function is not supported by the PGA309EVM software.

    [General Info]
    Date=9/4/2019
    Time=6:55 PM
    [Paths]
    Model path=/C/Program Files (x86)/proj_PGA309EVM-USB/Model_Files/4wire_4p096_diode.txt
    Pre-Cal path=/C/Program Files (x86)/proj_PGA309EVM-USB/Pre_Cal_Files/Vout_4wire_4p096_diode.txt
    Sensor Emulator path=/C/Program Files (x86)/proj_PGA309EVM-USB/Sensor_Emulator_Files/nonlin2.csv
    [EEPROM Data]
    Addr0=21577
    Addr2=0
    Addr4=0
    Addr6=1792
    Addr8=1555
    Addr10=0
    Addr12=5133
    Addr14=35478
    Addr16=3599
    Addr18=15176
    Addr20=65535
    Addr22=3702
    Addr24=159
    Addr26=64813
    Addr28=3775
    Addr30=172
    Addr32=60156
    Addr34=3849
    Addr36=187
    Addr38=60264
    Addr40=3922
    Addr42=200
    Addr44=60377
    Addr46=3996
    Addr48=211
    Addr50=60489
    Addr52=4069
    Addr54=224
    Addr56=60602
    Addr58=4143
    Addr60=239
    Addr62=60710
    Addr64=4217
    Addr66=249
    Addr68=60824
    Addr70=4290
    Addr72=263
    Addr74=60935
    Addr76=4364
    Addr78=277
    Addr80=61049
    Addr82=4437
    Addr84=288
    Addr86=61156
    Addr88=4511
    Addr90=301
    Addr92=61270
    Addr94=4584
    Addr96=316
    Addr98=61380
    Addr100=4658
    Addr102=325
    Addr104=61492
    Addr106=4732
    Addr108=339
    Addr110=61603
    Addr112=4835
    Addr114=355
    Addr116=61738
    Addr118=32767
    Addr120=0
    Addr122=11523
    

    Thank you and Regards,

    Luis

  • Hello Luis,

    Thanks for this new reply.
    For your information, all the tests described in my last message before this one were performed in Normal Mode.

    What I understand from your statement is that I can program the PGA309 in 3-wires, but only during a little time interval before it reaches Stand-Alone Mode (25ms, according to what is described in chapter 4.10 of the User's manual sbou24b).
    Furthermore, I cannot also used 3-wire communication in "Test Mode" for the obvious reason that Vout will be constantly enabled.
    Then, I guess the only way to perform a 3-wire configuration with the PGA309 is to follow the state-machine described in the Figure 4-16 in the document sbou024b.
    The chapter 4 is really confusing about the definition of One/Two/Three/Four-wire communications modes. Maybe a table, which summarizes the whole communication modes (or a better order in the subchapters) could make it easier to understand.

    I had already figured the MCU could not program the PGA309 with the I2C communication out, but thanks to have confirmed it. And I confirm to you I could not communicate with the PGA309 in Test Mode either.
    It's a shame none of these details are mentionned in the User Manual of the PGA309EVM-USB or the ppt document... I lost a lot a time to find all by myself :-s

    In any case, thanks for this new file. I'm going to try the last test you suggest me to perform (and also to follow the state-machine for 3-wire communication), but not today. I'll try to perform it by the end of the week and I'll let you know the results.

  • Hello Luis,
    Finally, I won't have time to perform a new test.
    However, and for your information I tried to communicate via the I2C interface with a microcontroller without using the USB_DAQ_EVM (while setting the TEST pin to high level) and it worked perfectly well.
    I'm going to leave this configuration as it is now, since it's closer to the application I'd like to use.
    In any case, I thank you again for the time spent to help me and I wish you a very nice day :-)

  • HI Benjamin,

    Glad to hear the solution works for you.   

    Thank you and please let us know if you have any questions. Have a nice day as well.

    Kind Regards,

    Luis