3 Replies Latest reply on Jan 31, 2014 2:05 PM by user_1377889

    PSoC5 UART RTS Flow Control


       I am wondering about the Request To Send (RTS) output from the UART component.


      The data sheet says it is de-asserted when the input buffer is full, but it doesn't say when it is re-asserted; does anyone know?


      This is related to a bigger issue that may warrent an enhancement to the UART Component...


      If the device that I am trying to hold off still sends the byte in progress, or maybe even a couple more, before it can honor the RTS line, then I miss those bytes. For an experiment I am going to manually control RTS to de-assert when the buffer is 80% full.


      If the device that I am receiving from has some delay before starting again (assuming RTS is re-asserted when the buffer is empty) then I timeout on no data input. For my experiment I will re-assert RTS when the buffer is 20% full.


      Any thoughts on this will be appreciated.


      - Jim

        • 1. Re: PSoC5 UART RTS Flow Control



          In UART datasheet on page 46 you can see in the timing-diagrams that rts_n is directly coupled to FIFO full and it will be de-asserted as soon as there is room in the buffer for at least one byte.


          Since you are in PSoC5 world it is easy to gate the rts_n signal with some logic and a control register to meet the timing with the needs of your sending device.





          • 2. Re: PSoC5 UART RTS Flow Control

            Thanks for the note, Bob.


            What I did was to gate the signal like you suggeste, but controlled by software; when the buffer gets almost full, I tell the sender to stop.


            This works great, but after some more playing it appears that I was having another problem that was the true source of difficulty, and maybe I don't need the software control.


            However, it works so nice the way it is, I am disinclined to change it... ;-)

            • 3. Re: PSoC5 UART RTS Flow Control

              Thank you for your feedback, you are always welcome.