收藏 分享(赏)

基于fpga的通用外设电路设计_毕业设计论文.doc

上传人:无敌 文档编号:692213 上传时间:2018-04-18 格式:DOC 页数:42 大小:641.50KB
下载 相关 举报
基于fpga的通用外设电路设计_毕业设计论文.doc_第1页
第1页 / 共42页
基于fpga的通用外设电路设计_毕业设计论文.doc_第2页
第2页 / 共42页
基于fpga的通用外设电路设计_毕业设计论文.doc_第3页
第3页 / 共42页
基于fpga的通用外设电路设计_毕业设计论文.doc_第4页
第4页 / 共42页
基于fpga的通用外设电路设计_毕业设计论文.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、毕 业 设 计 ( 论 文 )题 目:基于 FPGA 的通用外设电路设计英文题目:Design of Universal Peripheral Circuit Based on FPGA东华理工大学毕业(设计)论文 摘 要摘 要FPGA 器件作为可编程逻辑主流硬件,近年来,应用越来越广泛,在现代科学技术中占有举足轻重的作用和地位。其外设电路作为芯片与外界输入方式之一,是十分具有研究价值的。FPGA 器件不断增加新的模块,功能越来越强大,基于FPGA 的外设电路也顺应形势,不断升级。本设计综合行列式键盘、LED 显示器、时钟一体,应用 Verilog HDL 语言实现下述功能:计时功能,包括时分

2、秒的计时;校时功能:对时分秒手动调整以校准时间;键盘功能:应用 4*4 行列式键盘,可实现 0-9 数字的直接输入;LED 动态扫描显示和闪烁,移位,灭零等功能,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过 Altera Quartus8.0 完成综合、仿真。本设计实现以上 FPGA 各功能,可作为 EDA 技术发展的价值体现。此程序通过下载到 FPGA 芯片后,可应用于实际的数字钟显示中。关键字:行列式键盘、LED 显示器、时钟、Verilog HDL。东华理工大学毕业(设计)论文 AbstractABSTRACTFPGA programmable logic de

3、vices, as the mainstream of hardware, in recent years, more and more extensive applications in modern science and technology plays a vital role and status. Its peripheral circuit chip with the outside world as one of input is very valuable in research. FPGA devices are constantly adding new modules,

4、 more powerful, FPGA-based response to the peripheral circuit is also the situation escalated.The determinant of the design of an integrated keyboard, LED display, integrated clock, application Verilog HDL language to achieve the following functions: time functions, including the time when minutes a

5、nd seconds; school functions: every minute of time to manually adjust the calibration time; keyboard functions: application of 4 * 4 determinant keyboard, numbers 0-9 can be directly imported; LED dynamic scanning display and blinking, shift, such as anti-zero function, highlights the hardware descr

6、iption language as a good readability, easy to understand the advantages of portability, and Altera Quartus 8.0 through the completion of synthesis, simulation. FPGA Design and Implementation of the above various functions, can be used as the value of EDA technology embodied.This process by download

7、ing to the FPGA chip can be used in practical digital clock display.Keywords: determinant keyboard, LED display, clock, Verilog HDL.东华理工大学毕业(设计)论文 目 录1目 录引 言 .1第一章 系统硬件及设计软件介绍 .21.1 开发板介绍 .21.2 设计软件介绍 .3第二章 系统方案设计 .42.1 总设计方案 .42.2 分频器设计方案 .42.3 行列式键盘设计方案 .52.4 六位 7 段 LED 显示设计方案 .62.5 顶层模块设计方案 .7第三章

8、 系统程序设计 .83.1 分频器程序设计 .83.2 行列式键盘程序设计 .103.3 六位 7 段 LED 显示程序设计 .123.4 顶层模块程序设计 .13第四章 程序仿真 .204.1 分频器程序仿真 .204.2 行列式键盘程序仿真 .204.3 六位 7 段 LED 显示程序仿真 .214.4 顶层模块程序仿真 .22结 论 .25致 谢 .27参考文献 .28附录 1 分频器程序 .29附录 2 行列式键盘程序 .31附录 3 六位 7 段 LED 显示程序 .33附录 4 顶层时钟程序 .35东华理工大学毕业(设计)论文 引 言1引 言计算机技术和微电子工艺的发展,使得现代数

9、字系统的设计和应用进入了新的阶段。电子设计自动化(EDA)技术在数字系统设计中起的作用越来越重要,新的工具和新的设计方案不断推出,可编程逻辑器件不断增加新的模块,功能越来越强,硬件设计语言也顺应形式,推出新的标准,更加好用,更加便捷。本设计主要以 FPGA 器件、EDA 软件工具、Verilog HDL 硬件描述语言三方面内容作为主线,综合行列式键盘,LED 显示器件,以及时钟模块于一体,实现三个主要模块的联动,输入部分为 4*4 行列式键盘,具备 0-9 十个数字键、修改/ 确认键、左右移动键,输出数据为 6 位二进制代码,输出部分为六位 7 段 LED 数码管,可实现时分秒显示,时钟灭零显

