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.

TL16c752c software flow control problem

Dear Sir,

The second port TI UART (16C752C) seems to have problem in Xon/Xoff flow control.

It will miss sending Xon to the sender after massive read/write test.

Port 1 doesn’t have this problem.

 Test procedure   (All UART register access consideration has been double checked)
1.    Port 2 enable TCRTLR.   (MCR bit-OR 0x40)
2.    Receive FIFO trigger level to RESTORE is 4 bytes.          (TCR set to 0x1D)
       Receive FIFO trigger level to HALT is 52 bytes.
3.    Receive Interrupt Trigger level is 48 bytes.                    (TLR set to 0xC1)
4.    Port 2 is enabled with Xon1, Xoff1 flow control on      (EFR bit 0~3 is 0xA)
       both TX and RX.
5.    Port2 is connected to PC COM port.
       Both port are opened with 115200, N81, Xon/Xoff flow control.
6.    PC COM port start to send massive data to see if Port2 will send xon, xoff to control flow.
7.    Port2 will send a series of Xoff and Xon characters to control flow in about 30 seconds,
       but finally stops at Xoff and no other Xon is sent.
8.    The receive FIFO of Port 2 is checked empty by the following procedure.

 Procedure to check Port2’s Receive FIFO is empty or not.

1.     When this problem happened, connect port2 to another PC COM port physically.

2.     PC COM port send a byte ‘Z’ to Port2.

3.     Port2 will issue a receive interrupt and receive the byte ‘Z’.

Port2 should have sent Xon when the receive FIFO has data less than 4 bytes (configured by register TCR)

The Xon 'byte' seems to be stuck in the UART, because when I try to disable software flow control, there will be a "Xon"

byte sent out.

 

Can any one suggest how to solve this problem?

Thanks,