你好,请问一下如果我想用dsp来处理电感电流过0的话,当电感电流正过0的时候,dsp的epwm会重置计数器值,重新开始计数,这种情况怎么处理啊?adc采样的话太慢了
您好,
复位需要发生的是否有一个恒定值? 我不太理解流经零的电流是什么意思。 您是指正过零吗? 我假设您有直流失调电压、因此您可以利用 CMPSS、这比 ADC 快得多。 CMPSS 的输出可配置为用作 ePWM 模块的同步信号、该模块将复位 ePWM 计数器。
例如下面的代码
// TB
EPWM_enablePhaseShiftLoad(base);
// DC
EPWM_selectDigitalCompareTripInput(base, EPWM_DC_TRIP_TRIPIN4, EPWM_DC_TYPE_DCAH);
EPWM_setTripZoneDigitalCompareEventCondition(base, EPWM_TZ_DC_OUTPUT_A1, EPWM_TZ_EVENT_DCXH_HIGH);
EPWM_enableDigitalCompareSyncEvent(base, EPWM_DC_MODULE_A);
EPWM_setDigitalCompareEventSyncMode(base, EPWM_DC_MODULE_A, EPWM_DC_EVENT_1, EPWM_DC_EVENT_INPUT_NOT_SYNCED);您好,
我提供的代码使用 DCAEVT1.sync 信号路径、而不是 EPWMxSYNCI。 但思路是正确的、这是根据当前输入重置计数器值的正确方法。 代码片段假定用户已通过 PWMXBAR 路由 CTRIP 信号、然后代码将配置直流事件并启用 PHSEN。 我认为不需要为 TBPHS 分配一个值、因为它已经复位、但您可以根据需要写入寄存器