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.

AM4376: Errata advisory 19 workaround

Guru 15520 points

Part Number: AM4376

Hi,

My customer are using Touch Screen Controller of AM4376  as 4 wired resistance TSC.
And they have questions about AM437x errata  Advisory 19 "TSC_ADC: False pen-up interrupts".
The workaround for this advisory are  turning off the strong pull-up of ADC0_AIN0.
So, I guess clearing XPPSW_SWC bit of STEPCONFIG register is the method.
But we have following questions:

Q1. Does strong pull-up of AIN1, AIN2, AIN3 also need to be turned off for this advisory's workaround?

Q2. By the way, what is the purpose of XPPSW_SWC and other xxxSW_SWC?
    There are no description in Technical Reference Manual.
    Should it be set when we want to make touch reaction speed faster?
    If we don't use this function(all xxxSW_SWC bit cleared), what kind of harm would be considered?

best regards,
g.f.

  • The "xxxSW_SWC" bits are used to enable the respective power switches shown in the Analog Front End Functional Block Diagram which can be found in the device Technical Reference Manual.

     

    The switches provide a very low impedance connection to VDDA and VSSA. They are used to apply power to the touch screen at the appropriate time while making required measurements which determines the touch location. When measuring the X-axis position, these switches must be configured to apply power across the X-axis of the screen while using the Y-axis inputs to measure voltage. When measuring the Y-axis position, these switches must be configured to apply power across the Y-axis of the screen while using the X-axis inputs to measure voltage. So these switches are turned on and off as you sequence through your touch screen algorithm.

     

    The AIN0 (for 4-wire) and AIN4 (for 5-wire) have high impedance pull-up resistors that holds the respective input high while waiting for a pen-down event. This input is pulled down to a lower voltage when the screen is touched and this generates a pen-down interrupt.

     

    A charge step was provided as an option to pre-charge the input used for detecting a pen-down event since the high impedance pull-up takes a long time to charge parasitic capacitance in the touch screen. However, the advisory is describing an issue where this charge step generates a false pen-up interrupt. The first workaround is describing an option of having your touch screen algorithm wait for the high impedance pull-up to charge the input rather than using the charge step. The second workaround is describing how to use another step to do the pre-charge rather the charge step.

     

    Regards,

    Paul

  • Hi Paul,

    Thank you for the details.
    I think I almost understand about measuring X-axis and Y-axis,
    but may I ask you again about setup of measuring X-axis and Y-axis to make me sure?

    When measuring X-axis, are following setup correct?
    *********************************************************
    XPPSW - ON (set appropriate bit of STEPCONFIG to '1')
    XNPSW - OFF(set appropriate bit of STEPCONFIG to '0')
    YPPSW - OFF(set appropriate bit of STEPCONFIG to '0')
    XNNSW - ON (set appropriate bit of STEPCONFIG to '1')
    YPNSW - OFF(set appropriate bit of STEPCONFIG to '0')
    YNNSW - OFF(set appropriate bit of STEPCONFIG to '0')
    WPNSW - OFF(set appropriate bit of STEPCONFIG to '0')
    *********************************************************

    When measuring Y-axis, are following setup correct?
    *********************************************************
    XPPSW - OFF(set appropriate bit of STEPCONFIG to '0')
    XNPSW - OFF(set appropriate bit of STEPCONFIG to '0')
    YPPSW - ON (set appropriate bit of STEPCONFIG to '1')
    XNNSW - OFF(set appropriate bit of STEPCONFIG to '0')
    YPNSW - OFF(set appropriate bit of STEPCONFIG to '0')
    YNNSW - ON (set appropriate bit of STEPCONFIG to '1')
    WPNSW - OFF(set appropriate bit of STEPCONFIG to '0')
    *********************************************************

    And I have additional question about charge step.
    If the charg step is disabled in STEPEN register,
    does charging the capacitance of the touch screen will be slow and the responsiveness of the touch deteriorates?
    To avoid this, is using second workaround of advisory 19 will be the best choice?
    By the way, is XPPSW also used for charging the capacitance of touch screen quicker?

    best regards,
    g.f.
  • Your configuration of power switches for each measurement is correct.

     

    The weak internal pull-up resistor on AIN0 will slowly charge the screen when configuring the TSC to check the pen-up/pen-down state. The time it takes to charge the screen depends on the capacitance of the touch screen. I'm not an expert on the algorithms used to performs various TSC tasks, but it appears either method would add time to the pen detect function which may decreases the frequency of updates available as someone is drags the pen across the screen. From my understanding, the method described in the second workaround would insert less delay than the method described in the first workaround. I suspect the delays implemented in the TSC algorithm will need to be optimized for the specific touch screen being used.

     

    Yes, XPPSW is used to pre-charge the screen.

     

    Regards,

    Paul

  • I wanted to mention one other detail that may be helpful.

    When making the X-axis measurement you should be selecting AIN0 as the INT_VREFP source by configuring SEL_RFP_SWC with a value of 1 and selecting AIN1 as the INT_VREFM source by configuring SEL_RFM_SWC with a value of 1.

    When making the Y-axis measurement you should be selecting AIN2 as the INT_VREFP source by configuring SEL_RFP_SWC with a value of 2 and selecting AIN3 as the INT_VREFM source by configuring SEL_RFM_SWC with a value of 2.

    This configures the ADC reference voltages to be the actual voltage applied to the pins which improves dynamic range of the ADC measurement by eliminating voltage drop across the internal power switches.

    Regards,
    Paul
  • Hi Paul,

    Thank you for the reply and I'm sorry for the delay.

    I understood now.
    The detail you sent to me was very helpful.
    Thank you so much.

    best regards,
    g.f.