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.

[参考译文] TMS320F28034:LIN 通信问题

Guru**** 2539500 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1013331/tms320f28034-lin-communication-problem

器件型号:TMS320F28034
主题中讨论的其他器件:C2000WARE

降级:

  我使用 GPIO9作为 LINTXA、写入 TDO 寄存器、但 TX 引脚没有过时。 标头传输正常、但日期不正常、始终为高电平。  

附件是代码和 LIN 初始化代码的一部分。

e2e.ti.com/.../Initialization-code.txt

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

    您好!

    您是否在 C2000Ware 中运行了任何 LIN 软件示例以排除任何可能的硬件问题?

    C:\ti\c2000\C2000Ware_version\device_support\f2803x\examples\c28\Lina_external_loopback

    此外、您能否提供 SCIFLR 寄存器的内容来确定是否存在任何错误?

    此致、

    Marlyn

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

    大家好、我发现在 Rx 和 Tx 之间建立了短连接后、数据正常发送、但如果数据断开连接、则无法发送。

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

    如果我没有连接 RX 和 TX 引脚、那么在写入 TD0寄存器后 IDTXFLAG 标志位将不会被设置为1。 但是、如果我连接 RX 和 TX、则 IDTXFLAG 标志和 IDRXFLAG 标志位将设置为1、数据将发送到 TX 引脚。

    我仿真了 Lina_external_loopback 例程来执行同样的操作。

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

    您好、JH、

    您正在尝试在应用中将 TX 线路连接到什么? 您是否曾尝试在 TX 线连接到接收器时测试数据是否被发送?

    此致、

    Marlyn

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

    您好、Marlyn、

    我已经尝试将 TX 引脚连接到应用中另一个器件的 RX 引脚、并且只看到在这个总线上发送了一个标头传输、没有数据。

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

    您好、JH、

    您能否监控 SCIFLR 寄存器并查看是否存在任何错误、如果设置了任何标志、则会指示此错误。

    此致、

    Marlyn

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

    您好、Marlyn、

    当然、我已经监控了 SCIFLR 寄存器、并且没有出现其他错误标志。 当我写 TD0寄存器时、该 TXRDY 标志和 TXEMPTY 标志位清零。

    从理论上讲、当主器件发送数据时不应出现错误标志。 但是 、断开 RX 和 TX 时、IDTXFLAG 标志位为什么不设为1?

    您能帮我调试一个可以主控方发送的项目吗?

    非常感谢。

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

    您好、JH、

    总线上的另一个节点未被识别、您是否在该应用中连接的另一个器件上进行了一些调试?

    此致、

    Marlyn

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

    您好、Marlyn、

    我想你错过了这个问题的要点。 其他器件节点用作从器件。 现在、主器件无法发送数据。 我认为它与其他器件没有任何关系。

     断开 RX 和 TX 时、IDTXFLAG 标志位为什么不设为1?

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

    您好、JH、

    一旦接收到具有 TX 匹配且不存在 ID 奇偶校验错误的标识符、IDTXFLAG 位就会被置位。 查看技术参考手册的"消息过滤和验证"部分、我建议您尝试全部1的掩码、以便 无论 LINID 寄存器中的 ID-SlaveTask 字节字段的内容如何、始终可以有一个 ID 匹配、以用于调试目的。

    此致、

    Marlyn

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

    您好、Marlyn、

    从我发布的代码中、您可以看到我的 LIN 初始化配置、就像您说的那样。该值也被调试了、但没有结果。我已经多次查看了参考手册。如果我没有连接 RX 和 TX 引脚、 在写入 TD0寄存器后、IDTXFLAG 标志位不会被设置为1。 但是、如果我连接 RX 和 TX、则 IDTXFLAG 标志和 IDRXFLAG 标志位将设置为1、数据将发送到 TX 引脚。

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

    JH、

    发生 TX 匹配时、TXIDFLAG 将设置为1。 比较接收到的报头的 ID、以确定 LIN 节点是需要执行 RX 响应、TX 响应还是不需要执行任何操作。 写入 IDBYTE 位将只启动一个标头传输。 这就是为什么当 RX 和 TX 引脚被连接时、TX 匹配能够发生并且数据能够被传输的原因。

    此致、

    Marlyn

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

    您好、Marlyn、

    是的、您完全正确。 但现在的问题是、只有当 RX 和 TX 引脚被连接并写入 TD0寄存器 μ,且 IDTXFLAG 标志位将被设置为1时、才会发生 TX 匹配。 实际应用不会将 RX 连接到 TX、因此它只能发送帧头、而不能发送数据。

    理论上、无论 TX 管脚是否连接到 RX 管脚、TX 匹配都应在发送帧头后发生、但当前仿真并未发生、SCIFLR 寄存器中没有其他错误。

    此致。

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

    您好、JH、

    LIN 是一种半双工协议。 您必须使用 LIN 收发器连接到总线。  

    当使用收发器时、LIN 发送端也能够接收其发送的数据、并验证正在发送的数据。

    只有当它知道总线上传输的 ID 匹配时、IDTXFLAG 才会被置位。 因此、这可能是在您的情况下连接 RX TX 正常工作的原因。

    此致、

    Yashwant

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

    您好、Yashwant、

    感谢你的答复。 我已查看 LIN 收发器的数据表。 LIN 的 TX 总线数据也出现在 RX 总线上。 但它仍然没有解决我的难题。

    当我断开 Rx 和 Tx 连接时、我还可以通过 Tx 总线上的示波器看到帧头波形。 帧头包含正确的 ID 编号。 理论上、应发生 TX 匹配、但不会发生。 为什么?

    从您的角度来看、TX 匹配只能在 RX 引脚上发生。 但这与微控制器的参考手册不对应。

    此致。

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

    您好、JH、

    您能否解释/显示收发器和 F2803x 器件之间的连接?

    此致、

    Marlyn