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.

[参考译文] TMDSHVPSFBKIT:PCMC、将 DPL-ISR 移植到现代硬件功能

Guru**** 2588965 points
Other Parts Discussed in Thread: TMS320F28027, TMS320F280049

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/652885/tmdshvpsfbkit-pcmc-porting-dpl-isr-to-modern-hardware-capabilities

器件型号:TMDSHVPSFBKIT

你(们)好。

我想将峰值电流模式控制中断例程移植到 C 语言。 但是、据我所知、TMS320F28027没有 TMS320F280049所具有的很多特性(例如动作限定符隐藏)、因此在汇编例程中存在大量 NOP 形式的脏黑客攻击。

如何重新配置 ePWM 和 CMPSS 外设、以便避免此类"时间关键型"例程?

但是、我发现这个答案、实际上没有发布任何示例。

我的问题是逐行的

MOV@_Comp1Regs.DACCTL、#4
MOV@_Comp1Regs.DACCTL、#5

两次连续写入配置寄存器的目的是什么? 斜坡发生器是否通过将 CMPDACCTL.DACSOURCE 位从低电平切换为高电平来执行重启? 此代码是否可以替换为 PWM 事件的自动斜坡重启?

MOV@_EPwm4Regs.AQCTLA、#0x0016
MOV@_EPwm4Regs.AQCTLB、#0x0001

NOP
;这里有一组难看的 NOP
NOP MOV

@_EPwm4Regs.AQCTLA、#0x0014

这是否意味着、我可以禁用 AQCTLA 的影子加载、写入0x0016、然后为 AQCTLA 启用影子加载并写入0x0014、而无需等待?

或μ@ EPwm2Regs.TZCLR、#0x4
MOV@ EPwm2Regs.TZCTL、#0x0FFE 

在重新配置动作限定符后、是否应实际清除跳闸区域状态? 如果 AQCTL 寄存器已经具有影子写入功能、我可以简单地清除状态位吗?

谢谢

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

    我们已指派 TI 工程师来帮助解决您的问题。 由于假期,答复可能会延迟。 感谢您的耐心等待。

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

    您好 Dmitry、

    在 F280049器件上使用4类 PWM 模块可以更轻松地实现这一点。 有关如何执行此操作的详细信息、请参阅以下文章。

      

    但愿这对您有所帮助。

    Hrishi

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

    您好、Hrishi

    该链接非常有用、谢谢。 但同步整流器控制呢? 我是否应该像 HVPSFB-PCMC 示例中那样逐周期重新配置它两次?

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

    很抱歉、我从未关闭过此功能。 如果您仍然想知道最后一个问题、对于4类 PWM、您将不需要在最可能的实现中重新配置。

    Hrishi