出租车计价器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA技术课程设计任务书
目录
1 概述 (1)
2 总体设计 (2)
2.1 设计要求 (2)
2.2 设计思路 (2)
2.3 设计流程图 (2)
2.4 总体设计封装图 (4)
2.5 各信号说明 (4)
3 模块设计 (5)
3.1秒分频模块 (5)
3.2控制模块 (5)
3.3计量模块 (5)
3.3.1计价部分 (5)
3.3.2计时部分 (5)
3.3.3计程部分 (5)
3.4译码显示模块 (5)
4程序调试运行 (6)
5硬件验证 (8)
5.1引脚锁定 (8)
5.2硬件验证情况 (8)
6 总结及体会 (9)
参考文献 (10)
附录(程序源代码) (11)
1概述
随着我国国民经济生产总值的增加以及人民生活水平的提高,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。出租车计价器是出租车营运收费的专用智能化仪表,是使出租车市场规范化、标准化的重要设备。一种功能完备,简单易用,计量准确的出租车计价器是加强出租车行业管理,提高服务质量的必需品。本设计采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过QuartusⅡ软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求。该设计虽然功能简单,智能化水平比较低,但仍具有一定的实用性。
该设计是在VHDL的基础上对出租车计价器进行设计来实现其基本功能的,与以往的基于单片机的数模混合电路相比,FPGA具有稳定性好、抗干扰能力强、电路实现简单、程序简单等优点,且非常适合做为出租车计价器的控制核心,所以选择用VHDL来对计价器进行设计来实现其功能。
出租车计价器的实现将大大改善人们出行时因为讨价还价而带来的烦恼,从而使人们的心情比较愉悦。
本设计是对出租车计价器的四个模块进行分析的,综述如下:
分频模块:分频模块是其它模块的基础,输入时钟选为32Hz,分频后的时钟频率为1Hz,为后续模块提供基本时钟。
等待时间模块:该模块针对乘客确认下车前的等待而言,比如堵车、中途下车的情况,通过1Hz脉冲计数,每一分钟计时加一,最大计时时间显示为99分钟。
路程模块:该模块是对车辆行驶路程进行计数,以1Hz时钟为基础,检测行程脉冲,路程模块中有内部变量来判断路程,当大于3公里、20公里时,分别有相应的使能信号对此作出记录,最大路程显示为99公里。
计费模块:该模块是基于等待时间模块和路程模块对费用进行控制的。通过内部使能信号分别计算3公里以内、3-20公里以及20公里以后的费用。
本设计是基于VHDL进行编程,然后在QuartusⅡ进行波形仿真,实现出租车计价器的基本功能。
2总体设计
2.1设计要求
(1)起步价为8.00元,起步公里为3公里;
(2)超过3公里,每公里按1元收费;
(3)单程行驶里程超过20公里,每公里租价加收50%;
(4)等候时间超过1分钟,每分钟按这公里的租价计算。
要求显示里程、计费及等候时间。乘客上车后,按下启动键,开始计费,除非同一乘客往返用那个车,否则按下单程键,这样行驶里程超过20公里时,每公里加收50%,既每公里租费1.5元;计费显示为3位整数、1位小数。
2.2设计思路
输入2个时钟信号,分别模拟时间和路程。对等待时间、路程计数,进而统计费用。系统结构框图如图2-1。
图2-1自动计价器的系统方框图
上图中,计数器1对分频后的1Hz脉冲计数,计数60次,计数器加1,对应等待时间,计数器2对车速脉冲计数,其上升沿到来计数加1,对应里程。
2.3设计流程图
设计流程图如图2-2所示。
图2-2系统设计流程图
乘客上车后,按下启动按钮,计价器开始工作,首先进入初始化状态,即计程从0开始,计费从8开始。再根据单程信号判断是否为单程,进而确定计费方式。单程:里程计数器开始计数,当路程超过3公里时,计费开始累加,按1元每公里计算,路程超过20公里时每公里1.5元。当路程超过3公里有等待时,按下等待信号,每等待1分钟费用与当前计费方式相同。往返:每公里1元,等待计费为每分钟1元。乘客下车后,按下复位键,则所有计数器进入初始状态。
2.4总体设计封装图
总体设计封装图如图2-3所示。
图2-3系统封装图
2.5各信号说明
输入信号:clk:系统时钟信号;
mile:车速时钟;
start::启动信号,当start=1时,出租车启动,计数器开始计数;
否则计数器停止计数;
single:单程信号,单程时由司机输入;
stop:等待信号,处于等待状态时由司机输入;
输出信号:km1,km2:里程,单位为公里;
min1,min2:等待时间,单位为分钟;
price1,price2,price3,price4:费用,单位为元,其中price1
表示小数位。
3模块设计
3.1秒分频模块
秒分频模块对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,15Hz 和1Hz的三种频率。该模块产生频率信号用于计费,每个1HZ脉冲为0.1元计费控制,15HZ信号为1.5元的计费控制,16Hz信号为1.6元计费控制。
3.2控制模块
控制模块是系统的核心部分,对计价器的状态进行控制。
3.3计量模块
计量模块完成计价、计时、计程功能。
3.3.1计价部分
行程3公里内,起步费为8元;3公里外以每公里1元计费,等待累计时间1分钟外以每分钟1元计费。20公里外以每公里1.5元计费,等待累计时间1分钟外以每分钟1.5元计费。计费数据送入显示译码模块进行译码,最后送至以百元、十元、元、角为单位对应的数码管上显示。
3.3.2计时部分
计时部分用于计算乘客的等待累计时间。计时器的量程为59分,满量程自动归零。即时数据送入显示译码模块进行译码,最后送至以分为单位对应的数据管上显示。
3.3.3计程部分
计程部分用于计算乘客所行使的公里数。计程器的量程为99公里,满量程自动归零。计程数据送入显示译码模块进行译码,最后送至以公里为单位对应的数据管上显示。
3.4译码显示模块
译码显示模块完成计价、计时、计程数据显示。
该模块经过8选1选择器将计费数据(4位BCD码)、计时数据(2位BCD 码)、计程数据(2位BCD码)动态选择输出。其中计费数据送入显示译码模块进行译码,最后送至百元、十元、元、角为单位对应的数码管上显示,最大显示为999.9元;计时数据送入显示译码模块进行译码,最后送至分为单位对应的数码管上显示,最大显示为99分钟;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示,最大显示为99公里。