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.

[参考译文] TMS320F280039C:使用 MCAN 与 DCAN 进行固件更新

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1243809/tms320f280039c-firmware-update-with-mcan-vs-dcan

器件型号:TMS320F280039C
主题中讨论的其他器件:C2000WARE

您好!  

我一直在使用 C2000Ware 中的 CAN 闪存编程器示例测试不同大小的程序引导到闪存所需的时间(通过向 LED 程序添加 nop 函数使其变大)。 对于大型程序(918KB 的输出文件)、下载到闪存并从闪存运行大约需要10-11分钟。 我最初感到困惑、因为根据 PCAN View、我以1Mbit/s 的速度运行。  

传输内核和固件或将固件写入闪存所花费的时间最长是什么?

或者换句话说、是位速率/负载大小的限制因素(我可以更改的内容)还是写入闪存所需的时间(我不确定我可以更改的内容)?

我想提出问题、因为我想知道使用 MCAN/CAN FD 代替 DCAN/常规 CAN 是否可以缩短固件更新的时间?

谢谢。  

爱玛

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

    尊敬的 Emma:

    是什么花费的大多数时间传输的内核和固件还是写入的固件到闪存?

    内核发送后、当内核重新初始化 MCAN 时、主机将休眠5秒。  然后、当主机下载应用程序时、每帧将每个64个字节写入器件、等待100ms 让闪存 API 写入每个块。  

    >或者换句话说,是限制因素的比特率/有效负载大小(我可以改变的东西)还是它需要的时间写入闪存(我不确定我可以改变的东西)?

    限制因素是写入闪存的时间。 我们可以提高比特率、但闪存仍需要适当的时间才能写入块。

    我想问问、因为我想知道使用 MCAN/CAN FD 代替 DCAN/常规 CAN 是否会缩短固件更新的时间?

    按照定义、 MCAN 将为数据传输提供更长的长度和更高的速度。 标称速率的速度可以在500kbps 至1Mbps 之间变化、数据速率可以在 1Mbps 至5Mbps 之间变化 。  MCAN 的另一个优势是比特率切换功能和更大的有效负载尺寸。 固件更新受到闪存 API 写入块所需时间的限制。 可以通过使用 Visual Studio 修改主机源代码来试验写入每个闪存 API 块所需的时间量、这样、您就可以看到它是否会降低整体传输速度。  

    谢谢。此致、

    查尔斯

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

    尊敬的 Charles:

    感谢您的答复和提供的信息。

    只是为了确定我理解、 在将每个64字节帧向下发送到处理器以编程到闪存之前、主机端程序有一个100毫秒的等待时间、您建议在 Visual Studio 项目中缩短这个100毫秒的等待时间、以查看我们是否可以得到整体编程时间缩短?

    您知道为什么将此时间设置为100ms 吗? 只是一个任意值?

    对于 JTAG、对相同的程序进行编程要快得多。 我想知道为什么在使用 CAN 闪存编程器时、如果对闪存块进行 编程是限制因素、为什么在使用 CAN 闪存编程器时其速度比使用 JTAG 慢很多?

    再次感谢您的帮助!

    爱玛

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

    尊敬的 Emma:

    是的、建议缩短时间。 我已经进行了测试、将 等待时间缩短到50ms、在 LED 闪烁示例中、该器件仍然可以正常运行。 时间通常设置为100毫秒、以确保传输的稳定性。 闪存 API 的时序可在器件数据表的第6.12.4.1节中找到、其中100ms 被列为8KB 扇区程序的最大时间。

    与 JTAG 相比、我必须研究一下、看看可以为主机进行哪些优化。  

    我会向您更新我的发现。

    谢谢。此致、

    查尔斯

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

    您好,Charles

    我能够在把它修改为50ms 后重建它。

    感谢您的参考和帮助!

    -爱玛

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

    尊敬的 Emma:

    很高兴听到您可以重新构建项目。 暂时关闭此主题帖。

    谢谢。此致、

    查尔斯