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.

ADS1294/ADS1298 data corruption problem

Other Parts Discussed in Thread: ADS1298, ADS1294

Dear Technical staff,

I run into a weird problem that the acquired data from ADS1294 will get corrupted after running normally for 20-30sec. I did not encounter this problem while using the complete evaluation kit. However, when I tried to use a PIC24F microcontroller (MCU) to interface with the ADS1298 daughter board, such an event occurs. One mystical solution I find is to supply the DVDD with a Agilent power supply at 3.3V instead of using a 3.3V DC adapter.

At that time I was thinking maybe the problem arises from the poor wiring and/or grounding, I therefore go ahead designing a custom PCB. To my surprise, the custom board gives even worse results. I could not get rid of the corruption problem at all. I wonder if you have experience tackling this problem.   

Attached is the schematic for the circuit. I later on figured out that the GPIO ports should be grounded if used as inputs. I therefore programmed them as outputs during the startup. I am pretty sure the MCU read/write the data correctly. I could configure the register without a problem. I also checked the DO of the ADC using oscilloscope. The SPI output indeed changes as corruption occurs.

The following are my debug history. All these measures failed to solve the problem. Please advise if any other method can be attempted to make the ADC work.

(1) I designed the board to have split ground plane across the ADC, but left the option to connect them together near the ADC. Both grounding methods are tried.

(2) Lower the SPI baud rate from 500kHz to 100kHz.

(3) Insert a  100 ohm series resistor on the SCLK line.

(4) Add an RC/RL filtering at the DVDD.

(5) Toggle CS line at each read cycle (250Hz SPS).

(6) Set DVDD at 3.3V and 2.5V.

(7) Configure the channels as normal electrodes, input short or test signals.

 

  • Hi Paul,

    Don't know if you solved your problem already, but if it helps, I solved a similar problem I had. The solution was actually to keep the SPI clean when your reading or writing to it. For example, If you're writing you have to specify a dummy character (could be 0) to be read. The same goes if your reading; if your reading MAKE SURE that you write 0 during transmission. If you don't specify it, there exist the probability of accidentally sending the SDATAC command and stopping data conversion. So, Keep SPI clean.

    Hope it helps.

    Best regards,

    Santiago