Hi Khoi, Is hard to say what might be be happening without fulling understanding your input circuitry. If you have schematic you could share it would be helpful. Unfortunately, I was not able to access the google drive link you posted in a previous thread. From first glance it looks sporadic cross-talk or data corruption. Some possible causes may include: Data formatting. The jumps from 0 to full-scale could be from treating the data as unsigned. The ADS1256 produces signed data, so its very common to see data around 0xFFFFFF (-1), 0x000000 (0), 0x000001 (1). If not converted to a signed decimal value then it may look like the data is jumping between zero and full scale. Reading data before a conversion has completed. If data is read and re-read before the /DRDY falling edge, then you may be getting the same conversion result duplicated on both channels. Since CH1 and CH2 tend to jump to the value of the previous channel you might be reading the same data twice. Also seeing CH2 max out the ADC's input range has me a bit concerned how high the input voltage to CH2 is actually going. Do be sure that the PSU voltage and current is limited so as not to damage the ADC. Current should be limited to 10mA in case of over-voltages. I'd recommend trying a couple of different tests for troubleshooting... Try measuring a single channel without multiplexing and seeing if this behavior is still occurring. If it goes away, then likely it is a digital issue. If it doesn,t then there might be some kind of cross-talk or real analog effect. Try using a slower data rate and see if the error goes away. If so then it might be related to data corruption. Keep the voltage on CH2 constant and see if the cross-talk occurs with only a DC signal.
↧