- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PS2接口设计
实例学习Robei 芯片设计系列
Copyright
© Robei
十五.PS2 接口设计
1.实验目的
要求掌握PS2 接口协议原理,并通过PS2 的协议原理设计PS2 的解码模块
以及设计test_bench 描述PS2 的协议时序图,最后通过Robei 可视化仿真软件经
行功能实现和仿真验证。
2.实验原理
PS2 接口用于许多现代的鼠标和键盘,由IBM 最初开发和使用。物理上的PS2
接口有两种类型的连接器:5 脚的DIN 和6 脚的mini-DIN 。图2-15-1 就是两种
连接器的引脚定义。
图2-15-1 两种PS2 接口的引脚定义
PS2 的接口如上图,其中协议的传输主要是通过Pin5 和Pin1 两个引脚。下
图2-15-2 是PS2 协议时序图。
图2-15-2 PS2 协议时序图
PS2 协议对数据的读取是 “Clock 的下降沿”有效,PS2 时钟的频率比较慢,
大约10KHZ 左右。PS2 的一帧数据是11 位。其中第0 位为开始位(START),
第 1~8 位为数据位(DATA0~DATA8 ),第9 位为校验位(PARITY ),第 10
实例学习Robei 芯片设计系列
Copyright
© Robei
位为结束位(STOP )。但对PS2 解码时,除了第 1~8 位数据位外,其余的位都
可忽视。
下面主要以PS2 接口在编码键盘的应用为例进行实验。
键盘的编码有 “通码”和 “段码”之分。可以这样解释, “通码”是某按键
“按下事件”,“段码”是某按键的 “释放事件”。假如,按下“W ”键,就会
输出 “0x1d ”的“通码”。释放“W ”键,就会输出 “0xF0 0x1d ”的“段码”。
限于篇幅,编码方式不再列出,读者可以在网上搜索。
下图2-15-3 显示组成PS2 接口的各个模块:
ps2_clk_in 电平检测模块 h2l_sig PS2 的解码模块 ps2_data_out
detect_module ps2_decode_module
ps2_data_in ps2_done_sig
图2-15-3 PS2 模块化设计
detect_module 是电平检测模块,为了检测PS2 时钟信号(ps2_clk_in )的“下
降沿”,然后将下降沿信号(h2l_sig )输出。
ps2_decode_module 是PS2 的解码模块,依据detect_module 输出的时钟下降
沿信号(h2l_sig ),对每一帧(11 位)数据进行解码和过滤,最后将一字节数
据输出ps2_data ,然后ps2_done_sig 产生一个高脉冲,表示完成一次性的解码操
作。
3.实验内容
3.1 detect 模型设计
1) 新建一个模型命名为detect,类型为module ,同时具备3 输入1 输出。每个
引脚的属性和名称参照下图2-15-4 进行对应的修改。
Name Inout DataType Datasize Function
clk input wire 1 clock
rst_n input wire 1 ne
文档评论(0)