使用 gpio 模拟 ps/2 接口对 Linux 实时性的要求
2008-09-28 17:54
393 查看
公司需要支持 ps/2 键盘, 但是 PXA310 上没有 ps/2 控制器。 硬件让研究一下 gpio 模拟的可能性。
仔细看了一下 ps/2 协议, 它主要是两根线, 一根 CLK, 一根 DATA. CLK 的频率大概是10k – 30k . 对应一个 CLK 周期为 30us – 100us。
当 ps/2键盘 (或者鼠标)需要向主机发送信号时,它会先拉低时钟信号,
然后发出 1 个起始位,8 个数据位, 1 个奇偶校验,1个停止位。如下图:
这意味着如果我们使用 gpio
模拟 ps/2 接口, 那么在收到 CLK (由高到低)的中断时,必须在 1 个时钟周期内去访问 DATA. 否则数据就会丢失。
这意味着我们的操作系统必须保证30us-100us的实时性! 目前我们的 Linux 为 2.6 标准内核,不能满足这个要求!
仔细看了一下 ps/2 协议, 它主要是两根线, 一根 CLK, 一根 DATA. CLK 的频率大概是10k – 30k . 对应一个 CLK 周期为 30us – 100us。
当 ps/2键盘 (或者鼠标)需要向主机发送信号时,它会先拉低时钟信号,
然后发出 1 个起始位,8 个数据位, 1 个奇偶校验,1个停止位。如下图:
这意味着如果我们使用 gpio
模拟 ps/2 接口, 那么在收到 CLK (由高到低)的中断时,必须在 1 个时钟周期内去访问 DATA. 否则数据就会丢失。
这意味着我们的操作系统必须保证30us-100us的实时性! 目前我们的 Linux 为 2.6 标准内核,不能满足这个要求!
相关文章推荐
- Linux下使用/dev/mem控制GPIO模拟SPI时序控制LCD5110
- linux gpio模拟i2c的使用/用GPIO模拟I2C总线-2 .
- LINUX之GPIO驱动及接口使用
- Linux中gpio接口的使用方法示例
- linux gpio模拟i2c的使用/用GPIO模拟I2C总线-1
- linux gpio模拟i2c的使用/用GPIO模拟I2C总线-2
- linux 下使用 tc 模拟网络延迟和丢包
- LinuxGPIO驱动使用其实很简单
- Linux使用模拟I2C
- linux下使用ant+Jmeter+Jenkins实现接口测试自动化
- 使用快嘉sdkg极速搭建接口模拟系统
- linux下使用c语言模拟ls [-l] [路径名] 命令
- 模拟大数据处理、linux下hash_map()使用
- Linux内核驱动之GPIO子系统(一)GPIO的使用
- Kernel中GPIO的Sysfs接口的使用
- 使用GPIO模拟I2C总线进行通信
- Linux Framebuffer驱动剖析之二—驱动框架、接口实现和使用
- ARM Linux 内核gpio模拟I2C
- ARM平台基于嵌入式Linux使用MIPI CSI-2接口
- linux中通用GPIO接口的操作--文件IO方式