I have an application where I'm sampling many TMAG5170 sensors at a relatively high rate and I am very occasionally finding that the TRIM_STAT bit is being set and then cleared.
My test setup:
- 72 TMAG5170 sensors on 3 separate boards each with an FPGA.
- Conversion started by pulsing nCS low.
- Conversion read after nALERT goes low.
- Sampled at approx 1200 Hz for 5 minutes for approximately 364,000 samples.
In the above sample set, over 3 consecutive samples, I detected that the ERROR_STAT and one of the ALERT_STATUS bits was set 186 times.
All other samples are as expected.
I was able to return the AFE_STATUS and SYS_STATUS registers for a third of the sensors (limited due to FPGA resource constraints) read after the sample was read and before the next sample and in every case the ALRT_LVL and TRIM_STAT bits are set.
The ALRT_LVL bit is as expected and I do not believe it would cause the ERROR_STAT or an ALERT_STATUS bit to be set.
The TRIM_STAT bit does concern me though.
These results are not unique to my setup. The same problem (to a lesser extent) has been observed with different hardware (of the same design) by another team in a different location.
What could cause a memory CRC error? Why would that error be transient? I do not power cycle the sensors but the error recovers. What could cause the same error at approximately the same time over 72 sensors across 3 boards?
My initial thought was a power dip maybe caused by the inrush of many sensors changing operating mode but the LDO_STAT bit is not being set and the input power dips by only 24 mV to 3.239 mV as measured by my scope.
Thanks,
Joel