10、示,修改闪烁以及小数点秒闪烁功能。而顶层文件时钟模块则将输入输出部分联结起来,实现时钟发生,显示缓存,数据修改,移位,灭零等功能。另时钟产生模块采用 FPGA 硬件内置 66MHz 分频,产生250Hz,5Hz,1Hz 信号供时钟模块,输入输出模块使用。本设计完全采用 Verilog HDL 语言完成,此程序通过下载到 FPGA 芯片后,可应用于实际的数字钟显示中。东华理工大学毕业(设计)论文 第 1 章 系统硬件及设计软件介绍2第一章 系统硬件及设计软件介绍1.1 开发板介绍本设计需要的硬件资源主要有:1、六位七段数码管2、4*4 行列式键盘经过仔细筛选,最终选定联华众科 FPGA 开发板

11、FA130。联华众科 FPGA 开发板 FA130 核心器件为 Altera Cyclone 系列的 EP1C3,配置芯片为 EPCS1,FA130 上可以运行 SOPC Builder 制作的简单的工程。 FA130 具有丰富的板载资源,由于板载有 51 单片机,FA130 还可以作为 51 单片机的学习开发板。FA130 实现了 3.3V 系统与 5V 系统对接功能,具体是通过 74LVXC3245(或简称 3245)实现的。FA130 随板资料中包括丰富的开发实例和制作开发实例的详细步骤说明,以及 Quartus II 环境下的设计输入,综合,仿真等内容,另外还包括 SOPC 建立和开发

12、方面内容,如Nios II 的建立和 Nios II 环境下 C/C+程序开发等。FA130 的 EDA 开发实例包括VHDL 和 Verilog 两个版本, FA130 的 51 单片机开发实例包括汇编和 C 语言两个版本。同时 FA130 还包括详细的使用手册和丰富的配套资料,非常适合FPGA,VHDL ,Verilog 开发学习者使用。另外 FA130 随板 DVDROM 中还包括VS.NET 的开发实例,在学习 FPGA 开发、51 单片机开发的同时还可以学习到VS.NET 开发环境中 C#程序的开发,VS.NET 和 C#也是 WINCE.NET 系统上主要的开发环境和编程语言。图

13、1-1 FA130 开发板东华理工大学毕业(设计)论文 第 1 章 系统硬件及设计软件介绍3联华众科FPGA开发板FA130具有丰富的板载资源。核心器件包括FPGA芯片Altera EP1C3T100和PLCC封装的单片机STC89LE52。EP1C3 可用 I/O分4组全部以插针的形式引出,供外部扩展时使用。FPGA配置芯片为EPCS1,EPCS1为FLASH类型存储器,存储空间为 1M位(1,046,496bits),EPCS1 可以工作在 5V或3.3V,在本开发板 EPCS1与FPGA的IO 相同工作电压为3.3V。时钟资源包括频率为66M有源晶振和1个外接有源晶振插座,外接有源晶振插

14、座可直接安装用户自己希望的任何频率有源晶振。复位电路由一个复位按键和一片复位芯片组成,复位芯片为IMP812T,IMP812T输出高电平有效的复位脉冲,脉冲宽度为140ms。IMP812T的复位门限(Reset Threshold)为 3.08V,输出的复位信号同时提供给FPGA芯片和单片机使用,FA130 上EP1C3和51 单片机 89LE52均工作在3.3V 电源电压。显示资源包括6位共阴七段数码管,8位LED(绿色),1片1602LCD显示屏。键盘资源包括4*4按键阵列,4个独立按键,其中4个独立按键可以作为单片机的中断源使用。电源部分包括1片LM1085-5.0,1片AS2830-3

15、.3和1片AS2830-1.5,LM1085-5.0提供5V直流电源作为AS2830-3.3 ,AS2830-1.5输入电源和 LCD1602供电电源。AS2830-3.3提供3.3V直流电源,作为FPGA的IO电源和开发板上其他设备电源。AS2830-1.5提供1.5V直流电源,作为FPGA的核心供电电源。存储资源包括1片24C02和1片93C46,24C02连接在I2C总线上,是存储空间为256字节串行E 2PROM,24C02的设备地址也可以由板上的3位拨码开关设置。93C46为SPI接口的串行 E2PROM,93C46存储空间为128 字节。其他资源还包括8位拨码开关,连接到EP1C3

16、上。1.2 设计软件介绍本设计使用 Altera 公司的 Quartus II 软件,版本为 8.0。Altera Quartus II 设计软件是业界唯一提供 FPGA 和固定功能 HardCopy 器件统一设计流程的设计工具。工程师使用同样的低价位工具对 Stratix FPGA 进行功能验证和原型设计,又可以设计HardCopy Stratix 器件用于批量成品。系统设计者现在能够用 Quartus II 软件评估HardCopy Stratix 器件的性能和功耗,相应地进行最大吞吐量设计。Altera 的 Quartus II 可编程逻辑软件属于第四代 PLD 开发平台。该平台支持一个

