您的位置 首页 嵌入式

Verilog HDL根底之:实例4 PS/2接口操控

本实例通过Verilog编程实现在红色飓风II代Xilinx开发板上面实现对键盘、LCD、RS-232等接口或者器件进行控制,将有键盘输入的数据在LCD上面显示出来,或者通过RS-232在PC机上的超

实例的内容及方针

1.实例的首要内容

本实例经过Verilog编程完结在赤色飓风II代Xilinx开发板上面完结对键盘、LCD、RS-232等接口或许器材进行操控,将有键盘输入的数据在LCD上面显示出来,或许经过RS-232在PC机上的超级终端上显示出来。

2.实例方针

经过本实例,读者应到达下面的方针。

  • 了解PS/2接口协议。
  • 把握键盘的作业原理。
  • 编写Verilog程序完结经过开发板上PS/2接口读取键盘的输入信息。

原理简介

PS/2键盘实行一种双向同步串行协议。换句话说每次数据线上发送一位数据,而且每在时钟线上发一个脉冲就被读入,键盘能够发送数据到主机,而主机也能够发送数据到设备。但主机总是在总线上有优先权,它能够在任何时分按捺来自于键盘的通讯,只要把时钟拉低即可。

本实例要编写一个能完结PS/2端口功用的Verilog程序。首要咱们要了解PS/2端口的结构与管脚功用界说,如表1所示。

表1 PS/2端口结构及管脚界说

端 口 结 构

管 脚 定 义

1

数据

2

未完结,保存

3

电源地

4

电源,+5V

5

时钟

插头

插座

6

未完结,保存

能够看到,PS/2里边只要一个数据口,若要分辩许多按键就需要一个高效率的分辩办法。键盘的处理器花费许多的时刻来扫描或监督按键矩阵。假如它发现有键被按下,开释或按住键盘,将发送扫描码的信息包到计算机。

扫描码有两种不同的类型:“通码”和“断码”。当一个键被按下或按住就发送“通码”,当一个键被开释就发送“断码”。每个按键被分配了专一的“通码”和“断码”。这样,主机经过查找专一的扫描码就能够测定是哪个按键。

每个键一整套的通断码组成了扫描码集,图1中包括了键盘上面大部分按键的扫描码。

当按键被开释今后,键盘回在扫描码前面加上一个“F0”作为按键松开信号。一起有的按键是Extended(扩展)键,此刻要在它们的扫描码前面加上一个“E0”作为最初,这种按键松开今后将在扫描码前面附加上“E0F0”。

下面咱们来了解信号是怎么从键盘输入经过PS/2端口的数据线输入的。首要键盘要检测数据线和时钟线是否都为高,只要它们都处在高的状况才能够写数据。从键盘发送到主机的数据在时钟信号的下降沿(当时钟从高变到低)的时分被读取。

键盘首要运用一种每帧包括11位的串行协议:第一位是开始位,一直为“0”;接下来是8位数据位,摆放次序是由低到高;再后边是奇偶校验位;最终是结束位,一直为“1”。如图2所示为该协议的时序图。

图1 键盘扫描码

图2 键盘串行协议

实例详解

此处仅给出首要的操作流程。

(1)发动ISE软件。

(2)创立新工程。

(3)编写键盘串行协议。

依照图2的时序编写相应的Verilog代码,详细源代码拜见实例代码。

(4)增加规划输入。

将编写好的接口协议加载至工程中,完结接口操控与体系的对接。

(5)设置器材及管脚束缚。

依照开发板的阐明进行相关的设置。

(6)下载验证。

下载程序后,将键盘接至开发板上,经过开发板的LCD能够看到键盘输入的字符。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/194378.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部