en-us--EC_M030G_Rapid_Pulse_Shaping_Output_V1.00.zip
(1.11 MB)
有些应用中,需要将不规则的输入脉冲快速整形成宽度固定的脉冲。若采用MCU,使用I/O口中断去检测输入脉冲,再输出宽度固定的脉冲,无法较快产生输出脉冲,且若输入脉冲较频繁,将占用大量CPU资源。
本范例代码将Timer0设置为事件计数功能,并使能time-out触发BPWM和PDMA功能。当Timer0检测到脉冲输入时,会同时触发BPWM和PDMA功能,由于BPWM响应比较快,会先输出高电平,PDMA接着会将其拉低,进而产生宽度固定的脉冲,其大致原理如图1-1所示。
采用这种方式,运行过程中,MCU会自动检测输入脉冲,并输出宽度固定的脉冲,全部硬件完成,不需要CPU的介入。
本范例代码使用PB4输出脉冲,模拟需要整形的脉冲;PB5(TM0)输入整形前的脉冲、PF3(BPWM1_CH0)输出整形后的脉冲。测试时,需要将PB4与PB5(TM0)接到一起。运行结果如图所示(通道1:输入脉冲;通道2:输出脉冲)。
从图中可以看出,触发输入脉冲边沿到输出脉冲边沿的时间差不多为104 ns,输出脉冲宽度约为420 ns。
|