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.

[参考译文] TMS320F28069:F28069可以发送和中断

Guru**** 2616055 points

Other Parts Discussed in Thread: TMS320F28069, TMS320F28335, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/695818/tms320f28069-f28069-can-send-and-interrupt

器件型号:TMS320F28069
主题中讨论的其他器件: TMS320F28335C2000WARE

您好!

我在尝试通过 CAN 总线与另一个 CAN 设备进行通信时使用 TMS320F28069。

我们最初使用轮询模式完成、然后成功地接收和发送 CAN 消息。

现在我们要启用 CAN 中断、同样、我们参考"app note SPRA876"和"CAN_RXINT_A"项目。  但我们在 CAN 消息到达 TMS320F28069控制器时没有收到任何中断。

关于 CANA 和 CANB、我们还有一件无法理解的事情、根据我们的理解、TMS320F28069只有一个 CAN 端口、因此我们从"CAN_RXINT_A"项目注释出 CANB 代码。

您能否详细说明 TMS320F28069的"CAN_RXINT_A"中的任何修改?

谢谢、此致

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

    轮询模式下通信工作正常这一事实告诉我您的硬件和网络连接良好。

     

    我假设网络中的另一个 CAN 器件正在将消息传输到 F28069。 它是否使用正确的 MSGID 传输消息? 由于我们不使用任何 ID 滤波、因此 MSGID 必须匹配位对位。 请确认正在传输的 MSGID。

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

    是的、我们的 CAN 网络工作正常、关于 ID、我们只需在 TX 和 Rx 器件两侧放置0x01已焊接 ID。

    在测试轮询模式时、我们使用来自 CONTROL SUIT 的"Example_2806xECanBack2Back"项目。 对于中断模式、"CAN_RXINT_A" 项目"RXINT_A.c"文件 、因为它来自控制器的"应用手册 SPRA876"。  您想建议 TMS320F28069的代码中有任何更新(如"应用手册 SPRA876"针对另一个 DSP)、还是解决交叉检查寄存器等问题、或者是否 启用了 CAN 中断?

    谢谢、此致

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

    app.note 示例是为运行频率为150MHz 的 TMS320F28335编写的。 (eCAN 模块的时钟频率为 SYSCLKOUT/2 = 75MHz)。 我不知道运行28069的速度,但它的额定最大 SYSCLKOUT 频率为90MHz,CAN 模块的运行频率为45MHz。 您需要根据新的时钟频率调整 CANBTR 寄存器的值。 如果您的 PC 上安装了 c2000ware、请查看 C:\ti\c2000\C2000Ware_1_00_04_00\device_support\f2806x\con\source 目录中的 F2806X_eCAN-c 文件。 它显示了90MHz SYSCLKOUT 的 CANBTR 值。

    我将更新我的 app.note 以提请注意这一重要事实。