基于VHDL的数字电压表设计学士学位

上传人:枕*** 文档编号:142702759 上传时间:2022-08-25 格式:DOC 页数:69 大小:440KB
收藏 版权申诉 举报 下载
基于VHDL的数字电压表设计学士学位_第1页
第1页 / 共69页
基于VHDL的数字电压表设计学士学位_第2页
第2页 / 共69页
基于VHDL的数字电压表设计学士学位_第3页
第3页 / 共69页
资源描述:

《基于VHDL的数字电压表设计学士学位》由会员分享,可在线阅读,更多相关《基于VHDL的数字电压表设计学士学位(69页珍藏版)》请在装配图网上搜索。

1、摘 要VHDL(即超高速集成电路硬件描述语言)是随着可编程逻辑器件(PLD)的发展而发展起来的一种硬件描述语言,重要用于描述数字系统的构造、行为、功能和接口,是电子设计自动化(EDA)的核心技术之一。它采用一种自上而下(top-down)的设计措施,即从系统总体规定出发,自上至下地逐渐将设计内容细化,如划分为若干子模块,最后完毕系统硬件的整体设计。它支持设计库和可反复使用的元件生成,支持阶层设计,提供模块设计的创立。VHDL设计技术对可编程专用集成电路(ASIC)的发展起着极为重要的作用。 本电压表的电路设计正是用VHDL语言完毕的,完毕电压数据的采集、转换、解决、显示。本次设计重要应用的软件

2、是美国ALTERA公司自行设计的一种Quartus 。本次所设计的电压表的测量范畴是05V,精度为0.02V。核心词:电子设计自动化;VHDL;A/D采集;数字电压表 AbstractVHDL (i.e., ultra high speed integrated circuit hardware description language) is with the development of programmable logic devices (PLD) and developed a kind of hardware description language, is mainly used

3、 to describe the structure of the digital system, behavior, function and interface of electronic design automation (EDA) is one of the key technologies. It uses a top-down design method, namely from the overall system requirements, from top to down gradually to refine design content, such as divided

4、 into sub modules, finally completed the overall design of the system hardware. It supports design library and reusable components to generate, support the class design, module design creation. VHDL design technology of programmable application-specific integrated circuit (ASIC) plays a very importa

5、nt role in the development. The circuit of the design that use VHDL language to complete ,the voltmeter can complete collection of voltage data,conversion,treatment and display.The this time design is primarily the applied software is Quartus . which is made by the United States ALTERA company.This

6、systems range is -5v to +5v and precision is 0.02v.Keywords: Electronic Design Automation ;VHDL;A/D Acquisition digital voltage 目 录1 绪论11.1 课题背景和意义11.2 FPGA设计特点11.3 FPGA设计流程21.4 硬件描述语言VHDL31.4.1 VHDL的发展31.4.2 VHDL的特点41.5 VHDL语言的设计流程51.6 Quartus II开发平台简介51.6.1 Quartus 软件简介51.6.2 Quartus 设计输入61.6.3 文本

7、设计输入方式61.6.4 Quartus II设计仿真82 设计任务与规定123 设计方案134 各器件的选择154.1 A/D转换器ADC0809控制电路154.1.1 ADC0809的功能简介154.1.2 ADC0809引脚简介164.1.3 ADC0809芯片的控制措施及转换过程164.2 BCD码184.2.1 BCD码的简介184.2.2 BCD码的运算194.3 译码,显示电路195 功能模块205.1 ADC0809(ad)205.2 Dataprocess235.3 Leddisplay275.4 顶层模块设计29结 论31致 谢32参照文献33附录A 英文原文34附录B 汉

