Other Parts Discussed in Thread: ADS8688, SN74HCS72
Hello all,
I experience some issues with ADS8684 (same device than ADS8688 but with only 4 analog inputs). The SDO lines is moving very quickly just after the falling edge of the SPI clock. It's so closed with the clock that my SPI master is not properly reading the data transmitted on SDO.
I have capture some screenshots with my Saleae logic analyser which is showing similar issues. Below I'm trying to read register 0x01 (AUTO_SEQ_EN) after power up of the device.
The logiciel analyzer displays the data on SDI and SDO lines:
- SDI = [0x02, 0x00, 0x00] => correct
- SDO = [0x00, 0x01, 0xFF] => not correct. Sometimes this is [0x00, 0x01, 0xFE], still not correct.
Here is a detail at the green mark at the end of the 3 bytes from ADS8684 device:
We see the SDO line is changing 41ns after the falling edge of the clock !! Sometimes this is so much closed that the logic analyzer is not making the difference and I'm able to see SDO changing at the same time.
Do you know why it's changing so much quickly after the falling edge? I was thinking the line should change at the rising edge of the clock to avoid issues, but it seems that's not what the ADS8684 is doing....
I you have used this device, have you experienced this kind of issues? How have you solved them ?
My configuration:
- SPI master is a Linux target with spi-gpio driver (this is not a true SPI peripheral, it's driving GPIOs, this explains the clock is not very accurate)
- SPI MODE 1 (CPOL = 0 and CPHA = 1, because it's required for this device).
- Logic analyzer sampling frequency at 24MHz.
Thanks,
Joel