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:计算 FCL 评估项目中的快速电流环路时间

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1029153/tms320f28379d-calculation-of-fast-current-loop-time-in-fcl-evaluation-project

器件型号:TMS320F28379D
主题中讨论的其他器件:TMDXIDDK379DC2000WARE

尊敬的团队:

我的客户对以下问题有一些疑问:

在例程中: C:\ti\c2000\C2000Ware_MotorControl_SDK_3_02_00_00\solutions\tmdxiddk379d\f2837x

使用 LEM_CURRENT_SENSE 电流采样时、电流环路中断由 EPWM1的计时器触发、即:INT_EPWM1=>&motorControlISR;

使用 SD_CURRENT_SENSE 电流采样时、电流环路中断由 EPWM11的计时器触发:INT_EPWM11=> MotorControlISR;

项目中的"fclLatencyInMicroSec"由 EPWM1的计数器计算、并且 INTEPWM1和 INT_EPWM11的中断时间不同。

因此、在 SD_CURRENT_SENSE 模式下、有必要将读取方法更改为差分模式。 当进入中断时、读取一次、然后从电流环路中读取一次。 这是否更合理?

此致

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

    否、目的是捕获从 PRD 或 ZRO 事件更新 U、V W 比较寄存器所需的时间。 希望这一点很清楚。

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

    您好 Ramesh:

    客户反馈、这是比较当前采样方法时发现的问题。
    在 LEM_CURRENT_SENSE 模式下是正确的、耗时约为0.98us。
    在 SD_CURRENT_SENSE 模式下、它是15.67us、这是一个很大的差异。

    通过在_interrupt void motorControlISR (void)程序开始处读取 ePWM CTR 计数值、可以发现在 SD_CURRENT_SENSE 模式下、该值目前已达到约1482。
    更新 U、V 和 W 比较寄存器后、再次读取 ePWM CTR 计数值、该值约为1600、两者之间的差值为118、转换为1.18us 的时间、这符合预期。 示例代码直接按 EPWM CTR =0、因为计时的起始点为15.67us。

    在 LEM_CURRENT_SENSE 模式下、状态数量 fclLatencyInMicroSec 正确。 SD_CURRENT_SENSE 模式下的此时间消耗不明确、需要更正。 这种计时偏差不会影响执行效率。

    此致

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

    绿色、

    对于 SAR ADC、ePWM ISR 和 ADC 都由同一事件( ZRO 或 PRD)触发。 在 ISR 内、我们等待 ADC EOC、然后再读取结果寄存器。

    使用 SDFM、我们将 EPWM11连接到复位 SDFM 数据、并在 ZRO 或 PRD 事件之前重新开始位累加 N/2周期。 ZRO 或 PRD 事件后、结果将需要另外的 N/2周期才能可用。 我们提供一些额外的裕度、以确保在值可用后读取该值、因此需要更多的时间。 如果 OSR 为,例如100,并且使用 SYNC 3滤波器,则 N 等于3*100 = 300时钟。 在20MHz 时钟下、来自 ZRO 或 PRD 事件的 N/2样本将意味着7.5us。 为了便于讨论、我选择了一个数字。 不过、这是 SD 滤波器的固有问题。