17、工作组环境下的设计要求,其中包括支持基于 Internet 的协作设计。Quartus 平台与 Cadence、ExemplarLogic、 MentorGraphics、Synopsys 和 Synplicity 等 EDA 供应商的开发工具相兼容。改进了软件的 LogicLock 模块设计功能,增添 了 FastFit 编译选项,推进了网络编辑性能,而且提升了调试能力。东华理工大学毕业(设计)论文 第 2 章 系统方案设计4第二章 系统方案设计设计要求:1、行列式键盘电路包括:时钟产生电路,扫描电路、按键标志产生电路和键盘译码器;2、LED 显示电路设计包括:时钟发生器、扫描信号发生器、显

18、示缓存器、七段译码器、小数点产生模块和闪烁模块;3、键盘与 LED 显示电路配合,完成数据修改,移位,灭零和小数点移动等功能。2.1 总设计方案根据课题要求,本设计主要由三个模块完成,1) 输入:行列式键盘,具备 0-9 十个数字键及数据修改/ 确认,左移位键,右移位键三个功能键。2) 输出:六位 7 段数码管。3) 主程序:实现时钟产生,键位识别,数据修改,移位等功能。4) 应以上三个模块要求,设计分频模块,产生符合要求的方波。如图 2-1 所示:图 2-1 系统设计方案图2.2 分频器设计方案本设计采用 FPGA 硬件设计,其内置时钟频率为 66MHz,而三个模块需要的是频率较低的信号,应

19、通过寄存器计数来实现分频,考虑到高低频率差异太大,所以拆分成为两个寄存器来实现,这样可以得到 250Hz 信号,然后再使用两个寄存器可分别得到 5Hz,1Hz 两个信号。 如图 2-2 所示。东华理工大学毕业(设计)论文 第 2 章 系统方案设计5图 2-2 分频示意图2.3 行列式键盘设计方案行列式键盘的工作方式是读取行列线的状态,查看是否有按键按下。键盘部分提供一种扫描的工作方式,能对键盘不断扫描、自动消抖、自动识别按下的键,并给出编码,能对双键或 n 个键同时按下的情况实行保护。本设计需要实现数据修改,移位,所以除了 0-9 数字键盘以外,还至少需要左右移位键及修改/确认三个功能键,如图

20、 2-3 所示。图 2-3 键盘示意图键盘需要响应迅速,所以采用了 250Hz 信号,输入由X1,X2,X3,X4;Y1,Y2,Y3,Y4 八根纵横交错的连接线组成,当某根 X 连接线和Y 连接线同时为低电平时有效,例如当 X3,Y2 为低电平时,识别为“0”键,将输出相应信号供主程序识别。如图 2-4 所示。东华理工大学毕业(设计)论文 第 2 章 系统方案设计6图 2-4 键盘电路原理2.4 六位 7 段 LED 显示设计方案在译码器设计时,常用发光二极管的状态验证设计是否满足要求。这种方式是很直观的,但在计数器设计时,这样的验证方式就显得很不直观,尤其当计数器的位数增加时(如百进制计数)

21、 ,太多的发光管将使结果的独处非常困难。此时应采用数码管显示,但是当用七段数码显示器显示的位数较多时(如显示 8 位)BCD 码十进制数) ,为了节省硬件开支,常用动态显示方法,即对各 LED 数码管循环扫描。分时使用显示器驱动电路。1) 驱动方式:直接驱动方式,直接对数码管相应的字段给出驱动电平,以显示字形,其真值表如表 2-1 所示:表 2-1 LED 真值表a b c d e f g 输出1 1 1 1 1 1 0 00 1 1 0 0 0 0 11 1 0 1 1 0 1 21 1 1 1 0 0 1 30 1 1 0 0 1 1 41 0 1 1 0 1 1 51 0 1 1 1 1

22、 1 61 1 1 0 0 0 0 71 1 1 1 1 1 1 81 1 1 1 0 1 1 92)动态扫描显示动态扫描的 FPGA 实现可以采用将所有数码管的相同字段并联,由 FPGA 芯片的输出信号 a,b,c,d,e,f,g 直接驱动相应字段,由软件编程产生片选信号MS1, MS2, ,MS6 循环选中 6 个数码管。数码管显示的字形由表 2-2 决定。3)相关知识共阴数码管如右图 2-5 所示:每一条线分别对应一个管脚,当管脚为1时,这条线为亮,当管脚设置为0 时,这条线不亮。例如:设置 a 的管脚为 1,那么 0 这条线就会亮;设置 g 的管脚为1,那么 6 这条线就会亮。要让数码管显示数字 0,那么我们可以设置a,b,c,d,e,f,g为“1111110”。图 2-5 数码管示意图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报