主题中讨论的其他器件: ISO1176、 HALCOGEN
您好!
我在定制板上使用 TMS570LS3137。 TMS570LS3137 SCI 通信是否具有支持的最大波特率? 当以9600 bps 的速率发送数据时、数据将被清晰地发送。 但是、当我以1500kbps 的速率发送数据时、会发生数据损坏。 问题出在哪呢?
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 通信是否具有支持的最大波特率? 当以9600 bps 的速率发送数据时、数据将被清晰地发送。 但是、当我以1500kbps 的速率发送数据时、会发生数据损坏。 问题出在哪呢?
您好!
感谢您的回复。 我使用 ISO1176作为收发器。 ISO1176支持 40Mbps 波特率。 我希望以1.5Mbps 的速率发送数据、但当我将波特率设置为1.5Mbps 时、会发生数据损坏。 当波特率设置为1.5MHz 时、halcogen 将实际波特率设置为1406250Hz。 但我需要提供1.5MHz 的通信。 1406250和1.5MHz 之间的差异很大。 我该怎么办?

您好、Cevdet、
LS3137器件上有两个 SCI 模块:SCI 和 SCILIN (或 SCI2)。 SCI2模块可以用作 SCI 或 LIN。
将 SCILIN 模块用作 SCI 时、您可以对 M 分频器字段进行编程以优化波特率:
波特率= VCLK /(16*(P+1+M/16))
遗憾的是、HAlCoGen 不支持 M 分频器、您需要手动对 M 分频器进行编程。
您好、QJ Wang、
谢谢您、我解决了我的问题。 我想详细介绍一下帮助其他论坛成员的解决方案。 
为我的问题编辑上述公式后、它将变为:
P + M * 0、0625 = Vclk / 16 *波特率(1500000 Hz)
我将 M 设置为0、以便公式为整数。
P = Vclk /24000000
从上面的公式开始、要使 P 值为整数、Vclk 值必须精确地被24整除。 下面介绍了如何从 Halcogen 进行所有这些调整。
1) 1)打开 HalcogGen 并转至 PLL 选项卡。 在前面提到的公式 QJ Wang 中、您可以设置 PLL 值、并以红色标记的区域为多倍频器。 在确定此参数时、我意识到当我在王的公式中替换所需参数时、PLL 值必须是24的倍数。 因此、我调节了 P 值、使 PLL 值是24的倍数。

2) 2) 设置 PLL 值后、需要设置 VCLK 值以在 SCI 中使用。 我将 VLCK1分频器(M 值)的值更改为0、因为我通过 VCLK1运行。

3) 3) 因此、我能够为 SCI 设置我想要的波特率。

如果我提供的信息中有任何错误、请以评论的形式指出。
此致。
Cevdet。