8、语翻译 451 绪论1.1 课题背景和意义随着信息技术获得了突飞猛进的发展,信息技术渗入了我们生活的几乎所有领域,变化着人类的生存状态和思维模式。而我们的课题所波及的电子设计自动化(EDA)技术就是在这种时代背景下产生的,并影响巨大1-3。FPGA是新型的可编程逻辑器件,与老式 ASIC 相比,具有设计开发周期短、设计制导致本低、开发工具先进 等长处,特别适合于产品的样品开发和小批量生产。老式的数字电压表多以单片机为控制核心,芯片集成度不高,系统连线复杂,难以小型化,特别在产品需求发生变化时,不得不重新布版、调试,增长了投资风险和成本4。而采用 FPGA 进行产品开发,可以灵活地进行模块配备,

9、大大缩短了开发周期,也有助于数字电压表向小型化、集成化的方向发展。 随着电子技术的发展,目前数字电子系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。推动该潮流发展的引擎就是日趋进步和完善的ASIC设计技术。目前数字系统的设计可以直接面向顾客需求,根据系统的行为和功能的规定,自上而下的完毕相应的描述、综合、优化、仿真与验证,直接生成器件。上述设计过程除了系统行为和功能描述以外,其他所有的设计几乎都可以用计算机来自动完毕,也就说做到了电子设计自动化(EDA)这样做可以大大的缩短系统的设计周期,以适应当今品种多、批量小的电子市场的需求5,6。随着着集成电路(IC)技术的发展,电子设计自动化

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

11、GA开发的最大优势。老式硬件电路设计先要进行功能设计,然后进行电路板级设计并做称电路板后进行调试,如果电路中有什么错误,整个电路板都将作废,这是很不经济的。FPGA的开发在功能层面上可以完全脱离硬件而在EDA软件上做软仿真。当功能拟定无误后可以进行硬件电路板的设计。最后将设计好的,由EDA软件生成的烧写文献下载到配备设备中去,进行在线调试,如果这时的成果与规定不一致,可以立即更改设计软件,并再次烧写到配备芯片中而不必改动外接硬件电路。(2)高度集成化,高工作频率一般的FPGA内部都集成有上百万的逻辑门,可以在其内部规划出多种与老式小规模集成器件功能相称的模块。这样将多种老式器件集成在同一芯片内

12、部的措施不仅可以改善电路板的规模,还可以减少PCB布线的工作。由于各个模块都是集成在FPGA芯片内部,这就很大限度地解决了信号的干扰问题,使得FPGA的工作频率可以大幅度的提高。此外,一般的FPGA内部均有PLL倍频的时钟,这进一步解决了电磁干扰和电磁兼容问题9,10。(3)支持多种接口 FPGA芯片可支持多种原则的接口电平,可通过EDA开发工具来选定采用什么样的接口原则,涉及常用的TTL和差分输入等。这便于后端多种不同接口电路的匹配。1.3 FPGA设计流程 可编程逻辑器件的设计是运用EDA开发软件和编程土具对器件开发的过程。它涉及设计准备、设计输入、功能仿真、设计解决、时序仿真和器件编程及

13、测试等六个环节。(1)设计准备 在系统设计之前,一方面要进行方案论证、系统设计和器件选择等准备工作。一般采用自上而下的设计措施,也可采用老式的自下而上的设计措施。(2)设计输入设计输入将所设计的系统或电路以开发软件规定的某种形式表达出来,并送入计算机的过程称为设计输入。设计输入一般有如下集中形式: 1)原理图输入方式 2)硬件描述语言输入方式 3)波形输入方式(3)功能仿真功能仿真也叫做前仿真。顾客所设计的电路必须在编译之迈进行逻辑功能验证,此时的仿真没有延时信息,对于初步的功能检测非常以便。仿真中如发现错误,则返回设计输入中修改逻辑设计。(4)设计解决设计解决是器件设计中的核心环节。在设计解

