当前位置:文档之家› wpp基于FPGA的数字电压表设计

wpp基于FPGA的数字电压表设计

wpp基于FPGA的数字电压表设计
wpp基于FPGA的数字电压表设计

目录

目录 .................................................................................................................................................. I 摘要 ................................................................................................................................................ I II ABSTRACT .................................................................................................................................... I V 第一章绪论.. (1)

1.1 课题的研究背景 (1)

1.2 课题任务、目标及方法 (1)

1.3 论文内容和结构 (2)

第二章设计基础知识 (3)

2.1 TLC549的简介 (3)

2.1.1 A/D转换器的主要技术指标 (3)

2.1.2 TLC549工作原理 (4)

2.2 FPGA知识介绍 (6)

2.2.1 FPGA的架构原理与特点 (6)

2.2.2 FPGA设计流程 (8)

2.2.3 EP1C12Q240C8介绍 (9)

2.3 VHDL硬件描述语言 (9)

2.3.1 VHDL语言简介 (9)

2.3.2 VHDL语言语言的主要优势 (10)

2.3.3 VHDL语言的设计流程 (10)

2.4 Quartus II及其他第三方开发工具 (11)

2.4.1 Quartus II开发平台简介 (11)

2.4.2 第三方EDA工具 (12)

第三章硬件设计 (14)

3.1 系统整体结构 (14)

3.2 FPGA部分设计 (15)

3.3 模数转换模块设计 (16)

3.4 数码管显示设计 (17)

第四章软件设计 (19)

4.1 数字电压表设计系统框图 (19)

4.2数字电压表主要功能模块的实现 (21)

4.2.1 时钟分频(div_f)模块: (21)

4.2.2 数据采集控制(cs_control)模块: (21)

4.2.3 数据串转并(chuan2bing)模块 (23)

4.2.4 显示数值计算(data_calculate)模块 (23)

4.2.5 数码管扫描(led_select)模块 (24)

4.2.6 译码显示(led_translate)模块 (24)

第五章系统仿真及测试 (26)

5.1 系统仿真及测试过程 (26)

5.1.1 时钟分频模块仿真 (26)

5.1.2 数据处理模块仿真 (29)

5.1.3 数码管译码显示模块仿真 (31)

5.1.4 顶层文件设计 (33)

5.1.5 硬件连接及测试 (35)

第六章总结与展望 (37)

6.1 总结 (37)

6.2 展望 (37)

致谢 (39)

参考文献 (40)

摘要

伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,己经广泛应用于模拟与数子电路系统等许多领域。目前电子技术的发展主要体现在EDA领域,数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。电子设计自动化是近几年迅速发展起来的将计算机软件、硬件、微电子技术交叉运用的现代电子设计学科。其中EDA设计语言中的VHDL语言是一种快速的电路设计工具,功能涵盖了电路描述、电路合成、电路仿真等三大电路设计工作。本电压表的电路设计正是用VHDL语言完成的。此次设计主要应用的软件是美国ALTERA公司自行设计的Quartus II。

本次所设计的电压表的测量范围是0~5V,精度为0.01V。此电压表的设计特点为:通过软件编程下载到硬件实现,设计周期短,开发效率高。

关键字:电子设计自动化(EDA);FPGA;VHDL;A/D;数字电压表

Abstract

The Electronic Design Automation(EDA) technology has become an important design method of analog and digital circuit system as the integrated circuit's growing. The development of the current electronic technology is incarnated the EDA realm .The design of digital system is becoming faster, bulkier ,smaller and lighter than before. Electronic design automation is in the last few years quickly develop, it makes use of software , hardware ,micro-electronics technology to form a course of electronic design. Among them , the VHDL language of EDA is a kind of tool of fast circuit design , the function covered the circuit describe , the circuit synthesize , the circuit imitate the true etc . The circuit of the design that use VHDL language to complete . The design is primarily the applied software is Quartus II which is made by the United States ALTERA company.

This system’s range is -5v to +5v and precision is 0.01v.Characteristics of this electric voltage watch is :Pass the software program to download the hardware o realize , design the period is short ,development the efficiency is high.

Key words: Electronic Design Automation (EDA );FPGA;VHDL;A/D;

Digital voltage

第一章绪论

1.1 课题的研究背景

随着信息技术获得了突飞猛进的发展,信息技术渗透了我们生活的几乎全部领域,改变着人类的生存状态和思维模式。而我们的课题所涉及的电子设计自动化(EDA)技术就是在这种时代背景下产生的,并影响巨大。FPGA是新型的可编程逻辑器件,与传统 ASIC 相比,具有设计开发周期短、设计制造成本低、开发工具先进等优点,特别适合于产品的样品开发和小批量生产。传统的数字电压表多以单片机为控制核心,芯片集成度不高,系统连线复杂,难以小型化,尤其在产品需求发生变化时,不得不重新布版、调试,增加了投资风险和成本。而采用 FPGA 进行产品开发,可以灵活地进行模块配置,大大缩短了开发周期,也有利于数字电压表向小型化、集成化的方向发展。随着电子技术的发展,当前数字电子系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。推动该潮流发展的引擎就是日趋进步和完善的ASIC设计技术。目前数字系统的设计可以直接面向用户需求,根据系统的行为和功能的要求,自上而下的完成相应的描述、综合、优化、仿真与验证,直接生成器件。上述设计过程除了系统行为和功能描述以外,其余所有的设计几乎都可以用计算机来自动完成,也就说做到了电子设计自动化(EDA)这样做可以大大的缩短系统的设计周期,以适应当今品种多、批量小的电子市场的需求。

1.2 课题任务、目标及方法

本课题主要研究数字电压表的一般设计原理,并结合可编程逻辑器件(FPGA)设计了一种方便、实用的数字电压表。

论文从研究数据采集的理论出发,提出一种由8位串行A/D转换芯片、高性能FPGA和PCI总线接口组成的数据采集系统方案,并通过系统仿真验证了系统的可行性。该系统利用AD器件对信号进行模数转换,利用FPGA设计内部模块和时钟信号来进行电路控制及实现数据缓存、数据传递等功能,最后通过控制器设计的数码管控制模块控制四个数码管显示处理过后的数据,就实现了将外部电压值显示在数码管上的功能,这样就实现了电子电压表的功能。系统主要分为如下几个模块:时钟分频、TLC549采样、采样数据暂存、采样数据串变并处理、数码管译码显示。其中时钟分频主要用计数器实现,采样数据暂存于一寄存器。FPGA

作为采集系统的核心部件,完成了内部数字电路设计,使系统具有很高的可适应性、可扩展性和可调试性。

1.3 论文内容和结构

本论文主要研究基于FPGA的数字电压表设计,论文的主要内容是:

(1)数字电压表基本理论研究;

(2)提出了基于FPGA的数字电压表系统硬件设计方案;

(3)提出了基于FPGA的数字电压表系统软件设计方案;

(4)对系统进行仿真并给出仿真结果。

本文共分六章,第一章绪论中概述了课题研究的背景,以及课题任务、目标及方法,并对课题特色和创新之处给予了概括。第二章阐述了数字电压表设计中的基础知识。第三章提出了基于EP1C12Q240C8的数字电压表系统的硬件设计方案。第四章提出了基于EP1C12Q240C8的数字电压表系统的软件设计方案。第五章对系统进行仿真测试并给出仿真结果。第六章为论文总结和展望。

第二章设计基础知识

2.1 TLC549的简介

TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,可与通用微处理器、控制器通过CLK、CS、DATA OUT三条口线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs,TLC549为40 000次/s。总失调误差最大为±0.5LSB,典型功耗值为6mW。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF-接地,VREF+-VREF-≥1V,可用于较小信号的采样。

2.1.1 A/D转换器的主要技术指标

