基于FPGA的矩阵键盘接口电路的设计 下载本文

内容发布更新时间 : 2024/9/18 13:25:03星期一 下面是文章的全部内容请认真阅读。

基于FPGA的矩阵键盘接口电路的设计

目 录

目录 ------------------------------------------------------------------------------------------------ 1 1.绪论 --------------------------------------------------------------------------------------------- 3 1.1 FPGA概况 ----------------------------------------------------------------------------------- 3 1.2 本课题的研究意义 ----------------------------------------------------------------------- 4 1.3 本章小结 ------------------------------------------------------------------------------------ 4 2. VHDL语言 ------------------------------------------------------------------------------------ 5 2.1 VHDL语言概述 ----------------------------------------------------------------------------- 5 2.2 VHDL语言的优点 -------------------------------------------------------------------------- 6 2.3 利用VHDL语言设计数字系统的特点 ------------------------------------------------- 8 2.4 VHDL语言的基本结构 -------------------------------------------------------------------- 9 2.5本章小结 ------------------------------------------------------------------------------------ 9 3.矩阵键盘接口电路原理和数码管显示原理 ------------------------------------------- 10 3.1矩阵键盘接口电路的原理 -------------------------------------------------------------- 10 3.2数码管显示原理 -------------------------------------------------------------------------- 12 3.3本章小结 ----------------------------------------------------------------------------------- 12 4.总体设计和各模块设计 ------------------------------------------------------------------- 13 4.1时钟产生模块 ----------------------------------------------------------------------------- 13

1

基于FPGA的矩阵键盘接口电路的设计

4.2键盘扫描模块 ----------------------------------------------------------------------------- 13 4.3数码管显示模块 -------------------------------------------------------------------------- 14 4.4顶层电路实现 ----------------------------------------------------------------------------- 14 4.5本章小结 ----------------------------------------------------------------------------------- 14 附录1:总体设计电路原理图: ------------------------------------------------------------- 15 附录2:硬件实物图 -------------------------------------------------------------------------- 15 附录3:EP1C3T144C8N的PCB电路图 ---------------------------------------------------- 16 附录4:顶层电路实现的具体程序 -------------------------------------------------------- 16 附录5:时钟产生模块实现的具体程序 -------------------------------------------------- 17 附录6:键盘扫描模块实现的具体程序 -------------------------------------------------- 18 附录7:数码管显示模块实现的具体程序 ----------------------------------------------- 24 5.心得体会 -------------------------------------------------------------------------------------- 26

2

基于FPGA的矩阵键盘接口电路的设计

1.绪论

1.1 FPGA概况

早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(E2PROM)三种。由于结构的限制,它们只能完成简单的数字逻辑功能。

其后出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与—或”表达式来描述,所以PLD能以乘积和的形式完成大量的组合逻辑功能。

这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。 PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和E2PROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。PLA器件既有现场可编程的,也有掩膜可编程的。在PAL的基础上又发展了一种通用阵列逻辑(GAL、Generic ArrayLogic),如GAL16V8、GAL22V10等。它采用了E'PROM工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。

为了弥补这一缺陷,20世纪80年代中期,Altera和Xilinx分别推出了类似于PAL结构的扩展型CPLD(Complex Programmable Logic Dvice)和与标准门阵列类似的FPGA(FieldProgrammable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其他ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品不需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10 000件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。

3