AnsweredAssumed Answered

SC16IS762 Time-out problem

Question asked by Gilles Bertolin on Mar 15, 2016

Good Morning,


I use the SC16IS752 NXP reference in a specific project. To test this reference, I have made an evaluation board.

Right now, I test the interrupt mode of the component.


First of all, the RX FIFO trigger level is fixed to 8 bytes.


Software test is extremly simple:

I send 8 bytes from UART microcontroler (MPC5566) to SC16IS762.

When the 8 bytes have been received by SC16IS762, the component triggers an interrupt received by microcontroller.

This interrupt is acknoledged by microcontroller and after approximatively 2 ms in sequential software (out of interrupt), datas in SC16IS762 RX FIFO are got back by microcontroller by the SPI bus.


The problem is that the SC16IS762 signals a Time-out interrupt when I check the interrupt source (in IIR register) just before get back RX FIFO data in SC16IS762.

This time-out flag it seems to be raised because, in my case the time between interrupt and the checking of interrupt source is too long (approximatively 2 ms => more than 4 character times after the last character is received).


But in datasheet, the chapter on Time-out conditions is :


"When the UART receives a number of characters and these data are not enough to set off the receive interrupt (because they do not reach the receive trigger level), the UART will generate a time-out interrupt instead, 4 character times after the last character is received. The time-out counter will be reset at the center of each stop bit received or each time the receive FIFO is read."


In my use case, I receive 8 characters and my RX trigger level is set to 8 characters, Thus the time-out interrupt shall not be trigged ! I have check the interrupt source (in IIR register) in my interrupt routine and the interrupt source is really RHR interrupt.


So I don't understand why after 2 ms, the interrupt source change in spite of the RX trigger level is reach.


Can you help me ?


Best regards