14、决过程中,编译软件将对设计输入文献进行逻辑化简、综合优化和适配,最后产生编程用的编程文献。重要有: 1) 语法检查和设计规则检查2)逻辑优化和综合3)适配和分割4)布局和布线(5)时序仿真时序仿真又称后仿真或延时仿真。由于不同器件的内部延时不同样,不同的布局布线方案也给延时导致不同的影响,因此在设计解决后来,对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能,以及检查和消除竟争冒险等是非常有必要的。(6)器件编程测试时序仿真完毕后,软件就可产生供器件编程使用的数据文献。1.4 硬件描述语言VHDL1.4.1 VHDL的发展VHDL的英文全名是VHSIC(Very High Speed

15、Integrated Circuit)Hardware Description Language。VHDL是20世纪80年代中期,由美国国防部资助的VHSIC项目开发的产品。VHDL于1987年由国际原则化组织IEEE(IEEE STD 1076_1987)所确认。1993年,IEEE 1076原则被升级、更新,新的VHDL原则为IEEE STD 1076_1993。1996年,IEEE 1076.3 成为VHDL综合原则。VHDL的语法丰富、数据类型繁多,是描述能力很强的的一种硬件描述语言,能在高层次上以系统的行为进行描述和仿真。VHDL非常合用于可编程逻辑器件的应用设计,并正在得以普及。目

16、前,几乎所有的EDA厂商出品的EDA软件都兼容这种原则。硬件描述语言(hardware description language,HDL)是电子系统硬件行为描述,构造描述,数据流描述的语言.目前,运用硬件描述语言可以进行数字电子系统的设计.随着研究的进一步,运用硬件描述语言进行模拟电子系统设计或混合电子系统设计也正在摸索中。国外硬件描述语言种类诸多,有的从Pascal发展而来,也有某些从C语言发展而来.有些HDL成为IEEE原则,但大部分是公司原则.VHDL来源于美国军方,其她的硬件描述语言则多来源于民间公司.可谓百家争鸣,百花齐放.这些不同的语言传播到国内,同样也引起了不同的影响.在国内比较

17、有影响的有两种硬件描述语言:VHDL语言和Verilog HDL语言.这两种语言已成为IEEE原则语言12,15。1.4.2 VHDL的特点VHDL描述能力非常强。它比其她的HDL有更高层次的描述。甚至在有时描述过程中中有算法的描述,而无硬件的痕迹。因此,VHDL 在CPLD/FPGA 的应用方面较为广泛;VHDL可以用比较少的篇幅将一种复杂的问题描述得很清晰。同步,VHDL指令代码多,数据类型丰富,既有可以用于仿真系统的指令,又有可用于综合的语句。因此VHDL使用起来非常灵活。可以说,在几种硬件描述语言中,VHDL是描述能力最强的一种语言。与其她硬件描述语言相比,VHDL具有如下特点:1)

18、功能强大:灵活性高:VHDL具有功能强大的语言构造,可以用简洁明确的源代码来进行复杂控制逻辑的设计。同步VHDL 还支持层次化的设计,支持系统元件库和顾客设计的元件库。目前,VHDL已成为一种设计、仿真、综合的原则硬件描述语言。2) 器件无关性:VHDL容许使用者在进行设计时,不需要一方面选择一种具体的器件。对于同一种设计描述,可以采用多种不同的器件构造来实现其功能。因此,在设计描述阶段,设计者可以集中精力于从事设计构思和优化。当设计、仿真通过后,在指定具体的器件综合、适配即可。3) 可移植性:VHDL是一种原则语言,故采用VHDL进行的设计可以被不同的EDA工具所支持。可以从一种仿真工具移植

19、到另一种仿真工具,可以从一种综合工具移植到另一综合工具,也可以从一种工作平台移植到另一种工作平台。在一种EDA工具中采用的技术技巧在其她工具中同样可以采用。4) 自顶向下的设计措施:自顶向下的设计措施是将要设计的电路进行最顶层的描述,然后运用EDA软件进行顶层仿真,如果顶层设计的仿真以满足规定,则可以继续将顶层划分的模块进行低一级的划分并仿真,这样一级一级的设计最后将完毕整个电路的设计。5) 数据类型丰富:作为硬件描述语言的一种,VHDL数据类型丰富。除了VHDL自身预定的10中数据类型外在VHDL程序设计中还可以由顾客自定义数据类型。特别是std_logic数据类型的使用,使得VHDL能最真

