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.

[参考译文] TMS320F28379D:TMS320F28379D:

Guru**** 2484615 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1439775/tms320f28379d-tms320f28379d

器件型号:TMS320F28379D

工具与软件:

尊敬的专家

我在电力电子转换器部门工作。 我使用了三个 LaunchPad F28379D 板来控制转换器、其中一个板专用于每个相位。 为确保这些 MCU 之间正确通信、我使用了 SPI 互连、将一个 F28379D 控制卡指定为主器件、以协调三个从板。 主器件的角色仅限于发送命令和从器件接收确认、而从器件处理控制任务。

在从板上、我执行了三种类型的中断:控制中断(组3)、SPI 发送中断和 SPI 接收中断。 这些 LaunchPad 不使用 ePWM、而是通过 GPIO 输出转换器的开关状态。

在低功耗测试期间、系统正常运行、控制和 SPI 中断按预期运行。 但是、当我增加转换器的功率、而系统继续整体运行时、我遇到了 SPI 传输和接收损耗。 为了在主站和从站之间进行互连、我使用了光纤电缆。

对于如何解决此问题、您有什么建议或想法吗?

我的一些同事认为这可能是 EMI 问题。 我已经竭尽所能、尽量减少 EMI 对 PCB 的影响。 另一位同事提到这可能是软件问题、其中 CCS 可能会在系统功率增加时忽略两个 SPI 中断。

此致

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

    尊敬的 Hussein:

    您是否启用了 ISR 中的任何中断嵌套? 排除中断任何问题的一种方法是在每个 ISR 的开始和结束时切换 GPIO、查看它们是否按预期那样频繁发生。 如果您连接了调试器、您还可以将断点添加到 SPI ISR 中以验证它们是否被命中。

    对于 SPI RX 中断、请注意以下几点:

    • 当优先级较高的中断频繁发生(或允许嵌套在 SPI ISR 内)时、它们可能会阻止 SPI 模块接收所有数据。 这些中断具有更高的优先级、并且始终在 SPI 模块有机会启动之前得到处理、从而基本上使 SPI 中断"无法获得服务"。
      • 例如、如果 ADC 中断持续触发并中断 SPI ISR、则 SPI ISR 可能永远不会(或缓慢地)到达其移动数据的部分。 如果 FIFO 在 SPI 开始移动数据之前填满、则可能会导致数据丢失和 FIFO 溢出。 这需要 ISR 之间进行谨慎的交互、以便 ADC ISR (例如)和 SPI ISR 都不会缺少处理时间。
    • 其他非嵌套中断也可能需要很长的时间才能完成、从而使 SPI FIFO 填满并导致其他数据丢失。 这种情况很少见、因为 SPI 传输速度通常比处理速度慢很多。 但在其他 ISR 中有一些计算可能需要很长时间、因此在遇到这些 ISR 时也必须十分小心。

    此致、

    Delaney