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.

TL16C750E: DTR pin not responding to the 485EN bit of AFR

Part Number: TL16C750E

I'm current writing a Linux UART Driver for TL16C750E,

under RS-232 mode every thing works fine,

FIFO mode, all the interrupts, tx, rx and fractional divisor worked OK.

However, when I try to implement RS-485 by setting AFR to 0x1C (RCVEN|485LG|485EN), the DTR pin didn't work as I expected.

It remains HIGH, and doesn't change on tx.

I've double checked the default value of the AFR, which was 0x10, indicating that I was accessing the correct shadow register.

I also tried modifying the MCR register, and found out that even though 485EN was enabled, the DTR pin still responds to changes made to MCR.

based on the current results, it seems like the 485EN bit was not enabled properly,

is there anything else I should check?

thanks.

  • Hi Samuel,

    I can take a closer look tomorrow and get back to you. For now, can you give me a register read/dump of everything you have set when you run into this problem?

    FCR=?

    LCR=?

    ect.

    -Bobby

  • Hi Samuel,

    I took a look but I don't see anything that would suggest additional modifications to would be required to enable 485 mode DTR asserts/desserts aside from just setting the AFR register. Are you able to read back the contents after you write to AFR to confirm the register is seeing the correct written value?

    -Bobby

  • Hi Bobby,

    Sorry for the late update

    After reviewing our hardware, I found out that there was an error in our hardware.

    after correcting the hardware, our driver works fine.

    However, according to my measurement, the DTR remains HIGH right after enabling 485EN,

    and only turns LOW, after the first xmit.

    I added code to manually switch DTR to low via MCR, to put the initial 485 direction control to READ.

    Is this behavior expected?

    thanks

  • Hi Samuel,

    However, according to my measurement, the DTR remains HIGH right after enabling 485EN,

    and only turns LOW, after the first xmit.

    I added code to manually switch DTR to low via MCR, to put the initial 485 direction control to READ.

    Is this behavior expected?

    I would need to double check with our design team to verify. This may take a few days to make sure the request gets to the correct person who can verify the design files.

    I'll ping back when I get the right person.

    -Bobby

  • Hi Samuel,

    I checked with our design engineer. Looks like he confirmed that the #DTR pin doesn't automatically assert itself after 485EN bit is set. Only when you first transmit does it toggle itself.

    -Bobby

  • thanks a lot