This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TSC2007: TSC2007 not responding even after implementing POR

Part Number: TSC2007
Other Parts Discussed in Thread: BQ2000, , BQ32000

Hi,

I am interfacing a 4-wire touchscreen with my microcontroller. I am using TSC2007 touchscreen controller with I2C. As a test, I am trying to simply read the X coordinate by issuing the command 0xC2. The problem is the chip seems to not respond to the basic address 0x91(Read cycle) call, However, the PENIRQ pin goes low on every touch, but there is no data on the SDA line. The code does not have any issue because I tried the same code with the RTC module BQ2000(different address), and it worked well. I have also been through several forums and understood that there was a possible POR issue that needs to be addressed. As per the application note sbaa161, I introduced a power on delay from 300 ms to 500ms, to test if the chip communicates, but failed. I have used a pullup resistor of 2.7k on SCL and SDA lines only, as per the device datasheet.

What am I doing wrong here?

  • I solved this issue myself. The problem was that the chip TSC2007 failed to communicate even at the standard I2C speed of 100kHz. So, I had to implement bit banging in order to slow the communication to around 10kHz initially to communicate with the chip. If my master's I2C hardware had issues than it would not have communicated even with BQ32000 at 100kHz.
    TI should look into this issue, since I observed in this forum, that the chip communicated even at 100kHz for some users, while some users had to stretch SCL. This effects the development time.
  • Hello,

    I am glad you were able to get the device working. The part will support 100kHz up to 3.4MHz communications, but there may have been a subtle timing difference. It is also possible that the rise/fall times on the bus were not meeting spec as well. In either case, it seems like you have a working solution.

    Regards,
    Keith N.
    Precision Data Converters