java怎么拦截某个对象
319
2022-11-02
基于Verilog的PS/2接口控制程序
1.实例的主要内容
2.实例目标
了解PS/2接口协议。
掌握键盘的工作原理。
编写Verilog程序实现通过开发板上PS/2接口读取键盘的输入信息。
原理简介
本实例要编写一个能实现PS/2端口功能的Verilog程序。首先我们要了解PS/2端口的结构与管脚功能定义,如表1所示。
表1 PS/2端口结构及管脚定义
扫描码有两种不同的类型:“通码”和“断码”。当一个键被按下或按住就发送“通码”,当一个键被释放就发送“断码”。每个按键被分配了惟一的“通码”和“断码”。这样,主机通过查找惟一的扫描码就可以测定是哪个按键。
每个键一整套的通断码组成了扫描码集,图1中包含了键盘上面大部分按键的扫描码。
下面我们来了解信号是如何从键盘输入通过PS/2端口的数据线输入的。首先键盘要检测数据线和时钟线是否都为高,只有它们都处在高的状态才可以写数据。从键盘发送到主机的数据在时钟信号的下降沿(当时钟从高变到低)的时候被读取。
键盘主要使用一种每帧包含11位的串行协议:第一位是起始位,始终为“0”;接下来是8位数据位,排列顺序是由低到高;再后面是奇偶校验位;最后是结束位,始终为“1”。如图2所示为该协议的时序图。
图1 键盘扫描码
图2 键盘串行协议
实例详解
此处仅给出主要的操作流程。
(1)启动ISE软件。
(2)创建新工程。
(3)编写键盘串行协议。
按照图2的时序编写相应的Verilog代码,具体源代码参见实例代码。
(4)添加设计输入。
将编写好的接口协议加载至工程中,完成接口控制与系统的对接。
(5)设置器件及管脚约束。
按照开发板的说明进行相关的设置。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~