-
-
shuaijiasheng | 当前状态:离线
总积分:245 2024年可用积分:0
注册时间: 2007-10-13
最后登录时间: 2007-12-05
-
带操作系统嵌入式系统,如何软件滤波<转贴>
shuaijiasheng 发表于 2007/10/24 15:46:50 917 查看 0 回复 [上一主题] [下一主题]
手机阅读
开关去抖经常用到。软件滤波是一个传统的方法,往往大家在检测输入的时候进行等待,这样就浪费了大量的程序运行时间(一般等待10MS)。如果用硬件实现又比较麻烦。
在最近我做的一个系统中,使用了uc/os操作系统,设计了一种很好的软件滤波的方法。即不浪费时间,也大大提高了滤波的可靠性。
方法就是:
1,在操作系统的时钟中断中检测外部的信号输入(数字信号)。
2,将输入的信号和上次保存在变量中的信号输入状态进行与操作。
如果运算结果不是0,那么说明有输入信号。分辨信号后,发送消息。
3,将这次的信号保存到 信号保存变量中。
如此这样,通过简单的运算就完成了一个滤波的功能,操作系统的时间中期可以自己设计,所以滤波的时间间隔很准,也完全不需要等待。大大提高了程序的运行效率。