控制工程师论坛

嵌入式系统

带操作系统嵌入式系统,如何软件滤波<转贴>

shuaijiasheng
shuaijiasheng

2007-10-24

开关去抖经常用到。软件滤波是一个传统的方法,往往大家在检测输入的时候进行等待,这样就浪费了大量的程序运行时间(一般等待10MS)。如果用硬件实现又比较麻烦。
在最近我做的一个系统中,使用了uc/os操作系统,设计了一种很好的软件滤波的方法。即不浪费时间,也大大提高了滤波的可靠性。
方法就是:
1,在操作系统的时钟中断中检测外部的信号输入(数字信号)。
2,将输入的信号和上次保存在变量中的信号输入状态进行与操作。
如果运算结果不是0,那么说明有输入信号。分辨信号后,发送消息。
3,将这次的信号保存到 信号保存变量中。
如此这样,通过简单的运算就完成了一个滤波的功能,操作系统的时间中期可以自己设计,所以滤波的时间间隔很准,也完全不需要等待。大大提高了程序的运行效率。

 

回帖

评论0

首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China