On 15/11/15 15:42, Grant Likely wrote:
On Sat, Nov 14, 2015 at 12:15 PM, Srinivas Kandagatla srinivas.kandagatla@linaro.org wrote:
Hi Lawrence,
Thanks for the detailed explanation.
I have done few experiments with 16mA drive strength on Grove Gesture, Grove Digital light sensors and LCD RGB backlight. I hit 2 issues.
Issue 1: (With Digital Light sensor (0x29)) 10K on board pull up:
With the Rev A sensor board what Am seeing is a cross talk between SDA and SCL. The spikes are too high that the ACK is not detected by the master.
Attached are some waveforms to confirm this In the "Not-Detected-Cross-Talk-(0x29).BMP" waveforms we can see spikes which are at the rising edge of the clocks which is worst in the ack clk cycle.
I repeated same experiment by splitting the SCLK out of the Grove ribbon cable. "Detected-with-Split-Cable(0x29).bmp" has the captured wave form. Now the slave gets less spikes and the master can detect it.
Quick read on the internet suggested that the layout of the tracks or the ribbon cable which exceeds 10cm should be something of below order:
SDA - VDD - VSS - SCL
This arrangement would avoid cross talk between SDA and SCL. Grove connector cables are definitely in the order which are prone to cross talk. Not sure if we can fix though :-)
Are we taking care of this at layout level?
References: http://www.nxp.com/documents/user_manual/UM10204.pdf ( Section: 7.5 Wiring pattern of the bus lines)
Am not sure if Rev B is taking care of this or Is it possible to compensate such thing if external ribbon cables are in wrong order?
Issue 2: (With Gesture sensor) 2.2K on board pull up:
I cant detect this sensor, Possibly it might be a faulty one. Waveforms look normal. Will continue to debug with other devices.
Can you show a waveform of the ack cycle? I'd like to know how low the sensor is driving the data line.
In this case the slave does not respond with the ACK which made me believe that the slave might be faulty. Attached is the wave-form for the same.
I will try the same slave with other boards to verify.
Thanks, srini
g.