3 Replies Latest reply on Jan 14, 2020 9:47 PM by BoonT_56

    [CYBT-343026-01] About UART setupTiming




      The customer confirmed the UART Timing on the datasheet of [CYBT-343026-01] and

      focuses the Max value of the UARTsetupTiming is 10ns.


      They think the value is not the max, should be the minimum.

      Could you help me confirm the value is the max or minimum?




        • 1. Re: [CYBT-343026-01] About UART setupTiming

          When it is clear to send, the Tx will send a data frame, consecutively. A data frame consists of a start bit (LOW), 8 data bits and end with a stop bit (HIGH).


          The question is how do we stop the transmission? We must toggle CTS_N to HIGH, at the stop bit of the last data frame we want to receive. Upon this, the next data frame will not be send. And so the time/moment we want to insert this toggle is 10ns before the midpoint of this Stop bit. You can trigger earlier, but not later than that. So it is the longest allowable time interval, hence maximum.

          • 2. Re: [CYBT-343026-01] About UART setupTiming

            Thank you for your quick response.


            When setting 115200 baud rat, "2baud out cycle" means 2x1 / 115200.

            Is it correct?


            Which document should I refer to software settings for UART?




            • 3. Re: [CYBT-343026-01] About UART setupTiming

              One baudout cycle is the period of the clock divided by the divider (D).


              For 20706, the uart clock is 24MHz and let's say it is operating at a baudrate B of 115200 bps. Then D is computed as:


              D = 24x10^6/(16xB) = 13


              One baud cycle = (1/(24x10^6))/13 = 3.2ns


              And so it means that you must exert RTS_N within a maximum duration of 3.2ns after the midpoint of the stop bit to stop receiving.


              Do refer to snip/hal/puart for a sample code of the uart.