您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于FPGA的键盘接口设计正文
湖南科技大学学士学位毕业论文1基于FPGA的键盘接口设计专业:电子信息科学与技术系作者:李先仙指导老师:刘强摘要:现场可编程逻辑门阵列FPGA(FieldProgrammalbeGateArray)具有掩膜可编程门阵列的通用结构,由逻辑功能块排成阵列组成,并由可编程的互联资源连接这些逻辑功能块以及相应的输入/输出单元来实现不同的设计。在电子产品中,键盘是最基本的输入设备,然而在应用中都采用通用的键盘扫描器件是不现实的,需要单独设计成专用的小键盘。随着电子技术和EDA(ElectronicDesignAutomatic,电子设计自动化)技术的发展,大规模可编程逻辑器件PLD(ProgrammableLogicDevice)、现场可编程门阵列FPGA完全可以取代大规模集成电路芯片,实现计算机可编程接口的功能,并可将若干接口电路的功能集成到一片PLD或FPGA芯片中。鉴于大规模PLD或FPGA的计算机接口电路不仅具有集成度高、体积小和功耗低等优点,而且还具有独特的用户可编程能力,从而实现计算机系统的功能重构。本文设计首先介绍行列式键盘的原理和应用,通过对其接口电路的详细分析;然后利用VHDL硬件描述语言和FPGA器件并采用模块化设计的方法完成了基于FPGA的行列式键盘接口电路的设计;最后通过计算机仿真,对本文设计的行列式键盘接口电路的正确性进行了验证。关键词:键盘;仿真;VHDL语言;FPGA;模块化设计BasedonFPGAKeyboardConnectionDesignMajor:ElectronicInformationScienceandTechnologyAuthor:LiXianxianInstructor:LiuQiangAbstract:TheFiledProgrammmalbeGateArray,shortedbyFPGA,whichhasamask-programmablegatearrayofgenericstructureandfunctionblocksinthelogicarrayofline,throughaprogrammablelogicofinternetresourcesconnectingthesefunctionblocksandthecorrespondinginput/outputmodulestoachievedifferentdesign.Inelectronicproducts,thekeyboardisthemostbasicinputdevice,however,it’sunrealisticofusinggeneralkeyboardscanningdeviceintheapplication,weneedfortheseparatedesigningofthesmallkeyboard.WiththedevelopmentofElectronicandEDA(ElectronicDesignAutomatic)technology,LargeScaleIntegrationchipscanbereplacedbyPLD(ProgrammableLogicDevice)andFPGA,whichcanrealizethefunctionoftheProgrammableInterfacechipsandfeatureanumberofinterfacecircuitsintegatedintooneofthePLDorFPGAchips.ThecomputerinterfacecircuitbasedonthetechnologyofPLDandFPGAnotonlyhasthevirtueofhighintegration,lowvolumeandlowpowerloss,butalsohastheuniqueprogrammablefunction,whichcanrealizereconstructionofthefunctionofcomputersystem.Thedesigningofthisarticlefirstintroducedthedeterminantkeyboard’stheoryandapplication,throughtoanalysisitsconnectionelectriccircuitinverygreatdetail,andthenusedVHDLhardwaredescriptionlanguageandFPGAdevicetocompleteFPGA-baseddeterminantkeyboardconnectionelectriccircuitdesignwithmodulardesignmathod.Fianally,throughthemethodofsimulationstoverifytheaccuracyofthedeterminantkeyboardconnectionelectriccircuitofthedesign.Keywords:Keyboard;Simulalion;VHDLlauguage;FPGA;Modulardesign湖南科技大学学士学位毕业论文2前言键盘历史非常悠久,早在1714年,就开始相继有英、美、法、意、瑞士等国家的人发明了各种形式的打字机,最早的键盘就是那个时候用在那些技术还不成熟的打字机上的;到了20世纪中期,键盘又多了一个用武之地——作为电脑的基本输入设备,用户通过它向计算机传递信息,它有机械式、电容式、电感式和薄膜式等多种形式,按获取按编码的方式,可分为编码键盘和非编码键盘;根据键盘插口方式分为AT接口键盘和PS/2接口键盘和USB接口键盘,其中AT接口键盘目前已基本被淘汰[1]。然而在应用中都采用通用的键盘扫描器件是不现实的,由可编程逻辑器件组成的数字电路系统中经常需要有输入/输出设备,以用来与用户更好地进行交互。现代EDA(ElectronicDesignAutomation,电子设计自动化)技术提供了一种很好的途径,利用VHDL硬件描述语言和FPGA器件可以很方便地构建键盘接口电路[2]。本文采用VHDL语言设计的基于FPGA的行列式键盘接口设计,行列式键盘是常用的输入/输出设备之一,它结构简单,携带方便,功耗低,能够适用于各种功率要求的场合,功能强大,能有效的提高利用I/O口的利用率。行列式键盘电路的FPGA实现主要解决三个问题,一是如何检测是否有按键按下并防止采集到干扰信号,二是在按键闭合时如何防止抖动,三是如何判断为哪一个按键位动作,并对其进行译码。因此,要解决这些问题,把行列式键盘接口电路分为键盘扫描电路、键盘译码电路、按键标志产生电路、时钟模块以及键盘顶层电路等四个模块来实现。首先利用VHDL硬件描述语言在FPGA芯片上实现键盘接口并利用仿真FPGA软件进行仿真;之后便可利用FPGA实验箱搭建相应的硬件电路,在硬件上实现键盘接口的一些基本功能。在Altera、Atmel等公司都推出了内嵌微处理器的FPGA,但由于价格、开发手段和方法等因素的影响,在未来一段较长的时间里,还是会更多的采用单片机与FPGA配合的方式设计系统,以发挥单片机的灵活性和FPGA的高速性[3]。1VHDL和FPGA概述1.1VHDL概述1.1.1VHDL的由来和特点VHDL是VeryhighspeedintegratedcircuitHardwareDeseriptionLanguage的缩写,意思是非常高速集成电路的硬件描述语言,是HDL(HardwareDeseriptionLanguage,硬件描述语言)的一种。这是一项由美国国防部所支持的研究计划,目的是为了把电子电路的设计意义以文字或文件的方式保存下来,以便他人能轻易地了解电路的设计意义。由于VHDL电路描述语言所能涵盖的范围很广,从ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)的设计到PCB(PrintedCircuitBoard,印刷电路板)系统的设计,VHDL电路描述语言都能派上用场,所以VHDL语言毫无疑问地成为硬件设计工程师的必备工具[4]。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多方面具有硬件特征的语句外,VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计或称设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(即端口)湖南科技大学学士学位毕业论文3和内部(即设计实体的内部功能和算法完成部分)。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体[5]。这种将设计实体分成内、外两部分的概念是VHDL系统设计的基本点。具体特点如下:1)与其它的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模集成电路的重要保证。2)VHDL丰富的仿真语言和库函数,使得在大规模集成电路设计的早期就能查验出设计系统的功能可行性,可随时对设计进行功能仿真、时序仿真,使设计者在设计初期就可以对整个工程设计的可行性作出决策,从而缩短了设计周期,减少了研发成本。3)VHDL语句的行为描述能力和程序结构决定了它具有支持大规模集成电路设计的分解和对已有设计的再利用功能[4]。重复利用他人的IP(IntelligencePropertycore,知识产权核,一种正式注册产权的电路设计)模块和软核(softcore)是VHDL的特色,设计不必各个都从头再来,只要在更高的层次上把IP模块利用起来,能达到事半功倍的效果。4)对于VHDL完成的一个确定的设计,可以利用EDA工具(如MAX+PLUSⅡ)进行逻辑综合和优化,并自动把VHDL描述设计转换成门级网表。这种设计方式突破了传统门级设计中的瓶颈,极大地减少了电路设计的时间和错误发生率,降低了开发成本,缩短了设计周期。5)VHDL对设计的描述具有相对的独立性,设计者可以不懂硬件的结构,也不必关心最终设计的目标器件是什么而进行独立的设计。正因为VHDL的硬件描述与具体的工艺和硬件结构无关,VHDL设计程序的硬件实现目标器件有广阔的选择范围。6)由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的前提下,只需改变类属参数或函数,就能改变设计的规模和结构[6]。1.1.2VHDL的描述风格在VHDL结构体中,可以用不同的描述方式或者说是建模方法来表达,通常可归纳为行为描述、寄存器传输RTL(RegistersTransferLanguage)描述和结构描述[7]。行为描述:行为描述只表示输入与输出间转换的行为,不包含任何结构信息。行为描述主要指顺序语句描述,即通常是指含有进程的非结构化的逻辑描述。RTL描述:也称为数据流描述,是以规定设计中的各种寄存器形式为特征,然后在寄存器之间插入组合逻辑。RTL描述是建立在用并行信号赋值语句(进程)基础上的,RTL描述能比较直观地表达底层逻辑行为。它既含有逻辑单元的结构信息,又隐含表示某种行为,RTL描述主要是指非结构化的并行语句描述。结构描述:结构描述是基于元件例化或生成语句的应用,表示元件间的互连,其风格最接近实际的硬件结构。1.1.3VHDL基本程序结构一个相对完整的VHDL设计由以下几个部分组成:湖南科技大学学士学位毕业论文4库、程序包;实体;结构体;配置;其各自作用如图1所示:VHDL设计VHDL文件库(LIBRARY):用于存储预先完成的程序包和数据集合体。程序包(PACKAGE):声明在设计或实体中用到的数据类型、子程序等。实体(ENTITY):定义本设计的输入/输出端口。结构体(ARCHITECTURE):定义实体的实现,即电路的具体描述。配置(CONFIGURATION):为实体选定某个特定的结构体。图1VHDL基本程序结构以上四个部
本文标题:基于FPGA的键盘接口设计正文
链接地址:https://www.777doc.com/doc-2569836 .html