APP下载

基于可编程逻辑器件(FPGA)为核心的PS/2接口键盘的输入输出电路的设计

2015-01-16彭若晨

电子设计工程 2015年11期
关键词:学号数码管电路图

彭若晨,闫 妍

(西北工业大学 陕西 西安 710072)

FPGA填补了数字系统设计的卡空白,是对微处理器的补充。尽管微处理器能用于许多场合,但是它们依靠软件才能实现其功能,因此比起定制芯片,它们一般运行速度比较慢而且功耗大。同样的,FPGA也不是定制芯片,它们无法像那些为某一应用而设计的定制芯片那样擅长完成特定功能。FPGA一般也比定制逻辑芯片的运行速度慢而且功耗大,同时相对较贵;所以人们认为定制芯片更便宜。然而,由于它们是标准期间,因而能够弥补定制芯片的一些不足。从完成设计到取得一个可工作的芯片之间不用等待,可以吧程序写入FPGA并立即进行测试;同种类的FPGA可以用于不同类型的设计中,以降低库存费用。

1 方案设计任务与要求

根据以上设计背景,利用QuartusⅡ软件编写verilog HDL硬件描述语言程序以实现数码管循环显示学号以及根据键盘切换输出波形并在VGA上显示。

1)显示学号

①采用数码管显示。

②循环显示2个人的学号后四位。

2)根据键盘切换输出波形

①按键盘一次,在VGA显示输出当前的温度。

②按键盘两次,在VGA显示输出当前的时间。

③按键盘三次,在VGA显示输出学生姓名。

用模块PCF8591进行温度采集,PCF8591资料如图1所示。

2 方案设计与论证

本电路总共分为分频模块、PS/2键盘输入模块、字符码转换模块、VGA驱动模块。各模块之间的关系如图2所示。

图1 PCF8591编码图Fig.1 PCF8591

图2 各模块关系图Fig.2 The relationship between the various modules

3 单元电路设计

1)显示学号部分

只要将CLK信号分频之后再送入数码管即可显示。如图3所示。

2)键盘控制部分如图4所示。

图3 学号数码管图Fig.3 Student ID digital

图4 电脑键盘接线图Fig.4 Computer keyboard wiring

接口的6个脚中,接口示意图如图4所示。只有4个脚有意义,分别是:时钟脚、数据脚、电源脚、电源地。其余为保留脚。PS/2靠系统的PS/2端口提供+5 V电源。这里需要用到的即是:时钟脚和数据脚。这两个脚都是集电极开路,所以必须接大阻值的上拉电阻。它们平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。

此模块的功能说明:当按下一个键时,FPGA在时钟信号下接受来自PS/2键盘的数据(8个数据位),接收完毕后锁存并转化为十六进制数据,例如4’ha。当按键放开时,发出信号change。这时开始识别按键,如果接收到8’d102,则表示接收到按键Backspace,则清空显示数据。总体来说,此部分分为接收数据模块、数据判断与锁存模块、键值转化模块。模块电路图如图5所示。

图5 模块电路图Fig.5 Module circuit diagram

3)VGA显示部分

VGA时序控制模块是整个显示控制器的关键部分,最终的输出信号行、场同步信号必须严格按照VGA时序标准产生相应的脉冲信号。对于普通的VGA显示器,其引出线的共含 5 个信号:G,R,B(三基色信号),HS(行同步信号)VS(场同步信号)。在5个信号时序驱动时,VGA显示器要严格遵循“VGA 工业标准”, 即 640×480×25 MHz模式或 800×600×40 MHz模式,本次字符显示试验采用800×600×40 MHz模式。VGA接头焊接方法如图6所示。

VGA显示模块如下

1)显示温度

图6 VGA接头焊接方法图Fig.6 VGA connector welding method

温度要用PCF8591进行采集,采集到的温度进行AD转换后经选择通道送入VGA控制电路,进而实现VGA显示温度。温度模块电路图如图7所示。

图7 温度模块电路图Fig.7 Temperature module circuit diagram

2)显示时间

