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.

TMS570LS3137: TMS570LS3137 SCI maximum supported baudrate

Part Number: TMS570LS3137
Other Parts Discussed in Thread: ISO1176, HALCOGEN

Hello,

I am working with TMS570LS3137 on a custom board. Does TMS570LS3137 SCI communication have a maximum supported baud rate? When sending data at 9600 bps, the data is sent clearly. However, when I send data with 1500 kbps, data corruption occurs. What can be the problem ?

  • Hi,

    The maximum baud rate can be up to VCLK/32. If VCLK is 80MHz, the maximum baudrate is 2.5MBPS. This should work for pin-to-pin SCI communication: MCU1 SCI TX to  MCU2 SCI RX, and MCU SCI RX to MCU2 SCI TX. 

    If you use UART transceiver, please check the maximum speed supported by the transceiver.  For example,  the maximum baudrate supported by MAX3349 is 921Kbps.

  • Hi,

    Thanks for reply. I am using ISO1176 as a transceiver. ISO1176 support  40 MBPS baud rate. I want to send data in 1.5MBPS but, when I set baud rate to 1.5 MBPS, data corruption occurs. When the baud rate is set to 1.5 MHz, halcogen sets the actual baud rate to 1406250 HzBut I need to provide communication with 1.5 mHz. The difference between the 1406250 and 1.5 mHz was quite a lot. What should I do ?




  • Hi Cevdet,

    There are two SCI modules on LS3137 device: SCI, and SCILIN (or SCI2). The SCI2 module can work either as a SCI or as a LIN. 

    When using SCILIN module as SCI, you can program M divider field to refine the baudrate:

    Baudrate = VCLK / (16*(P+1+M/16))

    Unfortunately, the HAlCoGen doesn't support M divider, you need to program the M divider manually.

  • Hi QJ Wang,

    I solved my problem thanks to you. I want give some detail about solution for helping other forum members.



    When the above formula is edited for my problem, it becomes:

    P + M * 0,0625 = Vclk / 16 * Baud Rate(1500000 Hz)

    I set M equal to 0 so that the formula is an integer.

    P = Vclk / 24000000 

    Starting from the formula above, for the P value to be an integer, the Vclk value must be exactly divisible by 24. Here's how to make all these adjustments from Halcogen.

    1) Open HalcoGen and go to PLL tab. In the formula QJ Wang mentioned, you can set PLL value changing form Multipler the area marked in red. While determining the this parameter, I realized that the PLL value must be a multiple of 24 when I substituted the required parameters in Wang's formula. So I adjusted the P value to make the PLL value a multiple of 24.


    2) After the PLL value is set, you need to set the VCLK value to be used in SCI. I changed the value of VLCK1 Divider (M value) to 0 because I was operating through VCLK1.

    3) As a result, I was able to set the baud rate I wanted for SCI.

    If there is any mistake in the information I have given, please indicate it as a comment.

    Best Regards.
    Cevdet.