简易出租车计费器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言
随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是具有一定意义的。
本设计是一个简易的出租车计费系统,实现计价功能,计费标准为按行程里程收费,起步价为6.00元,当里程小于3公里时,按照起价计费,车行超过3公里后在按1.2元/公里收费,等待累积时间超过2min,按照每分钟1.5元计费。能模拟汽车的启动,停止,暂停等状态。并用LED数码管实时显示车费和汽车行驶里程,用两位数字显示汽车行驶里程,显示方式为“XX”,单位为km。计程范围为0—99km,计程分辨率为1km;用五位数字显示总费用,显示方式为“XXX.X”,单价为元。计价范围为0—999.9元,计价分辨率为0.1元。此计费器要设有一个由司机控制的整体复位控制。
本设计采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过QuartusⅡ软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求。本次课程设计可以熟练掌握了课本上的一些理论知识,课程设计也是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。加深我们对EDA原理与应用课程的理解。
2出租车计价器的设计
本设计是一种采用FPGA芯片进行出租车计费器,主要分为分频模块、计量模块、计费模块、控制模块等模块,利用FPGA的可编程性,简洁又多变的设计方法,缩短了研发周期。主要采用了FPGA芯片,使用VHDL语言进行编程,使其具有了更强的移植性,更加利于产品的升级。
2.1出租车计价器的设计原理
根据设计要求,系统的输入信号clk,计价开始信号Start,等待信号Stop,里程脉冲信号fin。系统得输出信号有:总费用数cha0 ~cha3,行驶距离km0 ~km1,等待时间min0 ~min1 等。系统有两个脉冲输入信号clk_750k、fin,其中clk_750k 将根据设计要求分频成12Hz、15Hz和1Hz分别作为公里计费和超时计费的脉冲。两个控制输入开关start、stop;控制过程为:start作为计费开始开关,当start为高电平时,系统开始根据输入的情况计费。当有乘客上车并开始行驶时,fin脉冲到来,进行行驶计费,此时的stop需要置为0;如需停车等待,就把stop变为高电平,并去除fin输入脉冲,进行等待计费;当乘客下车且不等待时,将stop和fin 同时置为0,来读取最终的行驶路程数、等待时间与最后的总费用,直接将start置为0,系统停止工作;价格开始归为起步价6.00元。
整个设计由分频模块、计量模块、计费模块、控制模块等四个部分组成。
其中计量模块是整个系统实现里程计数和时间计数的重要部分;控制模块是实现不同计费方式的选择部分,根据所设计的使能端选择是根据里程计费还是根据等待时间计费;同时设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。计量模块采用1HZ的驱动信号,计费模块采用12HZ、15HZ的驱动信号;计量模块每计数一次,计费模块就实现12次或者15次计数,即为实现计时的1.5 元/min、计程时的1.2元/km的收费。组成框图如图2-1所示:
图2-1 系统结构框图
2.2 各个模块功能的设计
2.2.1 分频模块
由于试验箱上没有12Hz和15Hz的整数倍时钟信号,因此我们采用频率较大的750khz进行分频,以近似得到12HZ、15HZ和1HZ的时钟频率。本设计中通过以上三种不同频率的脉冲信号实现在计程车在行驶、等待两种情况下的不同计费。分频模块元件如图2-2所示:
图2-2 分频模块元件图
2.2.2计量模块
计量模块主要完成计时和计程功能。
计时部分:计算乘客的等待累积时间,当等待时间大于2min时,本模块中en1使能信号变为1;当clk1每来一个上升沿,计时器就自增1,计时器的量程为59min,满量程后自动归零。
计程部分:计算乘客所行驶的公里数,当行驶里程大于3km时,本模块中en0使能信号变为1;当clk1每来一个上升沿,计程器就自增1,计程器的量程为99km,满量程后自动归零。计量模块元件框图2-3所示:
图2-3 计量模块元件图
图2-4 计量模块仿真波形图
由波形可知,Start置1程序始终处于计费状态,当fin脉冲到来时k0和k1进入计程状态,且k0每次满9就向k1进位,超过3km时en0就变为高电平;同理,当stop由0置为1时开始由计程进入等待状态,fin脉冲归为0里程计数停止,等待时间开始计时,m0每次满9就向m1进位,超过2min时en1就变为高电平。
2.2.3 控制模块
本模块主要是通过计量模块产生的两个不同的输入使能信号en0、en1,对两个分频模块输出的12HZ、15HZ的脉冲进行选择输出的过程;本模块实现了双脉冲的二选一;最终目的为了计费模块中对行驶过程中不同的时段进行计价。
控制模块元件如图2-5所示:
图2-5 控制模块元件图
图2-6 控制模块仿真波形图
2.2.4 计费模块
当计费信号Start一直处于高电平即计费状态时,本模块根据控制模块选择出的信号从而对不同单价的时段进行计费。即行程在3km内,而且等待累积时间小于2min则为起步价6元;3km外以每公里按1.2元计费,等待累积时间超过2min则按每分钟1.5元计费。c0、c1、c2、c3分别表示费用的显示。计费模块元件如图2-7所示:
图2-7 计费模块元件图
计费模块仿真波形如图2-8所示:
图2-8 计费模块仿真波形图
由图可知当处于计费状态时,随着clk2的高电平的到来,计费起步价为6