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.

Touchscreen controller reset

Is there a way to reset the touchscreen controller independantly from the rest of the system? I have 2 situations where the touchscreen controller becomes unresponsive and would like some way to restart it.

The controller occasionally locks up when being hit with 15KV ESD testing (we have TVSs fitted and a reset will clear the problem).

In trying to program around the above I've also hit upon a method of stalling the controller (FSM_BUSY stays high and the controller stops working) by turning off the Enable bit and enabling Power_Down in the CTRL register whilst a measurement is in progress. Only a hard reset seems to clear the condition.

  • Hello,

    To reset the TSC, you simply need to disable the TSC_ADC_SS using bit0 of the CTRL register then re-enable. This will reset the state machine, reset all of the FIFO pointers, etc.

    -Tyler

  • This is most definately not the case, once the FSM has locked up the Enable in CTRL bit has no effect, only a reset seems to clear it.

  • smh,

    It is possible to lock up the sequencer by powering down the AFE (bit 4) while is a conversion is in progress. This happens because when the sequencer sends a start of conversion signal it sits and waits until it receives an end of conversion signal from the AFE before moving to the next step in the sequence. If you want to power down the module and AFE you would need to disable the TSC_ADC_SS using bit 0 of the CTRL register then wait for the end of sequence interrupt before powering down the AFE via bit 4 of the CTRL register. If you follow this sequence, the module will not lock up.

    Regards,

    Tyler

  • Tyler,

    Is there any way to get the sequencer out of the lockup? Our touchscreen is locking up under ESD testing and I suspect it's the AFE that's misbehaving and causing the sequencer to lock.

    regards

    Steve

  • Steve,

    I'm not aware of any way other than a reset like you're already doing.

    -Tyler

  • Tyler,

    a couple of questions related to the original question:

    Tyler Berryhill said:
    This happens because when the sequencer sends a start of conversion signal it sits and waits until it receives an end of conversion signal from the AFE before moving to the next step in the sequence.

     Regarding "end of conversion" (or EOC) signal:

    I assume that SOC and EOC signals (shown in Fig 12.2 of TRM SPRUH73J) are directly connected between the ADC and sequencer. Correct?

    Or is it routed to the sequencer via ext_hw_event (see TRM SPRUH73J Fig 12.1 page 1490)?

    Tyler Berryhill said:
    If you want to power down the module and AFE you would need to disable the TSC_ADC_SS using bit 0 of the CTRL register then wait for the end of sequence interrupt before powering down the AFE via bit 4 of the CTRL register.

    I assume that you refer to the bandgap_ctrl Register (see TRM SPRUH73J page 1128).

    What happens when bit SOC is written by SW? Does it go to the sequencer or directly to the ADC?
    If it goes to the ADC directly do you think it is possible to start a new conversion in order for the ADC to generate EOC to unlock the sequencer?

    Thanks in advance,

    Anthony

  • The SOC signal is generated by the touchscreen controller finite state machine (FSM) and is connected directly to the analog front end (AFE). The EOC signal is generated by the AFE and is connected directly to the touchscreen controller FSM.

    The 'ext_hw_event" input is sourced by one of five other modules as shown in Figure 12-1 and connects to the touchscreen controller FSM. This input can be configured to start a hardware synchronized step.

    No, the register you referenced is not part of the touchscreen controller. Tyler was referring to the touchscreen controller "ctrl" register at offset 40h. Your other questions do not apply since this register is not part of the touchscreen controller.

    If the touchscreen controller is not disabled such that all conversions are complete before dowering down the AFE, the FSM will stall waiting on the EOC. If this occurs the only way to recover is reset the AM335x device.

    Regards,
    Paul