工具/软件:
您好:
对于我的 DC2DC 项目、我想 通过使用动作限定器子模块的 T1 和 T2 事件功能来生成 PWM。
下面说明了我计划如何生成 PWM、当生成 PWM 时、我执行 DCAEVT1.force 和 DCBEVT1.force 来为跳闸区生成信号、根据跳闸区的配置、为我生成 T1 和 T2 事件信号以生成 PWM。 但是、我确实会在 PWM 引脚上获得任何输出。
下面是我的部分代码
1. 检查我想用于生成 PWM 的 PWM 4 计数方向、然后根据计数方向强制触发区事件
uint16_t cou_dir = ePWM_getTimeBaseCounterDirection (EPWM4_BASE);
if (cou_dir == EPWM_TIME_BASE_STATUS_COUNT_UP)//Q5
{
EPWM_forceTripZoneEvent (EPWM4_BASE、EPWM_TZ_FORCE_EVENT_DCBEVT1);
}
否则 if (cou_dir == ePWM_TIME_BASE_STATUS_COUNT_DOWN)//Q6
{
EPWM_forceTripZoneEvent (EPWM4_BASE、EPWM_TZ_FORCE_EVENT_DCAEVT1);
}
暴露
{
}
2.跳闸动作的配置
//跳闸操作
EPWM_setTripZoneAction (EPWM4_BASE、EPWM_TZ_ACTION_EVENT_DCBEVT1、EPWM_TZ_ACTION_HIGH);
EPWM_setTripZoneAction (EPWM4_BASE、EPWM_TZ_ACTION_EVENT_DCAEVT1、EPWM_TZ_ACTION_HIGH);
EPWM_setActionQualifierT1TriggerSource (EPWM4_BASE、EPWM_AQ_TRIGGER_EVENT_TRIG_DCA_1);
EPWM_setActionQualifierT2TriggerSource (EPWM4_BASE、EPWM_AQ_TRIGGER_EVENT_TRIG_DCB_1);
EPWM_setDigitalCompareEventSyncMode (EPWM4_BASE、EPWM_DC_MODULE_A、EPWM_DC_EVENT_1、EPWM_DC_EVENT_INPUT_NOT_Synchronous);
EPWM_setDigitalCompareEventSyncMode (EPWM4_BASE、EPWM_DC_MODULE_B、EPWM_DC_EVENT_1、EPWM_DC_EVENT_INPUT_NOT_Synchronous);
3.生成 PWM
/**<设置操作*/
EPWM_setActionQualifierAction (EPWM4_BASE、EPWM_AQ_OUTPUT_B、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO);//在时基计数器= 0 时将引脚设置为低电平
EPWM_setActionQualifierAction (EPWM4_BASE、EPWM_AQ_OUTPUT_B、EPWM_AQ_OUTPUT_HIGH、EPWM_AQ_OUTPUT_ON_T1_COUNT_DOWN);//在计数器=周期时将引脚设置为高电平
EPWM_setActionQualifierAction (EPWM4_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO);//在时基计数器= 0 时设置引脚开启
EPWM_setActionQualifierAction (EPWM4_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_TIMEBASE_PERIOD);//在时基计数器= 0 时将引脚设置为低电平
EPWM_setActionQualifierAction (EPWM4_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_HIGH、EPWM_AQ_OUTPUT_ON_T2_COUNT_UP);//在时基计数器= 0 时设置引脚开启
但是、PWM 一直很低。 我有 tride 寻找的问题,但不能罚款的来源。
如何生成 PWM。
谢谢。







