We are using two SC16is752 to communicate with four different UART devices. But when enabling the sleep feature in the IC's the initial received bytes from the external devices are always lost. Depending on baudrate different amount of data is lost.
I have verified the setup of the SC16is752 many times and cannot see what I can do wrong to get this issue. I cannot find any documentation regarding it or any other reported issues either.
My solution for the problem so far has been to trigger the CTS input pin of the SC16is752 a few milliseconds before sending data to it. But I cannot do this for all external devices since I am not in control of them plus some are not using RTS/CTS.
I need help to understand what I might have done wrong in our HW design or the configuration.
Hello Anders,
Thanks for writing.
When the SC16IS752 is in sleep mode, the oscillator is shut off. When the SC16IS752 exists from sleep mode, it will re-start the crystal oscillator. Normally, it will take a few ms for the crystal oscillator to oscillate from rail to rail. During the startup time of the crystal oscillator, if the SC16IS752 receives any byte data, the data might be lost.
The solution is to use a system clock or a oscillator, instead of a crystal.
I hope this information could be useful for you.
Best Regards,
Diego.