这实际上是一个计数器。CLK被分频后用来计数,并且数据要经过寄存器寄存下来才能够被送入VGA控制模块。

时间模块电路图如图8所示。

3)显示姓名模块电路图如图9所示。

图8 时间模块电路图Fig.8 Time module circuit diagram

图9 显示姓名模块电路图Fig.9 Shows the name of the module circuit diagram

4 程序调试

1)运行Quartus II软件,新建工程和命名顶层文件。

2)建立文件Verilog HDL File。命名为ps2.v。在文件中写入程序,保存,编译。

3)分配管脚。保存,编译。

4)观察数码管的学号显示

5)在键盘上分别输入1、2、3,观察VGA显示屏的变化

6)若不相同或不完全相同,则分模块调试。

调试现象:

1)分别输入 1、2、3, VGA 均正确显示。

2)输入其他的键值,VGA显示0。

3)数码管循环显示学号后四位。

5 结 论

通过本次课程设计,对FPGA有了进一步的了解,虽然只做了一些最底层、最基本的设计,也只接触了那么一些小小的内容,但通过整个设计过程了解了FPGA的强大功能,认识了一些单元的工作原理。

多模式显示器在VGA上显示不同的内容,在了解结构和原理后对FPGA器件设计数字逻辑系统的方法和流程进行了讨论。传统的自下而上的设计方法已经取代当今技术的发展,不能满足大规模复杂电路[8]设计的需求,取而代之的是自上而下的设计。硬件描述语言采用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,用于描述大规模的电子系统的设计尤为方便。

[1]杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报,2010, 32(3):714-727.YANG Hai-gang,SUN Jia-bin,WANG Wei.Summary of development of design technology FPGA devices[J].Electronics&Information Technology,2010,32(3):714-727.

[2]罗萍,李肇基,甄少伟.一种基于负载状态的分段式PSM调制模式[J].电工技术学报,2006(21):101-105.LUO Ping,LI Zhao-ji,ZHEN Shao-wei.PSM modulation mode segmented based on the status of load[J].China Electrotechnical Society,2006(21):101-105.

[3]何学宇.一种电流模式PWM开关电源芯片的研究与设计[D].沈阳:辽宁大学,2011.

[4]王红,彭亮,于宗光.FPGA现状与发展趋势[J].电子与封装,2007,7(7):32-37.WANG Hong,PENG Liang,YU Zong-guang.FPGA status quo and development trend[J].Electronics and Packaging,2007,7(7):32-37.

[5]熊文彬,蒋泉,曲建军,等.基于FPGA实现的视频显示系统[J].液晶与显示,2011,26(1):92-95.XIONG Wen-bin,JIANG Quan,QU Jiang-jun,et al.FPGA-based realization of video display system[J].LCD display,2011,26 (1):92-95.

[6]余红娟,潘松.FPGA技术的应用与发展[J].杭州电子科技大学学报,2006,26(3):17-20.YU Hong-juan,PAN Song.Applications with FPGA technology[J].Hangzhou University of Electronic Science and Technology,2006,26(3):17-20.

[7]刘国栋,陈伯孝,陈多芳.FFT处理器的FPGA设计[J].航空计算技术,2004,34(3):101-104.LIU Guo-dong,CHEN Bo-xiao,CHEN Duo-fen.FFT processor, FPGA Design[J].Aeronautical Computing Technique,2004,34(3):101-104.

[8]宋岩,杜继业,宋顾周,等.像增强器程控电路设计[J].现代应用物理,2013(4):356-360.SONG Yan,DU Ji-ye,SONG Gu-zhou,et al.Design of as intensifier program control circuit[J].Modern Applied Physics,2013(4):356-360.

猜你喜欢

学号数码管电路图
带你学习实物电路图的连接
“且”的真与假
第7讲 电路图与动态电路专题复习
微课教学设计之“数码管动态显示”
Arduino编程
比亚迪E6纯电动汽车系统结构原理(四)
我们来打牌
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
尝试亲历的过程,感受探究的快乐