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.
每当 ePWM 输出偏高时,我想使用数字比较触发 ADC SOC。
如下代码所示,GPIO 14配置为 ePWM 输出,I 将 GPIO 14接线至 EPWM8的数字比较模块,然后按照代码所示配置数字比较模块。
我的问题是,此配置是否起作用? 即使用边缘筛选器。
在我在这里看到的其他例子中,是函数
正在使用'SET_DigitalCompareBlankingzEvent()"。 我不在配置中使用它,因为我不会使用时间基准计数器=期间或时间基准计数器=零事件来开始消隐,而是使用来自 GPIO 的事件进入高位。
//设置 X 栏
//使用输入 X_bar
Xbar_setInputPin (XBAR_Input1,14);//选择正在配置的 x 条输入并输入 GPIO 引脚
Xbar_lockInput (XBAR_Input1);//将输入锁定到 x 条输入
//设置数字比较子模块
ePWM_selectDigitalCompareTripInput (EPWM8_BASE,ePWM_DC_TRIPIN1,ePWM_DC_TYPE_DCAH);//选择 DC Trip 输入
ePWM_setTripZoneDigitalCompareEventCondition (EPWM8_BASE,ePWM_TZ_DC_OUTPUT _A1,ePWM_TZ_EVENT_DCXH_HIGH);
ePWM_setDigitalCompareFilterInput (EPWM8_BASE,ePWM_DC_WINDOWS_SOURCE _DCAEVT1);
ePWM_DisableDigitalCompareWindowInverseMode (EPWM8_BASE);
ePWM_enableDigitalCompareEdgeFilter (EPWM8_BASE);
ePWM_setDigitalCompareEdgeFilterMode (EPWM8_BASE,ePWM_DC_EDGEFILT_MODE_Rising);
ePWM_setDigitalCompareEdgeFilterEdgeCount (EPWM8_BASE,ePWM_DC_EDGEFILT_EDGECNT_1);
ePWM_setDigitalCompareWindowLength (EPWM8_BASE,空白窗口);
ePWM_setDigitalCompareWindowOffset (EPWM8_BASE,1);
ePWM_enableDigitalCompareBlankingWindow (EPWM8_BASE);
ePWM_setDigitalCompareEventSource (EPWM8_BASE,ePWM_DC_MODULE_A,ePWM_DC_EVENT_1,ePWM_DC_EVENT_SOURCE _FILT_SIGNAL);
ePWM_enableDigitalCompareADCtrigger (EPWM8_BASE,ePWM_DC_MODULE_A);
//设置事件触发器
ePWM_enableADCtrigger (EPWM8_BASE,ePWM_SOC_A);
ePWM_setADC触发 源(EPWM8_BASE,ePWM_SOC_A,ePWM_SOC_DCxEVT1);
//设置 ADC SOC
ADC_setupSOC (ADCA_BASE,ADC_SOC_NUMBER0,ADC_TRIG_EPWM8_SOCA,ADC_CH_ADCIN0,SAMPLE_HOT_TIME);
如果此条码与我正在配置的条码相符,请向我提供建议?
你好,马班加,
[引用 userid="370106" url="~/support/icros/c2000微控制器-组/CC2000 /f/c2000微控制器-论坛/1086064/tms320f28075-trigg触发-adC-so-fic-fer-fice-compare-submodule-and-ePWM-输出]我的问题是,此配置是否起作用? 即使用边缘筛选器。您的代码对我来说很好。 我没有尝试 自己实施这种精确的用例,但我认为边缘过滤可以解决这一问题,我看不到您实施这种过滤的方式有什么问题。
此致,
Marlyn