基于FPGA的键盘接口设计专业:电子信息科学与技术系作者:李先仙指导老师:刘强摘要:现场可编程逻辑门阵列FPGA (Field Programmalbe Gate Array)具有掩膜可编程门阵列的通用结构,由逻辑功能块排成阵列组成,并由可编程的互联资源连接这些逻辑功能块以及相应的输入/输出单元来实现不同的设计。
在电子产品中,键盘是最基本的输入设备,然而在应用中都采用通用的键盘扫描器件是不现实的,需要单独设计成专用的小键盘。
随着电子技术和EDA (Electronic Design Automatic,电子设计自动化)技术的发展,大规模可编程逻辑器件PLD(Programmable Logic Device)、现场可编程门阵列FPGA完全可以取代大规模集成电路芯片,实现计算机可编程接口的功能,并可将若干接口电路的功能集成到一片PLD或FPGA芯片中。
鉴于大规模PLD或FPGA的计算机接口电路不仅具有集成度高、体积小和功耗低等优点,而且还具有独特的用户可编程能力,从而实现计算机系统的功能重构。
本文设计首先介绍行列式键盘的原理和应用,通过对其接口电路的详细分析;然后利用VHDL硬件描述语言和FPGA器件并采用模块化设计的方法完成了基于FPGA的行列式键盘接口电路的设计;最后通过计算机仿真,对本文设计的行列式键盘接口电路的正确性进行了验证。
关键词:键盘;仿真;VHDL语言;FPGA;模块化设计Based on FPGA Keyboard Connection DesignMajor:Electronic Information Science and TechnologyAuthor: Li Xianxian Instructor: Liu QiangAbstract: The Filed Programmmalbe Gate Array,shorted by FPGA,which has a mask-programmable gate array of generic structure and function blocks in the logic array of line,through a programmable logic of internet resources connecting these function blocks and the corresponding input/output modules to achieve different design.In electronic products,the keyboard is the most basic input device,however,it’s unrealistic of using general keyboard scanning device in the application ,we need for the separate designing of the small keyboard. With the development of Electronic and EDA(Electronic Design Automatic)technology,Large Scale Integration chips can be replaced by PLD(Programmable Logic Device)and FPGA ,which can realize the function of the Programmable Interface chips and feature a number of interface circuits integated into one of the PLD or FPGA chips.The computer interface circuit based on the technology of PLD and FPGA not only has the virtue of high integration,low volume and low power loss, but also has the unique programmable function,which can realizereconstruction of the function of computer system.The designing of this article first introduced the determinant keyboard’s theory and application,through to analysis its connection electric circuit in very great detail ,and then used VHDL hardware description language and FPGA device to complete FPGA-based determinant keyboard connection electric circuit design with modular design mathod.Fianally,through the method of simulations to verify the accuracy of the determinant keyboard connection electric circuit of the design.Key words: Keyboard; Simulalion; VHDL lauguage; FPGA; Modular design前言键盘历史非常悠久,早在1714年,就开始相继有英、美、法、意、瑞士等国家的人发明了各种形式的打字机,最早的键盘就是那个时候用在那些技术还不成熟的打字机上的;到了20世纪中期,键盘又多了一个用武之地——作为电脑的基本输入设备,用户通过它向计算机传递信息,它有机械式、电容式、电感式和薄膜式等多种形式,按获取按编码的方式,可分为编码键盘和非编码键盘;根据键盘插口方式分为AT接口键盘和PS/2接口键盘和USB接口键盘,其中AT接口键盘目前已基本被淘汰[1]。
然而在应用中都采用通用的键盘扫描器件是不现实的,由可编程逻辑器件组成的数字电路系统中经常需要有输入/输出设备,以用来与用户更好地进行交互。
现代EDA(Electronic Design Automation,电子设计自动化)技术提供了一种很好的途径,利用VHDL硬件描述语言和FPGA器件可以很方便地构建键盘接口电路[2]。
本文采用VHDL语言设计的基于FPGA的行列式键盘接口设计,行列式键盘是常用的输入/输出设备之一,它结构简单,携带方便,功耗低,能够适用于各种功率要求的场合,功能强大,能有效的提高利用I/O口的利用率。
行列式键盘电路的FPGA实现主要解决三个问题,一是如何检测是否有按键按下并防止采集到干扰信号,二是在按键闭合时如何防止抖动,三是如何判断为哪一个按键位动作,并对其进行译码。
因此,要解决这些问题,把行列式键盘接口电路分为键盘扫描电路、键盘译码电路、按键标志产生电路、时钟模块以及键盘顶层电路等四个模块来实现。
首先利用VHDL硬件描述语言在FPGA芯片上实现键盘接口并利用仿真FPGA软件进行仿真;之后便可利用FPGA实验箱搭建相应的硬件电路,在硬件上实现键盘接口的一些基本功能。
在Altera、Atmel等公司都推出了内嵌微处理器的FPGA,但由于价格、开发手段和方法等因素的影响,在未来一段较长的时间里,还是会更多的采用单片机与FPGA配合的方式设计系统,以发挥单片机的灵活性和FPGA的高速性[3]。
1 VHDL和FPGA概述1.1 VHDL概述1.1.1 VHDL的由来和特点VHDL是Very high speed integrated circuit Hardware Deseription Language的缩写,意思是非常高速集成电路的硬件描述语言,是HDL(Hardware Deseription Language,硬件描述语言)的一种。
这是一项由美国国防部所支持的研究计划,目的是为了把电子电路的设计意义以文字或文件的方式保存下来,以便他人能轻易地了解电路的设计意义。
由于VHDL电路描述语言所能涵盖的范围很广,从ASIC(Application Specific Integrated Circuit,专用集成电路)的设计到PCB(Printed Circuit Board,印刷电路板)系统的设计,VHDL电路描述语言都能派上用场,所以VHDL语言毫无疑问地成为硬件设计工程师的必备工具[4]。
VHDL主要用于描述数字系统的结构、行为、功能和接口。
除了含有许多方面具有硬件特征的语句外,VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计或称设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(即端口)和内部(即设计实体的内部功能和算法完成部分)。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体[5]。
这种将设计实体分成内、外两部分的概念是VHDL系统设计的基本点。
具体特点如下:1) 与其它的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模集成电路的重要保证。
2) VHDL丰富的仿真语言和库函数,使得在大规模集成电路设计的早期就能查验出设计系统的功能可行性,可随时对设计进行功能仿真、时序仿真,使设计者在设计初期就可以对整个工程设计的可行性作出决策,从而缩短了设计周期,减少了研发成本。
3) VHDL语句的行为描述能力和程序结构决定了它具有支持大规模集成电路设计的分解和对已有设计的再利用功能[4]。
重复利用他人的IP (Intelligence Property core,知识产权核,一种正式注册产权的电路设计)模块和软核(soft core)是VHDL的特色,设计不必各个都从头再来,只要在更高的层次上把IP模块利用起来,能达到事半功倍的效果。
4) 对于VHDL完成的一个确定的设计,可以利用EDA工具(如MAX+PLUSⅡ)进行逻辑综合和优化,并自动把VHDL描述设计转换成门级网表。
这种设计方式突破了传统门级设计中的瓶颈,极大地减少了电路设计的时间和错误发生率,降低了开发成本,缩短了设计周期。