ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:428KB ,
资源ID:2158102      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2158102.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(基于fpga的出租车计价系统设计(1)学士学位论文.doc)为本站上传会员【可****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于fpga的出租车计价系统设计(1)学士学位论文.doc

1、南京师范大学中北学院毕 业 设 计(论 文)( 2013 届)题 目: 基于FPGA的出租车计价系统设计 专 业: 电子信息工程 姓 名: 顾媛媛 学 号: 18093218 指导教师: 倪小琦 职 称: 讲师 填写日期: 2013-05-01 南京师范大学中北学院教务处 制摘要本文提出了在Quartus 9.0软件平台上基于FPGA的出租车计费器的设计方案。通过VHDL描述出租车计费系统的操作流程及控制方案,模拟汽车的启动、停止、计费、预置等功能,并用数码管显示车费、里程、等待时间等信息。该系统配合车速传感器可应用在不同车型的出租车上,实现计费等所需功能。本设计的优点有:生产可靠、稳定且灵活

2、性好、开发周期短、效率高、维护简单等。关键词:出租车计价器;VHDLAbstract What proposed in this paper is the design scheme of taxi meter based on FPGA on the Quartus9.0 software platform. The operation process and control scheme of the taxi billing system are all described with VHDL, simulating vehicles start, stop, pricing, prov

3、isioning, and other functions like using digital tube to display the fare, mileage, waiting time and other information. The system with speed sensor can be used in different models of taxis, and it also can reach the expected function.The advantages of this design are: reliable production, stable an

4、d good flexibility, short development cycle, high efficiency, simple maintenance and so on.Key words:taxi meter system;VHDL26目录摘要1Abstract21 绪论11.1 设计背景11.2 国内外研究现状11.3 课题研究的目的和意义22 开发工具和关键技术32.1 QuartusII的介绍32.2 VHDL语言的优点33 系统的设计53.1 设计基本要求53.2 分析及步骤53.3 实验方案及预计实现的功能53.4 方案设计与论证64 相关原理图及设计文件94.1 分频

5、模块94.2 计量模块104.3 控制模块114.4 计费模块114.5 数码模块125 总体仿真156 设计总结176.1 设计结果176.2 不足之处17致谢18参考文献19附录201 绪论1.1 设计背景汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是具有一定意义的。随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷

6、困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更加方便快捷的服务。多年来国内普遍使用的计价器只具备单一的计量功能。最早的计价器全部使用机械齿轮结构,只能简单的计程功能,可以说,早期的计价器就是个里程表。随着科学技术的发展,产生了第二代计价器。它采用手摇计算机与机械结构相结合的方式实现了半机械半电子化。此时它在计程的同时还完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善。出租车计价器是一种专用的计量仪器,它安装在出租车上,能够连续累加,并只是出行中任意时刻乘客应付费用。随着电子技术的发展

7、以及对计价器的不断改进和完善,便产生了能够自主计费,以及现在的能够打印发票和语音提示、按时间自主变动单价等功能9。1.2 国内外研究现状我国第一家生产计价器的是重庆市起重机厂,最早的计价器全部采用机械齿轮结构,只能完成简单的计程功能,可以说,早期的计价器就是个里程表。随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化,在计程的同时还可完成计价的工作。大规模集成电路的发展产生了第三代计价器,也就是全电子化的计价器,其功能在不断完善中。出租车计价器在最初使用时具备的主要功能是根据行驶里程计价,要求精度高,可靠性好。随着电子技术的发展以及对计价器的

8、不断改进和完善,便产生了诸多的附加功能。例如:(1)LED显示功能,数码管的使用让计价器实现多屏显示的功能,可同时显示各项营运数据,使乘客一目了然;(2)永久时钟功能,在非营运状态下,日历时钟芯片的使用使计价器可以显示永久时钟;(3)存储功能,可存储多项营运数据,便于查询。新型数据存储器的应用使得计价器的营运数据在掉电情况下还可以保存10年。随着集成电路和计算机技术的飞速发展,提高系统的可靠性与通用性,生产体积小、重量轻、功耗低、速度快、成本低、保密性好的产品将成为未来行业的主流8。1.3 课题研究的目的和意义随着电子技术的不断发展与进步,集成电路的设计方法也在不断地更新。时至今日,传统的手工

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

