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.

TMS320F28377D: Question on Baud rate calculation for SCI

Part Number: TMS320F28377D

Hello,

       I am trying to use the SCI function in TMS320F28377D. From the document SPRUHM8F  page 2006, Table19-3, for baud rate of 9600, the BRR value should be 650 based on the formula, However, 650 in hex should be '0x28A', I don't understand what does that 1616h mean. And I tried to use 0x16 for SCIHBAUD and 0x16 for SCILBAUD, it does't work. If I use 0x28A for the registers, the communication works, but sometimes with a lot of wrong data. I am guessing the baud rate is not quite matching between the two devices . Could anyone explain what does 1616h mean and how can I make my baud rate precise? Thank you!

  • Hi,

    The formula is:

    For example if LSPCLK = 15MHz (Please check for your device)

    BRR = [15e6/(9600*8)]-1

             = 194dec

                           =  C2hex

    Lower 8-bits are written to SCILBAUD and higher 8-bits to SCIHBAUD. Hence C2 is directly written to SCILBAUD while leaving SCIHBAUD at null value or 0.

    Regards,

    Gautam

  • Hi Gautam,

        Thank you for your reply. The formula is what I used to calculate my BRR. But the problem is : I am using 50Mhz LSPCLK, and need 9600 baud rate, so I need BRR= 650(dec) = 28A(hex), I just don't understand what the 1616h mean in the manual.

  • Just noticed, they don't seem like equivalent Hex values! Here's a table from F2802x family SCI userguide:

    This makes sense!

  • Hi Li,

    The decimal values in the table are correct, but the hex values are wrong. You are correct that for 9600 baud the hex value should be 0x028A.

    I'll submit a ticket to have this corrected in the documentation.