A/D模数转换是数据采集的主要任务和关键步骤,A/D转换的好坏直接关系到数据采集的精度和质量。所谓A/D模数转换,就是将传感器输出的模拟信号转换成计算机能够识别的数字信号。在ADC器件中,因为输入的模拟信号在时间上是连续的而输出的数字信号是离散的,所以转换只能在一些列选定的瞬间对输入的模拟信号取样,然后再把这些取样值转换成输出的数字量,见图2-2。

图2-2 A/D模数转换框图

其过程可包括为四个步骤:采样,保持,量化和编码,如图2.3所示,首先对输入的模拟电压信号取样,取样结束后进入保持时间,在这段时间内将取样的电压量化为数字量,然后编码。按照一定的编码格式给出转换结果。然后再开始下一次取样。

图2-3 A/D转换的基本步骤

采样就是是对模拟信号在时间上进行离散的过程。数字信号不仅在时间上是离散的,而且数值大小的变化也是不连续的。就是说,任何一个数字量的大小只

能是某个规定的最小数量单位的整数倍。在进行A/D转换时,必须把取样电压表示为这个最小单位的整数倍。这个转化过程叫做量化,所取的最小数量单位叫做量化单位,用△表示。显然,数字信号最低有效位(LSB)的1所代表的数量大小就等于△。

把量化的结果用代码可以是二进制,也可以是其他进制表示出来,称为编码。这些代码就是转换的结果。既然模拟电压是连续的,那么它就比一定能被△整除,因而量化过程不可避免地会引入误差这种误差称为量化误差。

A/D转换器的主要性能参数:

(1)分辨率(Resolution):分辨率指数字量的变化一个最小量模拟信号的变化量。分辨率又称为精度,通常以数字信号的位数来表示。

(2)转换速率(Conversion Rate):指完成一次从模拟到数字的ADC转换过程所需时间的倒数。积分型ADC的转换时间是毫秒级属低速ADC,逐次比较型ADC 是微秒级属中速ADC,全并行/串并行型ADC可达到纳秒级。采样时问则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完成,采样速率(必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是KS/S和MS/S,表示每秒采样千/百万次。

(3)偏移误差(Offset Error).输入信号为零时输出信号不为零的值,可外接电位器调至最小。

(2)满刻度误差(Full Scale Error):满度输出时对应的输入信号与理想输入信号值之差。

(5)量化误差(Ouantizing Error):由于ADC的有限分辨率而引起的误差,即有限分辨率AD的阶梯状转移特性曲线与无限分辨率ADC(理想ADC)的转移特性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。

(6)线性度(Lincarity):实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。

其他指标还有转换精度、温度系数/漂移等,由于本系统中并不采用D/A转换器,所以这里对其不作过多介绍。

2.1.2 TLC549工作原理

TLC549工作时序图2-4所示:

图2-4 TLC549工作时序图

工作原理:

TLC549均有片内系统时钟,该时钟与I/O CLOCK是独立工作的,无须特殊的速度或相位匹配。其工作时序如图上所示。

当CS为高时,数据输出(DATA OUT)端处于高阻状态,此时I/O CLOCK不起作用。这种CS控制作用允许在同时使用多片TLC548、TLC549时,共用I/O CLOCK,以减少多路(片)A/D并用时的I/O控制端口。

一组通常的控制时序为:

(1)将CS置低。内部电路在测得CS下降沿后,再等待两个内部时钟上升沿和一个下降沿后,然后确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATA OUT端上。

(2) 前四个I/O CLOCK周期的下降沿依次移出第2、3、4和第5个位(D6、D5、D4、D3),片上采样保持电路在第4个I/O CLOCK下降沿开始采样模拟输入。

(3)接下来的3个I/O CLOCK周期的下降沿移出第6、7、8(D2、D1、D0)个转换位。

(4)最后,片上采样保持电路在第8个I/O CLOCK周期的下降沿将移出第6、7、8(D2、D1、D0)个转换位。保持功能将持续4个内部时钟周期,然后开始进行32个内部时钟周期的A/D转换。第8个I/O CLOCK后,CS必须为高,或I/O CLOCK 保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。如果CS为低时I/O CLOCK上出现一个有效干扰脉冲,则微处理器/控制器将与器件的I/O时序失去同步;若CS为高时出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。

在36个内部系统时钟周期结束之前,实施步骤(1)-(4),可重新启动一次新的A/D转换,与此同时,正在进行的转换终止,此时的输出是前一次的转换结

果而不是正在进行的转换结果。

若要在特定的时刻采样模拟信号,应使第8个I/O CLOCK时钟的下降沿与该时刻对应,因为芯片虽在第4个I/O CLOCK时钟下降沿开始采样,却在第8个I/O CLOCK的下降沿开始保存。

2.2 FPGA知识介绍

现场可编程门阵列(FPGA, Field Programmable Gate Array)的出现是超大规模集成电路(VLSL)技术和计算机扶助设计(CAD)技术发展的结果。它一般都采用SRAM工艺,也有一些专用器件采用Flash 7-艺或反熔丝(Anti.Fuse)工艺等。FPGA器件集成度很高、其器件密度从数万系统门到数千万系统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。具有通过用户编程实现专门应用的功能。它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直至达到预期的结果。使用FPGA器件可以大大缩短系统的研制周期,减少资金的投入。更吸引人的是,采用FPGA器件可以将原来的电路板级产品集成为芯片级产品,从而降低了功耗,提高了可靠性,同时还可以很方便地对设计进行在线修改。FPGA器件成为研制开发的理想器件,特别适用于产品的样机开发和小批量的生产,因此有人也把FPGA 称为可编程的ASIC。如今,FPGA器件广泛应用于通信、自动控制、信息处理等诸多领域,越来越多的电子设计人员在使用FPGA,熟练掌握FPGA设计技术已经是对电子设计工程师的基本要求。

2.2.1 FPGA的架构原理与特点

FPGA(Field Programmable Gate Array现场可编程逻辑门阵列)是在CPLD(复杂可编程逻辑器件)的基础上发展起来的高性能可编程逻辑器件。FPGA的基本组成部分有可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元、内核专用硬核等。目前,FPGA的主要器件供应商有:Xilinx、Altera、Lattice、Actel和Atmel等。

与ASIC相比,可编程逻辑器件研制周期较短,先期NRE费用较低,也没有最少订购数量的先知,所有这一切简化了库存管理。随着每个门电路成本的降低和每个器件中门电路数量的增加,可编程逻辑器件正在大举打入传统的门阵列领域,并已有少量的打入了标准但愿ASIC的领域。系统设计师和制造商们开始探索和利用“系统可重编程性”的功能,其目的是为了在最终系统交付给用户使用后仍可纠正其错误和进行功能升级,或是为了是想“可重新配置计算”,亦即用

固定数量的逻辑门电路赖实现时分复用多功能。

片上RAM和单芯片ASIC/可编程逻辑混合器件的数量越来越多,以及摩尔定律预测的集成度发展趋势,正在促进有效门电路数量的爆炸性增长。这些因素最终将使人们期盼己久的单片系统成为现实。为了在仍然能满足产品上市时间要求的时间内充分利用硅片的资源,许多设计师讵在从传统的低级状态机和原理图输入综合转向高级语言,比如VHDL和Verilog,甚至转向C语言等传统软件语言。

FPGA的逻辑门数己达1千万,内核速度达到400MHz,能提供高达11Gbps的芯片间通信速度,随着工艺微缩,当前的FPGA已经能够内嵌DSP核心的方式在诸多高端应用中实现传统DSP的工作,且可编程特性将大幅压低成本,并加快设计周期。现在的FPGA芯片中不只是包含可编程逻辑功能模块、可编程输入输出模块和可编程内部互连资源等基本的资源,还集成了存储器(Block RAM和Disturbed RAM)、数字时钟管理但愿(完成分频/倍频、数字锁相和延迟功能的DLL和DCM)、算术运算单元(生发起、加法器)以及特殊功能模块(MAC、微处理器等硬IP核)等更丰富的资源,与过去FPGA仅仅用作胶合逻辑不同,现在FPGA已经被用来实现主要系统功能。而与此同时,它仍然保持着非常合理的成本,因此,与ASIC和定制IC相比,FPGA是一种更具有吸引力的选择。FPGA设计具有以下优点:

(1)硬件设计软件化

这是FPGA开发的最大优势。传统硬件电路设计先要进行功能设计,然后进行电路板级设计并做称电路板后进行调试,如果电路中有什么错误,整个电路板都将作废,这是很不经济的。FPGA的开发在功能层面上可以完全脱离硬件而在EDA软件上做软仿真。当功能确定无误后可以进行硬件电路板的设计。最后将设计好的,由EDA软件生成的烧写文件下载到配置设备中去,进行在线调试,如果这时的结果与要求不一致,可以立即更改设计软件,并再次烧写到配置芯片中而不必改动外接硬件电路。

(2)高度集成化,高工作频率

一般的FPGA内部都集成有上百万的逻辑门,可以在其内部规划出多个与传统小规模集成器件功能相当的模块。这样将多个传统器件集成在同一芯片内部的方法不但可以改进电路板的规模,还可以减少PCB布线的工作。由于各个模块都是集成在FPGA芯片内部,这就很大程度地解决了信号的干扰问题,使得FPGA的工作频率可以大幅度的提高。另外,一般的FPGA内部都有PLL倍频的时钟,这进一步解决了电磁干扰和电磁兼容问题。

(3)支持多种接口

FPGA芯片可支持多种标准的接口电平,可通过EDA开发工具来选定采用什么

样的接口标准,包括常用的TTL和差分输入等。这便于后端各种不同接口电路的匹配。

2.2.2 FPGA设计流程

可编程逻辑器件的设计是利用EDA开发软件和编程土具对器件开发的过程。高密度复杂可编程逻辑器件的设计流程如图2.1所示。它包括设计准备、设计输入、功能仿真、设计处理、时序仿真和器件编程及测试等七个步骤。

1.设计准备

在系统设计之前,首先要进行方案论证、系统设计和器件选择等准备工作。一般采用自上而下的设计方法,也可采用传统的自下而上的设计方法。

图2-5可编程逻辑器件设计流程

2.设计输入

设计输入将所设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算机的过程称为设计输入。设计输入通常有以下集中形式:

1)原理图输入方式