10、需求的出租车计费器,以解决目前出租车计费器存在的一系列问题12。2 开发工具和关键技术2.1 QuartusII的介绍Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。

11、Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得

12、到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。 Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎1。2.2 VHDL语言的优点(1) VHDL 语言功能强大,设计

13、方式多样VHDL 语言具有强大的语言结构,只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。(2) VHDL 语言具有强大的硬件描述能力VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类

14、型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。(3) VHDL 语言具有很强的移植能力VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。(4) VHDL 语言的设计描述与器件无关采用 VHDL 语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完成以后,VHDL 语言允许

15、采用多种不同的器件结构来实现。(5) VHDL 语言程序易于共享和复用VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量,缩短开发周期3。3 系统的设计3.1 设计基本要求费用的计算,出租车起价

16、为8.00元,当里程小于3km时,按起价费用计算;当里程大于3km时每公里按2.8元计算;等待累计时间超过2分钟,按每分钟1.5元计费;里程,即汽车行驶里程,用两位数字显示,显示方式为“XX”,单位为km;等候时间,用两位数字显示,显示方式为“XX”,等候时间的定义是:当汽车行驶速度小于或等于12km/h时为“等候”;费用=8+(里程-3)*2.8+(等候时间-2)*1.5,单位:元;费用显示,用四位数字显示,显示方式为“XXX.X”,单价为元。3.2 分析及步骤第一步,选好实验题目后,首先对实验要求做了逻辑上的理性分析,明确了实验目的。第二步,画出实验系统框图,将大实验分成小模块,明确各个小

17、目标,以待各个击破。第三步,将各个小模块实验流程图画出来,便于各个模块程序编写。第四步,按顺序,编出各个模块的小程序,进行软件编译,纠错。第五步,将各个小模块生成的元件图连接成整体原理图。第六步,仿真,分析实验结果的实现效果。第七步,针对实验结果的不合理性,进行程序、原理图纠错;第八步,到实验室,利用电子综合设计实验箱,将软件与硬件相结合,看实际效果。3.3 实验方案及预计实现的功能通过可编程逻辑器件和VHDL硬件描述语言来实现出租车的计费系统的基本设计要求。对于本设计来说,设计的主体是外部输入模块、控制模块和显示模块,对输入的频率进行分频,得到超出公里数的单价对应的频率,按照车辆行驶公里数,

18、对最终费用进行控制,再通过译码显示模块,最终在数码管上显示出计费数额。本设计采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,数码管控制及译码显示模块将十进制的输入信号用七段数码管显示,由七段发光二极管组成数码显示器,利用字段的不同组合,可分别显示09。本设计中,要求输出的段信号为高电平有效。根据课题要求,系统设计采用自顶向下的设计方法,设计流程图如下:设计输入编译仿真与分析编程系统测试制作原理图修改图3-1 出租车计费系统设计流程图出租车计费系统由外部输入模块、控制模块和显示模块三部分组成。控制模块是整个系统的核心,它由分频模块、控制模块、计量模块和译码显示模块构成。分频模

19、块:它是对系统时钟频率进行分频。控制模块:主要完成对计价器状态的控制。计量模块:完成计价、计时和计程功能。译码模块:完成计价、计时和计程数据的显示。预计实现的功能: 出租车计费起价为8.00元,当里程小于3km时,按起价费用计算;当里程大于3km时每公里按2.8元计算;等待累计时间超过2分钟,按每分钟1.5元计费。(1)计价范围: 0999.9元;计价分辨率: 0.1元;(2)计程范围: 099元;(3)计时范围: 59分; 计时分辨率: 1分钟;3.4 方案设计与论证方案一:主要目的是为了实现:出租车起始计价为8.00元,当里程小于3km时,按起价费用计算;当里程大于3km时每公里按2.8元

20、计算;等待累计时间超过2分钟,按每分钟1.5元计费; 费用=8+(里程-3)*2.8+(等候时间-2)*1.5,单位:元。系统有两个脉冲输入信号clk_420、fin,两个控制输入开关start、stop;控制过程为:start作为计费开始开关,当start为高电平时,系统开始根据输入的情况计费。系统的输出信号有:总费用数c0 c3,行驶距离k0 k1,等待时间m0 m1 等。系统有两个脉冲输入信号clk_420hz、fin,其中clk_420hz将根据设计要求分频成28hz、15hz和1hz分别作为公里计费和超时计费的脉冲。当有乘客上车并开始行驶时,fin脉冲到来,进行行驶计费,此时的sto

