使用 gpio 模拟 ps/2 接口对 Linux 实时性的要求

rel="File-List" href="file:///C:%5CDOCUME%7E1%5Czjujoe%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5Czjujoe%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso">

公司需要支持 ps/2 键盘, 但是 PXA310 上没有 ps/2 控制器。 硬件让研究一下 gpio 模拟的可能性。

仔细看了一下 ps/2 协议, 它主要是两根线, 一根 CLK, 一根 DATA. CLK 的频率大概是10k – 30k . 对应一个 CLK  周期为 30us – 100us

ps/2键盘 (或者鼠标)需要向主机发送信号时,它会先拉低时钟信号, 然后发出 1 个起始位,8 个数据位, 1 个奇偶校验,1个停止位。如下图:


rel="File-List" href="file:///C:%5CDOCUME%7E1%5Czjujoe%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

这意味着如果我们使用 gpio 模拟 ps/2 接口, 那么在收到 CLK (由高到低)的中断时,必须在 1 个时钟周期内去访问 DATA. 否则数据就会丢失。

这意味着我们的操作系统必须保证30us-100us的实时性! 目前我们的 Linux 2.6 标准内核,不能满足这个要求!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值