论文网
首页 理科毕业设计毕业正文

EDA教学中译码器与显示接口电路的设计

  • 投稿夏天
  • 更新时间2015-09-24
  • 阅读量870次
  • 评分4
  • 30
  • 0

韩铮,于明军

(赤峰学院 物理与电子信息工程学院,内蒙古 赤峰 024000)

摘要:本文利用QuartusⅡ集成开发环境来完成译码器、LCD、流水灯等电路的设计,以FPGA实验开发板为运行载体,FPGA开发板FA280核心器件为Altera CycloneⅡ系列的EP2C8Q208,通过开发板上的USB Blaster将程序下载到开发板,实现VHDL硬件语言设计的译码器、LCD及数码管显示接口电路的运行显示.

教育期刊网 http://www.jyqkw.com
关键词 :QuartusⅡ;译码器;显示接口

中图分类号:G642文献标识码:A文章编号:1673-260X(2015)05-0059-02

1 引言

在信息时代的今天,科技飞速发展,电子产品更新换代迅速,传统的设计方法再也不能满足市场需求,因此EDA技术在一些电子领域取得了惊人的成绩.当然,紧随科技脚步的高校自然也不会落后,由此EDA技术便在电子信息类专业中发展起来了.但传统的授课方式,让我们只能在课堂上通过老师的讲解来接触到EDA技术,抽象的知识让学生很难去深入理解和探索,这样理论与实践相结合就显得尤为重要了.EDA是将计算机技术应用到电子电路设计中,在QuartusⅡ环境中,运用输入原理图或硬件语言进行编译与仿真的技术.在开发板上可以实现数码管、LCD、流水灯、蜂鸣器等显示和发声的效果.

2 EDA教学实验开发板概述

本文用到的实验板是FPGA开发板FA280,FA280板载有SDRAM,FLASH以及USB Blaster下载线电路.利用QuartusⅡ集成开发环境来完成前期设计,以FPGA实验开发板为运行载体,来完成VHDL、Verilog HDL等一些硬件语言的运行显示.

FPGA开发板FA280,其核心器件为Altera CycloneⅡ系列的EP2C8Q208,是包含192个引脚,其中I/O口有183个,板载存储器包括SDRAM HY57V641620和Bytes,FLASH AM29LV320,存储空间分别为8M和4MBytes.SDRAM与系统总线速度同步,可避免不必要的等待周期.

接口包括:PS2接口、VGA接口、RS232串口、USB下载接口.开发板具有USB Blaster下载线电路,插上USB线即可进行下载,通过拨动USB下载接口开关选择JTAG或AS下载方式.

显示设备包括6位7段红光数码管,8位绿色LED发光二极管,LCD1602和LCD12864显示屏接口插座.

复位电路由一个复位按键和一个复位芯片组成的,可以将电路恢复到起始状态(相当于清零按钮).复位芯片为MAX811R,可将输出脉冲宽度为140ms、门限为2.63V的低电平有效复位脉冲信号提供给FA280.

电源部分包括1117-3.3和1117-1.2各一片,从功能板分别引入3.3V和1.2V的直流电源作为EP2C8的核心电源电压,并在核心板上加入滤波电容,以确保芯片和电源系统的稳定性.

其他还包括一个蜂鸣器、4位独立按键、电源插座和开关、SD卡座、扩展总线(GPIO)和有源晶振.

3 EDA技术的应用软件及开发流程

3.1 硬件描述语言VHDL

高级硬件描述语言VHDL已成为IEEE标准,适用于行为级和RTL级的描述,最适于描述电路行为,并在设计时可以不了解电路的结构细节.VHDL主要用于描述数字系统的结构、行为、功能和接口,其设计的基本点是将设计实体分成内、外部分.完整的VHDL程序要包含库、程序包、实体、构造体和配置等部分,它的描述语句和常用语句都有其固定的格式,并且有自己的语法,不允许不同类型的数据在表达式中自由组合.

3.2 开发流程

QuartusⅡ作为一个综合性的开发平台,可以完成多种功能的实现.QuartusⅡ的设计流程:首先输入HDL等形式的设计文本,接着根据设计要求设定编译方式和策略,然后进行设计校验(仿真和定时分析),最后进行编程与验证(将编程文件配置到PLD中).设计过程中,如果出现错误,则回到设计输入阶段改错,然后重复以上步骤.

设计输入:设计输入可以用HDL方式或原理图录入方式.一般可以使用原理图来设计最顶层,将整个设计的结构描述清楚,具体实现各模块时用HDL.对于HDL方式的设计输入,可以采用Verilog和VHDL,我们这里采用VHDL语言来实现.

综合:综合工具将设计转换成包含逻辑单元和逻辑单元间连接的网表文件.

功能仿真:对已经综合的电路的功能进行验证,功能仿真不涉及任何时序方面的内容.

配置:将综合产生的网络表中的逻辑单元映射到CPLD/FPGA器件中的LE,这里还包含器件中LE间连接和路由的选择.

