各位专家、您好、我还需要您的帮助。 我正在尝试在程序中实施过流检测、然后应关闭 PWM。 该电流由 Σ-Δ 转换器测量。 其数据流连接到 GPIO 50、时钟连接到 GPIO 51。 一旦我运行该程序、PWM 输出就会关闭、而不会有任何电流流动。 即使我从 GPIO 50断开数据流、也会发生同样的情况。
"。。
(笑声)
Sdfm_configureInputCtrl (1、Filter2、mode_0);//Strom Phase3 GPIO 50
Sdfm_configureInputCtrl (1、FILTER3、MODE_0);//Strom Phase2 GPIO 52
Sdfm_configureInputCtrl (1、FILTER4、MODE_0);//Strom Phase1 GPIO 54
//
//比较器模块
//
Sdfm_configureComparator (1、Filter2、SINC3、OSR_32、0x1FFF、 0xFDE4);
Sdfm_configureComparator (1、FILTER3、SINC3、OSR_32、0x021C、 0xFDE4);
Sdfm_configureComparator (1、FILTER4、SINC3、OSR_32、 0x021C、 0xFDE4);
//
Sdfm_enableMFE (1);//启用 Mdule 1.
Sdfm_configureExternalreset (1、filter_1_EXT_RESET_disable、filter_2_EXT_RESET_disable、filter_3_EXT_RESET_disable、filter_4_EXT_RESET_disable);
Sdfm_configureInterrupt (1、Filter2、IEH_ENABLE、IEL_DISABLE、MFIE_DISABLE、 AE_DISABLE);
Sdfm_configureInterrupt (1、FILTER3、IEH_DISABLE、IEL_DISABLE、MFIE_DISABLE、 AE_DISABLE);
Sdfm_configureInterrupt (1、FILTER4、IEH_DISABLE、IEL_DISABLE、MFIE_DISABLE、 AE_DISABLE);
Sdfm_enableMIE (1);
…
EALLOW;
EPwmXbarRegs.TRIP4MUX16TO31CFG.bit.MUX18=1;// SD1FLT1.COMPH_OR_COMPL TRIP4滤波器2.
//EPwmXbarRegs.TRIP5MUX16TO31CFG.bit.MUX20=1;// SD1FLT2.COMPH_OR_COMPL TRIP5滤波器3.
//EPwmXbarRegs.TRIP7MUX16TO31CFG.bit.MUX22=1;// SD1FLT3.COMPH_OR_COMPL TRIP7滤波器4.
EPwmXbarRegs.TRIP4MUXENABLE.BIT.MUX18=1;//针对 TRIP4滤波器2的可再生多路复用器18
EPwm1Regs.DCTRIPSEL.bit.DCAHCOMPSEL=0xF;//选择 "TRIP MIPSEL" 以允许一次多 个 CHOIS 影响 DCAEVT1
EPwm1Regs.DCAHTRIPSEL.All=0x0058; //为 DCAH 事件选择 TRIP5和 TRIP7
EPwm1Regs.DCACTL.bit.EVT1FRCSYNCSEL=1; // DCAEVT1.FORCE 1 =异步选择
EPwm1Regs.TZSEL.bit.DCAEVT1=1; // DCAEVT1作为一次性事件
EPwm1Regs.TZDCSEL.bit.DCAEVT1=2; // 010:DCAH =高电平、DCAL =无关
EPwm1Regs.TZCTL.bit.TZA=2; //10:在 EPWMxA 上强制 EPWMxA 处于低电平状态、在 TZ1至 TZ6、DCAEVT1/2、DCBEVT1/2Trip 操作
EPwm1Regs.TZCTL.bit.TMZ=2; //10:在 EPWMxB 上强制 EPWMxB 处于低电平状态、在 TZ1至 TZ6、DCAEVT1/2、DCBEVT1/2Trip 操作
EDIS;
"
我是否忽略了设置?
此致
Artur






