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.

[参考译文] TMS570LC4357:LIN 主控模式

Guru**** 2042920 points
Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/648708/tms570lc4357-lin-master-mode

器件型号:TMS570LC4357
主题中讨论的其他器件: HALCOGEN

您好!

我尝试在主模式下使用 LIN。 我有一个作为从器件的微控制器、可以使用"linSendHeader (linREG1、0x28)"向其发送消息。 但是、当我向主器件发送响应时、(linREG1->FLR 和 LIN_RX_INT)=LIN_RX_INT)不会保持。 但是、当我以[中断、同步、ID、数据]序列发送响应时、会检测到响应、并在 RDX 寄存器中设置数据字节。

我有两个问题:

1) 1)我是否需要特殊收发器才能将 TMS570LC4357板用作主器件?

2)如果主器件不能像数据一样检测响应(即不需要中断、同步、ID 序列)、但似乎是这样、否则它充当从器件...

谢谢

SA

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

    LIN 总线由一个主器件和一个或多个从器件组成。 主器件包含一个主任务和一个从任务。 每个从器件只包含一个从器件任务。 LIN 总线上的通信完全由屏蔽器件中的主任务控制。 LIN 传输帧被分成标头和响应。 报头(中断同步 ID)始终由主控模式发送。 从任务发送的响应仅包含数据有效载荷和校验和、不包括中断同步 ID。

    需要 LIN 收发器来连接 LIN 控制器和 LIN 物理总线。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ、

    这是否意味着当我在 TMS570LC4357中将 LIN1设置为主器件时,它还可以接收作为从器件的帧(即检测中断、同步、ID ... 序列)? 如果是这样、我想将其用作主器件、如何使用 Halcogen 生成的 API 接收有效载荷+校验和? 我看到有一个函数 linGetData (linREG1、data)、但这仅在我发送整个帧(包括标头)时有效。

    所有这些都可以吗、因为我没有使用连接到 Hercules 板的收发器?

    我有 一个 http://skpang.co.uk/catalog/linbus-breakout-board-p-1417.html 

    如果我将这个作为主器件连接到我的 Hercules LIN1引脚、在我向一个从节点发送了一个标头后、我是否能够接收有效载荷+校验和响应?

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

    您好、SA、

    任何从器件、包括主控制单元中的从器件任务、都可以用一个数据帧进行响应。 每个标识符只能由一个从器件响应。

    主器件可以通过其从器件任务将数据传输到任意数量的从器件。 即主器件的从器件任务响应一个标头(由主器件的主器件任务发送)并将数据传输到总线上。 所有其他从器件可以同时接收数据帧。

    是的、 可以使用 linGetData (linREG1、data)接收数据。 我不确定 LIN 模块是否可以在没有 LIN 收发器的情况下获得正确的数据。

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

    您好 QJ、

    感谢您的响应、它提供了一些有关如何设计主节点的见解。 不过,这并没有回答我的问题。 我在主设备上接收数据+校验和时遇到问题、因为我没有在主设备模式下使用收发器。

    最棒的

    SA

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

    您好、SA、

    LIN 模块(在 MCU 中)需要 LIN 收发器来连接外部 LIN 总线。

    LIN 报文头由主任务发送、用于同步。 消息响应由从任务发送、消息响应包含数据和校验和。 有效载荷为1到8字节。 您的问题可能是由 LIN 网络中缺少 LIN 收发器引起的。

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

    您好 QJ、

    是的、正如我已经解释过的、这是我的问题。 我现在有另一个问题。 当我使用 HL_LIN.c 中的 linSend ()函数时,这是否也会导致发送校验和? 我可以在文档中看到发送和接收缓冲器(SCITXSHF、SCIRXSHF)具有校验和计算器。 这是否意味着校验和会在1到8个数据字节后自动发送、我不需要计算校验和并将其发送到 LIN 总线?

    SA

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

    每次设置发送校验和位 SC 时、校验和都会自动嵌入。 您无需计算校验和并单独发送校验和。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ、

    我现在有另一个问题。 当我尝试 linsend()函数时,我可以在 RDX 和 TDx 上看到相同的数据。 RDX 为什么以及如何获取我要发送的数据? 我的节点配置为主节点(这仅在我连接到电路板上的 RX 引脚时发生、即从 RX 引脚到 LIN 收发器的导线)。

    此外、不可能在 HALcogen 上启用 TX 中断。 这是否意味着我不需要为 TX 实施 ISR?

    最棒的

    Sahar

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

    LIN 模式有一个监视发送位的特性。 位监控器通过在 LINRX 引脚上读回来确保 LINTX 中发送的位是 LIN 总线上的正确值。

    在 LIN 模式下、支持15个中断。 发送响应后产生一个发送中断(TX 中断)。 您需要设置第8位以手动启用 SCISETINT 的 TX 中断(偏移量= 0x0C)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ、

    好的、如何禁用此对 TX 的读回? 如果我不向 RX 引脚发送任何内容、我希望缓冲区为空。

    最棒的

    SA

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

    BTW、LIN 集群上的所有从节点都将总线数据读取到其缓冲器中以进行解码。 作为一个主器件、它由一个主器件任务和一个从器件任务组成、传输的数据(主器件任务)将从 LIN 总线写入 RX 缓冲器(从器件任务)。 我认为我们无法启用和禁用它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ、

    是的、我在使用不同的标志后发现了它、因为主节点也应该支持从模式、所以它总是在总线上获取数据、即使数据是由自己发送的!

    最棒的

    Sahar

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

    您好、SA、

    LIN 总线上的 LIN 消息将自动移入 RX 缓冲区。 我们无法禁用它。