时序分析和时序仿真:通过分析配置后的电路各个路径上的传输延时,获得电路的性能情况.这里的时序仿真将结合器件时间参数,与前面的功能仿真不同,功能仿真只关注与源程序的逻辑是否正确.

编程:在CPLD/FPGA器件内实现设计,包括逻辑单元和逻辑单元间的连接.

在做一个设计时,通常要对功能进行模块划分,每个模块对应一个源文件,用一个唯一的顶层文件将这些模块源文件组合起来,形成一个整体设计.顶层文件完成模块的例化工作,顶层文件可以用HDL语言编写,也可以用原理图的方式.

4 译码器与显示接口电路设计

4.1 3线-8线译码器

3线-8线译码器的仿真过程:运行Quartus II软件,建立工程项目,工程命名为lq.建立一个VHDL文件,命名为lq,文件后缀为.vhd,再将程序写入并保存,然后编译,确保没有错误后进行仿真,周期设为100ns.将输入端A2、A1、A0三位二进制代码按照真值表设定好;S_0、S_1、S_2为控制输入端,当s_0 and (not s_1)and (not s_2)为1时,译码器工作,当它为0时,译码器全为高电平;输出端Z-n7到Z-n0.在对端口进行设定,将A2、A1、A0和总控制端S设定为K1、K2、K3、K4四位独立按键作为输入端,其端口依次为I/O74、I/O72、I/O75、I/O76.输出端Z-n7~Z-n0对应的是LED8~LED1,其端口依次是I/O181、I/O175、I/O171、I/O169、I/O170、I/O173、I/O180、I/O182.设定好之后,再次进行编译仿真,没有错误即可进行配置,可以实现输入四位二进制代码,按照其原意翻译成相应的输出信号,体现在LED灯上.仿真波形如图1所示.

4.2 LCD显示

LCD的仿真过程:运行Quartus II软件,建立工程项目,工程命名为lcd1602.建立一个VHDL文件,命名为lcd1602,文件后缀为.vhd,再将程序写入并保存,然后编译,确保没有错误后进行仿真.先进行端口说明,输入端为:start - 启动显示、cmd - 命令、dat_i - 等显示的字符数据、clk - 时钟、rst - 复位信号(低电平有效).输出端为:lcd_e - lcd1602使能、lcd_rw - lcd1602读取有效、lcd_di - lcd1602数据/命令选择信号、lcd_dat - lcd1602数据、ok .完成对lcd1602的驱动,使lcd1602初始化,并显示字符.

然后以同样步骤建立名为lcddemo_ctrl的工程,到编译仿真.再进行端口说明,输入端为:ack -接收数据方已确认(上升沿有效)、init_ok-显示屏初始化完成、clk-时钟输入、rst-复位信号输入.输出端为:stb-输出数据通知信号,上升沿有效、dat-输出数据.还要对列出文本文件的内容进行设定(参考),就可以完成在lcd1602上显示两行字符“made by liu qin”.当然也可以显示其他内容,根据ASCII字符表编辑想要显示的代码,便可显示想要的字符.

4.3 流水灯

流水灯的设计主要由三个模块和一个顶层文件组成,其模块划分及功能说明如表1、表2:

FA280开发板硬件具有8位LED,为低电平驱动方式,即低电平点亮高电平熄灭.

本实验中实现以提供低电平方式点亮8个LED中的某一个或多个,其点亮模式代表了数据0~9和A~F,两次点亮的时间间隔为1s,以15s的周期循环重复.流水灯点亮方案如表2.流水灯显示仿真过程是对三个模块和一个顶层文件进行编译仿真,具体操作步骤如上两个实例.运行Quartus II软件,分别建立工程项目、VHDL文件,再将程序写入并保存,然后编译,确保没有错误后进行仿真.并对各模块的端口进行说明,实现其具体功能,完成流水灯的显示.

5 结语

本设计应用QuartusⅡ 9.0软件,采用VHDL语言,按照开发流程完成3线-8线译码器、LCD和流水灯的设计,得到相应的仿真波形并下载到实验开发板上观察显示实验结果.这个过程让学生熟悉了EDA技术和实验开发板的功能,及相关软件的应用.

教育期刊网 http://www.jyqkw.com
参考文献:

〔1〕廖超平,EDA技术与VHDL实用教程.高等教育出版社,2007.

〔2〕闫石.数字电子技术基础.高等教育出版社,2006.

〔3〕汪国强.华成英,EDA技术与应用.电子工业出版社,2005.

〔4〕侯伯亨.VHDL硬件描述语言与数字逻辑电路设计.西安电子科技大学出版社,2009.

〔5〕潘松.EDA技术与应用.清华大学出版社,2005.

〔6〕吴继华,王诚.ALTERA FPGA/CPLD设计(基础篇).人民邮电出版社,2005.

〔7〕黄任.VHDL入门·解惑·经典实例[M].北京航空大学出版社,2005.