2)硬件描述语言输入方式

3)波形输入方式

3.功能仿真

功能仿真也叫做前仿真。用户所设计的电路必须在编译之前进行逻辑功能验证,此时的仿真没有延时信息,对于初步的功能检测非常方便。仿真中如发现错误,则返回设计输入中修改逻辑设计。

4.设计处理

设计处理是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合优化和适配,最后产生编程用的编程文件。主要有:

1)语法检查和设计规则检查

2)逻辑优化和综合

3)适配和分割

4)布局和布线

5.时序仿真

时序仿真又称后仿真或延时仿真。由于不同器件的内部延时不一样,不同的布局布线方案也给延时造成不同的影响,因此在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能,以及检查和消除竟争冒险等是非常有必要的。

6.器件编程测试

时序仿真完成后,软件就可产生供器件编程使用的数据文件。

2.2.3 EP1C12Q240C8介绍

FPGA EP1C12Q240C8开发板是基于FPGA的硬件描述语言EDA和软内核嵌入式系统的SOPC开发平台。系统采用多层PCB板设计,完善的电源和时钟设计,性能稳定可靠、结构紧凑美观。系统采用主流FPGA构建平台,片内资源丰富,板载器件多、周边接口多、可扩展性强。优化设计使系统调试方便,配置容易。配备丰富的例程有利于FPGA和SOPC的学习、快速入门与提高。FPGA/SOPC开发平台是电子、信息类专业学生学习FPGA和SOPC的理想良师益友,是各大专院校教学科研的良好工具,也可用于科研机构研发特色新产品。

2.3 VHDL硬件描述语言

2.3.1 VHDL语言简介

硬件描述语言(hardware description language,HDL)是电子系统硬件行为描述,结构描述,数据流描述的语言.目前,利用硬件描述语言可以进行数字电子系统的设计.随着研究的深入,利用硬件描述语言进行模拟电子系统设计或混合电

子系统设计也正在探索中。

国外硬件描述语言种类很多,有的从Pascal发展而来,也有一些从C语言发展而来.有些HDL成为IEEE标准,但大部分是企业标准.VHDL来源于美国军方,其他的硬件描述语言则多来源于民间公司.可谓百家争鸣,百花齐放.这些不同的语言传播到国内,同样也引起了不同的影响.在我国比较有影响的有两种硬件描述语言:VHDL语言和Verilog HDL语言.这两种语言已成为IEEE标准语言。

2.3.2 VHDL语言的主要优势

VHDL语言能够成为标准并且获得广泛的应用,一定有它自身的主要优势,或者说是与众不同的特点。①强大的功能和灵活性:VHDL语言具有功能强大的语言结构,可以用简洁明确的程序来描述复杂的逻辑控制。②独立于器件的设计:设计人员采用VHDL语言进行硬件电路的设计时,并不需要首先选择完成此项设计的逻辑器件。这样,设计人员就可以集中精力来进行设计的构思。③可进行程序移植:VHDL语言的移植能力是允许设计人员对需要综合设计描述进行模拟,在综合前对一个数千门的设计描述进行模拟可以节约大量的时间。

由于VHDL语言是一种标准化的硬件描述语言,因此同一个设计的VHDL语言描述可以被不同的EDA工具支持,从而使得VHDL语言程序的移植成为可能。④性能评估能力:独立于器件的设计和可进行程序移植允许设计人员可以采用不同的器件结构和综合工具来对自己的设计进行评估。⑤易于ASIC移植:VHDL语言效率高的重要体现之一就是如果设计人员的设计是被综合到一个CPLD器件或FPGA器件,那么就可以使设计的产品以最快的的速度上市。当产品的数量达到相当的规模时,采用VHDL语言能够很容易地帮助设计人员实现转成ASIC的设计。

⑥VHDL语言标准、规范,易于共享和复用:VHDL语言的语法规范、标准,可读性强。由于VHDL语言是一种IEEE的工业标准硬件描述语言,具有严格的语法规范和统一的标准,因此它可以使设计人员之间进行交流和共享。

2.3.3 VHDL语言的设计流程

采用VHDL语言设计硬件电路系统的设计流程一般可以分为以下几个步骤。

①硬件电路系统设计要求的定义。②编写描述硬件电路系统功能的VHDL语言程序。③VHDL语言程序的模拟。④VHDL语言的综合、优化和布局布线。⑤布局布线后的设计模拟。⑥器件的编程。设计人员在从事硬件电路系统的合计过程中,编写VHDL语言程序之前必须对硬件电路系统的设计目的和设计要求有一个非常明确的认识才行。

2.4 Quartus II及其他第三方开发工具

2.4.1 Quartus II开发平台简介

Quartus II是Altera提供的FPGA/CPLD开发集成环境,Altera是世界最大可编程逻辑器件供应商之一。Quartus II在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plus II的更新换代产品,其界面友好,使用便捷。在Quartus II上可以完成设计输入、HDL综合、布线布局(适配)、仿真和下载和硬件测试等流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。

Altera的Quartus II 提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。Quartus II设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。Quartus II也可以利用第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier II,并能直接调用这些工具。同样,Quartus II具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,Quartus II与MATLAB和DSP Builder结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。

Quartus II包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis & Synthesis)、适配器(Filter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)、EDA网表文件生成器(EDA Netlist Writer)和编辑数据接口(Complier Database Interface)等。可以通过选择Start Complication来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Complier Tool(Tools 菜单),在Complier Tool 窗口中运行该模块来启动编辑器模块。在Complier Tool 窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。

