GT911 I2C SDA stays low

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

GT911 I2C SDA stays low

Jump to solution
239 Views
SpeedyGonzalesss
Contributor III

Hello,

I am using GT911 Touch driver with NXP i.MX RT1176. I communicate with GT911 via I2C. I have 2.2k pull-up resistors on my SDA and SCL pins. RST and INT pins are directly connected to GT911. (Even if I remove the pull-up resistors, the problem below does not go away.) Baudrate : 100kHz

GT911 init process is completed successfully. There is no problem with the receive and send functions. There is a callback function to read data on the touch panel. This function is called 33 times per second. There is no problem with the first communications. But after a while, the SDA pin, which goes from high to low only after touching and then returns to high, is pulled to low and does not return to high again. During this process, the RST pin is always high. Although the INT pin remains high, it also remains low at the first touch after the SDA remains low. If I increase the baudrate from 100 kHz to 200, the time for the SDA pin to go low becomes longer and it works correctly for a longer time. How can I solve this problem? Or how can I understand the source of the problem? If you need different information, I can share it.

Yellow: SDA

Blue: INT (low position and pulse, it seems like green)

Green: CLK

Purple: RST

SpeedyGonzalesss_0-1713442041720.png

 

 

 

 

 

 

0 Kudos
1 Solution
200 Views
SpeedyGonzalesss
Contributor III

There is a new development: This project is a multicore project. I2C communication is controlled via the M7 processor. If I cancel multicore and run only M7 core, there is no problem. The SCL period works properly as 10 us. However, if I run it as multicore with M4, the SCL period decreases to less than 800ns at first startup and after a while the GT911 pulls the SDA to low. Why might the period be decreasing when working with M4?

View solution in original post

Tags (3)
0 Kudos
1 Reply
201 Views
SpeedyGonzalesss
Contributor III

There is a new development: This project is a multicore project. I2C communication is controlled via the M7 processor. If I cancel multicore and run only M7 core, there is no problem. The SCL period works properly as 10 us. However, if I run it as multicore with M4, the SCL period decreases to less than 800ns at first startup and after a while the GT911 pulls the SDA to low. Why might the period be decreasing when working with M4?

Tags (3)
0 Kudos