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.
工具与软件:
尊敬的先生:
我目前正在为 TMS 320F28335上的 CAN 协议实施工作。 首先、我尝试了自检模式并确保了它正常运行。 然而、当我尝试下一个例子时、即 CAN A 到 CAN B、包括两个外部收发器(包括120 OMS 电阻器)、并监控总线 H 和总线 L 信号。
上面显示了附加的波形。 当我单步执行时、程序 在 执行此代码时停止--执行 { ECanaShadow.Canta.all = ECanaRegs.Canta.all ; } while (ECanaShadow.Canta.bit.TA25 == 0 );//等待 TA5位设置
因此、循环计数变量始终为零。 可能是什么原因? 我们已经尝试了所有可能的步骤来查看论坛中的相关问题。 仍然没有突破。
PL 为我提供了一个我所缺少的解决方案。 (它仅是示例程序)
感谢您、
-Sundi
Sundi,
请下载我的应用报告 http://www.ti.com/lit/SPRA876 并仔细阅读调试提示。 通过仔细查看此检查清单、可以解决大多数 CAN 问题。
Sundi,
代码会卡在那里、因为 CAN-B 没有 ACK 请勿探测 CAN_H 和 CAN_L、而是探测 CANTX 引脚并查看数据是否甚至来自 CAN-A 请在2个 CAN 端口之间发送接线图。
另请注意、如果这是新项目、我建议您查看我们较新的器件。 我们的新器件功能更强大、功能更丰富、但成本通常更低。 您可以在器件主页的标题"您可能感兴趣的类似产品"下找到功能兼容的新器件的建议。 我们还发布了许多文章 迁移指南 从而帮助您迁移到我们较新的器件。
尊敬的先生:
正如您所说的 ACK 不是来自 CAN B ,因此昨天我们推出了另一个节点基于 MCP2515 - Arduino 组合在总线,它正在传输 CAN 消息. 请参阅上述测试设置 pic。 我们 使用 Microchip CAN 分析仪观察 CAN 总线信号。 PL 观察 消息 ID 为0x100的 pic、仅 MCP 2515即将到来。 但是 TMS335的数据在总线上根本看不到。 我的怀疑是,虽然它自己的 CANB 也没有传输,看到有一些其他节点的活动,TMS 总线数据应该已经走出死锁做 while 循环,并给其结果正确。 但这并没有发生、循环数始终为零、因为它仍然没有从向下行循环中退出。 我还捕获了错误状态寄存器详细信息。 PL 向我发送确切的良好工作代码、或者指明哪种 C2000 ware 是最佳的、以及如何处理此类错误并从中选出来? 总线上的所有节点都以500Kbps 的位速率传输。
为了回答您的物理连接详细信息、两个收发器分别在 eCAN A (GPIO 31和 GPIO30)、eCAN B (GPIO8、GPIO9)和所连接的两个收发器输出(eCANA 的 CAN H 至 eCAN B 的 CANH 和 eCANA 的 CAN L 至 eCAN B 的 CANL )上输入一个、并通过 CRO (之前连接的 CAN 分析仪)观察此结。 我有什么问题吗?
同时、由于迫切 需要尽早完成、我还换用了另一个板(即 TMS320F28379D)、并在连接了一个外部收发器的情况下尝试了相同的 CAN A 至 B 外部编程 (回波编程非常完美)。 还有总线始终处于空闲状态。
我希望你帮我解决 TMS 320F28335中的问题。 谢谢你
为什么还不支持上述查询?