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.

DS90UB949-Q1: INTB is high when 948 INT_IN is low

Part Number: DS90UB949-Q1

Hi team,

customer use 949 +948 →touch

when touch trigger a interupt, the INTB_IN of 948 is low, REM_INTB of 949 is Low, but the INTB of 949 is High, which result in the SOC don't get touch data.

they have set 0xC6=0x21. can you give some suggestions? thanks.

  • Hi Betty,

    Can you read register 0xC7 when there is an interrupt from the 948? Also can you apply a digital reset after setting 0xC6 and test the interrupt again? you can do this by setting register 0x01 bit 0 to 1.

    Regards,

    Michael W.

  • i set 0x01 ->0x01 and 0xc6 ->0x21 when the INTB of 949 is High,the INTB of 949 change to low, touch turn to OK.

  • Hi,

    So the INTB pin is now working as you expect it?

    Regards,

    Michael W.

  • no , i do not set 0x0 in Interrupt handling function。i want to know why ti949 INTB do not lowlevel when ti948 INT_IN is high? What are the reasons for this?

  • Hi Michael,

    No, it didn't fix customer issue. even they set 0x01 ->0x01 and 0xc6 ->0x21 when the INTB of 949 is High,the INTB of 949 change to low, touch turn to OK, but it will bring another problems:

    1. we didn't know when occur interrupte problem, so they don't know when to set reg 0x01 and reg 0xc6.

    2. if customer set reg 0x01 and reg 0xC6 every time, the display will be flash.

    we still need your help on below:

    1. what condition will cause this INT issue that the INTB_IN of 948 is low, REM_INTB of 949 is Low, but the INTB of 949 is High.

    2. why read reg 0xC7 can't clear interrupt?

    3. if reset 0x01=0x01, display will flash, because it digtal reset. any other solutions

    thanks.

  • Hi Betty,

    can you get me a register dump of the 949 and the 948 when the touch controller is reporting an interrupt?

    Regards,

    Michael W.

  • Hi Michael,

    give you ti949 and ti948 

    console:/ # i2cdump -y -f 2 0x0c  register dump,follow:
    No size specified (using byte-data access)
    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    00: 18 00 00 da 80 00 68 94 94 00 0d 00 07 25 00 03 ?..??.h??.?.?%.?
    10: 00 00 00 cd 00 01 fe 1e 7f 7f 09 00 00 00 01 00 ...?.??????...?.
    20: 0b 00 25 00 00 00 00 00 01 20 20 a0 00 00 a5 5a ?.%.....? ?..?Z
    30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    40: 14 55 00 00 80 00 00 00 00 00 00 00 00 00 00 01 ?U..?..........?
    50: 97 a1 1e 00 a9 0c 00 00 00 00 cd 20 02 06 44 8a ???.??....? ??D?
    60: 22 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 "?..?...........
    70: e6 40 46 70 00 00 00 e6 40 46 70 00 00 00 00 00 ?@Fp...?@Fp.....
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    c0: 00 00 a8 00 68 38 21 00 c0 00 00 00 00 00 ff 00 ..?.h8!.?.......
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    e0: 00 00 a8 00 68 38 21 00 00 00 00 00 00 00 00 00 ..?.h8!.........
    f0: 5f 55 42 39 34 39 00 00 00 00 00 00 00 00 00 00 _UB949..........

    i2cdump -y -f 2 0x34
    No size specified (using byte-data access)
    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    00: 68 04 00 78 02 1e 00 18 94 e6 40 46 70 00 00 00 h?.x??.???@Fp...
    10: 94 e6 40 46 70 00 00 00 00 01 00 00 3b 19 99 05 ??@Fp....?..;???
    20: 00 09 40 20 08 00 83 84 19 00 00 00 00 00 00 00 .?@ ?.???.......
    30: 00 00 90 25 01 00 00 8c 00 00 00 02 20 e0 23 00 ..?%?..?...? ?#.
    40: 43 03 03 00 60 88 00 00 0f 80 00 08 00 00 63 00 C??.`?..??.?..c.
    50: 03 10 00 01 80 00 00 00 00 3f 20 20 00 00 00 00 ??.??....? ....
    60: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 ....?...........
    70: 00 00 00 07 07 08 00 00 00 00 00 6d 02 00 00 00 ...???.....m?...
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    a0: 00 00 7d 00 00 00 00 00 00 00 00 00 00 00 00 00 ..}.............
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    c0: 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 ........?.......
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    f0: 5f 55 42 39 34 38 00 00 00 00 00 00 00 00 00 00 _UB948..........

  • Hi,

    Are you reading from register 0xC7 in your code, if so please remove these reads, because these reads will clear the interrupt?

    Was the dump you sent me a dump when there is an interrupt?

    Can you probe the INTB pin?

    Regards,

    Michael W.

  • hi

    If i do not read C7 register, TI949 INTB will always be low level, so the interrupt processing function will always be running, which is certainly unreasonable. If I don't read C7 register, how can I set it to get ti948 interrupt information in time?

  • Hi,

    Yes, but you are not supposed to read register 0xC7 until INTB goes low. The usual procedure is: INTB goes low. MCU triggers an interrupt to read 0x37 to see what interrupt was triggered. Then the MCU responds to the specific interrupt.

    Regards,

    Michael W.