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.

TL16CP754C strange behaviour when mismatch in baudrate according to errata SLLZ058A

Hi

We are using the TL16CP754C with WINCE 5.0 on a PXA255 board. When we connect a sensor with baudrate 9665(the xtal on sensor i optimized for CANbus, and therefore we have som mismatch in the UART baud rate), we get a line status interrupt,  and we read the LSR with value 0xE1. This mean that we have an error in RX FIFO (bit[7]) and data in receiver (bit[0]), but no break interrupt, framing error, parity error or overrun error.

How can we get a line status interrupt when no one of the source is read back when we read the LSR ? .

In the document SLLS644 page 12 table 4 the interrupt source for receiver line status is OE, FE, PE or BI.

When we tries to empty the recever buffer we end up in a endless loop ( the receiver line status interrupt will not be cleared),  even when we remove the sensor that sends data, so we must reset the recever fifo to get out of the endless loop.

Jan Flatlandsmo

  • Hello Jan,

    Does this problem occur on more than one TL16CP754C device?

    What value do you get with a read of the RHR register?

    What is the value of the LCR register when you read the LSR register?

    What crystal frequency are you applying to the TL16CP754C and what value of Divisor are you setting?

    I have not seen this LSR bit 7 issue before. It should not get set unless there is a valid error condition in the RX FIFO. I have checked the history of this device and do not see a previous report of this problem.

    Can you submit 1 or 2 failing units for Failure Analysis?       (submission document with instructions are attached)

     

    Best Regards,

    Joe

    FVF_Dallas_2011.doc
  • Hi Joe,

    We have test this on two board,

    When we read the RHR register, it is mostly corrupt with some chars that are ok, the LSR switch between 0xE1 and 0xE9 when we read out chars from fifio. f.eks there can be from 1 to 8 consecutive 0xE1 and 1 to 3 consecutive  0xE9 when we read LSR on every read from RHR.

    We use xtal with frequency 3.6864 Mhz, and divisor  = 24, prescaler  =  1. ( if we set the divisor to 23, according errata, the sensor input work fine).

    I did not read the LCR when when i read the LSR register, but we set the value of LCR to 0x03. (8 bit, 1 stopbit and no parity)

    Due to nearly release of our new datalogger we decided to switch to exar quad uart, so i can not do more test at this time.

    We damaged the chip when we unsoldering it from the electronic board, but we have a new one ( not tested) from the same batch. I can send it to you

     

     

     

    The LCR register