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.

[参考译文] RM48L930:使用4位小数分频器 M 进行 SCI/LIN 波特率微调

Guru**** 2468610 points
Other Parts Discussed in Thread: HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/676292/rm48l930-sci-lin-baudrate-fine-tuning-using-4-bit-fractional-divider-m

器件型号:RM48L930

支持路径:/Product/Help、带器件选择/

您好!

Hercules 参考手册(spnu503b.pdf)第25.2.3节(SCI 波特率)规定:

SCI/LIN 有一个由外设 VCLK 和确定的内部生成的串行时钟
该寄存器中的预分频器 P 和 M。 SCI 使用 BRSR 寄存器的24位整数预分频器 P 值
选择所需的波特率。 附加的4位小数分频器 M 完善了波特率选择。
在异步定时模式中、SCI 根据以下公式生成一个波特时钟:

SCICLK 频率= VCLK /(P + 1 + M/16)

并且  异步波特率= SCICLK 频率/ 16

当 VCLK = 40MHz 时、我的应用要求波特率为115700波特(而非115200)。  如果 P = 20且 M = 10、则波特率将为115607、这足够接近。

我的问题: 在配置 SCI 或 SCI2时、HALCoGen 不会显示 M 设置。  参考手册指出 M 是通过 BRSR 寄存器位27:24置位的。  但在 SCI 模式下、HALCoGen SCI.c 驱动程序代码不使用 BSRS 寄存器、而是使用波特率寄存器。

参考手册是否不正确?  在 SCI 模式下、我能否使用寄存器 BRSR 中的4位 M 字段对 SCI 波特率进行微调?   如何操作?

谢谢、

Keith

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Keith、

    HALCoGen 使用 BRS 来选择波特率:

    P+1+M/16 = 40000000/(16*115700)= 21.6076

    P=20、  

    M=16*0.6076=9.7--> 10.

    将 P 编程为 BRS 寄存器的 bit 15~bit 0、并将 M 编程为 BRS 寄存器的 bit 23~bit 16。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    QJ、
    参考手册第25.13.12秒显示 M 是一个4位字段、P 是24位字段。 我要试一下。 为什么 HALCoGen 不让我们设置 M?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Keith、

    是的、你是对的。 P 是位23~位0、M 是位27~位24。 请尝试一下、如果有任何问题、请告知我。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    工作正常。  HALCoGen 何时支持设置 M 字段? (为什么它不会自动使其尽可能接近请求的波特率?)

    谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    工作正常。  HALCoGen 何时支持设置 M 字段? (为什么它不会自动使其尽可能接近请求的波特率?)

    谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Keith。 我将向 HALCoGen 开发团队报告您的请求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    正在关闭...