此外,Quartus II还包含许多十分有用的LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可在Quartus II普通设计文件一起使用。Altera提供的LPM函数均基于Altera器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能。例如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。

图3-1中所示的上排是Quartus II编译设计主控界面,它显示了Quartus II

...........................

自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编(装配)、时序参数提取以及编程下载几个步骤。在图

1-1下排的流程框图,是与上面的Quartus II 设计流程相对照的标准的EDA 开发流程。

Quartus II 编译器支持的硬件描述语言有VHDL (支持VHDL ’87及VHDL ’97标准)、Verilog HDL 及AHDL (Altera HDL ),AHDL 是Altera 公司自己设计、制定的硬件描述语言,是一种以结构描述方式为主硬件描述语言,只有企业标准。

Quartus II 允许来自第三方的EDIF 文件输入,并提供了很多EDA 软件的接口,Quartus II 支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL 混合输入设计问题。在设计输入之后,Quartus II 的编译器将给出设计输入的错误报告。Quartus II 拥有良好的设计输入定位器,用于确定文本或图形设计中的错误。对于使用HDL 的设计,可以使用Quartus II 带有的RTL Viewer 观察综合后的RTL 图。在进行编译后,可对设计进行时序仿真。在作仿真前,需要利用波形编辑器编辑一个波形激励文件,用于仿真验证时的激励。编译和仿真经检测无误后,便可以将下载信息通过Quartus II 提供的编程器下载入目标器件中了。

图3-1 Quartus II 设计流程

2.4.2 第三方EDA 工具

目前EDA/FPGA 的设计趋于复杂化,设计的仿真验证显得比以前更为重要。据有关资料统计显示,在一个使用IP 核的百万门级SOC 设计中,花费在仿真验证上的时间将占整个设计周期的70%。为了保证CPLD/FPGA 仿真验证的精确性,很图形或HDL 编辑 Analysis & Synthesis (分析与综合) Filter (适配器) Assembler (编

程文件汇编)

编程器 设计输入 综合或编辑 适配器件 下载 Timing Analyzer

(时序分析器)

仿真

多公司都开发出了第三方专用EDA工具。Quartus II支持的第三方开发工具很多,应用比较广泛的如专用综合工具Synplify,它在综合策略和优化手段上有了较大幅度的提高,使其面积较好,速度较快;Modelsim是较常用的第三方仿真工具,目前的最新版本已到5.7版。它可以对Xilinx公司的全部CPLD/FPGA产品进行高精度的仿真验证;可以对CPLD/FPGA进行功能仿真和时序仿真。Modelsim适用于多种操作系统和设计平台,主要有SE\EE\XE等版本类型。其中Modelsim是针对Xilinx公司系列器件的专用仿真工具;Modelsim SE\EE则是通用的EDA仿真工具,使用这两种对Xilinx公司系列器件进行仿真,需要预先加载Xilinx本地库。在应用过程中,主要包括创建仿真库、逻辑库映射、编译设计文件、仿真验证等步骤,其中仿真库包括工作库和资源库,工作库由所有编译后的设计文件组成,资源库包括当前设计中引用资源的定义和说明。使用Quartus II结合这些第三方工具进行开发,将取得较为理想的效果。

第三章硬件设计

3.1 系统整体结构

系统硬件分为三部分,分别为SOPC核心板与自制硬件的转接接口,数码管显示部分以及模数转换部分。首先,被测电压信号进入A/D转换器,FPGA中控制信号模块发出控制信号,启动A/D转换器进行转换,其采样得到的数字信号数据在相应的码制转换模块中转换为显示代码。最后译码驱动模块发出显示控制与驱动信号,驱动外部的LCD模块显示相应的数据。通过外部的键盘,可以手动对系统进行复位控制和档位选择,不同的档位决定不同的电压输入范围,在程序中实现自动转换。系统电路图如下:

3-1系统电路图

转接口:SOPC到自制硬件的转接口实用的是SOPC上的J5,J6插槽,两插槽的内距为1英寸(1200mil)为两个10×2的双排孔。

模数转换部分:模数转变部分由A/D芯片和可调电位器电路组成,通过可调电位器电路实现模拟电压输入。

数码管显示:使用了一个1英寸的四位共阳数码管,考虑到FPGA的工作电压为3.3V,且驱动能力不够,便使用了四个NPN三极管,来驱动数码管,型号为

1815。

图3-2系统PCB布线图

3.2 FPGA部分设计

在本系统中,FPGA是数据采集的核心。FPGA完成的功能可以主要描述为以下几点:

(1)通过其内部锁相环(PLL),将引入FPGA的外部时钟进行相应的倍频和分频处理;

(2)通过其内部的FIFO存储器来做异步时钟域间的数据隔离处理,将ADC模数转换后的数据的引入到FPGA内部时钟域中,为下一步后续存储和转发做准备;

(3)通过设计时钟输出逻辑模块,根据工作需要输出给ADC及PCI总线接口所需要的时钟;

(4)通过利用FPGA内部双端DRAM,将FIFO缓存的数据传送到删。利用双端DRAM的特点,进行两个不同传输率及异步时钟域及之间的数据转发。

FPGA内部没振荡电路,使用有源晶振是比较理想的选择。EP1C6Q240C8的输入的时钟频率范围为15.625 ~ 387 MHz,经由内部PLL电路后可输出15.625~275MHz的系统时钟。当输入时钟频率较低时,可以使用FPGA的内部PLL 调整FPGA所需系统时钟,使系统运行速度更快。

核心板包含一个48MHz的有源晶振作为系统的时钟源,电路如图4-2所示:

图3-3 FPGA核心板电路

为了得到一个稳定、精确的时钟频率,有源晶振的供电电路经过了LC滤波。核心板QuickSOPC只使用了FOGA中的2个全局时钟输入引脚,剩余的2个全局时钟输入引脚用作用户输入引脚,CLK3用作软件复位输入,CLK1用作Flash忙信号输入。

3.3 模数转换模块设计

TLC549是采用IinCMOSTM技术并以开关电容逐次逼近原理工作的8位串行A /D7芯片,可与通用微处理器、控制器通过I/O CLOCK、CS、DATA OUT三条口线进行串行接口。TLC549具有4MHz的片内系统时钟和软、硬件控制电路,转换时间最长为17μs,允许的最高转换速率为40000次/s。总失调误差最大为±0.5LSB,典型功耗值为6 mW。TLC549采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,由于其VREF-接地时,(VREF+)-(VREF-)≥1 V,故可用于较小信号的采样。

TLC549的内部结构框图和管脚名称如图3-4所示。

图3-4 TLC549的内部结构框图和管脚名称

基于FPGA的数字时钟的设计1

基于FPGA的数字时钟的设计课题: 基于FPGA的数字时钟的设计 学院: 电气信息工程学院 专业: 测量控制与仪器 班级 : 08测控(2)班 姓名 : 潘志东 学号 : 08314239 合作者姓名: 颜志林 2010 年12 月12 日

综述 近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。这就迫切要求理工科大学生熟悉与掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题与故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计与组织实验能力。 本次课程设计的目的在于培养学生对基本电路的应用与掌握,使学生在实验原理的指导下,初步具备基本电路的分析与设计能力,并掌握其应用方法;自行拟定实验步骤,检查与排除故障、分析与处理实验结果及撰写实验报告的能力。综合实验的设计目的就是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。数字电子钟就是一种计时装置,它具有时、分、秒计时功能与显示时间功能;具有整点报时功能。 本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固与掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识与了解。

