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.

[参考译文] TMS320F2800137:通过 SCI 进行 LIN 通信时出现问题

Guru**** 2535750 points
Other Parts Discussed in Thread: TMS320F2800137

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1553537/tms320f2800137-issue-in-lin-communication-via-sci

器件型号:TMS320F2800137


工具/软件:

我使用的是 TMS320F2800137、因为我需要通过 SCI 外设使用收发器建立 LIN 通信。

在 SCI 中、我能够不会出现任何问题地发送和接收数据、但如果我使用 LIN 收发器并建立 LIN 通信、因为我遇到问题、例如控制器在 LIN 报头中的中断域返回帧错误、而接收到的数据也无效。 在帧错误器件之后、SCI 外设似乎停止、因为它未接收任何内容。  

如何解决此问题并通过 SCI 建立 LIN 通信?

您是否拥有通过 SCI 建立 LIN 通信的任何资源或参考? 如果是、请分享这些文档吗?

请帮助我尽快解决此问题

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

    您好:

    为了澄清问题、您使用的是 SCI 外设开启 F2800137 在 F280013x 上没有 LIN 外设、为了执行 LIN 通信协议? 您没有使用具有专用 LIN 外设的器件、是否有理由?

    如何将 SCI 配置为执行 LIN 协议? 您是否将 F2800137 SCI 用作指挥官或响应者节点? 我想详细了解您的 SCI 设置以及如何处理同步中断、ID 等 如果您可以提供更多背景信息、这会很有帮助。

    此致、

    Allison

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

    是的、我使用 SCI 外设建立 LIN 通信。



    这是有关 SCI 外设和使用 SCI_readCharArray 读取数据的配置。 就开始通过 LIN 读取数据了。 我使用 LIN 分析仪工具发送数据。  



    F2800137 SCI 作为响应器节点。  

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

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

    嗨、Uma、

    感谢您澄清使用 F2800137 SCI 作为 LIN 响应器节点。 这是一个响应器、我可以问您如何处理 LIN 帧检测吗? 您是否已在软件中处理中断检测、同步域、ID 等? 我看到您已标记为“使用中断“和“使用 FIFO“;但没有启用 FIFO 或中断。 您能解释一下为什么不使用 FIFO 模式和中断吗?

    此致、

    Allison

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

    您好 Allison

    我不使用任何处理程序/中断来检测中断字段和同步字段。
    我直接使用  SCI_readCharArray 通过 SCI 读取标头帧。

    如果我可以使用任何中断 或其他东西、则意味着我该如何操作或如何处理?
    您是否有 相关参考文档或备注?
    如果是、请您将这些内容分享给我。

    此致、
    UMA

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

    嗨、Uma、

    您的休息区有多长? 如果您只是尝试读取 SCI 数据、我想这会导致 C2000 SCI 模块中出现中断检测错误   、因为总线持续保持低电平的时间很长。

    您是否计划通过软件处理 LIN 配置? 如果是、 我有一些建议。 请允许我再过一天来编译它们。 您没有使用具有专用 LIN 外设的 C2000 器件是否有理由?

    此致、

    Allison

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

    尊敬的 Allison:

    中断字段没有固定、因为它将超过 13 位的低电平信号。  

    是的、我需要通过软件处理 LIN。  

    否、选择此 IC 没有具体的原因。


    此致、
    UMA

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

    尊敬的 Allison:

    我们可以这样做吗、例如将 SCI - RX 配置为 GPIO 输入引脚、在中断字段后启用下降沿中断、将该引脚重新配置为 SCI - RX、然后读取数据、在数据接收后再次将该引脚配置为 GPIO 输入、并等待下一个中断。

    因为即使我启用了帧错误、然后通过软件清除了该错误、SCI 外设也不会等待开始位、它会给出错误的数据、但在连续接收时、同一帧的数据部分相似。


    此致、
    UMA

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

    嗨、Uma、

    是的、您可以从 GPIO 切换到 SCI、以便允许中断字段。 如果您正在使用它并成功设置中断域检测、请告诉我。

    由于我们有许多 C2000 器件具有专用的 LIN 外设、因此 我自己并未实现此目的、但我也想您可以尝试使用软件来实现状态机来跟踪 LIN 帧接收情况。  

    例如:

    • 空闲:等待中断字段
    • Break:检测到中断、等待同步域
    • SYNC:已接收 SYNC 字段、等待 ID
    • ID:已收到 ID、检查是否需要响应
    • 响应:如果 ID 匹配、则发送响应数据

    此致、

    Allison

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

    尊敬的 Allison:  

    如果可能、您还能尝试在工作台上建立 Lin 吗?

    此致、

    UMA

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

    嗨、Uma、

    Allison 目前已离职、将尽快回复您。 感谢您的耐心。

    此致、

    Aishwarya

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

    尊敬的 Allison:

    在 SCI 中添加 500 微秒延迟、清除错误状态和执行软复位。

    这些更改解决了我的问题。
    现在、我可以建立 LIN、而不会出现任何问题。

    感谢您的支持

    此致、
    UMA