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.

DAC8771: Unexpected register value changes

Part Number: DAC8771
Other Parts Discussed in Thread: AM4372

Hi,

Customers report that some register values change unexpectedly.
When in voltage output mode, will some settings change because they are "Invalid"?

(Q1) After writing 0x0003 to the Configuration Buck-Boost Register, writing 0x1513 to the Configuration DAC Register changed the Configuration Buck-Boost Register to 0x021F.
 
→I think the voltage range is set to ±15V. Are there any problems in operation?

(Q2) After setting Select DAC Regsiter to 0x0020 (Dual power supply) or 0x0220 (single power supply), the value of DAC Channel Gain Calibration Register changed to 0x80000
* Before and after this operation, the DAC Channel Gain Calibration Register is not written.

→ I think that it switched to gain1.0. Is there any problem in operation?

(Q3) Please let me know if there are other register settings that change when setting registers other than the above two points. Please let me know if there are any points to note.



Best regards,

Hiroshi

  • Hi Hiroshi,

    Did the customer successfully read the first value they set the register to?

    For example, in the first case, did they read back 0x0003 from the Buck Boost Config register before they wrote 0x1513 to the other register?

    Thanks,
    Lucas

  • Hi Lucas-san,

    Thank you for your reply.
    I will check and get back to you as soon as possible.

    Best regards,
    Hiroshi

  • Hi Lucas-san,

    The following shows the register values when writing in order in the flow below.

    No. Processing Step Configuration  DAC channel 
    Buck-Boost gain calibration 
    converter register register
    read value read value
    1 Before writing to DAC register 0x0000 0x0000
    2 After writing 0x0210 to Reset config register  0x0000 0x0000
    3 After writing 0x0001 to Select Buck-Boost converter register 0x0000 0x0000
    4 After writing 0x0003to Configuration Buck-Boost converter register 0x0003 0x0000
    5 After writing 0x0020 to Select DAC register 0x0003 0x8000
    6 After writing 0x7FFF to DAC data register 0x0003 0x8000
    7 After writing 0x1513 to Configuration DAC register 0x021F 0x8000
    8 After writing 0x0000 to Alarm action register 0x021F 0x8000
    9 After writing 0x0000 to User alarm code register 0x021F 0x8000

    It only changes when writing to the Configuration DAC Register and Select DAC Register.
    (Step No. 5 & 7)

    Best regards,

    Hiroshi

  • Hi Hiroshi-san,

    Can the customer plot step 5 and step 7 using a logic analyzer, to verify it is being sent correctly?

    Thanks,
    Lucas

  • Hi Lucas-san,

    Since the customer does not have a logic analyzer, the waveform cannot be acquired, but I am attaching a screenshot of the debug tool for the AM4372 connected to the DAC.
    The customer thinks the communication is normal because the values are correct except for STEP 5 and 7.

    DAC8771レジスタ変化のキャプチャ.pptx

    Customers say this happens 100% of the time.
    Is it possible to verify with TI?
    I'm sorry for your inconvenience.

    Best regards,
    Hiroshi

  • Lucas will respond as soon as possible.

  • Hi Hiroshi-san,

    Being able to plot the SPI communication with a logic analyzer or oscilloscope would allow us to verify if timing issues are the cause of the issue being seen.

    I don't see any immediate patterns in the incorrect values, but I will doublecheck them with another engineer and get back to you soon.

    Thanks,
    Lucas

  • Hi Hiroshi-san,

    The 0x8000 in the gain calibration register is the default value, meaning a gain factor of x1 which the customer correctly pointed out. It automatically gets updated when the DAC channel is selected, so your gain isn't something that makes the output very small.

    We tested your commands and found similar behavior as well for the Buck Boost configuration register. When 0x1513 is written to the DAC configuration register, it configures the range and slew rate/clock. It also enables the DAC output, which forces Buck Boost to be enabled with its default settings, which is 0x021F.

    The DAC is operating correctly and the gain and buck boost config registers will need to be modified after the Select DAC register write and Configure DAC register write respectively. 

    Let me know if there are any other questions or concerns!

    Thanks,
    Lucas

  • Hi Lucas-san,

    Thank you for your kind support.
    We have notified the customer and closed.

    Best regards,
    Hiroshi