21、p需要置为0;如需停车等待,就把stop变为高电平,并去除fin输入脉冲,进行等待计费;当乘客下车且不等待时,直接将start置为0,系统停止工作。系统由分频模块、控制模块、计量模块和计费模块四部分组成。计量模块是整个系统实现里程计数和时间计数的重要部分;控制模块是实现不同计费方式的选择部分;设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。计量模块采用1HZ的驱动信号,计费模块采用28HZ、15HZ的驱动信号;计量模块每计数一次,计费模块就实现28次或者15次计数,即为实现计时时的1.5 元/min、计程时的2.8元/km的收费。方案一、出租车计费系统组成框图3-2如下:时钟脉冲分频器

22、控制器等待脉冲公里脉冲计费/复位 显 示计 费计 时图3-2 出租车计费系统组成框图图3-2可以很客观地看出计费器的大概工作流程,当出租车有乘客时,计费器开始工作,开始计费:控制器的核心部分,即FPGA的主控部分开始运行,确定行驶里程及等待时间,根据起步价,然后再加上每公里的价格,这些都是预设的,不需要手动输入,然后正式进入计费模块,读取设定初值,调用计费模块,通过显示模块,会把路程和费用同步显示给乘客,当乘客到达目的地时,结束计费,并且把最后结果显示给乘客了解,然后计费初始化,等待下一次的计费。方案二:主要目的是为了实现:出租车起始计价为8.00元,当里程小于3km时,按起价费用计算;当里程

23、大于3km时每公里按2.8元计算;等待累计时间超过2分钟,按每分钟1.5元计费; 计费方式如下:费用=8+(等候时间-2 )*1.5 (路程3km)系统由分频模块、控制模块、计量模块和计费模块四部分组成。计量模块是整个系统实现里程计数和时间计数的重要部分;控制模块是实现不同计费方式的选择部分;但主要想用设计一定的函数关系来实现,而不是像方案一那样依赖分频来实现对里程和停止时间分别计费。(1)从设计目的来看,经过研究和实际情况考虑,觉得还是第一种方案的设计目的比较符合实际情况,且对乘客和司机都相对公平。因此决定采用方案一的设计目的,来作为设计目标。(2)从设计正确性和实现可能性出发,我发现要想用

24、VHDL语言来设计一定的函数关系,来达到目的,比较困难,并且在编程时我也陷入了困难之中。此外,在以前实验课的基础上,我对分频器的设计和应用已经比较熟悉,所以决定利用自己所学来解决问题,故决定放弃方案二,选择方案一的设计思路。4 相关原理图及设计文件4.1 分频模块 分频模块是对系统时钟频率进行分频,如图4-1,得到co端输出420HZ频率的脉冲;然后再通过图4-2的模块对420HZ频率的脉冲进行分频,分别得到15HZ、28HZ、1HZ三种频率,本设计中通过15HZ、28HZ、1HZ三种不同频率的脉冲信号实现在计程车在行驶、等待两种情况下的不同计费;具体原理图如图4-3。clk为输入信号,分频后

25、得到输出信号clk28,clk15,clk1。图4-1 420HZ的分频模块图4-2 15HZ、28HZ、1HZ三种不同频率的分频模块图4-3 分频模块总电路图图4-4 功能级仿真结果由图4-4可见,分频出的28、15、1HZ的时钟脉冲是正确的。clk_28表示实现28次计数,系统时钟周期为1/420s及28次计数所需要的时间为28*(1/420)s则对应频率为420/28=15HZ。clk_15表示实现15次计数,系统时钟周期为1/420s及15次计数所需要的时间为15*(1/420)s则对应频率为420/15=28HZ。4.2 计量模块 本模块实现对于出租车在行驶和等待过程中的计时和计程功

26、能。如图4-5。 计时部分:计算乘客的等待累积时间,当等待时间大于2min时,本模块中en1使能信号变为1;当clk1每来一个上升沿,计时器就自增1,计时器的量程为59min,满量程后自动归零。 计程部分:计算乘客所行驶的公里数,当行驶里程大于3km时,本模块中en0使能信号变为1;当clk1每来一个上升沿,计程器就自增1,计程器的量程为99km,满量程后自动归零。如图4-6。图4-5 计量模块电路图图4-6 计量模块的仿真电路图图4-7 功能级仿真结果由图4-7可见,等待时间小于2min时,本模块中输出信号en1保持为0;clk50M和start都是输入,取start为1,表示中间没有停,一

