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.

TSC2046: Sometimes PENIRQ not response

Part Number: TSC2046

Hi.

My customer using TSC2046.

But they have a critical issue about PENIRQ.

According Reference FW,

1. Initialize and write 0x90 and read (Y-axis read and PENIRQ enable)

2. PENIRQ Check by timer

3. If PENIQR is still high, re-check PENIRQ state.

4. If PENIRQ is low, 0x93 (Y-axis read and PENIRQ disable) => 0xD33 (X-axis read and PENIRQ disable) => 0x90  (Y-axis read and PENIRQ enable)

They using same FW, but sometimes PENIRQ not response.

When there is touch input, cannot recognize.


I attached schematic and reference firmware.

Please let me know how to fix this.

 4431.tsc2046_reference_firmware.zip

  • Hi Jung,

    We are looking into this and will get back to you.
  • Dear Evan,

    Thanks.
    Please let me know ASAP.
  • Hello SS Jung,

    On the schematic the PENIRQ pin does not need a pull up resistor.

    For step 4 of the listing you provided can you change it to:

    4. If PENIRQ is low, 0x90 (Y-axis read and PENIRQ enable) => 0xD0 (X-axis read and PENIRQ enable) => 0x90 (Y-axis read and PENIRQ enable)

    to see if that helps. The TSC2046 will disable the PENIRQ automatically when making a measurement. There may still be a false trigger on the PENIRQ pin so the micro should mask the PENIRQ pin when a measurement is being made.

    Mike
  • Hi Michael,

    I checked and tested upper your opinions.
    But also intermittently PENIRQ is not recognized.

    And I have another question.
    My customer already using the TSC2046 to another B project.

    A project has 10.1" touch panel. ==> this project has PENIRQ issue.
    B project has 7" touch panel.

    B project using internal reference voltage.
    A project using external voltage 3.0V.

    A project has another issue about touch.
    Sometimes touch sensing value is jumping.
    Especially if using internal reference, touch sensing value jumping case is more than using external reference voltage.
    So we added external reference voltage, but sensing value is sometimes jumping.
    B Project does not have this problem.

    Is TSC2046 support 10.1" touch?

    Please let me know another solution about PENIRQ and sensing voltage jumping issue.
  • Hi SS Jung,

    What differences are there between the 7" and 10.1" panel? Does the 10.1" panel have a much larger or smaller resistance?
    The jumping may be caused by noise. Does the 10.1" panel have a backlight or something else that can be causing more noise? This can be helped by adding capacitors on the input. See page 12 of the datasheet and document sbaa155.pdf. How is the layout of the board? See document slaa560.pdf for help with the PCB layout.
    Another experiment they can try is connecting the 10.1" panel from project A into project B (in place of the the 7" panel). Does the 10.1" panel work well in project B?

    Mike
  • Hi Mike,

    Fundamentally, schematic is same.
    But external VREF is added for 10.1' panel (Project A) because jumpung issue.
    Result of adding external VREF, jumping symptom is decrease but still exist.

    I do not know exactly resistance of panels, but I think 10.1" is more resistance than 7".
    How to know resistance of panel?
    I will check sbaa155.pdf and slaa560.pdf.

    And PENIRQ working issue is urgent.
    Please let me know another solution or hint for debugging.

    SW Sequence is below.
    1. Initialize and write 0x90 and read (Y-axis read and PENIRQ enable)
    2. PENIRQ Check by timer
    3. If PENIQR is still high, re-check PENIRQ state(repeat 2).
    4. If PENIRQ is low, 0x93 (Y-axis read and PENIRQ disable) => 0xD33 (X-axis read and PENIRQ disable) => 0x90 (Y-axis read and PENIRQ enable) or
    0x90 (Y-axis read and PENIRQ disable) => 0xD33 (X-axis read and PENIRQ disable) => 0x90 (Y-axis read and PENIRQ enable)

    PENIRQ's PU resistor is removed.

    But somtimes PENIRQ is not working, I thinks PENIRQ is not detected.

    Thanks.
  • Hi SS Jung,

    Were you able to try the experiment of switching the touchscreens between project A and B?

    The 10.1" touchscreen may require more force than the 7" touchscreen. Are you sure that it is being pushed hard enough each time. If it is a stiffer screen, it would not show a touch if the two planes do not contact each other.

    MIke
  • Hi Mike,

    We are pushing hard enough.

    Touch is recognized, but sometimes touch is recognized a neighboring space.

    We using 10.1" touch panel and this is 1024x600 resolution and 255x127mm.

    Touch panel section is below image and smallest section is 72x72 pixels and 15x15mm.

    For example, when I push the A section, but B section is recognized.

    How can I fix this?

    We using reference firmware and attached the file. Please refer that.

    2570.tsc2046_reference_firmware.zip

  • And PENIRQ working issue is urgent.
    Please let me know another solution or hint for debugging.

    SW Sequence is below.
    1. Initialize and write 0x90 and read (Y-axis read and PENIRQ enable)
    2. PENIRQ Check by timer
    3. If PENIQR is still high, re-check PENIRQ state(repeat 2).
    4. If PENIRQ is low, 0x93 (Y-axis read and PENIRQ disable) => 0xD33 (X-axis read and PENIRQ disable) => 0x90 (Y-axis read and PENIRQ enable) or
    0x90 (Y-axis read and PENIRQ disable) => 0xD33 (X-axis read and PENIRQ disable) => 0x90 (Y-axis read and PENIRQ enable)

    PENIRQ's PU resistor is removed.

    But somtimes PENIRQ is not working, I thinks PENIRQ is not detected.
  • Hi SS Jung,

    I think this may be an issue with the touchscreen.  It may for some reason not be able to work with the TSC2046.  If you are having trouble with detecting touches you will also be having trouble with PENIRQ.  It cannot issue a PENIRQ if the touches are not be detected. 

    One of the ideas I suggested was to swap touchscreens.  Have you tried doing that yet?  You have a system that works with a smaller touchscreen, have you put the larger touchscreen in that system?  Does it work ok?

    Have you tried putting the smaller touchscreen into the system that doesn't work?  Doing these experiments can tell you whether it is something in your system or if it is the touchscreen causing the problem.

    Mike