1、课题要求 1、1课程设计的性质与任务 本课程就是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。目的在于培养学生的理论联系实际,分析与解决问题的能力。通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力与严谨的工作作风。 1、2课程设计的基本技术要求 1)根据课题要求,复习巩固数字电路有关专业基础知识; 2)掌握数字电路的设计方法,特别就是熟悉模块化的设计思想; 3) 掌握QUARTUS-2软件的使用方法; 4) 熟练掌握EDA工具的使用,特别就是原理图输入,波形仿真,能对仿真波形进行分析; 5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法; 6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法; 7) 能根据设计要求对设计电路进行仿真与测试; 8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。 9) 将硬件与软件连接起来,调试电路的功能。 1、3课程设计的功能要求 基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。 附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能; 2)能利用蜂鸣器做整点报时:当计时到达59’59’’时开始报时, 鸣叫时间1秒钟; 3)定时闹铃:本设计中设置的就是在七点时进行闹钟功能,鸣叫 过程中,能够进行中断闹铃工作。 本人工作:负责软件的编程与波形的仿真分析。 2、方案设计与分析

基于FPGA的数字钟设计

摘要 伴随着集成电路技术的发展, 电子设计自动化(EDA)技术逐渐成为数字电路设计的重要手段。基于FPGA的EDA技术的发展和应用领域的扩大与深入,使得EDA技术在电子信息,通信,自动控制,计算机等领域的重要性日益突出。 本设计给出了一种基于FPGA的多功能数字钟方法,采用EDA作为开发工具,VHDL语言和图形输入为硬件描述语言,QuartusII作为运行程序的平台,编写的程序经过调试运行,波形仿真验证,下载到EDA实验箱的FPGA芯片,实现了设计目标。 系统主芯片采用CycloneII系列EP2C35F672C8。采用自顶向下的设计思想,将系统分为五个模块:分频模块、计时模块、报时模块、显示模块、顶层模块。用VHDL语言实现各个功能模块, 图形输入法生成顶层模块. 最后用QuartusII 软件进行功能仿真, 验证数字钟设计的正确性。 测试结果表明本设计实现了一个多功能的数字钟功能,具有时、分、秒计时显示功能,以24小时循环计时;具有校正小时和分钟的功能;以及清零,整点报时功能。 关键词:EDA技术;FPGA;数字钟;VHDL语言;自顶向下

Abstract Accompanied by the development of integrated circuit technology, electro nic design automation (EDA) technology is becoming an important means of digital circuit design. FPGA EDA technology development and expansion of a pplication fields and in-depth, the importance of EDA technology in the field of electronic information, communication, automatic control, computer, etc. hav e become increasingly prominent. This design gives a FPGA-based multifunctional digital clock using ED A as a development tool, VHDL language and graphical input hardware descri ption language, the QuartusII as a platform for running the program, written procedures debugging and running, the waveform simulation downloaded to th e FPGA chip to achieve the design goals. The main system chip CycloneII series EP2C35F672C8. Adopted a topdw n design ideas, the system is divided into five modules: frequency module, ti ming module, timer module, display module, the top-level module. With VHD L various functional modules, graphical input method to generate the top-level module. Last QuartusII under simulation, to verify the correctness of the digi tal clock design. The test results show that the design of a multifunctional digital clock, with seconds time display, 24-hour cycle timing; has a school, cleared, and th e whole point timekeeping functions. Key words: EDA technology; FPGA; VHDL language; top-down; digital cloc k

实验三 简易数字电压表设计

电子系统实验报告 实验三简易数字电压表设计 姓名张巧玲 指导教师贾立新 课程电子系统设计与实践 专业班级自动化1004班 学院信息工程学院

一、设计题目 采用C8051F360单片机最小系统设计一简易数字电压表,实现对0~2.4V直流电压的测量,原理框图如图1所示。模拟输入电压通过一只1 kΩ电位器产生,采用C8051F360 单片机内部的A/D 转换器将模拟电压转换成数字量后换算成电压值,用十进制的形式在LCD 上显示。 A/D 转换的输入模拟信号由实验板PR3 电位器产生的0~3.3V 的直流电压 信号,用一根杜邦实验线将J8 的0~3.3V 输出插针与J7 口的P2.0 插针相连。注意A/D 转换器模拟输入电压的范围取决于其所选择的参考电压,如果A/D 转换器选择内部参考电压源,其模拟电压的范围为0~2.4V,如果选择外部电源作为参考电压,则其模拟输入电压范围为0~3.3V。测试时,A/D转换器的模拟输入信号可通过一个电位器产生。 图1 简易数字电压表实验示意框图 二.设计方案 (1)简易数字电压表设计程序流程图如图2所示。 图2 简易数字电压表设计程序中A/D转换和计时流程图 (2)简易数字电压表实验板连接图如图3所示。此外,还需用一根杜邦实验线将J8 的0~3.3V 输出插针与J7 口的P2.0 插针相连。

图3简易数字电压表设计实验板接线图 三、详细设计 1.简易数字电压表设计相应C8051F360和LCD初始化程序 ⑴内部振荡器初始化:OscInit() ⑵ I/O端口初始化:PortIoInit() ⑶外部数据存储器接口初始化:XramInit() ⑷定时器初始化:TimerInit() ⑸中断系统初始化:Int0Init() ⑹ ADC0初始化:void ADC_Init() ⑺ PCA初始化:Int0Init() 2.电压转换方式 将电压转换成十进制: AT=ADC0H*256+ADC0L; volt=AT*3.31/1024; voltage=volt*1000; for(i=0;i<4;i++) { v[i]=voltage%10; voltage=voltage/10; } 3. LCD显示接口的设计 当时间到达设定值,即0.5s后,执行以下程序将所测的电压值在LCD屏幕上第三排显示出来。 WriteCom(0x8C);

fpga数字钟课程设计报告

f p g a数字钟课程设计报告 Prepared on 24 November 2020

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

数字电压表的设计实验报告

课程设计 ——基于51数字电压表设计 物理与电子信息学院 电子信息工程 1、课程设计要求 使用单片机AT89C52和ADC0832设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。 2、硬件单元电路设计 AT89S52单片机简介 AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存

储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 ADC0832模数转换器简介 ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。 图1 芯片接口说明: 〃 CS_ 片选使能,低电平芯片使能。 〃 CH0 模拟输入通道0,或作为IN+/-使用。

FPGA实训报告——简易数字钟

桂林电子科技大学职业技术学院 课题:FPGA实训 专业:电子信息工程技术 学号: 姓名:

目录 关键词: (1) 引言: (1) 设计要求: (1) EDA技术介绍: (1) Verilog HDL简介: (1) 方案实现: (2) 工作原理: (2) 总结: (3) 结语: (3) 程序设计: (4)

数字钟 关键词:EDA、Verilog HDL、数字钟 引言: 硬件描述语言HDL(Hardware Des-cription Language)是一种用形式化方法来描述数字电路和系统的语言。目前,电子系统向集成化、大规模和高速等方向发展,以硬件描述语言和逻辑综合为基础的自顶向下的电路设计发放在业界得到迅猛发展,HDL在硬件设计领域的地位将与C和C++在软件设计领域的地位一样,在大规模数字系统的设计中它将逐步取代传统的逻辑状态表和逻辑电路图等硬件描述方法,而成为主要的硬件描述工具。 Verilog HDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另外一种是VHDL。现在它们都已经成为IEEE标准。两者各有特点,但Verilog HDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。 此次以Verilog HDL语言为手段,设计了多功能数字钟,其代码具有良好的可读性和易理解性。 设计要求: 数字钟模块、动态显示模块、调时模块、到点报时模块等;必须有键防抖动功能。可自行设计8位共阴数码管显示;亦可用FPGA实验平台EDK-3SAISE上的4位数管,但必须有秒指导灯。 EDA技术介绍: 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 Verilog HDL简介: 硬件描述语言Verilog是Philip R.Moorby于1983年在英格兰阿克顿市的Gateway Design Automation硬件描述语言公司设计出来的,用于从开关级到算法级的多个抽象设

