唤醒按键的干扰

congyue123 2010-10-30 03:57:23
在做睡眠唤醒的时候,其他都正常了,就是按键的干扰很严重,具体如下:

平台:wince 5.0、2440平台
睡眠唤醒源:通过EINT0中断实现,常态为高,下降沿触发睡眠、唤醒。
现象:
1、睡眠、唤醒这些流程都正常。
2、系统正常状态下,通过按键进入睡眠,在按键的IST中做了按键的滤波,可以消除干扰。
3、在唤醒的时候,没能做按键的滤波,干扰很严重。有时本来是唤醒的操作,却同时也触发了睡眠。。。

问题:
1、想知道大家对唤醒的滤波是怎么实现的?
2、在startup.s里面处理?
3、貌似这种外部中断方式的按键,干扰都挺严重,大家的硬件、软件都怎么做?
...全文
152 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
JNU_kinke 2010-11-01
  • 打赏
  • 举报
回复
看来还得在硬件中处理,呵呵
congyue123 2010-10-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 memoleak 的回复:]
在外面加个RC滤波网络才素王道~~同时改为电平触发,如果条件允许,加个触发器最好
[/Quote]

后面尝试下,不过能用软件的方法还是不想加硬件了。。
congyue123 2010-10-31
  • 打赏
  • 举报
回复
方法:
1、在唤醒后执行程序时,尽可能靠前的位置(在bootloader的startup.s)屏蔽掉中断,进入系统时(off.c文件中)再开启中断。

------------------------
这样系统的boot已经起来了,那么内核、时钟都是全速的状态,就没有了睡眠时的低功耗了。。。


2、设置中断方式为低电平出发。因为低电平要维持一定时间才会出发中断,应该起到抗干扰的作用。
------------------------
这种确实可以起到一定的作用,但是考虑到一般的按键质量不行,干扰的因素还是很多。。。


memoleak 2010-10-30
  • 打赏
  • 举报
回复
在外面加个RC滤波网络才素王道~~同时改为电平触发,如果条件允许,加个触发器最好
JNU_kinke 2010-10-30
  • 打赏
  • 举报
回复
方法:
1、在唤醒后执行程序时,尽可能靠前的位置(在bootloader的startup.s)屏蔽掉中断,进入系统时(off.c文件中)再开启中断。


2、设置中断方式为低电平出发。因为低电平要维持一定时间才会出发中断,应该起到抗干扰的作用。

21,616

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