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.

TMS320C5505: Setting UART baud rate in TMS320C5505 DSP

Part Number: TMS320C5505

The question is on how to set UART baud rate in TMS320C5505 DSP, and guarantee proper communciation.

Referring to DSP datasheet and UART user guide, baud rate is programmable according to the formula:

When:

  • Divisor is any integer value in the range between 1 and 65,535.
  • UART input clock frequency is the system clock generated internally – 100MHz in our case (refer to image below).

 

 My goal is to achieve the highest rate possible between DSP and another MCU device (non-TI part), when the last supports: 9600, …, 57600, 115200, 230400, 460800, 921600, 1382400 bps.

Applying the formula on 921600 and 1382400 as desired baud rates, gives non-integer divisor values -  6.78 to set 921600 bps, and 4.5 to set 1382400.

 If doing the other way, setting divisors first, the formula gives rates different of the supported by MCU – DIV=6 set DSP UART to 1040000, DIV=5 set DSP UART to 1250000.

  

Obviously, in order to have a reliable UART communication same baud rates should be set on both ends.

What is the method for setting a reliable high speed UART comms using the DSP?

Or is the only option reduce the rate (increasing divisor value) until getting equal baud rates with valid divisor values?

 

Appreciate any advise.

Thanks,

Maxim.

  • Hi Maxim,

    Looking at the UART user Guide & C5505 datasheet you can see that the max baud rate possible to achieve in the C5505 device is 6.25 MHz given that your hw is set to use CVDD = 1.3/1.4V .

    Or is the only option reduce the rate (increasing divisor value) until getting equal baud rates with valid divisor values?

    Unfortunately in your case, when you have an external device that supports only the listed baud rates, the approach should be reducing the rate until you get equal baud rates with valid divisor. I couldn't find a method of setting a reliable high speed UART comms in the C5505 documentation.


    Best Regards,
    Yordan