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.

TMS320F28388D: maximum SCI baudrate

Part Number: TMS320F28388D

Tool/software:

Hello,

I read that the maximum baudrate in SCI can be LSPCLK/16 is this correct?

if I look in the examples code lets take the ex2_loopback_interrupt example.

in this example I can see the defines are like this:

#define DEVICE_AUXSRC_FREQ   25000000

#define DEVICE_SYSCLK_FREQ      (DEVICE_AUXSRC_FREQ*32)/(2*2*1)

#define DEVICE_LSPCLK_FREQ  (DEVICE_SYSCLK_FREQ/4)

so according to this definitions I found that LSPCLK is 50,000,000 so max baudrate is 50000000/16= 3,125,000?

I tried it and its working ok.

but is there anyway to change something and go a little higher than 3,125,000?

I tried changing this line to be:

#define DEVICE_LSPCLK_FREQ  (DEVICE_SYSCLK_FREQ)

and use baudrate of 6250000 but this is not working.

can it be done somehow?

  • Hello,

    You are correct, the max baudrate for SCI is LSPCLK/16 as also noted in the device TRM:

    If you would like to use a baudrate above 3,125,000, you will need to change your LSPCLK frequency. This can be done by modifying the LSP clock divider in the LOSPCP register (LSPCLKDIV register field).

    Right now, your SYSCLK is 200MHz, but your LSPCLK is 50MHz because your LSPCLKDIV is /4 (this is the default divider value) which leads to max SCI baud rate of 3,125,000.

    But, for example, if the device clock SYSCLK is 200MHz and you change LSPCLKDIV to be /1. This would result in an LSPCLK of 200MHz, meaning your max SCI baud rate is 200MHz/16 = 12,500,000. So in essence, you just need to adjust your LSPCLKDIV to enable higher baud rates.

    Best Regards,

    Allison