The following discussion concerns the ADS8328 16-bit A/D converter, as found on the TMDXMDKPO8328 pulse oximetry analog front end (AFE) module. If this is not the appropriate forum for this topic, then I apologize in advance.
In short, I have reason to believe that the input multiplexer of the ADS8328 is not functioning, and that only channel 0 is sampled (as per the ADS8327).
This problem first came to light when I examined the serial output from the 5515EVM pulse oximetry demonstration application. Pulling the data into MATLAB, it became obvious that the data for the R and IR channels was identical for each and every sample. Whilst I would expect them to be in close agreement (given the scaling criteria that are applied to the signals in the 5515EVM codebase), there is no way that they should be EXACTLY the same, ALL THE TIME. I have included a graph below so that you can see the two signals for yourself.
Now, due to the fact that the 5515EVM codebase is currently unable to be compiled using CSS v4, I have gone ahead and rolled a new pulse oximetry solution (still using the AFE) on a Cypress PSoC5 development board. This also reports identical values for channels 0 and 1 (using manual channel selection) of the ADS8328, despite the fact that I can see that the input values are wildly different using a multimeter.
As I am unable to generate a 17th clock bit using my current SPI implementation, I am unable to read the channel tag bit. Likewise, it is not possible to determine which input channel is selected by reading back the CFR register. I do read it back however, just to verify that my SPI implementation is working correctly, which it is.
Is this a known problem with the ADS8328? Should I simply order another AFE in the hope that the problem lies with the specific ADS8328 I am working with? Any advice on this issue would be greatly appreciated.