您好!
我需要根据 脉冲高部分的宽度过滤 GPIO 上的输入脉冲。 如果高电平脉冲的宽度大于特定的 阈值、则 将执行进一步的操作。 如果高电平脉冲的宽度小于阈值、则不会执行进一步的操作。
我知道、我可以使用 在脉冲上升沿发生的 GPIO 中断来开始某种在倒计时结束后调用中断函数的倒计时(周期等于脉宽阈值的周期)。 "倒计数中断"可以 作为 CPU 计时器中断或 ePWM 中断实现。 如果在倒计时结束后 GPIO 引脚的状态仍然为高电平(并且没有下降沿发生)、则将执行进一步的操作;否则将为不工作。
不过、我想知道是否有更巧妙的方法 来检查 使用较少 F28388D MCU 器件的脉冲宽度。 GPIO 引脚的输入鉴定起初似乎充满希望、但进一步的分析表明、它不足以鉴定真长脉冲宽度。 根据 TMS320F28388D 技术参考手册中的公式、
5 × 2 ×GPxCTRL[QUALPRDN]×TSYSCLKOUT
使用 GPxCTRL[QUALPRDn] 最大值255和 SYSCLK 频率200 MHz (0.005微秒时钟周期)可以实现的最长6样本采样窗口为12.75微秒。 12.75微秒的窗口不够、因为我需要测量最长100微秒的脉冲。
考虑到我所述的限制条件、如果无法简化该过程、请确认我必须使用某种延时中断(和下降沿触发的中断)来实现 这种滤波逻辑。
此致、
李孝华