20、实地模拟电路中的复杂信号。6) 建模以便:由于VHDL中可综合的语句和用于仿真的语句齐备,行为描述能力强,因此VHDL特别适合信号建模。目前支持VHDL的综合器能对复杂的算数描述进行综合(如Quartus 2.0以上的版本都能对std_logic_vector类型的数据进行加、减、乘、除),因此对于复杂电路的建模,VHDL无论仿真还是综合都是非常合适的描述语言。7) 运营库和程序包丰富:目前支持VHDL的程序包很丰富,大多以库的形式寄存在特定的目录下,顾客可随时调用。在CPLD/FPGA综合时,还可以使用EDA软件商提供的多种库和程序包。并且顾客运用VHDL编写的多种成果都可以以库的形式寄存,

21、在后续的设计中可以继续使用13,14。1.5 VHDL语言的设计流程采用VHDL语言设计硬件电路系统的设计流程一般可以分为如下几种环节。硬件电路系统设计规定的定义。编写描述硬件电路系统功能的VHDL语言程序。VHDL语言程序的模拟。VHDL语言的综合、优化和布局布线。布局布线后的设计模拟。器件的编程。设计人员在从事硬件电路系统的合计过程中,编写VHDL语言程序之前必须对硬件电路系统的设计目的和设计规定有一种非常明确的结识才行17。1.6 Quartus II开发平台简介 1.6.1 Quartus 软件简介 Quartus II是Altera提供的FPGA/CPLD开发集成环境,Altera是

22、世界最大可编程逻辑器件供应商之一。Quartus II在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plus II的更新换代产品,其界面和谐,使用便捷。在Quartus II上可以完毕设计输入、HDL综合、布线布局(适配)、仿真和下载和硬件测试等流程,它提供了一种与构造无关的设计环境,使设计者能以便地进行设计输入、迅速解决和器件编程。1.6.2 Quartus 设计输入Quartus II的设计过程重要由设计输入、设计编译、设计仿真和器件编程4部分构成。Quartus II软件的基本设计流程如图1.1所示。原理图设计输入新项目建立建立设计文献文本设计输入分析&综合

23、布局布线时序分析修改错误编程下载仿真全程编译设计成功有错有错无错有错无错图1.1 Quartus 软件的基本设计流程 Quartus 软件的设计输入方式分多钟,重要涉及文本输入方式、原理图设计输入方式、波形设计输入方式、EDIF输入文献方式、图形设计输入方式和轰功能模块输入方式等。设计人员可以根据自己的实际状况灵活选择使用16。1.6.3 文本设计输入方式Quartus 软件支持VHDL、VeriogHDL和AHDL等硬件描述语言。下面将简介Quartus 8.1开发软件的文本设计输入的使用措施。1) 建立设计项目无论哪一种输入方式,一方面必须建立一种项目。所建立的项目名称要保证和设计名称一致

24、,以便于Quartus 软件的编译。打开 Quartus II,在File 菜单中选择New Project Wizard 项,将浮现工程项目建立向导对话框,点击Next,然后会浮现如图1.2所示的新建项目向导对话框,本次对话框用于登记项目所在文献夹、设计项目名称和项目顶层文献实体名。设计项目名称和顶层文献实体名可以相似,在多层次系统设计中,一般与设计项目同名的设计实体作为顶层文献。本例以shili为例。图1.2 建立新项目向导对话框 然后单机Finish按钮,完毕设计项目的建立。2) 输入文本文献输入文本文献的操作环节如下:选择菜单命令下的“FileNew”,弹出如图1.3所示的新建文献对话