27、直在走,所以输出信号en0为1,即表示计路程,这里取的是一种极端做法,不考虑等待时间。4.3 控制模块本模块主要是通过两个不同的输入使能信号ent0,ent1,对两个输入脉冲clk_in1,clk_in2进行选择输出,即实现选择器功能;使能信号是计量模块中的输出,两个输入脉冲是分频模块输出的28HZ、15HZ的脉冲;本模块实现了双脉冲的二选一。如图4-8及图4-9。图4-8控制模块的原理电路图图4-9 控制模块仿真原理图图4-10 功能级仿真结果结合图4-9和图4-10可以看出,当ent0为高电平时,输出为out即这一时段的clk_in1(clk_28);当ent1为高电平时,输出为out即这

28、一时段的clk_in2(clk_15)。 【时间超过输出out(clk_in1),由clk_28控制,420/28=15相当于计费模块加了15个一角;路程超过输出out(clk_in2),由clk_15控制,420/15=28相当于计费模块加了28个一角,计2.8元。】4.4 计费模块本模块根据输入的clk2信号变化,调节费用的计数,c0、c1、c2、c3表示费用输出部分的角、元、十元、百元的输出。如图4-11及图4-12。图4-11 计费模块的元件原理图图4-12 计费模块的仿真电路图图4-13 功能级仿真结果由图4-13中可以看出,c3c2c1c0的初始值为0080,即起步价为8元。随着c

29、lk的高电平的到来,c3、c2、c1、c0逐级进行加法计数,当c0计数到九时,产生进位,c1加一;当c1计数到九时,产生进位,c2加一;当c2计数到九时,产生进位,c3加一。4.5 数码模块数码模块由模八计数器模块如图4-14、片选模块如图4-15和数码显示模块如图4-16组成。本次设计采用的是共阴数码管来作为实验的显示模块,低电平有效,而且是利用动态显示的过程。数码管显示模块的功能是用来显示输入的行驶里程和总计费用。为了使七段数码管能够显示出所要表示的数值,需要采用译码器将所要表示的数值译码成数码管所需要的驱动信号。原理图如图4-18所示。图4-14 模八计数器模块元件原理图图4-15 片选

30、模块理图图4-16数码显示模块元件原理图图4-17 测试写入固定值模块图4-18 数码模块测试仿真电路图图4-19 功能级仿真结果由图4-19可见,随着clk上升沿的到来,qcnt就会加1,scan,seg也会随着qcnt输入的值相应变化,即在车行驶过程中,根据所行驶的路程,所得的费用,经过译码分别在相应的数码管上显示相应的数值。以第一个周期为例:当qcnt为0时,scan输出为7F,即点亮左起第一个数码管,seg输出为70,即该数码管上显示7;随着clk第一个上升沿的到来,qcnt变为1,scan输出为BF,即点亮左起第二个数码管,seg输出为5F,即该数码管上显示6;随着clk第二个上升沿

31、的到来,qcnt变为2,scan输出为DF,即点亮左起第三个数码管,seg输出为5B,即该数码管上显示5;随着clk第四个上升沿的到来,qcnt变为3,scan输出为EF,即点亮左起第三个数码管,seg输出为33,即该数码管上显示4;随着clk第五个上升沿的到来,qcnt变为4,scan输出为F7,即点亮左起第二个数码管,seg输出为30,即该数码管上显示1;随着clk第六个上升沿的到来,qcnt变为5,scan输出为FB,即点亮左起第六个数码管,seg输出为7E,即该数码管上显示0;随着clk第七个上升沿的到来,qcnt变为6,scan输出为FD,即点亮左起第七个数码管,seg输出为79,即

32、该数码管上显示3;随着clk第八个上升沿的到来,qcnt变为7,scan输出为FE,即点亮左起第八个数码管,seg输出为6D,即该数码管上显示2。5 总体仿真 在QuartusII中基本完成所有底层设计文件的编辑后,就开始编辑设计顶层设计文件。上面的源程序产生了对应的模块框图,将上述各个模块框图组合成顶层原理图5-1:图5-1 顶层原理图图5-2 3KM以内的仿真结果 图5-3 3KM以外的仿真结果对顶层原理图仿真得到图5-2,图5-3,分析图5-2可知:位选scan:7F对应数码管段码seg:7E,说明数码管上显示0;即fei0是0;位选scan:BF对应数码管段码seg:7F,说明数码管上

