出租车自动计费器设计(课程设计报告模板)课件.doc

上传人:牧羊曲112 文档编号:4804082 上传时间:2023-05-16 格式:DOC 页数:23 大小:791.50KB
返回 下载 相关 举报
出租车自动计费器设计(课程设计报告模板)课件.doc_第1页
第1页 / 共23页
出租车自动计费器设计(课程设计报告模板)课件.doc_第2页
第2页 / 共23页
出租车自动计费器设计(课程设计报告模板)课件.doc_第3页
第3页 / 共23页
出租车自动计费器设计(课程设计报告模板)课件.doc_第4页
第4页 / 共23页
出租车自动计费器设计(课程设计报告模板)课件.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《出租车自动计费器设计(课程设计报告模板)课件.doc》由会员分享,可在线阅读,更多相关《出租车自动计费器设计(课程设计报告模板)课件.doc(23页珍藏版)》请在三一办公上搜索。

1、目 录1 绪论11.1 设计背景11.2 QUARTUS II简介11.3 VHDL语言基础22 出租车计费器总体设计结构22.1 系统设计要求和目的22.2.1 系统设计要求22.2.1 系统设计目的22.2 设计思路32.3 系统总体结构32.4 出租车计费器系统工作流程图43 出租车计费器的实现53.1 出租车计费器的顶层原理图53.2 系统各功能模块的实现53.2.1 计费模块JIFEI53.2.2 计量模块JILIANG63.2.3 显示控制模块SELTIME73.2.4 显示模块DELED74 出租车计费器系统仿真及分析84.1 计费系统的仿真84.2 单元模块的仿真及分析104.

2、2.1 译码显示模块的仿真及分析104.2.2 显示控制模块的仿真及分析114.2.3 计量模块的仿真及分析124.2.4 计费模块的仿真及分析125 锁定管脚及硬件实现135.1 锁定管脚图135.2 硬件实现135.2.1 显示结果的几种情况145.2.2 硬件实现总结156 设计体会与总结16参考文献17附 录181 JILIANG模块的VHDL程序182 JIFEI模块的VHDL程序193 SELTIME控制模块的VHDL程序204 DELED模块的VHDL程序21巢湖学院2013级EDA技术课程设计 出租车自动计费器设计1 绪论1.1 设计背景随着我国社会经济的全面发展,各大中小城市

3、的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具,它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是具有一定意义的。出租车计费器是出租车营运收费的专用智能化仪表,是出租车市场规范化,标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备,简单易用,计量准确

