ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:367.13KB ,
资源ID:6566873      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课设 出租车计费器.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA课设 出租车计费器.docx

1、EDA课设 出租车计费器目 录1引言1 Quartus II介绍 23出租车计价器设计33.1出租车计价器的设计原理 3各模块功能模块设计32.1分频模块4.2.2计量模块4.23控制模块 43.2.4计费模块43.2.5译码显示模块 5.6顶层模块53.3硬件仿真6总结7参考文献8附录 91引言本设计是一个简易的出租车计费系统,实现计价功能,计费标准为按行程里程收费,起步价为6.0元,当里程小于3公里时,按照起价计费,车行超过3公里后在按1元公里收费,等待累积时间超过2mn,按照每分钟15元计费。能模拟汽车的启动,停止,暂停等状态。并用D数码管实时显示车费和汽车行驶里程,用两位数字显示汽车行

2、驶里程,显示方式为“XX”,单位为km。计程范围为099k,计程分辨率为1m;用五位数字显示总费用,显示方式为“XXX.X”,单价为元。计价范围为09999元,计价分辨率为.1元。此计费器要设有一个由司机控制的整体复位控制。本设计采用VHL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过Quatu软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求。 本次课程设计可以熟练掌握了课本上的一些理论知识,课程设计也是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。加深我们对V

3、HL数字电路设计教程的理解。 urtus II介绍Quartus II 是Atea公司的综合性PD开发软件,支持原理图、VHL、VerilogD以及AHDL(Ala arware DscriptionLanguae)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。uus I可以在XP、Liux以及U上使用,除了可以使用Tl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quars II支持Altea的I核,包含了PM/egFunion宏功能模块库,使用户可以充分利用成熟的模块,简化了设计

