ps2键盘fpga程序

ps2键盘fpga程序

ID:37417068

大小:477.62 KB

页数:13页

时间:2019-05-23

ps2键盘fpga程序_第1页
ps2键盘fpga程序_第2页
ps2键盘fpga程序_第3页
ps2键盘fpga程序_第4页
ps2键盘fpga程序_第5页
资源描述:

《ps2键盘fpga程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、PS2键盘FPGA程序转发  评论2011-04-2814:30    PS2的接口如上图,除了Pin5和Pin1其他的引脚对解码没有什么意义。而下图是PS2协议的时序图。PS2协议对数据的移位是“Clock的下降沿”有效。PS2时钟的频率比较慢,大约是10Khz左右。第N位:0            1---8        9           10           11取值:0             x---x        x            1            x意义:开始位        数据位    寄偶校验位     停止位       应答位P

2、S2的一帧是12位。对PS2进行解码时,除了第1~8位数据位以外,其余的位都可以无视。键盘的编码有“通码”(Make)和“断码”(Break)之分。看得简单一点就是,“通码”是某按键的“按下事件”,“断码”是某按键的“释放事件”。假设,我按下“W”键不放,每秒大约会输出10个“0x1d”的“通码”。然后我释放“W”键,就会输出“0xF00x1d”的“断码”。编码键盘还有一个老规则,就是一次只有一个输出。再假设我按下“W”键不放,然后我再按下“X”键不放,那么会输出“0x1d”“0x22”“0x22”........的通码。如果此时我放开“X”键,就会输出“0xf00x22”的“断码

3、”,此时“W”键的“通码”已经无效。但是当我释放“W”键的时候,依然会输出“0xf00x1d”,“W”键的“断码”。至于组合键“Shift+?”,“Ctrl+?”都是软件的工作,还需要详解。FPGA模拟PS2协议  refertohttp://www.cnblogs.com/kingst/2010-10-1409:40:58

4、  分类:fpga

5、  标签:ps2_clkr  data2  fpga  rst  reg  

6、字号大中小 订阅/*出处http://www.cnblogs.com/kingst/*/在以前使用单片机对PS2进行解码的时候,一句话就是苦。如果是CPLD或者F

7、PGA的前提下,PS2的解码才有意义。PS2的接口如上图,除了Pin5和Pin1其他的引脚对解码没有什么意义。而下图是PS2协议的时序图。PS2协议对数据的移位是“Clock的下降沿”有效。PS2时钟的频率比较慢,大约是10Khz左右。 第N位属性0开始位1~8数据位9校验位10结束位PS2的一帧是11位。对PS2进行解码时,除了第1~8位数据位以外,其余的位都可以无视。对编码键盘“键盘码”的简单认识普通计算机采用的都是“编码键盘”,但是“编码键盘”的“编码方式”有分为“第一套”“第二套”和“第三套”。“第二套”的编码使用较为普遍,大致上的民用键盘都是采用“第二套”编码方式。 键盘

8、的编码有“通码”(Make)和“断码”(Break)之分。看得简单一点就是,“通码”是某按键的“按下事件”,“断码”是某按键的“释放事件”。假设,我按下“W”键不放,每秒大约会输出10个“0x1d”的“通码”。然后我释放“W”键,就会输出“0xF00x1d”的“断码”。编码键盘还有一个老规则,就是一次只有一个输出。再假设我按下“W”键不放,然后我再按下“X”键不放,那么会输出“0x1d”“0x22”“0x22”........的通码。如果此时我放开“X”键,就会输出“0xf00x22”的“断码”,此时“W”键的“通码”已经无效。但是当我释放“W”键的时候,依然会输出“0xf00x1

9、d”,“W”键的“断码”。至于组合键“Shift+?”,“Ctrl+?”都是软件的工作,我们就无视吧。在组合模块ps2_module.v中包含了两个功能块:“电平检测模块”detect_module.v和"ps2解码模块"ps2_decode_module。detect_module.v的添加时为了检查PS2时钟信号的“下降沿”,此外也是为了使模块的建立更简单。ps2_decode_module.v如字面上的意思,对每帧(十一位一组数据)的数据进行解码和过滤的行为,最后将一字节数据输出PS2_Data,然后PS2_Done_Sig产生一个高脉冲,表示完成一次性的操作。  ps2_d

10、ecode_module.v最主要的核心是在第31~55行。同样这个模块也是采用“仿顺序操作”的写法。步骤i一开始会停留在0(33行),当检查到H2L_Sig的变化,我们知道PS2一帧数据的第第0位是开始位,所以无视。在接下来的8个位都是数据位,PS2的数据位是从最低位开始,最高位结束。然后对PS2_Data_Pin_In引脚进行读值(第36~37行)。PS2一帧数据的第9~10位是校验位和结束位,执行无视操作(39~40行)。在i等于11的时候(42行),我们要进行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。