25、框。选中VHDL File,单击OK按钮,弹出一种无名称的文本编辑窗口,可以在此文本编辑窗口中输入VHDL文献。 图1.3 新建文佳对话框 输入完毕后,选择菜单命令:“FileSave Project”,保存整个设计项目;或者选择菜单命令:“FileSave”,保存目前设计文献。注意保存文献名要和实体名一致。1.6.4 Quartus II设计仿真1) 创立波形文献 选择菜单命令“FileNewVector Waveform File”,如图1.4所示,然后单击OK按钮,就会浮现一种无标题的波形编辑窗口,如图1.5所示。 图1.4 建立仿真波形文献对话框图1.5 新建仿真波形编辑窗口2) 创立

26、输入输出向量创立输入输出向量操作环节如下:依次选择菜单命令“EditInsertInsert Node or Bus”,或者在向量编辑窗口空白位置处(黑粗矩形框内空白位置)单击鼠标右键,在右键下拉菜单中选择“InsertInsert Node or Bus”,如图1.6所示。 图1.6 仿真波形编辑窗口Insert Node or Bus对话框中提供了被添加Node或Bus的名称、类型、数值类型、数制类型和总线宽度等属性。如图1.7所示 图1.7 添加Node或Bus 对话框在图1.7中单击”Node Found”按钮,就会弹出Node Found对话框,如图1.8所示。在“Filter”栏中

27、选择“Pins:all”,单击“List”按钮,可以发现“Node Found”中列出了shili.vhd文献中所有的输入输出向量。可以通过“”、“”、“”及“”和“100us;环节S3:转换结束,有FPGA发出读命令;环节S4:有FPGA读取DB0DB7上的数字转换资料,并锁存数据。4.2 BCD码4.2.1 BCD码的简介8位数字量BD0BD7如何变成3位BCD码?用FPGA实现乘除法是很耗资源的,因而,下面采用查表措施求取BD0BD7与模拟输入电压05v的相应关系。编一种查表程序,对上述电压进行BCD编码,然后根据相应的4位BCD码相加的成果决定与否进位,从而得到待解决数据的BCD码。例

28、如:从AD0809上获得的数据位“11011110”,“1101”相应的电压值位4.16v,其相应的BCD编码为“”,“1110”相应的电压值为0.28v,其相应的BCD编码为“”。低4位相加为“1110”,不小于9,加6将其调节为BCD码,其值为0100,并且向前有一进位。四位相加的成果为0011,由于低位有进位,因此最后成果为0100,。高四位的成果为0100.三位合计值为4.44v,与4.16+0.28的成果同样。表中将8位数字量分为高4位HB和低4位LB,这样每个4位码的编程都是从00001111的16组码,由于5V被8位二进制码最大值除得到的成果是0.02v,即数字量每增大1相应模拟

29、电压增大0.02v。 表4.1 模拟输入电压与输出电压的相应关系16进制2进制高4位电压低4位电压0 0000 0.00 0.001 0001 0.32 0.022 0010 0.64 0.04 3 0011 0.96 0.064 0100 1.28 0.085 0101 1.60 0.106 0110 1.92 0.127 0111 2.24 0.148 1000 2.56 0.16 9 1001 2.88 0.18A 1010 3.20 0.20B 1011 3.52 0.22C 1100 3.84 0.24D 1101 4.16 0.26E 1110 4.48 0.28F 1111 4.

30、80 0.30 4.2.2 BCD码的运算 由于编码是将每个十进制数用一组4位二进制数来表达,因此,若将这种BCD码直接交计算机去运算,由于计算机总是把数当作二进制数来运算,因此成果也许会出错。 解决的措施是对二进制加法运算的成果采用加6修正,这种修正称为BCD调节。即将二进制加法运算的成果修正为BCD码加法运算的成果,两个两位BCD数相加时,对二进制加法运算成果采用修正规则进行修正。修正规则: (1)如果任何两个相应位BCD数相加的成果向高一位无进位,若得到的成果不不小于或等于9,则该不需修正;若得到的成果不小于9且不不小于16时,该位进行加6修正。 (2)如果任何两个相应位BCD数相加的成

