Using SC16IS752 with channel A communicating RS485 (Modbus) via a TI SN65HVD72 transceiver. Enabling the RS485 txcvr receiver was causing a single 2us glitch on the RXA input and this in turn prevents the SC16IS752 from going to sleep, but only on every second glitch. The glitch clearly affects the sleep operation of the SC16IS752 but does not appear to change any register values or generate an interrupt, so there is no easy way to detect that the bridge has failed to go to sleep. Reading the receive register does not clear the condition and allow sleep. A normal transmit cycle followed by receipt of some valid data seems to clear the problem.
With low power battery operation, ensuring sleep mode is critical, but a glitch on RXA can put the system in an idle but higher current state (catastrophic if the product is on the shelf for a few months before installation).
Is this glitch-susceptibility problem known and is there a work-around to guarantee sleep if all datasheet conditions are met? I have since eliminated the transceiver glitch but a random glitch on RXA from some other source could put the SC16IS752 in a permanently awake state.
This is not a known issue with this device. We have not had any report on this from any other customers.
Normally, if condition occurred that prevents the device from going to sleep or waking up the device from sleeping, the status of this condition should be reported by the device in its status registers.
Can you read the following registers LSR and MSR (after the glitch is triggered) to see if one of the bits in these registers indicates what happened?
Then the corresponding interrupt can be set to notify the controller.
Please notice that the device will wake up when there is any changes to the RX line, any changes in the state of the modem pins or data is written into the transmit FIFO.