基于FPGA的Verilog HDL数字钟设计 -

基于FPGA的Verilog HDL数字钟设计 专业班级姓名学号 一、实验目的 1.掌握可编程逻辑器件的应用开发技术——设计输入、编译、仿真和器件编程; 2.熟悉一种EDA软件使用; 3.掌握Verilog设计方法; 4.掌握分模块分层次的设计方法; 5.用Verilog完成一个多功能数字钟设计; 6.学会FPGA的仿真。 二、实验要求 ?功能要求: 利用实验板设计实现一个能显示时分秒的多功能电子钟,基本功能: 1)准确计时,以数字形式显示时、分、秒,可通过按键选择当前显示时间范围模式; 2)计时时间范围00:00:00-23:59:59 3)可实现校正时间功能; 4)可通过实现时钟复位功能:00:00:00 扩展功能: 5)定时报:时间自定(不要求改变),闹1分钟(1kHz)---利用板上LED或外接电路实现。 6)仿广播电台正点报时:XX:59:[51,53,55,57(500Hz);59(1kHz)] ---用板上LED或外接 7)报整点时数:XX:00:[00.5-XX.5](1kHz),自动、手动---用板上LED或外接 8)手动输入校时; 9)手动输入定时闹钟; 10)万年历; 11)其他扩展功能; ?设计步骤与要求: 1)计算并说明采用Basys2实验板时钟50MHz实现系统功能的基本原理。 2)在Xilinx ISE13.1 软件中,利用层次化方法,设计实现模一百计数及显示的电路系 统,设计模块间的连接调用关系,编写并输入所设计的源程序文件。 3)对源程序进行编译及仿真分析(注意合理设置,以便能够在验证逻辑的基础上尽快 得出仿真结果)。 4)输入管脚约束文件,对设计项目进行编译与逻辑综合,生成下载所需.bit文件。 5)在Basys2实验板上下载所生成的.bit文件,观察验证所设计的电路功能。

51单片机数字电压表实验报告

微控制器技术创新设计实验报告 姓名:学号:班级: 一、项目背景 使用单片机AT89C52和ADC0808设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;显示精度伏。 二、项目整体方案设计 ADC0808 是含8 位A/D 转换器、8 路多路开关,以及与微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。ADC0808的精度为 1/2LSB。在AD 转换器内部有一个高阻抗斩波稳定比较器,一个带模拟开关树组的256 电阻分压器,以及一个逐次通近型寄存器。8 路的模拟开关的通断由地址锁存器和译码器控制,可以在8 个通道中任意访问一个单边的模拟信号。

三、硬件设计 四、软件设计#include<> #include""

#define uchar unsigned char #define uint unsigned int sbit OE = P2^7; sbit EOC=P2^6; sbit START=P2^5; sbit CLK=P2^4; sbit CS0=P2^0; sbit CS1=P2^1; sbit CS2=P2^2; sbit CS3=P2^3; uint adval,volt; uchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; void delayms(uint ms) {

Verilog HDL数字时钟课程设计

课程设计报告 课程设计名称:EDA课程设计课程名称:数字时钟 二级学院:信息工程学院 专业:通信工程 班级:12通信1班 学号:1200304126 姓名:@#$% 成绩: 指导老师:方振汉 年月日

目录 第一部分 EDA技术的仿真 (3) 1奇偶校验器 (3) 1.1奇偶校验器的基本要求 (3) 1.2奇偶校验器的原理 (3) 1.3奇偶校验器的源代码及其仿真波形 (3) 28选1数据选择器 (4) 2.18选1数据选择器的基本要求 (4) 2.28选1数据选择器的原理 (4) 2.38选1数据选择器的源代码及其仿真波形 (5) 34位数值比较器 (6) 3.14位数值比较器的基本要求 (6) 3.24位数值比较器的原理 (6) 3.34位数值比较器的源代码及其仿真波形 (7) 第二部分 EDA技术的综合设计与仿真(数字时钟) (8) 1概述 (8) 2数字时钟的基本要求 (9) 3数字时钟的设计思路 (9) 3.1数字时钟的理论原理 (9) 3.2数字时钟的原理框图 (10) 4模块各功能的设计 (10) 4.1分频模块 (10) 4.2计数模块(分秒/小时) (11) 4.3数码管及显示模块 (13) 5系统仿真设计及波形图........................... 错误!未定义书签。5 5.1芯片引脚图.................................... 错误!未定义书签。5 5.2数字时钟仿真及验证结果 (16) 5.3数字时钟完整主程序 (17) 6课程设计小结 (23) 7心得与体会 (23) 参考文献 (24)

基于FPGA的数字钟设计

南昌大学实验报告 学生姓名:邓儒超学号:6100210045 专业班级:卓越通信101 实验类型:□验证□综合□√设计□创新实验日期:2012.10.28 实验成绩: 实验三数字钟设计 一、实验目的 (1)掌握数字钟的设计 二、实验内容与要求 (1)设计一个数字钟,要求具有调时功能和24/12进制转换功能 (2)进行波形仿真,并分析仿真波形图; (3)下载测试是否正确; 三、设计思路/原理图 本次数字钟的设计采用了自顶向下分模块的设计。底层是实现各功能的模块,各模块由vhdl语言编程实现:顶层采用原理图形式调用。其中底层模块包括秒、分、时三个计数器模块、按键去抖动模块、按键控制模块、时钟分频模块、数码管显示模块,其中,时计数器模块又包括24进制计数模块、12进制计数模块、24/12进制转换模块。设计框图如下: 由图可以清晰的看到数字钟系统设计中各功能模块间连接关系。系统时钟1KHZ经过分频后产生1秒的时钟信号,1秒的时钟信号作为秒计数模块的输入信号,秒计数模块产生的进位信号作为分计数模块的输入信号,分计数模块的进位信号作为时计数模块的输入信号。秒计数模块、分计数模块、时计数模块的计数输出分别送到显示模块。由于设计中要使用按键进行调节时间,而按键的动作过程中存在产生得脉冲的不稳定问题,所以就牵扯到按键去抖动的问题,对此系统中设置了按键去抖动模块,按键去抖动模块产生稳定的脉冲信号送入按键控制模块,按键控制模块根据按键的动作对秒、分、时进行调节。 原理图如下:

四、实验程序(程序来源:参考实验室里的和百度文库的稍加改动,还有自己写的) 1、分频模块 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fenpin IS PORT(CLK:IN STD_LOGIC; CLK1:OUT STD_LOGIC); END fenpin; ARCHITECTURE behav OF fenpin IS SIGNAL X,CNT:STD_LOGIC_VECTOR(11 DOWNTO 0); BEGIN P1:PROCESS(CLK) BEGIN X<="001111101000";--1000分频 IF CLK'EVENT AND CLK = '1' THEN CNT<=CNT+1; IF CNT=X-1 THEN CLK1<='1';CNT<="000000000000"; ELSE CLK1<='0'; END IF; END IF; END PROCESS; END behav; 2、60进制计数器(秒、分计数器)模块 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY count60 IS PORT(EN,RST,CLK1: IN STD_LOGIC; Q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUT: OUT STD_LOGIC); END count60;

数字电压表的文献综述