33、显示8;即fei1是8;位选scan:DF、EF、F7、FB、FD、FE对应数码管段码seg:7E,说明数码管上显示0;即fei2是0;fei3是0;t0、t1、mile0、mile1都是0,这便可得到起步价8元。图中scan从7F到下一个7F之间是一段,7F、BF、DF、EF、F7、FB、FD、FE分别是选中从左到右依次8片数码管来分别显示fei0,fei1,fei2,fei3,t0,t1,mile0,mile1,scan垂直对应下面一行seg,再根据seg段码来判断显示的是09里的哪个数。(具体对照表见附录一)由此可见,出租车计费器可以实现预计目标:(1)起价为8.00元,当里程小于3km

34、时,按起步价费用8元计算;(如图5-2)(2)当里程大于3km时每公里按2.8元计算;等待累计时间超过2分钟,按每分钟1.5元计费。只是上面仿真等待(stop)时间设置较短,所以计费中没有对等待时间的计费。图5-3所示,当行驶了11公里时,费用=8+(11-3)*2.8=30.4,与图示的29.9元基本一致(存在一定的误差)。6 设计总结6.1 设计结果本设计采用硬件描述语言按自顶向下的方法,将一个大的系统分成几个相对独立的模块分别设计,仿真,最后再整体仿真。实现了出租车计费器的一般功能,如计里程,计费,以及费用,时间和里程的显示功能,基本上达到了这次毕业设计的基本要求。根据论文的要求进行设计

35、工作,具体实现了如下功能:(1)里程的计算,通过传感器测出轮子是否有运动,如果在一定的时间内运动了,则记录轮子的转圈数,从而自动计算出轮子转动的圈数的长度,由此计算出出租车行驶的距离。(2)费用的计算,出租车起价为8.00元,当里程小于3km时,按起价费用计算;当里程大于3km时每公里按2.8元计算;等待累计时间超过2分钟,按每分钟1.5元计费;(3)里程,即汽车行驶里程,用两位数字显示,显示方式为“XX”,单位为km;等候时间,用两位数字显示,显示方式为“XX”。 费用=8+(里程-3)*2.8+(等候时间-2)*1.5,单位:元;费用显示用四位数字显示,显示方式为“XXX.X”,单价为元。

36、6.2 不足之处没有实现对等候时间(定义是当汽车行驶速度小于或等于12km/h时为“等候”)控制。 致谢时光转眼即逝,为期一个学期的毕业论文也已接近尾声,我四年的大学生活也即将画上一个句号。回想这段求学路,时而喜悦,时而惆怅。在美丽的校园里,原本天真幼稚的我如今已蜕变成一个睿智、沉稳的青年,感谢命运的安排,让我有幸结识了许多良师益友。“饮其流时思其源,成吾学时念吾师”。至此论文完成之际,谨向我尊敬的指导老师倪小琦致以诚挚的谢意和崇高的敬意。从选题、定题、撰写开题报告,到论文至今的初步定稿,倪老师始终认真负责,督促指导,使我能够按时完成任务。倪老师给予我充分的时间支配权利,让我有充足的时间处理好

37、工作和毕业设计的双重任务。再加上通过网络查询资料,我对出租车计费系统的研究有了深入的了解,不仅丰富了自己的专业知识,更重要的是大大提高了利用已有的知识分析、解决问题的能力,培养了对待科学研究的正确态度,这些都是走向社会的宝贵财富。其次要感谢我的班主任韩婷婷老师和大学四年给我们授课的所有老师,是他们的悉心教导和精心栽培,让我掌握了很多专业知识,为将来的工作打下了良好的基础。还要感谢我的父母,给予我生命并给与我接受教育的机会,他们给我生活的关怀和精神上的鼓励是我学习的动力。最后,感谢我的同学和朋友们,谢谢他们陪伴我成长,给我鼓励和帮助。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺

