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.
您好!我在配置CMPSS1的HP1与LP2两个引脚,使两个引脚能够触发不同阈值的TZ动作。现在CMPSS1的HP1已经配置成功,按照我所给定的最高电压进行判断(端口电压超过给定电压触发TZ保护),但LP2却不按照给定触发TZ动作。具体情况为:当我将触发阈值设置为1.2V/3.3V时,只要端口有极小电压值就会触发保护;当我将触发阈值设置为3V/3.3V时,端口电压为1V左右时触发TZ动作。下面是程序内容。请问程序是否存在问题,我应该如何修改?
需配置的端口:

宏定义:
#define PVCA_IPK_CMPSS_BASE CMPSS1_BASE //PGA1_IN #define PVCA_IPK_CMPSS_ASYSCTRL_CMPLPMUX ASYSCTL_CMPLPMUX_SELECT_1//通道号应和CMPSS编号一致 #define PVCA_IPK_CMPSS_ASYSCTRL_MUX_VALUE 2
CMPSS配置:
setupCMPSSVN_L(PVCA_IPK_CMPSS_BASE,120,330);
void setupCMPSSVN_L(uint32_t base1, float32_t High_limit, float32_t cmp_max_sense )
{
CMPSS_enableModule(base1);
CMPSS_configDAC(base1, CMPSS_DACVAL_SYSCLK | CMPSS_DACREF_VDDA |
CMPSS_DACSRC_SHDW);
CMPSS_setDACValueLow(base1, (int16_t)((float32_t)High_limit*
(float32_t)4095.0/(float32_t)cmp_max_sense));
CMPSS_configLowComparator(base1, CMPSS_INSRC_DAC);
CMPSS_configFilterLow(base1,2,10,7);
CMPSS_initFilterLow(base1);
CMPSS_configOutputsLow(base1, CMPSS_TRIPOUT_SYNC_COMP|CMPSS_TRIP_SYNC_COMP);
CMPSS_clearFilterLatchLow(base1);
PVA_TZClear=1;
PVB_TZClear=1;
PVC_TZClear=1;
}引脚选择(参考宏定义):
ASysCtl_selectCMPLPMux(PVCA_IPK_CMPSS_ASYSCTRL_CMPLPMUX,
PVCA_IPK_CMPSS_ASYSCTRL_MUX_VALUE);EPWM TZ配置:
//--------------------PVC_A_IPK------------------------------------------------//
XBAR_setEPWMMuxConfig(XBAR_TRIP9, XBAR_EPWM_MUX01_CMPSS1_CTRIPL);//PVCA_IPK
XBAR_enableEPWMMux(XBAR_TRIP9, XBAR_MUX01);
EPWM_setTripZoneAction(PVC_PhaseA_PWM_BASE, EPWM_TZ_ACTION_EVENT_TZB, EPWM_TZ_ACTION_HIGH);
EPWM_selectDigitalCompareTripInput(PVC_PhaseA_PWM_BASE,
EPWM_DC_TRIP_TRIPIN9, EPWM_DC_TYPE_DCBH);
EPWM_setTripZoneDigitalCompareEventCondition(PVC_PhaseA_PWM_BASE,
EPWM_TZ_DC_OUTPUT_B1, EPWM_TZ_EVENT_DCXH_HIGH);
EPWM_setDigitalCompareEventSource(PVC_PhaseA_PWM_BASE,
EPWM_DC_MODULE_B, EPWM_DC_EVENT_1, EPWM_DC_EVENT_SOURCE_ORIG_SIGNAL);
//DCAE1/DCBE1:One-shot TZ
EPWM_enableTripZoneSignals(PVC_PhaseA_PWM_BASE,
EPWM_TZ_SIGNAL_DCBEVT1);
//--------------------PVC_VDS------------------------------------------------//是否有运算放大器或任何分压器电路连接至CMPSS引脚? 您能否将输入直接定位到CMPSS中,以验证输入是否为预期电压?
此外,检查您的配置时,我没有发现任何配置问题。 您也可以使用sysconfig来验证初始化代码。 我输入了您的设置,您所拥有的代码是预期的。