I am using the ADS1118 ADC on a custom board, running at 5V/3.3MHz SPI. I am using it in Single-Shot Mode, alternating between a differential input measurement on AIN0:AIN1 and an internal temperature measurement.
The issue I'm seeing is when switching inputs and starting a new conversion, following which I'm polling nDRDY to see when the conversion is complete. Intermittently (maybe 1 in 10 samples) the ADS1118, following #CS going low, will indicate that a new result is ready when only ~2us have passed (running at 128SPS, this is *much* quicker than a result could actually be ready.) As well, when this happens the data result retrieved for the new conversion exactly matches the previous conversion, again confirming that another conversion was not actually run. Below is a screenshot of the SPI interface showing this issue occurring:
The issue is in the grey circle, where nDRDY goes low with #CS indicating that a new sample is ready, when it obviously isn't.
Interestingly, in the exact same failures I've noticed that sometimes the nDRDY signal will appear to respond following #CS going low and prior to the first edge on SCLK, this is shown circled here:
And shown in more detail here:
It looks like the ADS1118 might be trying to indicate that a sample isn't ready, but it has already pulled nDRDY low for ~2us, much much longer than the t(CSDOD) spec of 100ns in the datasheet.
I'm at a loss to explain this behaviour as all timing specifications seem to be met. There seem to be no errata for this device, so I'm not sure if this is a known issue. After perusing other related questions on the ADS1118, the only interesting tidbit is a comment on a 20us delay when running in single-shot mode made by Krunal Maniar from TI here:
I'm really interested in hearing any thoughts as to why this may be occurring, as well as any possible resolutions!