文献综述 一.前言 发展历程 数字电压表在1952年由美国NLS公司首次从电位差计的自动化过程中研制成功。50多年来,数字电压表有了不断的进步和提高。数字电压表刚开始是4位显示,然后是5位、6位,而现在发展到7位、8位数码显示;从最初的一两种类型发展到原理不同的几十种类型;从最早的采用继电器、电子管发展到全晶体管、集成电路、微处理器化;从一台仪器只能测一到两种参数到能测几十种参数的多用型;显示器件也从辉光数码管发展到等离子体管、发光二极管、液晶显示器等。数字电压表的体积和功耗越来越小,重量不断变轻,价格也逐步下降,可靠性越来越高,量程范围也逐步扩大。 DVM的高速发展,使它已成为实现测量自动化、提高工作效率不可缺少的仪表,现在已经广泛应用于电子、电工测量,自动化测试系统等领域。故数字电压表已成为一种必不可少的测量仪器。本设计是基于单片机AT89C51的数字电压表。硬件电路设计简单,具有读数方便、误差小、稳定性高等特点,具有较高应用价值,特别适合平常简单的测量。采用智能化的数字仪器将是必然的趋势,它们不仅能提高测量准确度,而且能提高电测量技术的自动化程序,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表(如:温度计、湿度计、酸度计、重量、厚度仪等),几乎覆盖了电子电工测量、工业测量、自动化仪表等各个领域。从而提高计量检定人员的工作效率。 二.正文 1.DVM简介 数字电压表(Digital Voltmeter)简称DVM,是采用数字化的测量技术,将连续的模拟量转换成为离散的数字形式并加以显示的电子测量仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求。数字电压表具有以下九大特点:1. 显示清晰直观,读数准确;2. 准确度高;3. 分辨率高;4. 测量范围宽;5. 扩展能力强;6. 测量速率快;7.输入阻抗高;8. 集成度高,微功耗;9. 抗干扰能力强。采用单片机的数字电压表不仅精度高、抗干扰能力强,

51单片机数字电压表实验报告

微控制器技术创新设计实验报告 :学号:班级: 一、项目背景 使用单片机AT89C52和ADC0808设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为5V;显示精度0.001伏。 二、项目整体方案设计 ADC0808 是含8 位A/D 转换器、8 路多路开关,以及与微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。ADC0808的精度为1/2LSB。在AD 转换器内部有一个高阻抗斩波稳定比较器,一个带模拟开关树组的256 电阻分压器,以及一个逐次通近型寄存器。8 路的模拟开关的通断由地址锁存器和译码器控制,可以在8 个通道中任意访问一个单边的模拟信号。

三、硬件设计 四、软件设计 #include #include"intrins.h" #define uchar unsigned char #define uint unsigned int sbit OE = P2^7; sbit EOC=P2^6; sbit START=P2^5; sbit CLK=P2^4;

sbit CS0=P2^0; sbit CS1=P2^1; sbit CS2=P2^2; sbit CS3=P2^3; uint adval,volt; uchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; void delayms(uint ms) { uchar j; while(ms --) { for(j=0;j<120;j++); } } void ADC_read() { START=0; START=1; START=0; while(EOC==0); OE=1;

FPGA课程设计多功能数字钟讲解

多功能数字钟 开课学期:2014—2015 学年第二学期课程名称:FPGA课程设计 学院:信息科学与工程学院 专业:集成电路设计与集成系统班级: 学号: 姓名: 任课教师: 2015 年7 月21 日

说明 一、论文书写要求与说明 1.严格按照模板进行书写。自己可以自行修改标题的题目 2.关于字体: a)题目:三号黑体加粗。 b)正文:小四号宋体,行距为1.25倍。 3.严禁抄袭和雷同,一经发现,成绩即判定为不及格!!! 二、设计提交说明 1.设计需要提交“电子稿”和“打印稿”; 2.“打印稿”包括封面、说明(即本页内容)、设计内容三部分;订书机左边装订。 3.“电子稿”上交:文件名为“FPGA课程设计报告-班级-学号-姓名.doc”,所有报告发送给班长,由班长统一打包后统一发送到付小倩老师。 4.“打印稿”由班长收齐后交到:12教305办公室; 5.上交截止日期:2015年7月31日17:00之前。

第一章绪论 (3) 关键词:FPGA,数字钟 (3) 第二章FPGA的相关介绍 (4) 2.1 FPGA概述 (4) 2.2 FPGA特点 (4) 2.3 FPGA设计注意 (5) 第三章Quartus II与Verilog HDL相关介绍 (7) 3.1 Quartus II (7) 3.2 Verilog HDL (7) 第四章设计方案 (8) 4.1数字钟的工作原理 (8) 4.2 按键消抖 (8) 4.3时钟复位 (8) 4.4时钟校时 (8) 4.5数码管显示模块。 (8) 第五章方案实现与验证 (9) 5.1产生秒脉冲 (9) 5.2秒个位进位 (9) 5.3按键消抖 (9) 5.4复位按键设置 (10) 5.5 数码管显示。 (10) 5.6 RTL结构总图 (11) 第六章实验总结 (14) 第七章Verilog HDL源代码附录 (15)

基于FPGA的多功能数字钟的设计

基于FPGA的多功能数字钟的设计 摘要数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,是人们日常生活中不可少的必需品。本文介绍了应用FPGA芯片设计多功能数字钟的一种方案,并讨讨论了有关使用FPGA芯片和VHDL语言实现数字钟设计的技术问题。关键词数字钟、分频器、译码器、计数器、校时电路、报时电路。 Design of Abstract Keywords

目录 0.引言 (4) 1.设计要求说明 (4) 1.1设计要求 (4) 1.2完成情况说明 (4) 2.多功能数字钟的基本原理及其在FPGA中的设计与实现 (4) 2.1计时电路 (5) 2.2异步清零电路 (5) 2.3校时、校分功能电路 (5) 2.4报时电路 (6) 2.5分频电路 (7) 2.6闹钟及音乐闹铃电路 (9) 2.7秒表计时电路 (15) 2.8译码显示电路 (15) 2.9逻辑总图 (16) 3.设计感想 (17) 参考文献 (17)

0.引言 数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生产生活带来了极大的方便而且大大地扩展了钟表原先的报时功能。因此,研究数字钟及扩大其应用,有着非常现实的意义。 1.设计要求说明 1.1设计要求 1)设计一个具有校时、校分、清零,保持和整点报时功能的数字钟。 2)多数字钟采用层次化的方法进行设计,要求设计层次清晰、合理;构成整个设计的功能模块既可采用原理图方法实现,也可采用文本输入法实 现。 3)数字钟的具体设计要求具有如下功能: ①数字钟的最大计时显示23小时59分59秒; ②在数字钟正常工作时可以进行快速校时和校分,即拨动开关K1可对小 时进行校正,拨动开关K2可对分钟进行校正; ③在数字钟正常工作情况下,可以对其进行不断电复位,即拨动开关K3 可以使时、分、秒回零; ④整点报时是要求数字钟在每小时整点来到前进行鸣叫,鸣叫频率是在 59分53秒、55秒、57秒时为500Hz,59分59秒时为1KHz; ⑤哟啊去所有开关具有去抖动功能。 4)对设计电路进行功能仿真。 5)将仿真通过的逻辑电路下载到EDA实验系统,对其进行验证。 1.2完成情况说明: 对于实验要求的基本功能我们设计的电路都能准确实现。另外,我们还附加了显示星期、秒表、闹钟时间来时播放音乐等功能。 2.多功能数字钟的基本原理及其在FPGA中的设计与实现 通过分析多功能数字钟的设计要求和所要实现的功能,应用层次化方法设计出数字钟应由计时模块、分频脉冲模块、译码显示模块、校时校分和清零模块、报时模块等几个模块组成,其原理框图如下图1所示:

简易电压表设计实验报告

数字电路与逻辑设计实验 实验报告 课题名称:简易数字电压表的设计 学院:信息与通信工程学院 班级: 姓名: 学号: 班内序号:

