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.

PGA970: Do not understand how to match DACVCM_CTRL to WAVEFORM_DAC_OFFSET

Part Number: PGA970

This appears on page 58 of the datasheet, under "Turning on the Waveform Generator" 

It looks like WAVEFORM_DAC_OFFSET is a 16 bit value, added to the DAC table values, so that the output amplifier is presented with a sensible, always positive voltage.

The datasheet goes on to say, in Step 9:

"9. Configure the WAVE_GAIN bias voltage to match the bias value selected in the preceding Step 6 by writing
to the DACVCM_CTRL bits in the LVDT_OP_CTRL register."

Now there are only 2 bits in DACVCM_CTRL, which gives a limited choice, compared to the 64k values available for WAVEFORM_DAC_OFFSET

How do I set these two bits to match?

  • Hi Philip,

    Welcome to our e2e Forum! I see the confusion regarding the PGA970 waveform generator. If you look at figure 19 on page 25, it would appear as though the DACVCM_CTRL settings are for the differential offset. Our PGA970 expert will be back in the office on Monday and I'll have him look into this for you.
  • Thank you Tom, I'll look forward to Monday!

    Your reply leads on to more related questions:

    The LVDT_OP_CTRL register is used to bias the Waveform Amplifier. It contains:

    DIFF_VOCM_CTRL which sets the "Differential mode output common mode". Seems reasonable, these set the value that the outputs float at, 0.75 to 1.5V

    However, the register also has:

    DACVCM_CTRL which is the "Differential offset adjustment" which has values from 0.82 to 0.88

    Questions:

    How/where is this "Differential offset adjustment" applied?

    How does it interact with DIFF_VOCM_CTRL?

    Op amp offsets are normally mV, so where do the 0.82-0.88V values come from?

    Confusion here perhaps because of the words "differential" and "offset" being used for different meanings in different places?

    regards

    Phil

  • Hi Phil,

    There is a note in the datasheet with some additional detail on the DACVCM_CTRL on page 25 of the datasheet:

    "The differential offset adjustment, DACVCM_CTRL, found in the LVDT_OP_CTRL
    register, has an optimal value from device to device to minimize the input offset of the
    waveform gain amplifier. The ideal 2-bit value to place in DACVCM_CTRL is pre-written to
    FRAM address 0x3FFB."

    It is applied at the output of the waveform generator before the input of the differential waveform gain amplifier, and as mentioned in the note it is to minimize the input offset. I need to look into this a little more to give you a more detailed explanation. I will get back to you by Wednesday with an update.

    Regards,
  • Hello Scott,

    Yes, I saw that. I've even been to FRAM address 0x3FFB. For my device the value is 0, which was a bit boring.

    I'm afraid it doesn't really answer any of my questions, including the first one. Meanwhile, I am moving on through the Demodulators

    and DAC, gathering more questions on the way...

    until Wednesday

    Phil

  • Hi Phil,

    The instructions from page 58 are a bit confusing, and a bit out of order. The DACVCM should actually be set first, and according to the designer, the optimal value should be 0.86V. You can then adjust the WAVEFORM_DAC_OFFSET value to match the DACVCM that you set earlier.

    I still have some more digging to do to address all of your questions, and I will get back to you as soon as possible.

    Regards,
  • Hello Scott,

    That makes sense. As you say, the steps should be the other way round.

    First choose DACVCM_CTRL bias as 0.82, 0.84, 0,86 or 0.88V

    Then set WAVEFORM_DAC_OFFSET, from the formula: round(DCValue / 1.25 × 16 384)

    where DCValue = the voltage chosen for DACVCM_CTRL,

    Hence the valid values for WAVEFORM_DAC_OFFSET,  are:

    0x29FB, 0x2B02, 0x2C08 or 0x2D0E

    I'm guessing the DAC was designed with the flexibility to have any of 16k values applied as DC bias to its output, whereas the amplifier needs only four!

    If the designer says 0.86V is the optimum for DACVCM_CTRL, does that mean the optimal value is NOT being stored in FRAM at 0x3FFB ?

    While you are improving the data sheet, a couple more brackets in the formula would help :

    round((DCValue / 1.25) × 16 384)

    BTW I have several comments on the difficulties of getting started with this board. I'm not sure whether the forum is the right place to share them, or feed back direct to you?

    thank you

    Phil

  • Hi Phil,

    Apologies for the delay. It is possible that the optimal value is different from 0.86V and it will be stored in FRAM (this is true even if the optimal value is 0.86V).

    I would appreciate your feedback on the EVM bringup. Please add me as a friend on E2E and send me a message with your email address.

    Regards,