Problem Description: The ~ALARM pin goes low intermittently (sometimes 15 minutes after power up, sometimes 4 hours) without any valid reason. It happens in 0-5 Vdc and 0-24 mA modes when actual output voltage / current correlates with data register values and works properly. When ~ALARM pin goes low my ISR reads Status Register and it returns 0x08 which is WATCHDOG TIMER alarm (not enabled in my application).
DAC8760 Control register is set to:
0x7000 - 0-5Vdc with 10% over range; or
0x7007 - 0-24mA with 10% over range
DAC8760 Configuration register is set to:
0x0080 - DAC dual output disabled, APD Enabled, no HART, no CRS, no WD.
In 0-24mA mode I was tested Open Circuit alarm (by disconnected current loop load) and it works properly (Status Register is set to 0x04) and it disappears when I connect load back. However when alarm with 0x08 activated, it cannot be disabled by software reset (write to register 0x56 code 0x0001). I can disable it only with power on reset.
Just to be clear I also measured IC surface temperature when this happens and it does not exceed 35C so we can eliminate thermal alarm issues.
This issue repeated on 4 devices so I assume all IC have the same behavior.
In the attachment you can find the DAC8760 implementation schematic page. We are using it ether in 0-5 Vdc or 0-24 mA mode (but never simultaneously) so IOUT and VOUT pins are connected together.
I also noticed that leaving analog output without load (high impedance for 0-5 Vdc or low impedance for 0-24mA) makes this issue disappear (I have tested several devices for days).
Generally device is working fine, but because I am using ~ALARM pin to activate my ISR which reads Status Register to pin point source of the ALARM this issue creates not needed firmware overhead. And on a top of it I cannot clear it with software reset.
This is time sensitive application and I cannot afford to poll Status Register periodically.