Refering to previous post DRV8860: Fault Register read waveform error? following question came up:
I've found that whenever the overall fault status of the DRV8860 changes (e.g. nFAULT toggles), the first reading of the fault register after the nFAULT toggle using the datasheet provided waveform is shifted by one bit.
I then noticed that the DRV8860 datasheet-provided waveform for reading the fault register does not match what is produced by the evaluation kit's sample code, with the sample code containing an extra clock-latch pulse to "clear the false pushing of the fault register" as noted in the comments. However, adding this has had no effect on the accuracy of the of the fault register reading for me.
While subsequent reads of the fault register after an nFAULT toggle condition using either the datasheet or MSP430 eval kit's waveform returns the correct value, I am concerned about whether I can trust the subsequent reads without closely tracking nFAULT.
I later found a waveform that seems to work reliably, but if possible I would like confirmation, and perhaps an update to the datasheet errata noting this.
My waveform is nearly identical to the datasheet provided one, but reading is shifted by a clock cycle (i.e. I start reading immediately after the latch pulse, rather than clocking once; I noticed the other read waveforms for control and data don't clock before reading).
It appears to work for both reads immediately after an nFAULT toggle event, as well as subsequent reads.
I have attached my logic analyzer captures below:
1. Reading an overload fault condition on OUT3, immediately after an nFAULT toggle event, using the MSP430 eval kit's waveform (data is shifted such that it appears to be a fault on OUT4):
2. Subsequent read of the same fault using the MSP430 waveform:
3. My waveform reading the same fault immediately after an nFAULT toggle event:
4. Reading an over current protection fault on OUT8, immediately after an nFAULT toggle event, with the MSP430's waveform (data is shifted such that no fault bit is detected)
5. Subsequent read of the same fault using the MSP430 waveform:
6. My waveform reading the same fault immediately after an nFAULT toggle event:
Regards Bernd