Part Number: ADS131E08
Long story short, I am able to write to the CONFIG registers and read them back. But when going into RDATAC mode, the ADC does not report correct data when sampling. Every channel gets stuck at one value and consistently repeats that value on every DRDY falling edge cycle.
At this point I am unsure If I set something up wrong the PDK dev kit on the analog side. Or if there is a config setting issue so the ADC is getting hung.
I am using the ADS131E08-EBM-PDK Kit. I have the top board removed and the SPI signals, DRDY and reset input are wired an FPGA Development kit.
The ADS131E08 Dev kit has 5V to power the board and 3.3V provided for the DVDD rail as well. The 3V unipolar analog supply is chosen with the jumpers. The external oscillator is enabled and 2.5V is connected to VREFP for use as an external reference. I have +1.25V connected across channel 1 and the rest of the inputs are left floating.
The FPGA uses a 80 ns SCLK and follows the TCLK delays asked for in the datasheet. I split everything into 8 clock cycles and inserted TCLK delay after each byte. The SCLK only runs during the write/read cycles.
The process I am following to enable the ADC is:
Another observation I had, is when I read the ADC outputs the next registers data on the next SPI cycle when asking to only read one channel. It doesn’t affect me, but it seems like this is faulty behavior of the ADC.
I have included some marked up screenshots that show a successful config read, the strange next registers data on the next CS cycle and the ADC sampling.
Thank you for your post.
Your startup routine seems correct. I assume that the registers to which you are not writing are left alone as defaults? Can you please do a complete register read to confirm? The voltage that is converted by the ADC channels is dependent on that channel's MUXn[2:0] setting (see CHnSET register).
When you apply an input voltage to any of the channels, it is important to maintain the input common-mode within the range given in the data sheet. The common-mode is the average voltage seen on both INxP and INxN and is typically held near mid-supply. What is connected to IN1N in your test?
Applications Engineer | Precision ADCs
Are you working on a bio-potential application? Check out these helpful resources: ADS129x BIOFAQ | ECG Online Training
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Ryan Andrews:
You are correct, I am leaving the other registers as defaults. As for the IN signals, i have AVSS tied to the negative input and 1.25V connected to the positive input. I tried this on channels 1 and 2. If I measure INP with respect to INN it measures 1.25V. If I measure INP with respect to AVSS I measure 1.25V. If I measure INN with respect to AVSS I measure 0V. AVSS is tied to AGND as well in this unipolar dev kit situation. I don't see an issue with common mode voltage here. I don't see a change in the read back values if I remove the 1.25V or increase/decrease the 1.25V, it always comes back with the same wrong value.
Another data point to mention that I didn't have earlier in the post. The DRDY signal is pulsing at 1KHZ as expected.
I went ahead and read all the the registers. The CHnSET registers are coming back correct as 0x10. Here is an example of a correct read:
I am finally seeing something strange here with the ID Register. Every other register looks correct expect this one for default. I am getting back a 0xBC, which shouldn't be possible (datasheet says 0xD2). The upper nibble is right, but the lower nibble doesn't amount to anything. I saw other posts on the forum that complained about the ID register coming back as 0xD0 (in 4-channel mode). This doesn't appear to be the same issue since both nibbles are incorrect. Bit 6 should be high and Bit 5 should be low, but they are reversed. Also bits 3 and 2 in the lower nibble should always be 0 and I am reading back a 1 on each of those bits. Let's say it was in 4 channel mode, Channels 1 and 2 should work, which isn't the case.
The ID is wrong, while everything else is working so I am starting to wonder is this converter somehow powering up in some factory test mode?
In addition, I have reviewed the power up timing, since some of the forums talk about that, and the timing is met with margin. Here's what i am doing:
Here's the faulty ID read:
In reply to Tony Spagnolia1:
Generally, the ID register reads back incorrectly when the POR (power-on reset) procedure is not followed. However, it seems like you are doing it correctly by waiting for the supplies to ramp and issuing a RESET pulse. The internal default oscillator (CLKSEL = 1) is 2.048 MHz, so 1 us should be plenty for the device to recognize the RESET pulse. There is no need to hold the PWDN pin low using the jumper while the supplies ramp, but it should not have any impact.
Have you tested other devices to see if the behavior is consistent? If you restore the EVM back to factory default jumper settings and pair it with the MMB0 motherboard that shipped with it, does the EVM software read back the same ID value?
I moved onto using the software and the motherboard as you suggested. Unfortunately, the software isn't able to read any of the registers correctly. I am not sure if I have a jumper settings or if I have a bad board.
I did verify that the motherboard is sending the CS/SCLK and DIN lines. I tried resetting, powering down, re-installing the software but continued to receive the same results.
My jumper settings are (I believe these are the default):
This was the the value after the tool loads up and syncs:
Then this is the value after I run the Refresh registers command:
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.