一.设计课题的任务要求 设计并实现一个简易数字电压表,要求使用实验板上的串行AD 芯片ADS7816。 1.基本要求: (1)测量对象:1~2 节干电池。 (2)AD 参考电压:2.5V。 (3)用三位数码管显示测量结果,保留两位小数。 (4)被测信号超过测量范围有溢出显示并有声音提示。 (5)按键控制测量和复位。 2. 提高要求: (1)能够连续测量。 (2)自拟其他功能。 二. 系统设计(包括设计思路、总体框图、分块设计) 1.设计思路 本次实验利用ADS7816作为电压采样端口,FPGA作为系统的核心器件,用LED数码管进行已测电压值的显示,先把读取的12位串行二进制数据转换成并行的12位二进制数据,然后再把并行的12位二进制数据转换成便利于输出的3位十进制BCD码送给数码管,以显示当前测量电压值。这些工作由ADS7816转换控制模块、数据转换控制模块、译码显示模块完成。 2. 总体框图

3. 分块设计 3.1 ADS7816转换控制模块 (1)ADS7816工作原理 在ADS7816的工作时序中,串行时钟DCLK用于同步数据转换,每位转换后的数据在DCLK 的下降沿开始传送。因此,从Dout引脚接收数据时,可在DCLK的下降沿期间进行,也可以在DCLK的上升沿期间进行。通常情况下,采用在DCLK的上升沿接收转换后的各位数据流。CS 的下降沿用于启动转换和数据变换,CS有效后的最初1至2个转换周期内,ADS7816采样输入信号,此时输出引脚Dout呈三态。DCLK的第2个下降沿后,Dout使能并输出一个时钟周期的低电平的无效信号。在第4个时钟的上升沿,Dout开始输出转换结果,其输出数据的格式是最高有效位(B11位)在前。当最低有效位(B0位)输出后,若CS变为高电位,则一次转换结束,Dout显三态。 (2)元件设计: en:A/D转换启动键,输入。输入高电平时开始转换。 clk:时钟输入。 ad_dat:ADS7816转换结束后的12位串行二进制数据输入端。 cs:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 data_out[11..0]:12位并行二进制数据输出端。 3.2 数据转换控制模块

fpga数字钟课程设计报告

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 学号:20133638 姓名:王一丁 指导教师:李世平 设计时间:2016年1月

摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟

目录 摘要 1 课程设计目的 2 课程设计内容及要求 2.1 设计任务 2.2 设计要求 3 VHDL程序设计 3.1方案论证 3.2 系统结构框图 3.3设计思路与方法 3.3.1 状态控制模块 3.3.2 时分秒模块 3.3.3 年月日模块 3.3.4 显示模块 3.3.5脉冲产生模块 3.3.6 扬声器与闹钟模块 3.4 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献

1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。 2 课程设计内容及要求 2.1 设计任务 (1)6个数字显示器显示时分秒,setpin按键产生一个脉冲,显示切换为年月日。 (2)第二个脉冲可预置年份,第三个脉冲可以预置月份,依次第四、 五、六、七个脉冲到来时分别可以预置时期、时、分、秒,第八个脉冲到来后预置结束正常从左显示时分秒。 (3)up为高时,upclk有脉冲到达时,预置位加一,否则减一。 2.2 设计要求 (1)在基本功能的基础上,闹钟在整点进行报时,产生一定时长的高电平。 (2)实现闹钟功能,可对闹钟时间进行预置,当达到预置时间时进行报时。

基于FPGA的数字时钟

xxxx大学 电子设计自动化技术与应用 设计报告 设计题目:基于FPGA的数字时钟 学院:通信学院 姓名: 学号:

目录 一、设计任务 (3) 二、总体设计方案 (3) 1、设计思想 (3) 2、总体设计框图 (3) 三、单元电路设计 (4) 1、秒计数器模块设计与实现 (4) 2、分计数器模块设计与实现 (5) 3、时计数器模块设计与实现 (6) 4、2选1选择器模块设计与实现 (7) 5、译码器模块的设计与实现 (8) 6、3-8线译码器模块设计与实现 (9) 7、分频器的设计与实现 (9) 8、顶层原理设计图 (10) 四、硬件测试与结果分析 (11) 1、硬件测试: (11) 2、测试过程及结果分析 (12) 五、收获与体会 (12)

一、设计任务 1、能进行正常的时、分、秒计时功能,由LED数码管显示时间,最大计时 为23:59:59。 2、小时显示采用24进制,分显示和秒显示都采用60进制。 3、具有调时和调分功能。 二、总体设计方案 1、设计思想 本设计是基于Altera公司的Cyclone III 系列的EP3C16Q240C8芯片设计的,采用层次化设计方式,先设计数字时钟的底层器件:秒计数器、分计数器、时计数器、2选1选择器、译码器、分频器。顶层采用原理图设计方式,将所设计的底层器件连接起来构成一个具有计时和调时功能的数字时钟。 2、总体设计框图 完整的数字时钟设计硬件框图如图所示。

三、单元电路设计 1、秒计数器模块设计与实现 1.1秒计数器流程图如下: 1.2秒计数器生成模块如图1所示: 图1 其中,clk 是时钟信号,daout 是60计数输出,enmin 是向分进位的高电平。 1.3 波形仿真图

数字电压表课程设计实验报告

自动化与电气工程学院 电子技术课程设计报告 题目数字电压表的制作 专业 班级 学号 学生姓名 指导教师 二○一三年七月

一、课程设计的目的与意义 1.课程设计的主要目的,是通过电子技术综合设计,熟悉一般电子电路综合设计过程、设计要求、完成的工作内容和具体的设计方法。 2.同时了解双积分式A/D转换器ICL7107的性能及其引脚功能,熟悉集成电路ICL7107构成直流数字电压表的使用方法,并掌握其在电路中的工作原理。 3.通过设计也有助于复习和巩固以往的模电、数电内容,达到灵活应用的目的。在完成设计后还要将设计的电路进行安、调试以加强学生的动手能力。在此过过程中培养从事设计工作的整体观念。 4.利用双积分式A/D转换器ICL7107设计一数字电压表,量程为-1.99—+1.99,通过七段数码管显示。 二、电路原理图 数字电压表原理图

三、课程设计的元器件 1.课程设计所使用的元器件清单: 2.主要元器件介绍 (1)芯片ICL7107: ICL7107的工作原理 双积分型A/D转换器ICL7107是一种间接A/D转换器。它通过对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变换成与之成正比的时间间隔,然后利用脉冲时间间隔,进而得出相应的数字性输出。 它的原理性框图如图所示,它包括积分器、比较器、计数器,控制逻辑和时钟信号源。积分器是A/D转换器的心脏,在一个测量周期内,积分器先后对输入信号电压和基

准电压进行两次积分。比较器将积分器的输出信号与零电平进行比较,比较的结果作为数字电路的控制信一号。时钟信号源的标准周期Tc 作为测量时间间隔的标准时间。它是由内部的两个反向器以及外部的RC组成的。其振荡周期Tc=2RCIn1.5=2.2RC 。 ICL7106A/D转换器原理图 计数器对反向积分过程的时钟脉冲进行计数。控制逻辑包括分频器、译码器、相位驱动器、控制器和锁存器。 分频器用来对时钟脉冲逐渐分频,得到所需的计数脉冲fc和共阳极LED数码管公共电极所需的方波信号fc。 译码器为BCD-7段译码器,将计数器的BCD码译成LED数码管七段笔画组成数字的相应编码。 驱动器是将译码器输出对应于共阳极数码管七段笔画的逻辑电平变成驱动相应笔画的方波。 控制器的作用有三个:第一,识别积分器的工作状态,适时发出控制信号,使各模拟开关接通或断开,A/D转换器能循环进行。第二,识别输入电压极性,控制LED 数码管的负号显示。第二,当输入电压超量限时发出溢出信号,使千位显示“1" ,其余码全部熄灭。 钓锁存器用来存放A/D转换的结果,锁存器的输出经译码器后驱动LED 。它的每个测量周期自动调零(AZ)、信号积分(INT)和反向积分(DE)三个阶段。

相关主题
文本预览
相关文档 最新文档