4、的出租车计费器是加强出租车行业管理,提高服务质量的必需品。本设计就是采用VHDL硬件描述语言作为设计手段,采用自己的设计思路,得到一种出租车计价系统的软件结构,通过Quartus II 6.0软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求,具有一定的实用性。1.2 QUARTUS II简介QUARTUS II 是Altera公司的综合性CPLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整CPLD设计流程。QUARTUS II 支持Altera的片上可编程系统(S

5、OPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera QUARTUS II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。1.3 VHDL语言基础一般而言,一个相对完整的VHDL语言程序至少应三个基本组成部分:库(Library)、程序包(Package)使用说明;实体(Entity)说明;实体对应的结构体(Architecture)说明。其中,库、程序包使用说明用于打开(调用)本设计实体将要用到的库、程序包;实体说明用于描述该设计实体与外界的接口信号说明,是可视部分;结构体说明用于描述该

6、设计实体内部工作的逻辑关系,是不可视部分。在一个实体中,允许含有一个或多个结构体,而在每一个结构体中又可以含有一个或多个进程以及其他的语句。根据需要,实体还可以有配置说明语句。配置说明语句主要用于以层次化的方式对特定的设计实体进行元件例化,或是为实体选定某个特定的结构体。2 出租车计费器总体设计结构2.1 系统设计要求和目的2.2.1 系统设计要求1.起步价为5.0元,起步公里为3公里;2.超过3公里,每公里按1元收费,也可每0.1公里按0.1元收费;3.等候时间累计1分钟,按每分钟0.1元收费;4.用三个数码管显示总金额,最大值为99.9元;用三个数码管显示总里程,最大值99.9公里;用两个

7、数码管显示等待时间,最大值99分钟。2.2.1 系统设计目的1.通过这次实验设计使我们加深对EDA技术与数字系统设计相关理论和概念的理解,培养我们的理论联系实际的能力,特别是实际动手能力。2.学习使用QUARTUS II软件设计。3.根据原理图学会用VHDL语言设计时序电路。4.学会绘制功能仿真波形图。2.2 设计思路根据设计要求,电路具有计时、计程、计费功能,用数码管显示行驶公里数、等待时间、收费金额,行车里程和等待时间的处理电路将汽车行驶的里程数、转换成与之成正比的计费脉冲,然后由计费电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,3公里以后每0.1公里产

8、生一个计费脉冲,一个1HZ的脉冲用来表示等待时间,60个脉冲代表1分钟,1分钟即60个脉冲产生一个等待计费脉冲,然后用计费电路对计费脉冲进行计费。2.3 系统总体结构图2-1 系统总体结构图出租车计费器的组成如上图所示,通过控制模块以高低脉冲模拟出租汽车启动、行驶、暂停,具有控制作用;通过控制模块控制出租车的状态来选择出租车是计里程还是计等待时间,相应产生的时间计费脉冲信号和里程脉冲信号来计费,译码/动态扫描模块将等待时间、路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将里程数、等待时间和计费金额用数码管显示。2.4 出租车计费器系统工作流程图图2-2 出租车计费系统工作流程

9、图出租车载客后,启动计费器,整个系统开始工作,进入初始化状态,即计程从0开始,计费从5.0元开始。再根据BREAK信号判断行驶还是暂停。若是行驶状态,计费器开始进行里程计数,当里程超过3公里时,计费器开始累加,按每0.1公里收费0.1元计算,计程器则继续,否则计费器不变。若是暂停状态,计费器开始进行等候时间计数,当等候时间累计1分钟,则每分钟0.1元计费。最后将等候时间、里程、计费都显示出来。3 出租车计费器的实现3.1 出租车计费器的顶层原理图图3-1 出租车计费器顶层原理图原理图中输入部分分别是CLK:秒脉冲信号,1个脉冲代表1秒,则60个脉冲表示1分钟。CLK1:10米脉冲信号,1个脉冲

10、代表10米,则10个脉冲表示100米,100个脉冲代表1公里。START:计程车开启信号;DRIVE:计费器启动信号;BREAK:等待信号,SEL为计数控制信号输出端。3.2 系统各功能模块的实现3.2.1 计费模块JIFEI计费(JIFEI)模块也是本系统的核心,完成起步价计费,等待时间计费,里程计费功能。计费器启动,显示起步价5.0元,之后每来一个行驶里程计费脉冲或者等待时间计费脉冲,计费金额自动加0.1元。计费显示用3位数码管,所以计费最大值为99.9元。其中CH2表示费用的十位,CHI表示费用的个位,CH0表示费用的十分位。B为等待时间计费脉冲信号或里程计费脉冲信号。图3-2 JIFE

11、I模块图3.2.2 计量模块JILIANG图3-3 JILIANG模块图本模块是系统的核心模块之一,能够对外部的行驶距离脉冲、等待时间脉冲进行计数。因为行驶距离每脉冲代表10米,所以计满100个数就输出一个行驶距离计费脉冲,因为3公里之内属于起步价,所以前3公里内不输出行驶距离计费脉冲,因为用3位数码管来显示行驶距离,其中两位整数,一位小数,所以行驶距离最小分辨率为0.1公里,行驶距离脉冲每计10个数,行驶距离输出加0.1,行驶距离最大值为99.9公里。其中KM2为里程的十位,KM1为里程的个位,KM0为里程的十分位。等待时间脉冲频率为1HZ,所以一个脉冲代表1秒,60个等待脉冲是1分钟,输出

12、等待时间加1,等待时间满1分钟计一次费,所以对等待时间脉冲计数,计满60个数就输出一个等待计费脉冲。等待时间最大值为99分钟。MIN1为等待时间的十位,MIN0为等待时间的个位。将行驶距离、等待时间送到SELTIME模块,时间与里程计费脉冲送到计费模块完成里程、等待时间的计费功能。B1为超过3公里后,每0.1公里产生的计费脉冲。B2为每等待一分钟产生的计费脉冲。3.2.3 显示控制模块SELTIME图3-4 SELTIME模块图SELTIME模块起显示控制作用,控制等待时间、行驶里程、费用在数码管上的显示位置。sel为计数控制信号输出端,功能主要是利用其计数的八个状态,使daout在其每个状态

13、下选择某一输入数据,进而将选择的的数据送入到DELED模块。dp为小数点脉冲控制信号,当该模块输出的值为里程的个位、费用的个位时,需要考虑小数点的存在,即此时dp=1,在其他不需要小数点的情况下,dp=0,最后dp将信号输出到DELED模块。3.2.4 显示模块DELED图3-5 DELED模块图DELED模块把送入的每个四位数据转换为7段码送出显示,能够使数码管正常显示送入的数据。其中DP为小数点输入信号。4 出租车计费器系统仿真及分析4.1 计费系统的仿真图4-1 出租车启动时计费系统功能仿真图由图4-1 可知,当出租车未启动时,里程、等待时间、费用均为0。出租车刚启动时,里程、等待时间为

14、0,费用为出租车起步价5元。图4-2 出租车等待时计费系统功能仿真图由图4-2可知,当出租车在等待过程中,行驶里程16.2公里,等待时间为32分钟时,出租车的费用为:5+(16.2-3)1+320.1=21.4元,与仿真结果一致。图4-3 出租车行驶时计费系统功能仿真图由图4-3可知,当出租车行驶到66.6千米,等待时间60分钟时,由仿真结果可得出费用为74.6元;根据设计要求计算可得费用为:5+(66.6-3)1+600.1=74.6元。仿真结果与计算值一致,验证了设计的正确性。图4-4 出租车停车时计费系统功能仿真图当出租车停车时,出租车上的时间、里程和费用清零,为下次计费的开始做准备。4

15、.2 单元模块的仿真及分析4.2.1 译码显示模块的仿真及分析图4-5 译码显示模块的功能仿真图图4-5为译码显示模块的功能仿真波形图,DP、S为信号输入端,也是显示控制模块的信号输出端口,ABCDEFGH八个端口为八位二进制的输出端口。假设DOUT=“HGFEDCBA”,由上图可以看出:1. DP=0时:当S(3 downto 0)=”0000”,则DOUT=”00111111”;当S(3 downto 0)=”0001”,则DOUT=”00000110”;当S(3 downto 0)=”0010”,则DOUT=”01011011”;当S(3 downto 0)=”0011”,则DOUT=”

16、01001111”;当S(3 downto 0)=”0100”,则DOUT=”01100110”;当S(3 downto 0)=”0101”,则DOUT=”01101101”;当S(3 downto 0)=”0110”,则DOUT=”01111101”;当S(3 downto 0)=”0111”,则DOUT=”00000111”;当S(3 downto 0)=”1000”,则DOUT=”01111111”;当S(3 downto 0)=”1001”,则DOUT=”01101111”;当S(3 downto 0)等于上述值以外的值时,则DOUT=”00000000”。2. DP=1时:当S(3

17、downto 0)=”0000”,则DOUT=”10111111”;当S(3 downto 0)=”0001”,则DOUT=”10000110”;当S(3 downto 0)=”0010”,则DOUT=”11011011”;当S(3 downto 0)=”0011”,则DOUT=”11001111”;当S(3 downto 0)=”0100”,则DOUT=”11100110”;当S(3 downto 0)=”0101”,则DOUT=”11101101”;当S(3 downto 0)=”0110”,则DOUT=”11111101”;当S(3 downto 0)=”0111”,则DOUT=”100

18、00111”;当S(3 downto 0)=”1000”,则DOUT=”11111111”;当S(3 downto 0)=”1001”,则DOUT=”11101111”;当S(3 downto 0)等于上述值以外的值时,则DOUT=”10000000”。4.2.2 显示控制模块的仿真及分析图4-6 显示控制模块的功能仿真图图4-6为显示控制模块功能仿真图,其中clk为时钟脉冲输入端,sel为计数控制信号输出端,daout为sel所控制状态下的输出到数码管的位选信号,dp为小数点控制输出信号。可以看出,当时钟沿上升时刻到来时,计数器的输出sel就自动加1,当计数器输出端加到“111”时,再来一个

19、脉冲上升沿,则计数的输出端sel变为“000”,该显示控制模块的功能主要是利用其计数的八个状态,进而去轮流控制数码管的位选信号。由图4-6可知:当sel=“000”时,则daout=CH0;当sel=“001”时,daout=CH1;当sel=“010”时,daout=CH2;当sel=“011”时,daout=KM0;当sel=“100”时,daout=KM1;当sel=“101”时,daout=KM2;当sel=“110”时,daout=MIN0;当sel=“111”时,daout=MIN1。由于KM1、CH1表示里程的个位和费用的个位,其后都存在小数,故在设计中当显示KM1、CH1时须加

20、入小数点,此时dp=1,在其他没有小数点的情况时dp=0。4.2.3 计量模块的仿真及分析图4-7 计量模块的功能仿真图图4-7为计量模块的功能仿真图,START信号为高电平时(即出租车启动)。当DRIVE为高电平且BREAK为低电平时,出租车为行驶状态,此时里程计数模块开始计数,每经过10个CLK1脉冲信号,里程加0.1公里,当里程计数大于3公里时,每计0.1公里产生1个B1脉冲信号。当DRIVE为高电平且BREAK为高电平时,出租车为暂停状态,此时等待时间计数模块开始计数,每经过60个CLK脉冲信号,时间加1分钟,每计1分钟产生一个B2脉冲信号。B1和B2分别为里程计费脉冲和等待时间计费脉

21、冲。4.2.4 计费模块的仿真及分析图4-8为计费模块的功能仿真图当START处于高电平且DRIVE处于高电平时,每送入一个计费脉冲且计费脉冲处于上升沿时,CH0自动加1(即每送入一个计费脉冲加0.1元)。CH0、CH1、CH2为十进制计数。CH2表示费用的十位,CH1表示费用的个位,CH0表示费用的十分位,计费的最大值为99.9元。图4-8 计费模块的功能仿真图5 锁定管脚及硬件实现5.1 锁定管脚图在验证出租车计费器系统的功能之前,需要清楚实验箱与各个信号之间的对应关系,参照资料得出本设计中各引脚的对应情况如下:图5-1 顶层原理图5.2 硬件实现通过硬件下载,该电路可以完成硬件实现,芯片

22、管脚定义可以直接用编辑pin文件。完成管脚定义后选择器件,编译后生成.sof文件。选择.sof文件进行下载。下载完成后,将第一全局时钟CLK1的跳线器接1Hz(作为秒脉冲信号),将第二全局时钟CLK2的跳线器接1Hz(作为十米脉冲信号),将第三全局时钟CLK3的跳线器接32768Hz,用拨位开关模拟控制出租车的启动、行驶、暂停。观察数码管上数据的变化是否符合设计标准。在试验箱上八个数码管从左至右分别显示的是:等待时间的十位、等待时间的个位、里程的十位、里程的个位、里程的十分位、费用的十位、费用的个位、费用的十分位。5.2.1 显示结果的几种情况图5-2 验证结果1图5-2表示出租车等待了1分钟

23、,行驶了3.9公里,即时车费为6.0元。根据设计要求计算所得费用为:5元+(3.9-3)公里1元/公里+1分钟0.1元/分钟=6.0元,计算结果与试验箱上所得显示结果相同。图5-3表示出租车等待了3分钟,行驶了6.8公里,即时车费为9.1元。根据设计要求计算所得费用为:5元+(6.8-3)公里1元/公里+3分钟0.1元/分钟=9.1元,计算结果与试验箱上所得显示结果相同。在试验箱验证过程中,我们可以看到,八位数码管的右三位显示起步价05.0,中间三个数码管在以0.1为步长进行加法显示行驶里程,当行驶里程超过3公里之后,每0.1公里计费金额加0.1元,当我们按下等待暂停键,每分钟左边两个数码管加

24、1,其显示的等待时间,当等待时间到1分钟时,计费金额加0.1元,由此我们可以判断,系统设计符合要求。图5-3 验证结果25.2.2 硬件实现总结通过对每一模块的仿真和下载,可以实现各个模块的逻辑功能,验证了各个模块的正确性。在出租车计费系统的4个模块中,重点在于计量模块(JILIANG),计费模块(JIFEI),显示控制模块(SELTIME),译码显示模块(DELED)。JILIANG模块主要有汽车的开始、运行、暂停,JILIANG模块主要记录出租车的行驶里程和等待时间,并将等待时间计费脉冲和行驶里程计费脉冲送入JIFEI模块;JIFEI模块主要是完成起步价计费、等待时间计费、行驶里程计费,并

25、完成总费用;SELTIME模块起显示控制作用,控制等待时间、行驶里程、费用在八个数码管上的位置。DELED模块是把送入的每个四位数据转换为7段码,从而能在数码管上正确的显示。这四个模块的组合成完整的出租车系统,在设计过程中还需要改进的是控制出租车计费系统的控制功能。出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车开始、启动、暂停、停止等功能,由数码管显示出租车等待时间,行驶里程,费用。车暂等待时停止行驶里程计费,车费仅由等待时间计费;出租车正常行驶时,仅根据里程收费方式。若停止则车费清零,等待下一次计费的开始。出租车计费系统的设计中体现了VHDL覆盖面广,描述能力强,是一个多层次的

26、硬件描述语言本设计在实用方面具有一定的价值。该计费器实现了按预置参数自动计费(最大计费金额为99.9元)、自动计程(最大计程公里数为99.9公里)等功能;能够实现起步价、每公里收费、等待时间计费的参数预置(如:起步价5.0元;3公里后1元每公里;等待时间0.1元每分钟),且预置参数可调范围广。由于采用CPLD大规模可编程逻辑器件,整机功耗小、抗干扰能力强、系统稳定、工作可靠、升级方便。6 设计体会与总结通过这次紧张而又充实的EDA课程设计,我感受到了VHDL语言和普通软件语言之间的区别,也能够更加熟练地运用VHDL语言进行逻辑电路的设计了,受益匪浅。我们所做的课题是出租车计费器的设计。老师给了

27、我们课程设计题目,在这半个月的实验操作中,不断的完善自己的设计要求,将自己的想法融入到实验的程序中去。最终通过仿真达到了自己预想的效果。有种先苦后甜的成就感。同时在本次试验中,我们熟练的掌握了Quartus II软件的使用。学会了如何把自己所设计的程序,通过软件用波形仿真出来,再通过试验箱仿真出来。在这次课程设计过程中,要感谢陈老师在课程设计上给予我的帮助,提供给我的支持与建议,特别是帮助我解决了我半个月来一直遇到的运行程序警告多的问题,这是我能顺利完成这次报告的主要原因,让我能把课程设计做得更加完善。在此期间,我不仅学到了许多新知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助

28、过我的同学们,他们也为我解决了不少难题。这些东西是无法再平时上课的过程中学到的,实践出真知,只有在实验中我们才能更好的学到东西,不用纸上谈兵,做无用功。参考文献1 徐飞.EDA技术与实践M.北京:清华大学出版社,2011.2 王行,李衍.EDA技术入门与提高M.西安:西安电子科技大学出版社,2005.3 刘昌华.数字逻辑EDA设计与实践M.北京:国防工业出版社,2011.4 李蓉.基于VHDL语言的出租车自动计费器的设计J.科技风,2008,24:33.附 录1 JILIANG模块的VHDL程序2 JIFEI模块的VHDL程序3 SELTIME控制模块的VHDL程序4 DELED模块的VHDL程序22

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号