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.
工具与软件:
大家好!
我想与设备建立 CANBUS 通信。 当我只将 TMS570连接到 CAN 总线分析仪时、我可以看到 TMS 发出的消息、但当我连接我要与之通信的器件时、只有来自该分析仪的消息。 TMS 无法发送消息。 消息 ID 不同、没有冲突。 在调试时、我看到 TX 缓冲区已满。 进入此状态后、即使断开另一个器件的连接、也不会恢复正常。 换句话说、TMS 等待满 TX 缓冲区、甚至无法发送消息。
我不知道如何摆脱这种情况。
谢谢/此致
尊敬的 Ali:
[报价 userid="574708" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1453734/tms570ls3137-canbus-transmit-issue "]当我只将 TMS570连接到 CAN 总线分析器时、我看到 TMS 发出的消息、但当我连接我要与之通信的设备时、只有来自它的消息传入分析器。 TMS 无法发送消息。我不清楚您的问题。 您能否进一步说明一下?
根据我的理解、
您正在进行两次测试、
1.将 TMS570连接到 CAN 分析仪并验证 TMS570与分析仪之间的数据、不会出现任何问题。
2.是否要将 TMS570与其他 TMS570连接? 您无法看到任何数据、对吧?
我的理解是否正确?
我还建议您参考以下链接中的 CAN 视频教程一次:
——
谢谢、此致、
Jagadish。
尊敬的 Jagadish:
对您的问题的回答:
1.是的。
2.否、另一个器件不是 TMS570、这是我们客户的器件。 我不知道。 将 TMS570连接到其他器件时、TMS570无法传输 CAN 数据包。 Tx 缓冲区保持已满。
尊敬的 Ali:
客户电路板上是否有 CAN 收发器?
请参阅以下主题中的评论一次:
(+) TMS570LC4357:处理器之间的 CAN 通信-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
——
谢谢、此致、
Jagadish。
您好!
我不知道客户电路板的规格。 但我认为这是因为当我从 CANBUS Anaylzer 发送 CANBUS 数据包时、它可以接收这些数据包。
我调试了这种情况、 我可以观察到:
*我看到一次 canGetLastError 函数返回0x03 : canERROR_acknowledge(3) :当 TX 消息未被确认时
*当 Tx 函数运行时; canTransmit 返回0与以下块
/** - Check for pending message: * - pending message, return 0 * - no pending message, start new transmission */ if ((node->TXRQx[regIndex] & bitIndex) != 0U) { success = 0U; }
我尝试清理缓冲区、但失败了。
谢谢、此致
尊敬的 Ali:
但我认为这是因为当我从 CANbus Anaylzer 发送 CANBUS 数据包时、它可以接收这些数据包。
如果客户电路板适用于 CAN 分析仪、则该电路板也适用于 TMS570。 则可能只是一些配置差异。
您能否同时验证哪个 ID 支持29位 ID 或11位 ID?
例如、如果客户电路板配置为支持扩展 ID (29位) ID、则确保在 TMS570侧启用以下复选框:
——
谢谢、此致、
Jagadish。
尊敬的 Jagadish:
如果客户电路板适用于 CAN 分析仪、则该电路板也适用于 TMS570。 可能只有一些配置差异。
您是对的、但配置没有差异。 它们全部相同(比特率、CAN 版本等)
我观察到、当消息重叠时、TMS570无法返回到正常位置来重新传输。 我没有其他想法。
谢谢、此致、
Ali
尊敬的 Ali:
您是否有任何逻辑分析仪可以物理上抽头 CAN 线路并分析数据。
如果您有此逻辑分析仪、那么您可以将从 CAN 分析仪发送至客户电路板的数据与从 TMS570发送至客户电路板的数据进行比较。
——
谢谢、此致、
Jagadish。