2018-11-04 10:20 PM
We have been experiencing reliability issues with the touchscreens on the STM32F746G-DISCO Discovery board; on some boards the touchscreens stop responding. This is not software related as the problem occurs with our custom application, the ST demo application and the mbed touchscreen demo https://os.mbed.com/teams/ST/code/DISCO-F746NG_LCDTS_demo/. The problem occurs at colder temperatures (15C) and goes away in some boards after they "warm up".
The mbed touchscreen demo occasionally gives the following result in boards with the touchscreen problem.
ST technical support have had one of our boards with this issue for six months and have finally advised that they "couldn’t find anything conclusive during investigation".
Has anyone else had the same problem? Was a fix identified?
2018-11-04 11:59 PM
I know that this won't help you, and I know that a low-volume manufacturer has little choice, but this is a typical far-eastern "integration" product, with little data and lots of disclaimers.
Temperature dependence might hint towards problems with the internal oscillator of the touchscreen controller (FT5336 if I deciphered it correctly from the drivers https://os.mbed.com/teams/ST/code/BSP_DISCO_F746NG/file/df2ea349c37a/Drivers/BSP/Components/ft5336/ft5336.c/ ). Try using a longer reset pulse (I assume it's connected to the display's reset signal) and lowering the I2C data rate.
The RC oscillator(s) of 'F7 are also temperature dependent... and so are the pin driving transistors, so maybe playing with the OSPPEDR may also make some difference (although this does not sound very plausible, unless they are set to either too low and the pullup resistors are too weak; or too high when reflections or crosstalk on longer cables may throw the I2C controller off).
Try to make the touch driver more robust by properly resolving (and/or logging/displaying) all I2C errors and unusual controller responses.
Observe the I2C signals with oscilloscope.
JW
2018-11-05 10:39 PM
Thanks Jan for your good insights. We will investigate the I2C and post our observations.