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.

FDC2112: Status Register not showing Amplitude Alarms.

Part Number: FDC2112
Other Parts Discussed in Thread: LDC1314, LDC1312, LDC1612, LDC1614

Support Path: /Product/Development and troubleshooting/

I am using the FDC 2112 in single channel mode. I have the status config setup to return watchdog and amplitude alarms in the data output. I also have a routine that is supposed to automatically set /calibrate the drive current for the channel.

The calibration routine does the following:

  • Enable Sleep
  • Sets the channel current
  • Disable sleep, set default channel to CH0
  • Wait to allow device to make measurements on channel
  • checks the status register for alarms.

It start with the lowest current and is supposed to identify the lowest current setting with no low-amplitude-error, and similarly the highest current with no high-amplitude-error. It is then supposed to set the current drive to the mid point. The default low is of course the lowest current. Similarly the default high is the highest current. When I run through the routine in debug mode, the only values I ever see for Status are DataReady and CH0 Data Available. I never see an amplitude or watchdog error. As such the current is set at the midpoint between the limits... When application starts gathering data, pretty much every measurement is returned with an amplitude error in the upper bits of the data. If I the main app has 10 consecutive amplitude errors it calls the calibration routine... Again the calibration routine never gets an amplitude error regardless of the current setting...

I have tried disabling the option to add errors to data, and still no errors show up in the status register... I have tried enabling and disabling interrupts, and again, nothing shows up in status register... 

I wonder if (a) I am missing something fundamental in regard to enabling bits in the Status register, or (b) if there is a bug with the device that prevents it from showing high and low alarms in single channel mode...

Obviously I can rewrite my routine to look for amplitude error in the data register, however, the data register does not differentiate between high and low amplitude errors.

Any thoughts on this?