主题中讨论的其他器件:SysConfig
我开始使用 CMPSS。
自行测试:
作为测试、我已将 CMPSS5 DACH 设置为2048。 如果我将 GND 连接到引脚、PWM 将按预期工作。 如果我连接3.3V、PWM 输出正如预期的那样被禁用。
但是、如果我将 CMPSS5 DACH 设置为20并将引脚连接到 GND、则我观察到的是:
- 如果 PWM 从100%占空比启动、一切似乎都正常
- 如果我更改 PWM 占空比、CMPSS5会跳闸、PWM 输出会被禁用。
- 共享引脚上的 ADC 读数在结果寄存器中显示"0"
PWM 以10kHz 的频率触发同一引脚的 ADC 采样。
关于更改 EPWM 通道的占空比会在与 CMPSS 相同的引脚上触发 ADC 转换、有什么建议可能会导致 CMPSS 跳闸?
我的项目的一些细节如下。 我将使用 LaunchPad_XL 对28379D 进行测试。
谢谢!
CMPSS/Xbar 配置:
CMPSS_enableModule (CMPSS5_base);
CMPSS_CONFIGHighComparator (CMPSS5_base、CMPSS_INSRC_DAC);
CMPSS_CONFIGDAC (CMPSS5_BASE、CMPSS_DACREF_VDDA | CMPSS_DACVAL_SYSCLK | CMPSS_DACSRC_SHDW);
CMPSS_setDACValueHigh (CMPSS5_base、20);
CMPSS_CONFIGFilterHigh (CMPSS5_base、0x3FF、32、31);
CMPSS_initFilterHigh (CMPSS5_base);
CMPSS_configOutputsHigh (CMPSS5_base、CMPSS_TRIP_SYNC_COMP | CMPSS_TRIPOUT_SYNC_COMP);
//配置 EPWM XBAR
XBAR_setEPWMMuxConfig (XBAR_TRIP4、XBAR_EPWM_MUX08_CMPSS5_CTRIPH);
XBAR_enableEPWMMUX (XBAR_TRIP4、XBAR_MUX08);
//配置输出 XBAR
XBAR_setOutputMuxConfig (XBAR_Output2、XBAR_OUT_MUX08_CMPSS5_CTRIPOUTH);
XBAR_enableOutputMux (XBAR_Output2、XBAR_MUX08);
PWM 配置:
EPWM_setTripZoneAction (EPWM4_base、EPWM_TZ_ACTION_EVENT_TZA、EPWM_TZ_ACTION_LOW);
ePWM_setTripZoneAction (EPWM4_base、ePWM_TZ_ACTION_EVENT_TZB、ePWM_TZ_ACTION_LOW);
EPWM_setTripZoneDigitalCompareEventCondition (EPWM4_base、EPWM_TZ_DC_OUTPUT_B1、EPWM_TZ_EVENT_DCXH_HIGH);
EPWM_enableDigitalCompareTripCombinationInput (EPWM4_base、EPWM_DC_combination_TRIPIN4、EPWM_DC_TYPE_DCBH);
ePWM_enableTripZoneSignals (EPWM4_BASE、EPWM_TZ_SIGNAL_DCBEVT1);
EPWM_setDigitalCompareEventSource (EPWM4_BASE、EPWM_DC_MODULE_B、EPWM_DC_EVENT_1、EPWM_DC_EVENT_SOURCE_ORIG_SIGNAL);