I2c 2 stop signal error on imx 51 evk with wince 6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

I2c 2 stop signal error on imx 51 evk with wince 6

1,119 Views
謝端桂
Contributor I

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

I2C FAIL.jpg

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

Labels (2)
0 Kudos
5 Replies

913 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

913 Views
謝端桂
Contributor I

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

0 Kudos

913 Views
igorpadykov
NXP Employee
NXP Employee

Hi Victor

seems this is caused by i2c touch ic,

one can try to use more faster device.

~igor

0 Kudos

913 Views
謝端桂
Contributor I

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

0 Kudos

913 Views
igorpadykov
NXP Employee
NXP Employee

Hi Victor

you can remove i2c devices from bus to find

which causes this effect

~igor

0 Kudos