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.

[参考译文] TMS320F2.8027万:事件过滤/空白窗口问题

Guru**** 2343770 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/584800/tms320f28027-event-filtering-blanking-windowproblem

部件号:TMS320F2.8027万

你(们)好

我正在 我的项目中学习TMS320F2.8027万。 由于TMS320F2.8027万卡上的比较器,我正在检测正弦电流的零交叉。 将电流与DAC值进行比较。 之后,比较器的输出将创建一个事件。 当该事件发生时,它将创建一个tripzone中断。 在Tripzone中断服务例程中,系统测量正负半周期窦。 此数据用于调整PWM的频率。

但是,当比较器的当前输入等于或接近DAC值时,就会出现弹跳问题,由于这种弹跳问题,零交叉的测量会获得错误的数据。 由于这种情况,我无法正确创建PWM信号。 为了解决此问题,我使用了事件过滤子模块。 我的代码似乎没有问题,但事件筛选似乎不起作用。 我仍在观察弹跳。 这是我的比较器,事件触发器和事件过滤代码

	EALLOW;
	GpioCtrlRegs.AIOMUX1.bit.AIO4 = 3;//比较器输入2A
GpioCtrlRegs.AIOMUX1.bit.AIO12 = 3;//比较器输入2B
gpioCtrlRegs.GPAMUX1.bit.GPIO3 = 3;//比较器输出2输出
	gpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1;// GPIO0 = PWM1A
	gpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1;// GPIO1 = PWM1B
	EDIS;
	

	//初始化比较器
EALLOW;
AdcRegs.ADCCTL1.bit.ADCPWDN = 1; //为ADC加电
AdcRegs.ADCCTL1.bit.ADCBGPWD = 1; //启动ADC bandgap
AdcRegs.ADCCTL1.bit.ADCREFPWD = 1; //为ADC参考缓冲电路加电
Comp2Regs.COMPCTL.bit.COMPDACEN = 1;//加电比较器DAC
Comp2Regs.COMPCTL.bit.COMPSOURCE = 0;//选择反向输入作为DAC (或外部输入)
Comp2Regs.DACVAL.Bit.DACVAL = 512; //(1.65V-3.3V)(burada compout sinyali çıkmaya başlıyor)
EDIS;												//TIMER0TIM=4.573万

//数字比较器事件触发
	EALLOW;
EPwm1Regs.DCTRIPSEL.bit.DCAHCOMPSEL = DC_COMP2OUT;// DCAH =比较器2输出
EPwm1Regs.TZDCSEL.bit.DCAEVT1 = TZ_DCAH_HI;//为比较器生成用于初始化的高事件
EPwm1Regs.DCFCTL.bit.SRCSEL = DC_SRC_DCAEVT1; // DCEVTFLT滤波源= DCAEVT1 (27.03 ,2017)
EPwm1Regs.DCACTL.bit.EVT1SRCSEL = DC_EVT_FLT;
EPwm1Regs.DCACTL.bit.EVT1FRCSYNCSEL = DC_EVT_Async;

//筛选事件(27.05。2017)
EPwm1Regs.DCFCTL.bit.PULSESEL = 1;		//TBCNT=0
EPwm1Regs.DCFOFFSET = 500;				窗口的//直流偏移
EPwm1Regs.DCFWINDOW = 2200;				//窗口长度
EPwm1Regs.DCFCTL.bit.BLANKINV =1;		//空白窗口未反转(1:反转)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    比较器具有内置滞后功能,有助于在输入接近参考值时防止输出不稳定。 在您的情况下,信号的噪音可能足以导致输出不稳定。 您可以尝试使用QUALSEL进一步过滤进入ePWM的比较器输出。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Frank

    感谢你的想法。 我会查询您的建议。 但是,我没有让事件过滤器块起作用,这是一个问题。 我不知道为什么它不工作。

    如果我问您为什么它不起作用,您会介意吗?

    此致

    Fahri
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Fahri,

    很抱歉回复太晚。 我一定错过了这个。 您是否能够使事件筛选器块正常工作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Frank

    不幸的是我不能,所以我用更新DAC值对滞后进行编码,QUALSEL clcok循环时间不够长。

    此致

    Fahri

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Fahri,

    好的,您的问题似乎是双重的。 让我们尝试一次解决一个问题。 让我们从比较器输出上出现的嘈杂跳闸开始。 根据我对您上次回复的理解,您已完成QUALSEL测试,但仍看到嘈杂的输出。 您是否还将SYNCSEL设置为1,以便同步输出是输出的内容?