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.

[参考译文] CCS/TMS320F28035:与28035进行 CAN 总线通信

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/699906/ccs-tms320f28035-can-bus-communication-with-28035

器件型号:TMS320F28035
主题中讨论的其他器件:TMS320F28031

工具/软件:Code Composer Studio

您好!

我们的现有产品具有带 TJA1050T CAN 收发器的 TMS320f28031 (如第一个原理图片段所示)、工作正常。 我们已将其升级为具有 TJA1051T/3 CAN 收发器的 TMS320f28035、如具有光电隔离器的第二个原理图片段所示。 在测试这个新设计时、由于 ECANaRegs.CANTRS.bit.TRS31标志永远不会进入低电平状态来停止传输、也不会接收到信号、因此我很难启动和运行 CAN。

我尝试了相同的代码、目标配置和存储器映射已更改、以符合我们的旧设计、该代码使 CAN 正常工作。 (我可以向另一个控制器发送和接收)。
请注意、虽然28035具有更多的引脚、但是针对 CAN TX 和 RX 的 GPIO 是相同的、因此理想情况下、我认为无需改变 CAN 模块的初始化。

我是否因为28031-28035在这里发生了变化而错过了代码中的某些内容?  或者、原理图上的新设计部分在这里是否似乎存在故障?

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

    从 CAN 的角度来看、28031和28035在功能上是相同的。 因此,如果代码在28031上运行良好,但在28035上运行不好,我怀疑28035硬件有问题。

     

    TRS31永远不会被清除意味着传输没有成功完成。 您是否观察了 TJA1051引脚1上的波形?

     

    您是否尝试过较低的比特率?

     

    您似乎正在使用分裂终端。 是否有理由使用2 x 4.7K 而不是标准2 x 62?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我将引脚1限定在高电压电平上。

    较低的比特率也不起作用。

    我将了解电阻器为什么是2x4.7k。 但我在我们的旧工作设计中进行了检查、结果也是如此、我们在该设计中使用了不同的光隔离器芯片。

    当 TRS31未被完全清零时、传输不成功意味着什么? eCAN 模块出现故障? 还是在尝试发送数据后没有确认?

    我还检查了 CANES 寄存器以检查错误状态。 未提出错误标志。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否有数据来自 CANTX 引脚? 如果只有一个其他节点并且它没有发送 ACK、则发送器将继续重新传输。 将示波器放在单次采集上、检查是否有任何数据从 CANTX 引脚流出(至少一次)。

     

    端接电阻器值在较高比特率下具有重要意义。

     

    如果未清除 TRS31、则意味着未从其他节点接收到 ACK。 问题可能出在两个设备之间的连接中的任何位置。 您必须从 MCU 的 CANTX 引脚开始逐级调试。

     

    请下载我的 app.note SPRA876A 并查看调试提示。

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

    我没有看到来自 TX 的任何数据、只是卡在高电平。 清除 TRS 位的代码条件从未成功。

    好的、我将在星期一做更多的调试工作、记住这些内容、我将回来。 感谢您的意见。

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

    我将处理器芯片与它后面的电路隔离开来、我确实看到了处理器 CAN Tx 引脚上的信号。 因此、在该缓冲器-光隔离器-收发器电路中、它看起来会导致问题。 逐级调试现在应该可以解决这个问题。   

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

    收发器的引脚连接被忽略。 解决这个问题。 感谢您的指导。