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.

TLV320DAC3120: output short circuit detection - register P1R32 does not update bit 0

Part Number: TLV320DAC3120

When creating a short circuit at either output of the TLV320DAC3120, the device suspends operation as it should, but both customer and I don't see the register P1R32 being updated. I'd expect bit 0 to flip to a "1" when the output is shorted, but it doesn't. This happens with the EVM and with a custom board. Is there a specific procedure we might be missing to read P1R32 bit 0?

Thank you!

  • Hi Lenio,

    For DAC31xx devices, the overcurrent event interrupt is triggered in P0R44. Can you please check if that bit is being toggled?
    In addition, INT pins can be configured to notify using GPIO to the host when protection is triggered.

    Best regards,
    -Ivan Salazar
    Applications Engineer

  • HI Ivan,

    I do not see any of the flags being set. The device indeed stops the audio and it requires a reset to continue (I do it by flipping back and forth bit 7 of P1R32). 

    Question: even if the flags were set, shouldn't the short circuit bit also be set?

  • Hi Lenio,

    Bit 0 from P1R32 is not a sticky bit, so this bit may be triggered just momentarily and back to 0 once the Class-D is disabled due to the protection.
    Do you see Bit 7 from that same P1R32 toggling from 1 to 0 after the short?

    I'll double check both P0R44 and P1R32 on my side. Just to confirm, you're using (and causing a short) at the Class-D output, correct? Not the headphone output.

    Best regards,
    -Ivan Salazar
    Applications Engineer

  • Ivan,

    correct, the short is at the output of the class D, not the headphone. It would be great if you could experiment that on your own. 

    If P1R32 bit 0 is momentary, it is quick enough that the GUI never registers it. Bit 7 of the same register is always on, except when I manually toggle it back and forth to re-enable the device.

    Thank you!

  • Hi Lenio,

    I couldn't find an EVM last Friday so I ordered a new one, I should get further comments later this new week.
    I'll keep you posted on any updates.

    Best regards,
    -Ivan Salazar
    Applications Engineer

  • Hi Lenio,

    I've been doing some tests today with the EVM. I can replicate your observations. The device is able to protect itself by disabling the Class-D output, however there is no change on any of the flags.

    I'm checking this with other teams, trying to understand if this is something new as we don't seem to have previous queries related to OCP.

    I'll keep you posted on any updates.

    Best regards,
    -Ivan Salazar
    Applications Engineer

  • Hi Lenio,

    As discussed offline, I've noticed that the interrupt flag on Page 0 Register 44 is actually being enabled, the GUI has some issues when reading back the registers. Below I explain how to successfully read the registers, and also what are the results I'm getting now:

    The conventional way to read the registers is through GUI controls or command window, however this is not working as expected. Below script sets page selector register to 0, then read register 44. After that selector page changes to 1 and read register 32. These return incorrect read values:

    However, if you enable the "Record" feature, the read command works now as expected. You can ignore the additional lines that appear on the command buffer:

    After this debugging I can confirm the following events on the EVM:

    • Bit 7 from Page 0 Register 44 changes from 0  to 1 after short circuit event at the Class-D. This flag is automatically reset after reading.
    • Bit 7 from Page 1 Register 32 changes from 1 to 0 after short circuit event. This is the enable bit of the Class-D, which has to be set to 1 again after the short circuit to resume normal operation.
    • Bit 0 from Page 1 Register 32 is not changing from 0 to 1 after short circuit event. This flag does not seem functional and should use P0R44 instead.
    • This is a read capture, first pair of lines are before the short, second pair after the short:

    Best regards,
    -Ivan Salazar
    Applications Engineer