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.

[参考译文] TMS320F2800157:ePWM 跳闸区域功能的 CPMSSLITE-3配置错误。

Guru**** 2539500 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1388573/tms320f2800157-cpmsslite-3-configuration-error-for-epwm-trip-zone-functionality

器件型号:TMS320F2800157
Thread 中讨论的其他器件:C2000WARE

工具与软件:

在我的应用中、我使用模拟通道 A0进行交流电流感应。 同时、如果 ADC A0值上升和下降到低于 特定的阈值、我希望通过 CMPSSLITE-3比较器在 A0上启用电流保护。 我使用了 driverlib 的示例代码( cmpss_lite_ex1_asynch)、该示例代码将 CMPSSLITE2配置为配置  CMPSSLITE-3、但跳闸功能无法按预期工作。  

为了检查代码、我已经在 A0处施加了固定的1.66Volt 且 VDDA_REF=3.0V。 我可以读取 ADC 值~2270U。 该值转换为401U (由于9.5位 DAC 分辨率)、但是、如果我将高阈值 DAC 设置为353U  (相当于12位系统中的2000)、则不会发生 PWM 跳闸。

根据我的理解、之所以会发生跳闸、是因为 DAC 值比353高~401。  作为参考、代码片段如下所示。 如果我需要更改/添加/删除以下代码中的任何内容、请提供帮助。  

ASysCtl_selectCMPHPMUX (ASYSCTL_CMPHPMUX_SELECT_3、2U);
ASysCtl_selectCMPLPMux (ASYSCTL_CMPLPMUX_SELECT_3、2U);
CMPSS_configHighComparator (CMPSSLITE3_BASE、(CMPSS_INSRC_DAC |CMPSS_DACREF_VDDA));
CMPSS_configLowComparator (CMPSSLITE3_BASE、(CMPSS_INSRC_DAC | CMPSS_DACREF_VDDA |CMPSS_INV_REVERTED));
CMPSS_CONFIGDAC (CMPSSLITE3_BASE、(CMPSS_DACVAL_SYSCLK | CMPSS_DACSRC_Shdw));
CMPSS_setDACValueHigh (CMPSSLITE3_BASE、353U);
CMPSS_setDACValueLow (CMPSSLITE3_base、0U);
CMPSS_configFilterHigh (CMPSSLITE3_base、0U、1U、1U);
CMPSS_configFilterLow (CMPSSLITE3_base、0U、1U、1U);
CMPSS_configOutputsHigh (CMPSSLITE3_base、(CMPSS_TRIPOUT_ASYNC_COMP | CMPSS_TRIP_ASYNC_COMP));
CMPSS_configOutputsLow (CMPSSLITE3_base、(CMPSS_TRIPOUT_ASYNC_COMP | CMPSS_TRIP_ASYNC_COMP));
CMPSS_setHysteresis (CMPSSLITE3_BASE、0U);
CMPSS_disableLatchResetOnPWMSYNCHigh (CMPSSLITE3_base);
CMPSS_disableLatchResetOnPWMSYNCLow (CMPSSLITE3_base);
CMPSS_CONFIG消 隐(CMPSSLITE3_BASE、1U);
CMPSS_disableBlanking (CMPSSLITE3_BASE);
XBAR_setEPWMMuxConfig (XBAR_TRIP4、XBAR_EPWM_MUX04_CMPSS3_CTRIPH_OR_L);
XBAR_ENABLEEPWMMUX (XBAR_TRIP4、XBAR_MUX04);
CMPSS_enableModule (Iphv_CMPSS_BASE);
XBAR_clearInputFlag (XBAR_INPUT_FLG_CMPSS3_CTRIPH);
XBAR_clearInputFlag (XBAR_INPUT_FLG_CMPSS3_CTRIPL);

此致

米兰

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

    嗨、Milan:

    感谢您的耐心。

    您使用的是什么封装?  

    此致、

    哈迪

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

    C2000Ware v5.00.00.00和 Code Composer Studio 12.6.0

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

    尊敬的 TI 团队:

    您能否就上述主题提供帮助、在过去的几天里没有得到任何回复...

    此致

    米兰

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

    嗨、Milan:

    我在我这边测试了 CMPSS 模块、它正常工作。

    请尝试 C2000Ware 目录中给出的示例、了解它的工作原理: C2000Ware_5_02_00_00\driverlib\.meta\cmpss_lite\

    此致、

    哈迪

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="583061" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1388573/tms320f2800157-cpmsslite-3-configuration-error-for-epwm-trip-zone-functionality ]CMPSS_setDACValueHigh (CMPSSLITE3_base、353U)[/QUOT]

    DAC 值设置在12位基础上完成、9.5有效的设置在内部完成。

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

    说得好  

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

    现在很 有意义、非常感谢 Manu 和 Hadi 帮助解决问题。