出租车计价器设计.doc

上传人:豆**** 文档编号:17192517 上传时间:2022-05-22 格式:DOC 页数:5 大小:135.50KB
返回 下载 相关 举报
出租车计价器设计.doc_第1页
第1页 / 共5页
出租车计价器设计.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《出租车计价器设计.doc》由会员分享,可在线阅读,更多相关《出租车计价器设计.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流出租车计价器设计.精品文档.综合实验 出租车计价器设计前言随着微电子技术的发展,现代电子技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用

2、硬件描述语言和EDA软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。本学期,学校开设了EDA和VHDL课程的学习,而学习一门编程语言,最好的方法莫过于在一个完整的系统开发过程中进行。因此,EDA综合实验就是一个最好的学习实践机会。随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普遍的交通工具。出租车计价器是出租车营运收费的专用智能化仪表是出租车市场规范化、 标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。本实验就是采用VHDL硬件描述语言

3、作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过在 Quartus II软件下进行模拟仿真,并进行相应的硬件下载调试,证明所设计的电路系统完成了出租车计价器的功能,各技术指标符合预定标准,具有一定实用性。一、实验任务及要求1.能实现计费功能,计费标准为:按行驶里程收费,起步费为10.00元,并在车行3公里后再按1.6元/公里,车暂停时,停车一分钟之后开始加价,每分钟增加2.5元。2. 实现预置功能:能预置起步费、每公里收费、车行加费里程。3. 实现模拟功能:能模拟汽车启动、停止、暂停等状态。4. 设计动态扫描电路:将车费及暂停时间显示出来。5. 用VHDL语言设计符

4、合上述功能要求的出租车计费器,并用层次化设计方法设计该电路。6. 综合仿真验证,并通过有关波形确认电路设计是否正确。7. 完成电路全部设计后,通过GW48系统实验箱下载验证设计的正确性。二、实验原理图1出租车计价器流程图图2系统结构图接口部分定义如下:输入:clk_240,系统时钟,频率为240Hz; Start,启动信号,当start=1时,汽车启动,开始计价; 当start=0时,清零; Stop,暂时计时信号,当stop-1时,中途暂停,开始计时;当stop=0时,再次出发; Fin,汽车车速脉冲信号,是一个与随着车速变化而变化的脉冲信号。输出:cha2,cha1,cha0,分别为价钱的

5、十位,个位和角位; Km1,km0,分别为行驶公里数的十位,个位; Min0,暂时分钟数输出。接口部分源程序如下:port ( clk_240 :in std_logic; -频率为240Hz的时钟 start :in std_logic; -计价使能信号 stop:in std_logic; -等待信号 fin:in std_logic; -公里脉冲信号 cha2,cha1,cha0:out std_logic_vector(3 downto 0); -费用数据 km1,km0:out std_logic_vector(3 downto 0); -公里数据 min0: out std_log

6、ic_vector(3 downto 0); -等待时间 计价部分原理如下:起步价10元,3公里内10元,超出3公里部分,每公里1.6元,车暂停时,2分钟内不加价,超出2分钟部分,每分钟2.5元;计费部分源程序如下:feipin:process(clk_240,start)begin if clk_240event and clk_240=1 then if start=0 then q_15=0;q_16=0;f_15=0;f_16=0;f_1=0;f=0; else if q_15=15 then q_15=0;f_15=1; -此IF语句得到频率为15Hz的信号 else q_15=q_

7、15+1;f_15=0; end if; if q_16=14 then q_16=0;f_16=1; -此IF语句得到频率为16Hz的信号 else q_16=q_16+1;f_16=0; end if; if q_1=239 then q_1=0;f_1=1; -此IF语句得到频率为1Hz的信号 else q_1=q_1+1;f_1=0; end if; if en1=1 then f=f_15; -此IF语句得到计费脉冲f elsif en0=1 then f=f_16; else f=0; end if; end if; end if;end process;process(f_1)b

8、egin if f_1event and f_1=1 then if start=0 then w=0;en1=0;en0=0;m1=000;m0=0000;k1=0000;k0=0000; elsif stop=1 then if w=59 then w=0; -此IF语句完成等待计时 if m0=1001 then m0=0000; -此IF语句完成分计数 if m1=101 then m1=000; else m1=m1+1; end if; else m00000001then en1=1; -此IF语句得到en1使能信号 else en1=0; end if; else w=w+1;

9、en1=0; end if; elsif fin=1 then if k0=1001 then k0=0000; -此IF语句完成公里脉冲计数 if k1=1001 then k1=0000; else k1=k1+1; end if; else k000000010 then en0=1; -此IF语句得到en0使能信号 else en0=0; end if; else en1=0;en0=0; end if;cha3=c3;cha2=c2;cha1=c1;cha0=c0; -费用数据输出km1=k1;km0=k0;min1=0&m1;min0=m0; -公里数据、分钟数据输出 end if

10、;end process;process(f,start)begin if start=0 then c3=0000;c2=0001;c1=0000;c0=0000; elsif fevent and f=1 then if c0=1001 then c0=0000; -此IF语句完成对费用的计数 if c1=1001 then c1=0000; if c2=1001 then c2=0000; if c3=1001 then c3=0000; else c3=c3+1; end if; else c2=c2+1; end if; else c1=c1+1; end if; else c0=c

11、0+1; end if; end if;end process;end behav; 图3仿真波形图1图4仿真波形图2三、系统测试系统测试过程如下:首先用Quartus仿真工具对系统进行时序仿真(波形如图3、图4)。功能仿真用于综合前检查设计的逻辑功能是否符合设计要求,仿真过程中可以通过观察检测设计的输入信号、输出信号以及内部信号来分析设计的逻辑功能是否实现。如果仿真全部通过无误的话,就可以进行引脚锁定,然后下载程序到GW48 系统进行硬件仿真。FPGA 的配置芯片为ACEX1K EP1K30TC114-3,利用在实验箱上连接好的八片LED 数码管中的六片,直接观察结果。测试结果表明,系统设计

12、达到了预期的技术指标要求。四、实验总结出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计LED数码管显示车费数目。车暂时1分钟内车费保持不变。若停止则车费清零,等待下一次计费的开始出租车计费系统的设计中体现了覆盖面广,描述能力强,是一个多层次的硬件描述语言及PLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。此外,由于是初学EDA及VHDL,难免一些错误及不足之处,本系统也存在一定的缺陷,如车费只能显示到十位,百位无法显示,暂停也只能显示10分钟以内。因此,改进方向可从扩大输出范围入手。最后,衷心感谢文毅老师全程指导及提出的宝贵建

13、议,可以说,没有文老师,本实验就不能取得成功。五、心得体会:这次课程设计中,我们主要是运用VHDL语言设计了一个出租车计费器,并且用层次化的设计方法来实现这个电路。在程序编写结束后,我们还对该程序进行了调试, 能按预期的效果进行模拟汽车启动、停止、暂停等功能,基本完成课程设计的要求。通过此次课程设计,我们更进一步的深入了解了VHDL设计语言,并通过使用对它有了更深的体会。对于编程过程中可能遇到的问题有了一定的了解,也明白了其中的一些注意事项,对于下次进行编程设计有很大的帮助和提高。总之,这次实验不仅仅加强了我们的动手编程能力,也大大加强了团队合作以及设计能力,使我们在理论学习和编程练习方面及实际操作方面都获得了较大的收获。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