欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于VHDL语言的出租车计费器设计.docx

    • 资源ID:1410096       资源大小:392.60KB        全文页数:26页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于VHDL语言的出租车计费器设计.docx

    1、基于VHDL语言的出租车计费器设计1引 言最近几年出租车行业发展迅速, 在全国有几千家出租车公司, 因此出租车计费器的 市场是庞大的。随着电子科学技术的不断发展,特别是集成电路的迅猛发展,电子设计 自动化已经成为主要的设计手段。随着 EDA 技术的大力发展, FPGA 等数字可编程器 件的出现,数字出租车计费器的设计也就变得更加简单,而且性能更稳定、能实现较复 杂的功能,且运用 EDA 软件可方便的在计算机上实现设计与仿真。本设计基于 VHDL(FPGA)语言是电子设计领域中最具活力和发展前途的一项技术,未来必定会取代部 分落伍的数字元元件。1.1 课程设计目的随着电子技术的不断发展与进步,

    2、集成电路的设计方法也在不断地更新。 时至今日, 传统的手工设计过程已经被先进的电子设计自动化(EDA工具所代替。只有以硬件描述 语言和逻辑综合为基础的子项项下的电路设计方法才能满足日趋复杂的集成电路系统设 计需求, 才能缩短设计周期以满足设计对集成电路系统日益急迫的需求。 在这种情形下, 传统的出租车计费器设计方法已不能跟上现在的节奏,以往的出租车计费器在功能上也 远不能满足现实的需求。以往的出租车计费器的不稳定性,功能稍等缺点是的大家开始 寻求更新的,功能更强大,性能更稳定,价钱更低廉的新型出租车计费器。而大规模可 编程逻辑器件的出现,VHDL硬件描述语言的出现,使得这一切成为可能。本设计的

    3、研究目标和意义也就是要使用价钱低廉、 性能稳定、 价钱低廉、可扩性强、 适应目前出租车市场需求的出租车计费器, 以解决目前出租车计费器存在的一系列问题。1.2 课程设计要求1.能实现计费功能,计费标准为:按行驶里程收费,起步费为 10.00 元,并在车 行3公里后再按 2元/公里,当计费器计费达到或超过一定收费 (如 20元)时,每公里加 收 50%的车费,车停止不计费。2.实现预置功能:能预置起步费、每公里收费、车行加费里程。3.实现模拟功能:能模拟汽车启动、停止、暂停、车速等状态。4.设计动态扫描电路:将车费显示出来,有两位小数。5.用VHDL语言设计符合上述功能要求的出租车计费器,并用层

    4、次化设计方法设计 该电路。6.各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是 否正确。7.完成电路全部设计后,通过系统实验箱下载验证设计的正确性。1.3 设计平台MAX + plus U是美国Altera 公司的一种EDA软件,用于开发CPLD和FPGA进行数 字系统的设计。2应用工具介绍作为当今最流行的计算机软件系统,EDA技术是以计算机为工作平台,融合了应用 电子技术、计算机技术、 信息处理及智能化技术的最新成果, 进行电子产品的自动设计。 EDA可提供文本输入以及图形编辑的方法将设计者的意图用程序或者图形方式表达出 来,而我们经常用到的 VHDL语言便是用于编写源程

    5、序所需的最常见的硬件描述语言(HDL 之一。2.1 EDA 技术介绍EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代 初从计算机辅助设计(CAD)、计算机辅助制造(CAM)计算机辅助测试(CAT)和计算机辅 助工程(CAE)的概念发展而来。EDA技术是在电子CAD技术基础上发展起来的计算机软件 系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能 化技术的最新成果,进行电子产品的自动设计 1。EDA技术就是以计算机为工具,设计者在 EDA软件平台上,用硬件描述语言 HDL完 成设计文件,然后由计算机自动地完成逻

    6、辑编译、化简、分割、综合、优化、布局、布 线和仿真,直至对于特定目标芯片的适配编译、 逻辑映射和编程下载等工作。 典型的 EDA 工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在 EDA平台上完成的针对某个系统项目的 HDL原理图或状态图形描述,针对给定的硬件 系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合 器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换低级的、 可与目标器件FPGA/CPL相映射

    7、的网表文件。在今天,EDA技术已经成为电子设计的普遍工具,无论设计芯片还是设计系统,没 有EDA工具的支持,都是难以完成的。EDA工具已经成为设计师必不可少的武器,起着 越来越重要的作用。从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用 广泛、工具多样、软件功能强大。EDA技术发展迅猛,完全可以用日新月异来描述。 EDA技术的应用广泛,现在已涉及到各行各业。 EDA水平不断提高,设计工具趋于完美的地2.2VHDL 语言介绍电子设计自动化(EDA)的关键技术之一是要求用形式化方法来描述数字系统的硬 件电路。 VHDL 硬件描述语言在电子设计自动化中扮演着重要的角色,他是 EDA 技术

    8、 研究的重点之一。硬件描述语言是 EDA 技术的重要组成部分, VHDL 是作为电子设计主流硬件描述 语言,VHDL (Very High Speed Integrated Circuit Hardware Description Languag 于 1983 年由美国国防部发起创建, 由 IEEE 进一步发展并在 1987年作为 IEEE 标准 10760 发布。 因此, VHDL 成为硬件描述语言的业界标准之一。 VHDL 作为 IEEE 的工业标准硬件描 述语言,得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述 语言。 VHDL 语言具有很强的电路描述和建模能力,

    9、 能从多个层次对数字系统进行建模 和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,使用 VHDL 语言, 可以就系统的总体要求出发,自上而下地将设计内容细化,最后完成系统硬件的整体设 计。一个完整的 VHDL程序包括以下几个基本组成部分:实体( Entity),结构体(Architecture),程序包(Package,库(Library )。其中,实体是一个 VHDL程序的基 本单元,由实体说明和结构体两部分组成, 实体说明用于描述设计系统的外部接口信号; 结构体用于描述系统的行为,系统数据的流程或系统组织结构形式。程序包存放各设计 模块能共享的数据类型,常数,子程序等。库用于存

    10、放已编译的实体,机构体,程序包 及配置。VHDL 语言的编译环境有不同的版本, 我们应用的是 Altera 公司的 Maxplus 软件, 它的操作顺序如下: 使用 TEXTEDITOR 编写 VHDL 程序使用 COMPILER 编译 VHDL 程序;使用 WAVE2FORMEDITOR ,SIMULAROT 仿真实验; 使用 TIMINGANALTZER 进行 芯 片的 时 序分 析; 用 FLOORPLANEDITOR 锁 定 芯 片 管 脚位 置 ;使 用 PROGRAMMER 将编译好的 VHDL 程序下载到芯片中。VHDL 进行工程设计的优点是显而易见的。1与其他的硬件描述语言相比

    11、, VHDL 具有更强的行为描述能力,从而决定了他 成为系统设计领域最佳的硬件描述语言。2VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计 系统的功能可行性,随时可对设计进行仿真模拟。3VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和 已有设计的再利用功能。符合市场需求的大规模系统高效、高速地完成必须有多人甚至 多个代发组共同并行工作才能实现。4对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合和优 化,并自动的将 VHDL 描述设计转变成门级网表。5VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管

    12、 理最终设计实现的目标器件是什么,而进行独立的设计。6用 VHDL 语言编写的源程序便于文档管理,用源代码描述来进行复杂控制逻辑 的设计,既灵活方便,又便于设计结果的交流、保存和重用。3设计原理扫描时钟显示输出 显示输出图3.1系统顶层框图计费器按里程收费,每100米开始一次计费。各模块功能如下:(1)车速控制模块当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的 脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时暂停发出脉冲,此时计费 器和里程显示模块相应的停止计数。(2)里程动态显示模块其包括计数车速控制模块发出的脉冲以及将计数显示动态显示出来, 每来一个脉冲里程

    13、值加0.1 (控制器每发一个脉冲代表运行了 0.1公里)。(3)计费动态显示模块其初值为10元,当里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动, 并且计数显示动态显示出来,每来一个脉冲(代表运行了 0.5公里)其数值加1元,当收费超过20时数值加1.5元。4设计步骤VHDL设计流程图(如图4.0):图4.0 VHDL设计流程图4.1程序设计图4.1系统的总体模块图(1)模块MS的实现(如图4.1.1所示)图4.1.1 模块MS图模块MS输入端口 CKQ CK1为两个不同的时钟信号,来模拟汽车的加速和匀速,JS加速按键。(2)模块SOUT勺实现(如图4.1.2所示)SOU TCrlLK

    14、S-TO 图 4.1.2 模块 SOUTS该模块实现车行状态输出功能,其中 elk为时钟信号,enable为启动使能信号,(3)模块PULSE勺实现(如图4.1.3所示)PULSE疋 CUKO FOWTb CV-BC0FQUT图 4.1.3 模块 PULSED该模块实现将时钟信号5分频功能(4)模块COUNTE的结果验证(如图4.1.4所示)COUNTERCLK_I* 1 V _1C L K _ D 1 U0JC cj.- JCLRL _C23 .OTc csrs-01% i r 丄-.oj1 4 1 l i . 0es E 3 _03TC C 3 IL 3 . 03Cl图4.1.4 模块CO

    15、UNTE图实现汽车模拟计费功能。clrl为清零信号,si为状态信号,c1,c2,c3分别为费用 的三为显示。(5)模块SCAN_LE的实现(如图4.1.5所示)SCAM LEO P #- 3=,r 1D 1 a QJTLD 1 3 i . CJ BIT 2. - ST (2. , 03tCILKE0图4.1.5 模块SCAN LE图该模块实现显示车费功能。BT为选位信号,SG译码信号4.2系统仿真:系统仿真是在实际系统上进行实验研究比较困难时适用的必不可少的工具, 它是指通过系统模型实验去研究一个已经存在或正在设计的系统的过程,通俗地讲,就是进行 模型实验。因而,系统仿真的结果决定整个课程设计

    16、任务完成的到位程度。程序输入完成后进行编译,编译完成后,可以对所进行的设计进行仿真,本课程设计的 仿真平台是MAX+plusU ,通过对VHDL源程序进行编译检错,然后创建波形文件(后缀名 为.scf ),加入输入输出变量,选择适用的芯片以及设定仿真结束时间,设置好输入初 值进行仿真,得到仿真波形图:1.模块MS的结果验证(如图4.2.1)当JS为高电平,CLK_OUT按照CLK1输出;低电平时,按照 CLKO输出2模块SOUT勺结果验证(如图422)sQulscf - VaTafariL Editorenable高电平时,每一个时钟上升沿时, CQI计数加1,若CQI=30时,state赋0

    17、1,30CQIv=80时,state赋10态,.;enable低电平时,CQI计数暂停,保持不变图4223模块PULSE勺结果验证(如图4.2.3)每个CLK0上升沿时,CNT计数加1,加到4时在下一个时钟上升沿赋值 0; ent不为0时fout赋值低电平,否则高电平图4234模块COUNTE的结果验证(如图424)SI为出租车状态信号:“ 00”表示计费值停止,Q1Q:不变;“01 ”计费清零,设置为起步价10元,Q2=1,Q3=0,Q仁0“ 10”正常计费,每公里1元,“ 11”超过20元后,每 公里1.5元;Q1,Q2,Q3的信号分别赋值给C1,C2,C3图4245模块SCAN_LE的结

    18、果验证(如图4.2.5)|划帕 十|血:汕田“ | Inefwi.励 名 , 1D0卩阳 30斗叶了 MPpniE *00;0磅 300 pn斗 300 (Jm 700严5 i5B0n& 鹏 1 (ju協 1 临 1 gut 1.中右 1 电鷗 1 製1 丨耳幅 I ut 1.*-CtK21 0 1Jirl1 CM1H23CIw OI2HD0_/* 卜a-_j*SGH24典iKK-4a09T1T2 La :1K2S3g【4I 1 i0-9QHDQ i -: 2f1 卫亠Ino*)L ? JL 1(匸J1- f. 0 1 -.u-| _1HDo i.i 2 J 1(D(J- 11 :BT位选,S

    19、G译码对应数字09图4256模块TAXI的结果验证(如图4.2.6)LT LIULJ MUJ J U LJL i r_i in r_1 in ii: rn in ri: m m m ri n图4264.3结果分析出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、 暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止 不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。出租车计费器系 统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计 动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止不计费,车费保持不 变

    20、。若停止则车费清零,等待下一次计费的开始。各模块完成后,在将它们组合成完整 的出租车系统,在设计过程中还需要改进的是控制系统的纠错功能。出租车计费系统的 设计中体现了VHDL覆盖面广,描述能力强,是一个多层次的硬件描述语言及 PLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。5结束语课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业 工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这 句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。 通过这次实验使

    21、我收获很多,对书本理论知识有了进一步加深,初步掌握了MAXPLUSI软件的一些设计使用方法。对一些器件的使用方法了解更深刻了,如一些器件的使能端的作用等。主要有以下一些实验感想1、 应该对实验原理有深刻理解;2、 做实验必须不急不躁,不能看见其他同学做的快就沉不住气了;3、 熟练掌握其他软件是必要的,如 Matlab软件、Excel、Word等;4、 必须学会自己调试电路, 一般第一次设计出的电路都会通不过编译的, 所以 要学会调试电路,而不是等老师解答或同学帮助;致谢经过三周的奋战我的课程设计终于完成了。在没有做课程设计以前觉得课程设计 只是对这半年来所学知识的单纯总结, 但是通过这次做课程

    22、设计发现自己的看法有点太 片面。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。 在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的 大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我 的同学。在此要感谢我们的指导老师陈老师对我们悉心的指导,感谢老师们给我们的帮助。 在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方 式,使自己学到了不少知识,也经历了不少艰辛,收获颇丰。参考文献1曹昕燕,周凤臣,聂春燕 .EDA 技术实验与课程设计【 M 】.清华大学出版社2刘欲晓,方强,黄宛宁 .EDA 技术

    23、与 VHDL 电路开发应用实践【 M 】.电子工业出版 社3潘松,黄继业.EDA技术实用教程(第三版)【M】.科学出版社4赵岩岭,刘春等 .在 MAX+PLUSII 平台下用 VHDL 进行数字电路设计 .西安:希典出 版社, 20055康华光主编 .电子技术基础模拟部分 .北京:高等教育出版社,6阎石主编 .数字电子技术基础 .北京:高等教育出版社, 2003附录1:模块M&青单/ 程序名称: MS/程序功能:模块MS输入端口 CKQ CK1为两个不同的时钟信 和匀速, JS 加速按键。/ 程序作者:金人佼/ 最后修改日期: 2010.12.312006,来模拟汽车的加速LIBRARY IE

    24、EE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MS ISPORT(CK0:IN STD_LOGIC; / 慢速档的时钟信号CK1:IN STD_LOGIC; / 快速档的时钟信号JS:IN STD_LOGIC; / 换挡按键信号CLK_OUT:OUT STD_LOGIC);END MS;ARCHITECTURE ONE OF MS ISBEGINPROCESS(JS, CK0,CK1)BEGINIF JS=0 THEN CLK_OUT=CK0; /JS 低电平,则为慢速档ELSE CLK_OUT0); /CLR 低电平 ,CQI 清零ELSIF CLKEVENT

    25、AND CLK=1 THEN /CLK 上升沿触发IF STO=1 THEN STATE:=00;CQI:=CQI; /STO 高电平时, state 赋 00 态ELSIF ENABLE =1 THEN /ENABLE 高电平, CQI 计数加 1CQI:=CQI+1;IF CQI=30 THEN STATE:=01; /CQI30 AND CQI=80 THEN STATE:=10; 30CQI80 时, state 赋 11 态END IF;END IF;END IF;ST=STATE;END PROCESS;END ONE;附录 3: 模块 PULSE/ 程序名称: PULSE/ 程序

    26、功能: 该模块实现将时钟信号 5 分频功能。/ 程序作者:金人佼/ 最后修改日期: 2010.12.31LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PULSE ISPORT(CLK0:IN STD_LOGIC;FOUT:OUT STD_LOGIC);END PULSE;ARCHITECTURE ONE OF PULSE ISBEGINPROCESS(CLK0)VARIABLE CNT:STD_LOGIC_VECTOR(2 DOWNTO 0);VARIABLE FULL :STD_

    27、LOGIC;BEGINIF CLK0EVENT AND CLK0=1 THENIF CNT=100 THEN /CNT计数到 5(“ 1 00”)CNT:=000 ; /CNT清零FULL:=1; /FULLELSE高电平CNT:=CNT+1; / 否则计数 CNT加 1FULL:=0; /FULL赋低电平END IF;END IF;FOUT=FULL; /FULL为CLK的五分频信号,赋值给FOUT故输出信号END PROCESS;END ONE;附录 4:模块 COUNTER/ 程序名称: COUNTER/ 程序功能: 实现汽车模拟计费功能。 clr1 为清零信号, si 为状态信号, c1,c2,c3 分别为费用的三 为显示。/ 程序作者:金人佼/ 最后修改日期: 2010.12.31LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER ISPORT(CLK_DIV:IN STD_LOGIC;CLR1:IN STD_


    注意事项

    本文(基于VHDL语言的出租车计费器设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开