4、的复杂性、加快了设计速度。对第三方工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,QurusII通过和DSP Bulde工具与atab/Simulik相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(OPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 lter Qurtus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Ala的uausII可编程逻辑软件属于第四代D开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Irne

5、t的协作设计。Qurtus平台与adence、ExeplaLgic、MntorGphic、Snopsy和Spicity等供应商的开发工具相兼容。改进了软件的gicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。支持X70/M300等乘积项器件3出租车计价器设计本设计是一种采用FPGA芯片进行出租车计费器,主要分为分频模块、计量模块、计费模块、控制模块等模块,利用FGA的可编程性,简洁又多变的设计方法,缩短了研发周期。主要采用了PGA芯片,使用VD语言进行编程,使其具有了更强的移植性,更加利于产品的升级。3.1出租车计价器的设计原理根据设计要求,系统

6、的输入信号clk,计价开始信号Start,等待信号top,里程脉冲信号in。系统得输出信号有:总费用数cha0 cha3,行驶距离km0 km1,等待时间min in1 等。系统有两个脉冲输入信号clk_120、fn,其中ck_120将根据设计要求分频成12H、15和1Hz分别作为公里计费和超时计费的脉冲。两个控制输入开关strt、stp;控制过程为:str作为计费开始开关,当stat为高电平时,系统开始根据输入的情况计费。当有乘客上车并开始行驶时,fin脉冲到来,进行行驶计费,此时的sp需要置为0;如需停车等待,就把sto变为高电平,并去除fin输入脉冲,进行等待计费;当乘客下车且不等待时,

7、将op和f同时置为,来读取最终的行驶路程数、等待时间与最后的总费用,直接将strt置为0,系统停止工作;价格开始归为起步价6.00元。整个设计由分频模块、计量模块、计费模块、控制模块等四个部分组成。其中计量模块是整个系统实现里程计数和时间计数的重要部分;控制模块是实现不同计费方式的选择部分,根据所设计的使能端选择是根据里程计费还是根据等待时间计费;同时设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。计量模块采用1H的驱动信号,计费模块采用、15Hz的驱动信号;计量模块每计数一次,计费模块就实现12次或者1次计数,即为实现计时的1. 元n、计程时的12元/的收费。组成框图如图-所示: 图

8、- 系统结构框图3.2各模块功能模块设计3.2.1分频模块由于试验箱上没有12Hz和Hz的整数倍时钟信号,因此我们采用频率较大的750khz进行分频,以近似得到12Hz、5Hz和1H的时钟频率。本设计中通过以上三种不同频率的脉冲信号实现在计程车在行驶、等待两种情况下的不同计费。分频模块元件如图2-2所示:图3-分频模块元件图3.22计量模块计量模块主要完成计时和计程功能。计时部分:计算乘客的等待累积时间,当等待时间大于2i时,本模块中e1使能信号变为1;当1每来一个上升沿,计时器就自增1,计时器的量程为59min,满量程后自动归零。计程部分:计算乘客所行驶的公里数,当行驶里程大于3km时,本模

9、块中e0使能信号变为;当clk1每来一个上升沿,计程器就自增,计程器的量程为99k,满量程后自动归零。Start置1程序始终处于计费状态,当fi脉冲到来时k和k1进入计程状态,且每次满9就向1进位,超过3km时en0就变为高电平;同理,当sop由0置为1时开始由计程进入等待状态,fin脉冲归为0里程计数停止,等待时间开始计时,m0每次满9就向1进位,超过2in时就变为高电平。.3控制模块本模块主要是通过计量模块产生的两个不同的输入使能信号0、en1,对两个分频模块输出的1Hz、1Hz的脉冲进行选择输出的过程;本模块实现了双脉冲的二选一;最终目的为了计费模块中对行驶过程中不同的时段进行计价。3.

10、2.4计费模块当计费信号Start一直处于高电平即计费状态时,本模块根据控制模块选择出的信号从而对不同单价的时段进行计费。即行程在3m内,而且等待累积时间小于2min则为起步价6元;3km以外每公里按元计费,等待时间超过2min,则按每分钟1.5元计费。c0、c、2、分别表示费用的显示。由图可知当处于计费状态时,随着l2的高电平的到来,计费起步价为元。0满9向c进位,c满9向2产生进位,依次逐级进位从而完成计费功能。3.25译码显示模块译码显示模块完成计价、计时和计程数据显示。计费数据送入译码显示模块进行译码,最后送至以百元、十元、元、角为单位对应的数码管上显示。计时数据送入译码显示模块进行译

11、码,最后送至以分为单位对应的数码管上显示。计程数据送入译码显示模块进行译码,最后送至以为单位的数码管上显示。由于本次课程设计所用实验箱上自带数码管译码显示电路,因此不需再写译码程序,选定模式直接管脚锁定在对用的数码管上即可实现。.6顶层模块本模块用图形输入法实现出租车的计费器系统设计,将各个模块组合在一起。程序最终功能实现仿真波形如图2-11所示图3- 程序最终仿真波形图由图中可以看出,当fi脉冲信号到来时,实现了行驶计费,当行驶里程超过三公里,则再按每公里1.元计费;当so为高电平,即进入等待计时收费;当等待时间超过2min时,每过一分钟加1.5元,即为实现每等一分钟收费5元。当stop为电

12、平时所有数值清零,只显示初始值6元,但本次仿真中等待时间为9分钟,行驶里程为2m,应收取费用值为36.9元。结果验证:出租车的起步价是6元,收费为6+(20-)*1.2+(9)*.5=36.9元。仿真结果于计算结果相同,所以仿真结果正确。3.硬件仿真在QuartuI软件中仿真成功,现在下载到试验箱上以验证其功能。实验中采用万用模式模式五,程序中各个端口锁定到试验箱上对应的管脚下载验证。最后得数码管显示计时、计程和计费数据如图2-1所示:图3-4 硬件仿真结果由上可知等待时间为4分钟,行驶公里数为4公里。根据设计要求计算所得费用为:6元(m-3km)*12元/m(4min-2min)1.5元/m

13、i+.2+=10.2元,与试验箱上所得结果相同,仿真下载成功。4总结通过为期1周的课程设计,出租车计价器系统的设计已基本完成,能按预期的效果模拟汽车启动、等待、停止、复位等功能,并显示车费数目等待时间及行驶路程。出租车计费系统的设计中体现了VHDL覆盖面广,描述能力强,是一个多层次的硬件描述语言及CPLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。通过不断的编写与尝试,遇到问题,讨论问题,解决问题,使我对HL数字电路设计教程这门学科有了更系统的认识。在这次课程设计中我熟练地掌握了VHDL语言中的并行语句与顺序语句的应用、区别与联系;从根本上了解了信号与变量之间的区别;

14、熟练掌握并应用了有限状态机与元件例化的方法;锻炼了我的独立思考能力,培养了我敢于创新的思想:让我学会了团结同学、互帮互助、在讨论中提炼真知。在本次设计中还存在很多不足,可以改进的地方目前有以下几点:一、该设计虽然实现了基本的计费和计程,但是很多问题并没有解决,如本设计只实了一种车速的计费。若要实现出租车的不同档位下的计程计费,还需要进一步讨论。二、该设计智能化水平较低,启动、等待、复位等信号需要人为输入,若在实际中出现操作偏差,会导致计费不准确。通过此次课程设计,我们更进一步的深入了解了HDL设计语言,并在使用过程中对它有了更深的体会。对编程过程中可能遇到的问题有了一定的了解和解决方法,在理论

15、学习和编程练习以及硬件测试方面都获得了较大的收获,对于今后进行程序设计有很大的帮助。最后在此再次向带领我们这次课程设计的老师说声:谢谢! 参考文献1.Vokn APeon.VDL数字电路设计教程.电子工业出版社,2008.52.潘松,黄继业.D技术实用教程(第二版).科学出版社,202孟庆海,张洲.VL基础及经典实例开发.西安:西安交通大学出版社,2008.44 刘江海.EDA技术课程设计.华中科技大学出版社,200.55 蒋小燕,余伟钧,张立臣 DA技术及VHDL2008.12.6 焦素敏.EA应用技术.清华大学出版社,004附录LIBRARY EE; UE EEE.STD_LGC_16.A

16、LL;USE ESTDLGIC_ARITHLL;USIESDLOIUIGND.L;enity axi is -出租车计费器整体设计模块;ort(c_120:in td_ogic; -系统时钟 cl_12:bffer togc; -12分频 clk15:buffer std_ogic; -15分频 l1:buffer tdlog; -1分频 strt:intd_logi; -计费开始信号 fin:in sd_logic; -里程脉冲信号 st:in sdlg; -行驶中,中途等待信号 n1,en0:ufe st_loic; -计费单价使能信号 k1,0:uferstd_lgvector(3doo

17、 0); -行驶公里计数 m1,m:bffer sd_oi_vect(dowo 0); -等待时间计数 clk_out:bufer std_logic; -计程和等待时间选择输出信号 c,c1,c2,c:bfferst_logi_vtor(donto 0)); -输出显示出租车总费用; nd tai;architetu taxif axi s signal q_1:inteer rng t9; -定义中间信号 gal _5:intee rnge 0 to 7; sinal q_1:inegr rane0 to 119; signal w:intgr ange to 9; -计时范围059 b

18、proces(clk20) beini(cl_10ven and cl_120=1 )then -分频模块;if(q_12=4) thnq_20;ck_12=oc_2; else q_2q_+; ed if; -得12z频率信号f(q_15=3) the q5;_15=ot clk_15; ele q_15=15+1; en f; -得15频率信号if (q_159) hen q_1;clk_1no clk_1; es q_=_1; ndi; -得1z频率信号edif; end pres;rocess(lk_1) 计量模块beginif(c_1ventan k_=1)te if(sat=) t

19、hen =0;en1;n=0;m=0000;m0=0000;1=0000;k=000;esf sop=1 then -计时开始信号 if (w=5) henw; -计时范围为0-59分;;ese ww1;end if; if (m0=01) thenm=000; i (m0101)then m1=000;elsem1=m11;ed f; else m0=m0+;end i;if sto=1 then e0000010thnen1; -若等待时间大于2m则e置1;e en10; endi;e i;lsi in1 h -里程计数开始; if(k01001) the k0=00; if(k=101)

20、he k100; -计程范围099;elsek1=k1+1;nd if;el 0+1;en if; i (stop=0)then en0000011) thn en0; -若行驶里程大于m则en0置1 lseen0=0; ed if; end if; en if; ed;if(stp0 n fi=)the en0=0;1=0;ndi;nd procs;proces(e0,en1) -控制模块设计;begin i (n=1) hn -计时和计程方式选择 clk_otclk_1; elsif e1=1 the clk_out=ck_2; se lk_out null; ed if;ndprces;procs(cl_out,str) -计费模块设计ginifstat=0 then c30000;2=0000;c=00;c=00; -起步价6元elif (clk_oteent nd clk_ot1) the -输出脉冲出现上升沿计费累计if (=101)he c=000; if (c1001) henc1=000;if (c=10) thnc=00;i (c3=1001) thn c3=0; -计价范围0999元else c3c3+1;e f;ele c=c2+1;end if;elsc1c1;e if;lsec0=c0+1; end i;eni;enprocess;nd x;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1