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.

DAC8760: SPI communication issue, the current output stay at the last value

Part Number: DAC8760

Hello,

I have an issue with the DAC8760. I designed it with only current output in boost mode. The voltage output is let unconnected. 

I drive it throught an spi isolation barrier. It works well but "after a while", some hours, the SPI commnication is lost.

So, the data register is not refresh. I have not set the watchdog, so the output stay at the same previous value.

When I reset my software, there is no change ( even by sending a reset command). The only way to retrieve a good operation is to cut off the supply. 

I can't understand how I can do it, even if I have a bug in my code. I expected that after a reset, it would work again for some times.

So, if someone can explain which condition can cause this, I am ready to investigate in my code. 

Thanks

Bertrand

  • Bertrand,

    Based on the information you have shared to this point I cannot say what could be causing your issue. Could you share a schematic or at the least inform of any other devices that may reside on the SPI bus?

  • Hi,

    There is an ADC ( MCP3301) that share the same SPI and an Adum3154 as isolator. I will try to share the schematic.

    I am wondering how it it possible to lock the SPI input shift register. And if I do, how I can fush it. 

    When I reset my uC I send 24bits ( reset command), it "cleans" the shift register.

    I can guess that, at one moment, there is a mistake in my code, an interruption that corrupt datas, but if I send again 24bits and rise up the lacth, it should work. In my case, the only way, is to unpowered the chip. By, chance, due to the dedicated supply for isolated parts, I can unpowered the dac, without reset the uC. In this condition, it works again...

    So, I definitevely lock the shift register without any reason.

    Thanks for your support.

    Bertrand

  • Bertrand,

    Based on your comment suggesting a 24-bit write for the reset command I assume that you are not using the DAC8760 CRC functionality. Could you please confirm?

    Does anything happen on the ALARM pin during this condition? 

    The only digital issues I am aware of are what were included in the datasheet update from Revision B to Revision C and I do not see how that would be able to create this issue.

    Is R26 installed? If not and the internal DVDD LDO is being used can you also verify that DVDD is still present when this occurs?

  • Bertrand,

    Do you have any updates on this topic?

  • Hi Duke,

    Not realy. I only place the SPI read/write implementaiton in a crital section to avoid interrupt during the data exchange. It seems to work for a week now but I am not fully confident.

    To check, I read the data register & compare with the value I just set. If the dac is not ok, all the SPI request return 0; 

    Even in case of data frame alteration,I can't understand how the DAC can stop the communication.

    I need to investigate deeply but it could be a SPI issue from my side.

    Thanks 

    Bertrand 

  • Bertrand,

    Thank you for your reply. This thread will close after 2 weeks of inactivity but you may click on "Ask a related question" if it comes to that to continue the topic and myself or someone on my team will continue to support you.