LS1021 UCC UART hardware handshake DTE-DTE

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1021 UCC UART hardware handshake DTE-DTE

Jump to solution
1,115 Views
t_herbrecher
Contributor II

Hello together.

I'm trying to use the UCC UART of the LS1021 QUICC engine to communicate in DTE mode with another board also working as DTE. But unfortunately hardware handshaking does not work as expected in a DTE-DTE communication.

In DTE-DTE connection mode the both communication partners should assert the RTS signal as long as data could be received (input buffer could accept more data). The status of this signal could be read on the other side on the CTS input. When input buffer is going to be almost full RTS should be deasserted and the communication partner stops sending data.

But the UCC UART only asserts the RTS signal when there is data to send. This behaviour is typically for DTE-DCE connection mode where the DTE signalizes that there is data to send to the DCE by activating RTS and the DCE responds with the activation of CTS if the data could be transferred to the DCE.

I tried setting GUMR[RTSM]=1 but this only activates the RTS line when the device is opened without working flow control (RTS does not become inactive when buffers are full). I thought about a software workaround that sets GUMR[RTSM]=0 when internal buffers are full and GUMR[RTSM]=1 otherwise. But that is not a valid solution because the RTS signal is pulsed when data is sent when GUMR[RTSM]=0 regardless of the current buffer state. So a valid flow control could not be achieved.

Has anybody managed to change the handshaking behaviour accordingly for DTE-DTE mode? Have I missed some configuration bits? Is there a valid QUICC microcode out there which fixes this problem?

Thank you for your statements.

Kind regards,

Timo

Labels (1)
0 Kudos
1 Solution
893 Views
alexander_yakov
NXP Employee
NXP Employee

Your understanding is correct - RTS output can not be used to drive remote side CTS input. Please use general purpose I/O pin for this purpose.


Have a great day,
Alexander
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
894 Views
alexander_yakov
NXP Employee
NXP Employee

Your understanding is correct - RTS output can not be used to drive remote side CTS input. Please use general purpose I/O pin for this purpose.


Have a great day,
Alexander
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
893 Views
t_herbrecher
Contributor II

Hello Alexander.

Thank you for the quick answer. I'll try the GPIO based solution.

Best regards,

Timo

0 Kudos