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.
Hi,
I tried to read a register such as 01h (01h if leave as default setting will be FFh) from an ADS8688. The data return from the register always missing the last bit (Always = 0). I looked on the scope and saw that SDO line response right after the 16th falling edge of the clock and end at the same time of the falling edge of the 24th clock. Hence, the MCU always see that as 0 from the MISO.
Another scenario, I tried reading register 05h which I configured with 05h (binary = 0000 0101), what I received was 0Ah (0000 1010)
I tried reading register 05h which I configured with 06h (binary = 0000 0110), what I received was 0Ch (0000 1100)
This time, the received data is shift left by 1.
Is this a normal behavior of the ADS8688 or it is the issue of the MCU I'm using ?
Thanks.
Hi Dong,
What's the Phase and Polarity you configured for SPI from MCU? Can you upload the timing you got from scope also schematic? thanks.
Best regards
Dale
Hi Li,
I have tried CKPOL = 0 and CKPHA = 1, CKPOL = 1 and CKPHA = 0, CKPOL = 1 and CKPHA = 1. Those cases, I would be able to communicate with the ADS8688. And all the data I received are the same for any of those case.
Picture is showing when I request to read register address 01h. The data I go is FEh (11111110)
line 1 = CS
Line 2 = SDO
Line 3 = SCLK
Hi Li,
As I mentioned, I have also tried with CKPOL = 0 and CKPHA = 1. The receive SPI register always give the data equal to FEh.
According to datasheet figure 1, the require tHT_CKDO has minimum of 10ns. The graph showing the SCLK and SDO lines are falling at the same time and that could be the reason the MCU don't catch the last bit.
Hi Dong,
The graph you uploaded here is showing CPOL = 0 and CPHA = 0, it's not CPHA = 1, so they are falling at the "same" time. Please check again.
Best regards
Dale
Hi Li,
I'm just testing the ADS8688 on a breadboard with few coupling capacitors tied to the AVDD, DVDD and reference.
I did not enable the weak pull up resistor on the SDO line. I don't know if this could be the reason the SDO line falling too quick. I will try it.
Hi Mac
I'm not using the STM32F3 MCU. I'm using C8051F120 MCU from Silabs. However, this is how I configure the 8051 and I believe the concept should be the same for your MCU.
In my case, I select the MCU to be 4-wires Master mode.
CPOL = 0 and CPHA = 1,
SCLK, SDI and NSS pins should be configure as Push-Pull output.
SDO must be configure as Open-Drain. If your MCU has a weak-Pull Up enable, make sure you disable it.