31、果向高一位有进位时(即成果不小于或等于16),该位进行加6修正. (3)低位修正成果使高位不小于9时,高位进行加6修正 从表中得到的模拟电压值必须用BCD码表达才干便于用LED数码管显示。例如,ADC0809的DB0DB7是89H(10001001B),高4位HB是1000,低4位LB是1001,表中查询到高四位1000相应的2.56v,写成BCD码是0010,0101,0110;低四位1001相应的是0.18v,写成BCD码是0000,0001,1000.其和是2.74v,求的BCD码的运算如下: HB 0010 0101 0110 LB 0000 0001 1000 +进位 1 0110

32、成果 0010 0111 01004.3 译码,显示电路 对多位数字显示采用扫描式显示可以节电,这一点在某些场合很重要。对于某些系统输出的的数据,应用扫描式译码显示,可使电路大为简化。有些系统,例如计算机,某些A/D转换器,是以这样的形式输出数据的:由选通信号控制多路开关,先后送出(由高位到低位或由低位到高位)一位十进制的BCD码选通信号可用节拍发生器产生。(1)译码、显示电路可以采用动态扫描显示和静态显示两种措施。这里采用动态显示。(2)动态显示的字位更新采用一种计数器频率约为125Hz的信号轮流接通各位数码管的位线,并对显示字符进行扫描,应保证显示不闪烁。5 功能模块5.1 ADC0809

