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.

[参考译文] TMS320F280049C:逐周期高电平和低电平比较器使用情况

Guru**** 2562020 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1345834/tms320f280049c-cycle-by-cycle-high-and-low-comparator-usage

器件型号:TMS320F280049C

您好!

我想使用 CMPSS1的低电平和高电平比较器来进行逐周期峰值电流控制。 当高电平比较器 处于活动状态时、低电平比较器 将不处于活动状态。  当低电平比较器处于活动状态时、 高电平比较器将不处于活动状态。 当我配置高电平和低电平比较器时、代码不起作用。 当我仅配置高比较器时、可以正常工作。  

低电平比较器和高电平比较器不可能同时工作吗?

谢谢。

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

    您好!  

    Unknown 说:
    低比较器和高比较器不能同时工作吗?

    这是可能的。

    您是如何将输出配置为从器件输出引脚的? 您是否在使用输出 XBAR?  

    此致、

    本·科利尔

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

    您好!

    CMPSS 多路复用器配置为 HPMXSEL=0和 LPMXSEL=0 。 我不使用输出 X-BAR。 CMPSS 的输出为 TRIP5和 TRIP7。 TRIP5用于高电平比较器。 TRIP7用于低电平比较器。 它们链接到 DCBH 与组合行程。 低电平比较器的输出被反相、而比较器的输出由上升沿触发(DCxH 高电平)。 在 CMPSS 中启用异步路径。 高电平比较器在10ms 内工作。 然后、低电平比较器在10ms 内工作。  此场景会反复不断地重复。

    谢谢。

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

    尊敬的 Ahmet:

    CMPSSn 低侧 DAC 输出反相似乎会导致清除或设置 EPWM 模块组合 MUX 跳闸时出现异常行为。

    请注意、当设置(跳闸高电平或低电平) EPWM-B 动作限定器时、低侧跳闸的行为符合预期。 奇怪的是、低侧操作限定符 EPWM-B (CMPSSn 锁存或 CBC)随机拒绝清除。  如果设置了动作限定器 B (跳闸高电平)组合 MUX 设置、您可能会注意到闩锁 CCS 调试探针(寄存器视图)。 有时、清除故障标志似乎无效、复位 MCU 会清除这些标志。  

    BTW:确保 CMPSSn GPIO 输入设置为异步、它们甚至会同时切换10ms。  

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

    您好!

    我的问题解决了。 由于我同时使用高电平和低电平比较器、因此它无法正常工作。 现在、我的代码正常运行。

    谢谢。

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

    Ahmet、

    您可以为比较器附加初始化代码吗?

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

    void setupPCMCCMPSS (void)

    {

    CMPSS_enableModule (CMPSS6_BASE);CMPSS_enableModule (CMPSS5_base);CMPSS_configHighComparator (CMPSS6_BASE、CMPSS_INSRC_DAC);

    CMPSS_CONFIGHighComparator (CMPSS5_base、CMPSS_INSRC_DAC);

    CMPSS_CONFIGLowComparator (CMPSS6_BASE、CMPSS_INSRC_DAC | CMPSS_INV_INVERRIDE);CMPSS_CONFIGLowComparator (CMPSS5_base、CMPSS_INSRC_DAC | CMPSS_INV_INVERRIDE);ASysCtl_selectCMPLUX (PMSCTL_CMPHPUX、PMASY0);

    ASysCtl_selectCMPHPMUX (ASYSCTL_CMPHPMUX_SELECT_5、0);

    ASysCtl_selectCMPLPMux (ASYSCTL_CMPLPMUX_SELECT_6、0);

    ASysCtl_selectCMPLPMux (ASYSCTL_CMPLPMUX_SELECT_5、0);

    CMPSS_CONFIGDAC (CMPSS6_BASE、(CMPSS_DACVAL_PWMSYNC | CMPSS_DACREF_VDDA | CMPSS_DACSRC_SHDW);CMPSS_CONFIGDAC (CMPSS5_BASE、(CMPSS_DACVAL_PWMSYNC | CMPSS_DACREF_VDDA)| CMPSS_DACSS_DACREF_VDDW;

    EALLOW;

    CMPSS_CONFIGureSyncSource (CMPSS6_BASE、2);

    CMPSS_CONFIGureSyncSource (CMPSS5_base、3);

    EDIS;

    CMPSS_setDACValueHigh (CMPSS6_BASE、4096);

    CMPSS_setDACValueHigh (CMPSS5_base、4096);

    CMPSS_setDACValueLow (CMPSS6_BASE、0);

    CMPSS_setDACValueLow (CMPSS5_base、0);

    CMPSS_configOutputsHigh (CMPSS6_BASE、CMPSS_TRIP_ASYNC_COMP);

    CMPSS_configOutputsHigh (CMPSS5_base、CMPSS_TRIP_ASYNC_COMP);

    CMPSS_configOutputsLow (CMPSS6_BASE、CMPSS_TRIP_ASYNC_COMP);

    CMPSS_configOutputsLow (CMPSS5_base、CMPSS_TRIP_ASYNC_COMP);

    CMPSS_clearFilterLatchHigh (CMPSS6_BASE);

    CMPSS_clearFilterLatchHigh (CMPSS5_base);

    CMPSS_clearFilterLatchLow (CMPSS6_BASE);

    CMPSS_clearFilterLatchLow (CMPSS5_base);

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

    很高兴听到它工作在高和低组合 EPWM-B、虽然非常奇怪的行为。