ZHCSDM9A December 2014 – March 2018 LDC1612 , LDC1614
PRODUCTION DATA.
When in multi-channel mode, the LDC1612/LDC1614 alternates conversions on all selected channels. After each channel conversion completes, the conversion results for that channel overwrites the previous conversion results with the new data. Note that the LDC1612/LDC1614 conversion data spans 2 registers. To avoid multi-conversion data corruption, the conversion results are stored in an internal buffer after every conversion, but the I2C DATAx field is only updated to reflect new data when the DATAx_MSB register is read.
When the device completes a conversion on the last channel in the selected group, the device will pull INTB low if DRDY2INT is set to 1. At this time, the conversion results should be retrieved via the I2C bus.
If the device is put into Sleep mode or Shutdown mode, all DATAx_MSB and DATAx_LSB registers are cleared of conversion data.
The STATUS register (Address 0x18) flags UNREADCONVx monitor the accesses to the DATAx registers.
When the DATAx_MSB register is read, the DATAx_LSB register is updated with the corresponding LSB conversion data, and the UNREADCONVx flag is cleared. If the DATAx_LSB register alone is read, it will not update and will continuously return data corresponding to the last DATAx_MSB register read.
As shown in Figure 58 , if the I2C data readback is delayed, then it is possible to lose older, unread conversion results. Monitoring the UNREADCONVx flags are useful to assess whether data loss is occurring.
A delayed read of previous conversion results can produce the condition in which reading the STATUS register immediately after INTB asserts shows that Channel 0 has no unread data (where the UNREADCONV0 flag is 0), but other channels do have unread data indicated by the corresponding UNREADCONVx flags.