Part Number: ADS8698EVM-PDK
I have connected the signals /CS, SCLK, SDI and SDO correctly, but I only read zero´s from the ADC on all channels.
What could be a reason for that? Are there any further connections that I should make?
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.
Part Number: ADS8698EVM-PDK
I have connected the signals /CS, SCLK, SDI and SDO correctly, but I only read zero´s from the ADC on all channels.
What could be a reason for that? Are there any further connections that I should make?
Now that you have established communication with the device, the timing requirements need to be confirmed. A screenshot of the digital lines would be the most helpful to see what is going on, including CS, SCLK, SDO, SDI.
This device will have a bias votalge, 2.5V present when the inputs are left floating. You can either ground the inputs or use a DC input to test the device by reading the conversion results. Using a known DC input signal will make it easier since you have an expected result to compare to the actual conversion results the device gives.
Another way to make sure communications are correct, is writing to the registers, then reading those same registers to make sure they were programmed correctly. Being able to successfully do this ensures correct timing
Keep in mind the timing requirments needed for this device, a timing diagram is shown below and can be found in the device datasheet
I understand.
If I provide no signal on a positive input on channel 0 for example, I measure indeed 2.4933 V.
At the moment I use the default +/- 2.5*vref mode, but I'am struggling to change the input range.
After I tried to change the input range of channel 0, I measure 0xFFFF.
Unfortunately we do not have sample code.
What is the input range you are trying to use? If you are able to read data out, writing and reading registers should not be too far out to accomplish.
Page 48 of the datasheet explains how to write and read to the registers. If you could provide a scope shot of the digital lines. You will need a CS pulse that is 24 SCLKs long, though the register is 16 bit register. The first 7 bits will be the registers you want to look at, in this case, 0x05, selecting channel 1 (page50). The following bit is the write or read to this register, here to write, Bit 8 will be high to write. The rest of the bits will be to set the input range, depending on what range you want to set page 55 explains this. Note that bits 7 to 4 will always be 0x0h, the remaining four bits will be the setting.
After performing this, I would suggest reading the registers to make sure this was done successfully.
The timing diagram below can be found on page 48 of the datasheet followed by a read cycle example.
Regards, Cynthia
At the moment I use the default input range and I get the right result from the measurement I made.
If I want to change the input range, I didn´t get the right result anymore.
I send the following commands to change the default input range (+/- 2.5 * vref) to (0 to 2.5 * vref):