33、(ad)功能:运用ADC0809作为电压采样端口,进行A/D转换。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ad isport(clk:in std_logic; eoc:in std_logic; datain:in std_logic_vector(7 downto 0); dataout:out std_logic_vector(7 downto 0); oe:out std_logic; ale:out std_logic; start:out std_logic; a

34、dd:out std_logic_vector(2 downto 0);end ad;architecture one of ad istype states is(st0,st1,st2,st3,st4); signal current_state,next_state:states:=st0;signal temp:std_logic_vector(7 downto 0);signal lock:std_logic;begin add=001; dataoutale=0;start=0;oe=0;lock=0;next_stateale=1;start=1;oe=0;lock=0;next

35、_stateale=0;start=0;oe=0;lock=0;if (eoc=1)then next_state=st3; else next_stateale=0;start=0;oe=1;lock=1; next_stateale=0;start=0;oe=1;lock=1; next_state=st0; end case; end process;process(clk)begin if(clk event and clk=1) then current_state=next_state; end if;end process;process(lock)begin if lock=1

36、 and lock event then temp=datain; end if; end process;end one;状态机设计是一类重要的时序电路,是许多逻辑电路的核心部件,是实现高效率、高可靠性逻辑控制的重要途径。尽管状态机的设计理论并没有增长多少新的内容,但EDA工具的发展使状态机的设计技术和实现措施有了新的内容。一般状态机分类为如下两种:MOORE型状态机:它的输出仅仅取决于现态,与输入无关。MEALY型状态机:它的输出不仅仅取决于现态,还与输入有关。尽管状态机的体现方式和功能不尽相似,但均有相对固定的语句和程序构造。 上述程序中用Case-When语句构成了一种Moore状态机

37、,将信号oe设定为高电位,这样在下一种脉冲信号clk正沿时,才开始读取ADC0809上的数字转换信号。 图5.1 ADC0809模块原理图该模块时序仿真图如图5.2所示:图5.2 ADC0809功能仿真时序图如图5.2所示:Datain、EOC、CLK:输入端Dataut、OE、ALE、START、ADD:输出端当输入时钟信号时,八位数字量在EOC有高电位变为低电位时,标志着A/D转换结束。当oe为上升沿时,在dataout输出相应的datain值。5.2 Dataprocess功能:将采样数字量转换成3位BCD码。library ieee;use ieee.std_logic_1164.al

38、l;use ieee.std_logic_unsigned.all;entity dataprocess isport(b_datain:in std_logic_vector(7 downto 0); b_dataout:out std_logic_vector(11 downto 0);end dataprocess;architecture one of dataprocess issignal middata:std_logic_vector(7 downto 0);signal vdata:std_logic_vector(11 downto 0);signal hdata:std_

39、logic_vector(11 downto 0);signal ldata:std_logic_vector(11 downto 0);signal c0:std_logic;signal c1:std_logic;signal c2:std_logic;begin middata=b_datain; -(1)For A/D Conversion Data High Byte hdata=when middata(7 downto 4)=1111else when middata(7 downto 4)=1110else when middata(7 downto 4)=1101else w

40、hen middata(7 downto 4)=1100else when middata(7 downto 4)=1011else when middata(7 downto 4)=1010else when middata(7 downto 4)=1001else when middata(7 downto 4)=1000else when middata(7 downto 4)=0111else when middata(7 downto 4)=0110else when middata(7 downto 4)=0101else when middata(7 downto 4)=0100

41、else when middata(7 downto 4)=0011else when middata(7 downto 4)=0010else when middata(7 downto 4)=0001else ; -For A/D Conversion Data Low Byte ldata=when middata(3 downto 0)=1111else when middata(3 downto 0)=1110else when middata(3 downto 0)=1101else when middata(3 downto 0)=1100else when middata(3

42、downto 0)=1011else when middata(3 downto 0)=1010else when middata(3 downto 0)=1001else when middata(3 downto 0)=1000else when middata(3 downto 0)=0111else when middata(3 downto 0)=0110else when middata(3 downto 0)=0101else when middata(3 downto 0)=0100else when middata(3 downto 0)=0011else when midd

43、ata(3 downto 0)=0010else when middata(3 downto 0)=0001else ; -(3)Check BCD Addition Carryc001001 else 0;c101001 else 0;c201001 else 0; -(4)BCD Addition(30)vdata(3 downto 0)=hdata(3 downto 0)+ldata(3 downto 0)+0110 when c0=1 elsehdata(3 downto 0)+ldata(3 downto 0); -(5)BCD Addition(74) vdata(7 downto

44、 4)=hdata(7 downto 4)+ldata(7 downto 4)+0111 when c1=1 and c0=1 elsehdata(7 downto 4)+ldata(7 downto 4)+0110 when c1=1 and c0=0else hdata(7 downto 4)+ldata(7 downto 4)+0001 when c1=0 and c0=1else hdata(7 downto 4)+ldata(7 downto 4); -(6)BCD Addition(118)vdata(11 downto 8)=hdata(11 downto 8)+ldata(11

45、 downto 8)+0111 when c2=1 and c1=1 elsehdata(11 downto 8)+ldata(11 downto 8)+0110 when c2=1 and c1=0else hdata(11 downto 8)+ldata(11 downto 8)+0001 when c2=0 and c1=1else hdata(11 downto 8)+ldata(11 downto 8);b_dataout=vdata;end one; 上述程序(1)、(2)区块分别是高、低4位的电压查表转换,转换成果各是12位的BCD码;程序(3)区块是在BCD码相加前,先行判断那几种4位相加会有几位,并做进位记录;程序)(4)(6)区块分别是由第4位、中4位、高4位作BCD码相加。 图5.3 BCD转换模块原理图该模块时序仿真图如图5.4所示: 图5.4 BCD转换仿真时序图如图5.4:B_Datain:输入, B_Dataout:输出。将8位数字量转化为3位BCD码图中Datain“11011110”,“1101”相应的电压值位4.16v,其相应的BCD编码为“”,“1110”相应的电压值为0.28v,其相应的BCD编码为“”。低4位相加为“1110”,不小于9,加6将其调节为BCD码,其值为0100,并且向前有一进位。四位相加的成果为0011,由于低位

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!