38、利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!参考文献1李洪伟等. 基于QuartusII的FPGA/CPLD设计.电子工业出版社,2006:1531。2 百度文库3 姜立东. VHDL语言程序设计及应用. 第2版. 北京邮电大学出版社,2001:3338。4 刘凡. VHDL-标准化的硬件设计语言J. 计算机工程与应用,1998年01期:24。5 曹昕燕,周凤臣,聂春燕. EDA技术实验与课程设计M. 清华大学出版社,2006:5672。6刘欲晓,方强,黄宛宁. EDA技术与VHDL电路开发应用实践M. 电子工业出版社,2009:3478。7潘松,黄继业.

39、EDA技术实用教程. 第3版.M. 科学出版社,2005:2560。8 赵岩岭,刘春等. 在MAX+PLUSII平台下用VHDL进行数字电路设计. 西安希典出版社,2005:123130。9 康华光主编. 电子技术基础模拟部分. 北京高等教育出版社,2006:1126。10 阎石主编. 数字电子技术基础. 北京高等教育出版社,2003:107186。11 王志明,吴冬峰. 浅谈VHDL语言在电子电路中的应用J. 黑龙江科技信息,2010年17期:1021。12 席砺莼,董丽梅,田梦周,闫宏伟. 基于VHDL语言的出租车计费系统设计J. 现代电子技术,2003年第3期:1232。13 张凌,范寒

40、柏. VHDL语言中局部变量与局部信号的作用J. 电子工程师,1999年第12期:2324。14 牛振东,宋瀚涛,刘明业. VHDL语言行为描述划分的研究与实现J. 计算机学报, 1995年第11期:3444。15候伯亨,顾新. VHDL硬件描述语言与数字逻辑电路设计. 西安电子科技大学出版社,1999:201223。附录附录一:对照表模8计数器输出qout3.0接的是片选模块qo3.0,从片选模块VHDL程序即附录七来看,(1)当qo输出0000时,输出fei0,即费用的角位;(2)当qo输出0001时,输出fei1,即费用的元位;(3)当qo输出0010时,输出fei2,即费用的十元位;(

41、4)当qo输出0011时,输出fei3,即费用的百元位;(5)当qo输出0100时,输出t0,即时间的个位;(6)当qo输出0101时,输出t1,即费用的十位;(7)当qo输出0110时,输出mile0,即时间的个位;(8)当qo输出0111时,输出mile1,即时间的十位。模8计数器输出qout3.0接的是数码模块qcnt3.0,从数码模块VHDL程序即附录八来看,(1)当qcnt输出(01111111)时,scan为7F,选中左起第一片数码管;(2)当qcnt输出(10111111)时,scan为BF,选中左起第二片数码管;(3)当qcnt输出(11011111)时,scan为DF,选中左

42、起第三片数码管;(4)当qcnt输出(11101111)时,scan为EF,选中左起第四片数码管;(5)当qcnt输出(11110111)时,scan为F7,选中左起第五片数码管;(6)当qcnt输出(11111011)时,scan为FB,选中左起第六片数码管;(7)当qcnt输出(11111101)时,scan为FD,选中左起第七片数码管;(8)当qcnt输出(11111110)时,scan为FE,选中左起第八片数码管。片选seg3.0输出端接数码模块adr3.0,adr3.0控制数码管的段码,用来显示数码管上的数字;(1)当adr3.0输出0时,seg6.0输出7E,数码管上显示数字0;(

43、2)当adr3.0输出1时,seg6.0输出30,数码管上显示数字1;(3)当adr3.0输出2时,seg6.0输出6D,数码管上显示数字2;(4)当adr3.0输出3时,seg6.0输出79,数码管上显示数字3;(5)当adr3.0输出4时,seg6.0输出33,数码管上显示数字4;(6)当adr3.0输出5时,seg6.0输出5B,数码管上显示数字5;(7)当adr3.0输出6时,seg6.0输出5F,数码管上显示数字6;(8)当adr3.0输出7时,seg6.0输出70,数码管上显示数字7;(9)当adr3.0输出8时,seg6.0输出7F,数码管上显示数字8;(10)当adr3.0输出

44、其他数值时,seg6.0输出7B,数码管上显示数字9。附录二:420HZ的分频模块VHDL语言程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fp420 is port ( clk: in std_logic; co: buffer std_logic; qcnt: buffer std_logic_vector(15 downto 0) );end fp420;architecture behave of fp420 is begin process (clk) begin if(clkevent and clk=1) then if(qcnt=59523)then qcnt=0000000000000000; co= not co; else qcnt=qcnt+1; end if;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服