Dear all:
I use i2c 2 to communicate with a touch ic. I use i2c analyzer to log i2c transmission.
Sometimes the i2c didn't send stop signal after write transmission is complete.
I also use the oscilloscope to log i2c waveform, the ending waveform is SDA( Low -> High), SCL(Low), The waveform show as below
But the normal i2c stop signal is SDA(Low->High), SCL(High).Does any solution to solve problem?
Does it effect i2c2, if I use dvi display driver?
best regards,
Victor
Hi Victor
reasons of such behaviour can be explained in sect.
sect.40.4.5 Handshaking, Clock Stretching i.MX51 Reference Manual
http://www.freescale.com/files/dsp/doc/ref_manual/MCIMX51RM.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igorpadykov:
I read the reference_manual, but still have no idea to solve this problem.
I try to add sleep into imx51 evk i2c driver before generate i2c stop signal, it does work.
But this solution caused peformance down, Does any suggestion?
best regard,
Victor
Hi Victor
seems this is caused by i2c touch ic,
one can try to use more faster device.
~igor
Hi igorpadykov:
Our i2c touch ic is in 400K, I print debug message in imx51 i2c driver, the i2c bus is still busy after generate stop signal.
best regards,
Victor
Hi Victor
you can remove i2c devices from bus to find
which causes this effect
~igor