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.
工具与软件:
大家好、我已经试用了 TMS320F28335中 TMS320x28xx eCAN 的应用报告编程示例 CAN_TXLOOP_A 示例、建议使用芯片作为示例、并且工作正常。 在我的 CAN 网络中、我有另一个节点、即 CAN 分析器、它可以检测传输的所有消息。 到目前为止一切正常、但我不能将 CAN 用于具有 TMS320F28069的其他电路板。 我在开发板中尝试了相同的示例 TXLOOP_A、但根据我的阅读、使用 CAN 位时序参数计算器 来更改 CANBTC 参数(因此、对于具有90MHz 时钟的此芯片、我输入45MHz CAN 时钟频率、1000kbits/s 和1m 总线长度)并从 CPU 参数对1°2°CLK 进行更改。
文件 C:\ti\C2000Ware_5_03_00_00\device_support\f2833x\common\source\中的1° DSP2833x_eCAN.c 我更改了函数 InitECana()、它具有 CANBTC 寄存器、并将计算器的结果写入:
文件 C:\ti\C2000Ware_5_03_00_00\device_support\f2833x\common\include\中的2° DSP2833x_Examples.h 、我将参数更改为在 f2806x_examples.h 文件中为 f2806x 电路板找到的参数:
更改后、我将目标器件更改为 TMS320F28069并运行 TXLOOP_A 项目、但它在等待确认位被设置时被吸入循环中:
我是否应该再更改任何代码? 我没有改变物理网络中的任何东西。 因此我无法让电路板进行通信。 我在 CAN 分析仪上没有收到任何信息。 我也在示波器 CAN_H 总线信号和来自 F28069的 TX 引脚中进行了检查、但没有结果。 示波器中没有任何数据信号、只有 CAN_H 为1.5V、TX 引脚为3.3V Aprox。
其它说明:CAN 收发器工作正常。 我还尝试了一个针对 F2806x 芯片的 CAN 示例:" Example_2806xECanBack2Back.c"。 此示例使用自检模式、因此通信是内部通信。 该程序在 F28069中运行正常、但我设置了自检模式、以便查看我是否能够在示波器或 CAN 分析仪中读取任何信号、而不会产生任何结果。