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.

[参考译文] LAUNCHXL-F28379D:CPU2上的 CAN_B 不输出

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1017335/launchxl-f28379d-can_b-on-cpu2-not-outputting

器件型号:LAUNCHXL-F28379D

您好!  

我尝试在 CPU2上运行 CANB、但在引脚上看不到任何输出。 参阅此论坛帖子、我看不出我在做什么不同、 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/787160/ccs-tms320f28379d-can-bus-assigned-to-cpu2。  

我使用的是引脚12 Tx 和引脚17 Rx。 我已经完成了以下调试步骤、但现在开始不知道接下来要尝试什么。  

  1. 已成功切换使用 CPU2的 GPIO、证明我用于使 CPU2控制 GPIO 的代码工作正常。
  2. 已验证 DEVCNGLOCK1 -> CPUSEL10是否设置为0、从而允许发生 CPU2选择(已在 CPU1中验证)
  3. 已验证 CPUSEL8 -> CAN_B 是否设置为 CPU2 ( 在 CPU1中验证)
  4. 在尝试向寄存器写入数据之前、已验证 PCLKCR10 -> CAN_B 是否设置为1以启用 CAN_B clk (已验证 wCPU2)
  5. 可以看到 CAN_B 数据寄存器填充了正确的数据、但从未在引脚上发出

还有其他关于我可能研究或尝试的内容的想法吗?  

谢谢

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

    您好、Braden、

    您正在尝试运行什么代码?  我建议首先从 CAN 环回示例开始、因为这会在 TX 引脚上持续传输数据、而不进行错误检查。  在正常的 CAN 传输中、会发生几次错误检查、对于一个发送节点、如果没有接收到 ACKnowledgement 信号、TX 错误计数器递增、并且在一个特定的错误计数阈值水平上、 模块暂时被置于脱离总线状态。  在回送模式下、您可以在 TX 引脚上放置一个示波器/ CAN 分析器来 分析帧。

    上述调试步骤确实证明 CPU2具有 CANB 控制功能、并且我看不到任何问题。

    此致、

    Joseph

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

    您好、Joseph、  

    感谢您的回复。 我已使用 CANB 成功测试了 CPU1上的 CAN 代码、并且可以看到消息输出。 当我将经过 CPU1测试的完全相同的 CAN 代码放入 CPU2时、我看不到任何输出。  

    我尝试将 CANB 置于环回模式、并且确实看到了 BUS_LUS累 状态、这是我以前从未见过的。 但探测开发板上的 CAN 引脚时发现它们都处于高电平、这与我完成的另一项测试看起来相同。 我想我会尝试导入其中一个 CPU1 CAN 示例、看看我是否能够在 CPU2上运行、因为我的想法已过时。  

    谢谢、

    布拉登  

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

    您好、Braden、

    您能否确认设置了正确的比特率?  如果位速率设置不正确(由于发送器/接收器之间的波特率不匹配、没有节点能够接收帧)、则可能会发生总线重载、也可能表示节点未连接到 CAN 总线。

    此致、

    Joseph