Keep Faith

统计

ARM移植

最新评论

linux的实时性问题

通过这几天的测试,发现linux的实时性还是有很大问题的。。
编写了一个红外遥控程序,通过GPIO产生红外遥控数据,一般
红外遥控采用如下编码方式:
'1'为560us有效加560*3us无效输出。
'0'为560us有效加560us无效输出。
在linux下编写了驱动,起初是通过udelay延时进行时序控制。
发现当CPU占用率增加时,时序完全没有保证。
随后采用linux的sys_timer进行时序控制,通过调用
s3c2410_gettimeoffset读取timer4的计数器计数值进行延时控制,
效果还是不好,后来自己使用了timer3进行时序控制,通过
timer3中断对时序进行控制,但测试发现,当无线网卡以及usb摄像头都
工作时,进入中断都有很大的延时,还是满足时序要求。

最后没有办法,只能外接一个单片机进行时序控制,然后arm板通过串口与单片机通信,
完成红外控制。linux毕竟还不是实时系统,完成这种对时序有较高要求的任务是还是有
所欠缺。

posted on 2007-06-02 22:12 sardis 阅读(2140) 评论(3)  编辑 收藏 引用 所属分类: linux移植

评论

# re: linux的实时性问题 2007-12-04 20:04 加斯

请问你采用什么型号的单片机呢?
是否曾经考虑过用红外UART进行遥控器脉冲的接收?
  回复  更多评论   

# re: linux的实时性问题 2007-12-04 20:14 sardis

用的是c8051F330,主要是因为这个芯片比较小,然后刚好有头上有相应的硬件板。所以就用了。。。 没有用红外的UART因为手头上没有。。。  回复  更多评论   

# re: linux的实时性问题 2008-03-23 14:29 SJ

请问用的LINUX的版本是2.4还是2.6?  回复  更多评论   

只有注册用户登录后才能发表评论。