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.

[参考译文] MSPM0L1306:MSPM0L1306:同步 LIN 中断阈值和 UART 成帧错误检测

Guru**** 2999690 points

Other Parts Discussed in Thread: MSPM0L1306, MSPM0G3507

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1669248/mspm0l1306-mspm0l1306-simultaneous-lin-break-threshold-and-uart-framing-error-detection

器件型号: MSPM0L1306
Thread 中讨论的其他器件: MSPM0G3507

对于 MSPM0L1306、
LIN 一致性需要组帧错误检测、包括同步、PID、数据和校验和字段中的组帧错误。
但 TRM 指出:“启用 LIN 模式时、不设置成帧错误和中断条件。“
image.png
对于 LIN 中断阈值检测、它必须在 LIN 模式下运行、并利用 LINCNT、LINC0 和以下 LINCTL 设置、以便停止成帧错误检测作为副作用。

较新的 MSPM0L 器件 (MSPM0L211x/122x) 附带 UNICOMM-UART、该器件具有一个额外设置 LINCTL.EN_FRM_ERR、允许在 LIN 运行期间报告组帧错误:

image.png


但 MSPM0L1306 UART 不提供该字段:
image.png

所以、
在使用 LIN 计数器进行中断阈值检测时、如何在 MSPM0L1306 上检测成帧错误?

如果不支持同时运行、TI 建议采用哪种方案来满足这两个要求?

1.以 11Tbit 阈值进行中断检测
2. LIN 一致性测试的成帧错误检测

提前感谢、
Zaigham

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

    两种选择:

    1.使用 Mcal Lin

    2.基于 SDK、尝试使用以下方法:

    3.其他方法:在 LIN UART Rx 处添加延迟,然后读取输入 IO 的逻辑。

      延迟可能为 CPU/计时器/LINCNT 延迟、输入 IO 读取可以是 LIN Rx 连接到另一个 IO。

    注意:建议使用最新的 SDK: C:\ti\mspm0_sdk_2_11_00_07\examples\nortos\LP_MSPM0G3507\lin

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

    您好、Helic、感谢您的答复。

    我们的约束条件:

    1. MCAL LIN 不是一种选择、因为我们是一家二级供应商。

    2.双 UART 方法要求将收发器 RXD 路由到第二个 MCU 引脚。 我们客户的硬件已完成并正在验证、因此我们关闭了此流程。

    3.延迟 GPIO 读取是一个没有鉴定的单点采样;不够稳健,无法进行一致性级别中断检测。

    4、我还查看了参考引用的 SDK 示例 (`LP_MSPM0G3507\LIN\LIN_Responder`)。 它会在同步后禁用 LIN 计数器、并仅在帧结束时重新启用它、从而使 FRMERR 在 PID/数据/校验和期间可用、对吗?

    但这还不够、因为中断可能随时出现、包括中帧(主设备中止,冲突等按照一致性测试的场景)、因此也不能在数据阶段禁用计数器。

    所以、

    1.对于在 LIN 计数器禁用时到达中帧的中断、唯一的指示是 RX = 0x00 时的 FRMERR、这对应于大约 9.5 Tbit 的显性时间、低于 11Tbit 中断阈值。 TI 如何建议在此配置中将此类中断鉴定为所需的阈值?

    2. TI 是否有一个涵盖 MSPM0L1306 上的同步中断阈值和组帧错误检测(用于处理序列外中断信号)的验证参考?

    3.此外、幻灯片中的序列标记为“需要进一步验证“。 这会影响客户的产品鉴定、因此我们非常感谢 TI 所确认的立场。

    此致、
    Zaigham

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [quote userid=“561542“ url=“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1669248/mspm0l1306-mspm0l1306-simultaneous-lin-break-threshold-and-uart-framing-error-detection/6435429 我还查看了参考引用的 SDK 示例 (`LP_MSPM0G3507\LIN\LIN_Responder`)。 它在同步后禁用 LIN 计数器、并仅在帧结束时重新启用它、这使得 FRMERR 在 PID/数据/校验和期间可用、对吧?

    无法保证 UART 在 LIN 帧传输期间能正常运行并切换 LIN 禁用/启用模式。

    [quote userid=“561542“ url=“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1669248/mspm0l1306-mspm0l1306-simultaneous-lin-break-threshold-and-uart-framing-error-detection/6435429 TI 是否有一个涵盖 MSPM0L1306 上的同步中断阈值和组帧错误检测(可处理序列外中断信号)的经验证参考?

    请参阅 Mcal 演示、它仅使用一个 UART。

    使用相同的机制进行编程。

    [quote userid=“561542“ url=“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1669248/mspm0l1306-mspm0l1306-simultaneous-lin-break-threshold-and-uart-framing-error-detection/6435429 此外、幻灯片中的序列标记为“需要进一步验证“。 这会影响客户的产品鉴定、因此我们感谢 TI 确认的职位。[/报价]

    这是一种建议方法、因为 TI 并未验证该方法(我现在没有那个演示)、我们添加了该标记。

    最后、建议参考 Mcal 的机制。

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

    您好、Helic、感谢您到目前为止的讨论。

    我假设您所指的 MCAL 实现是第三方、而不是 TI 参考代码。 请确认。


    要清楚地了解我们的记录、同步 11 Tbit 中断阈值检测和全帧帧帧错误检测是否是 MSPM0L1306 用于 LIN 的 UART 的已知限制? 鉴于此、TI 是否建议为需要这两者的应用使用更高版本的器件(例如带 LINCTL.EN_FRM_ERR 的 MSPM0L211x/122x)、以实现通过汽车认证的完整 LIN 栈?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是同步的 11 位中断阈值检测和全帧成帧错误检测 MSPM0L1306 UART 在 LIN 使用中的一个已知限制

    TRM 中对此进行了说明、当启用 LIN 时、标准 UART 不支持帧错误检测。

    ]对于需要这两者的应用、TI 是否建议使用更新的器件(例如带 LINCTL.EN_FRM_ERR 的 MSPM0L211x/122x)?

    支持 Unicomm-UART 的设备。

    我假设您所指的 MCAL 实现是第三方、而不是 TI 参考代码。 请确认。

    Mcal 由 TI 提供、使用一点复杂的方法来检测帧错误。

    您可以联系当地支持团队获取访问链接。