当前位置:文档之家› 出租车计费系统设计

出租车计费系统设计

出租车计费系统设计
出租车计费系统设计

河南科技大学课程设计说明书课程名称 EDA综合设计

题目__出租车计费系统设计__

课程设计任务书

课程设计名称 EDA综合设计学生姓名专业班级

设计题目出租车计费系统设计

一、课程设计目的

1

2

3

4

5

1

费用的计算是按行驶里程收费,设出租车的起价为5.00元,当里程小于3km时,按起价计算收费;当里程大于3km时每公里按1.3元计费。等待累计时间超过2min,按每分钟1.5元计费。所以总费用按下式计算:

总费用=起价费+(里程-3km)×里程单价+等候时间×等候单价

2、能够实现显示功能:

①显示汽车行驶里程:用四位数字显示,显示方式为“XXXX”,单位为km。计程范围

为0~99km,计程分辨率为1km。

②显示等候时间:用两位数字显示分钟,显示方式为“XX”。计时范围为0~59min,

计时分辨率为1min。

③显示总费用:用四位数字显示,显示方式为“XXX.X”,单位为元。计价范围为999.9

1完成功2

(1)2004

(2)

出租车计费系统设计

专业:电子信息科学与技术系作者:指导老师:摘要:本次课程设计应用EDA技术来实现出租车计费系统的设计。EDA是电子设计自动化(Electronic?Design?Automation)的缩写,EDA技术是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、

Professional: Electronic Information Science and Technology

Author: zhangzhenk Instructor: zhangleiming liubo Abstract:This course is designed to use EDA technology to achieve design taxi billing system. EDA is an electronic design automation (Electronic Design Automation) abbreviation, EDA technology is based on a computer as a tool designer

in the EDA software platform, complete with hardware description language HDL design files, then automatically done by computer logic compilation, simplification, segmentation, integration, optimization, placement, routing and simulation work until a specific target for the compiler adapter chips, logic mapping and program downloads. This paper is to use VHDL language design taxi billing system based on FPGA design, FPGA is the English Field-Programmable Gate

CPLD

of

目录

1 任务解析 (7)

1.1 里程计费 (7)

1.2 等待计费 (7)

2

3

3.4 显示模块 (17)

4 系统顶层原理图及仿真 (19)

4.1 系统顶层原理图 (19)

4.2系统顶层仿真 (19)

5 硬件验证 (20)

5.1 引脚锁定 (20)

5.2 验证结果 (21)

6 总结与心得 (23)

7

1 任务解析

1.1 里程计费

设出租车的起价为5.00元,当里程小于3km时,按起价计算收费;当里程大于3km时每公里按1.3元计费。此模块可用VHD语言编写设计一个100进制计数器,每计一次数里程增加1KM。当计数器计数到4时,费用按每计一次数,费用加1.3元。否则,费用按起价

60

②显示等候时间:用两位数字显示分钟,显示方式为“XX”。计时范围为0~59min,计时分辨率为1min。等待时间显示也用数码管来显示,由于是两位数字显示分钟,则用两个数码管既可以来显示等待的时间。

③显示总费用:用四位数字显示,显示方式为“XXX.X”,单位为元。计价范围为999.9元,计价分辨率为0.1元。四位数字的显示可以用4个数码管来显示,小数点可以用一个发光二极管来显示即可。

2 系统方案设计

2.1 系统基本方案

根据题目要求第一节的任务解析,系统可划分为计量程模块,计时模块,控制模块,计费模块,显示模块。系统框图如图2-1-1所示。

km

ENTITY jiliang IS

PORT( clk1 : IN STD_LOGIC ; --时钟信号

fin : IN STD_LOGIC ; --里程脉冲信号

start : IN STD_LOGIC ; --计价开始信号--

stop : IN STD_LOGIC ; --等待时间信号 run1, run0 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

time1, time0 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

mon3, mon2, mon1, mon0 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END jiliang;

图2-2-1 系统总的原件框图

整个系统的控制为:系统有两个脉冲信号CLK和里程脉冲信号FIN,两个控制开关START 和STOP。当出租车没有行驶时,没有里程脉冲信号FIN,计价开始信号START为低电平,等待信号STOP为低电平,系统停止工作;当有乘客上车并开始行驶时,里程脉冲信号FIN 到来,即里程开始计数,这时计价开始信号START置为高电平,开始计里程价,等待信号STOP为低电平;如果乘客需要停车等待,则没有了里程脉冲信号FIN,开关将等待信号STOP 置为高电平,开始等待计时;当乘客等待结束,开关将等待信号STOP置为低电平,里程脉冲信号FIN到来,里程继续开始计数;当乘客到目的地下车,计价开始信号START置为低电平,系统停止工作。

2.3 系统流程图

有了流程图,才能更好的完成本次的课程设计,本次的设计是从底层到顶层的设计过程,从底层的VHDL程序代码到顶层的例化原理图设计。对系统的总体框图进行更全面,更小的模块来分化设计便可得到设计的流程图。如图2-3-1所示为出租车价器的流程图。

3 模块设计及仿真

3.1 计量模块

计量模块是在出租车在行驶的过程中对量程的计数,每计一次数即行驶了1km。当行驶里程大于3km,即计数大于3时,使能信号SIG0为高电平。当计数计到99时,计数从0重新开始计数。计量模块原理图如图3-1-1所示。端口定义类型为:

ENTITY jiliang IS

PORT( start , fin , clk1 : IN STD_LOGIC ;

sig0 : OUT STD_LOGIC;

run1,run0 : BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));

END jiliang;

计量模块的仿真波形如图3-1-2所示。由图可以看出当START为低电平时,系统停止工作,当START为高电平,里程脉冲信号FIN到来时,里程run开始计数,当run0大于9时,run0从0重新开始计数,run1加1,一直计到99时,重新从0开始计数,实现了100进制的计数器。当计数器计数大于3时,使能信号SIG0输出高电平(当里程大于3km时每公里按1.3元计费)。

图3-1-1 计量模块原理图

图3-1-2 计量模块仿真波形图

3.2 计时模块

计时模块是当乘客中途有事需要等待时,对时间的计数,每计一次数即等待了1min。当等待时间大于2min,即计数大于2时,使能信号SIG1为高电平。当计数计到59时,计数从0重新开始计数。计时模块原理图如图3-2-1所示。端口定义类型为:ENTITY jishi IS

PORT( start , STOP , clk2 : IN STD_LOGIC ;

Sig1 : OUT STD_LOGIC;

time1,time0 : BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));

END jiliang;

图3-2-1 计时模块原理图

计时模块的仿真波形图如图3-2-2所示。由图可以看出当START为低电平时,系统停止工作,当START为高电平,STOP为低电平时,系统不计时,当STOP变为高电平,

脉冲到来时,系统开始进入等待计时,当time0大于9时,time0重新开始计时,time1加,一直计到59,重新从0开始计数。当等待时间计时大于2时,使能信号SIG1输出高电平。

图3-2-2 计时模块仿真波形图

3.3 控制模块

控制模块主要通过计量模块的使能输出信号SIG0和计时模块的使能输出信号SIG1来

控制费用的计算,当SIG0为高电平时,即里程大于3km时,每公里按1.3元计费,当里程小于3km时,按起价计算收费,出租车的起价为5.00元。当SIG1为高电平时,即等待累计时间超过2min时,按每分钟1.5元计费,当等待时间没有超过2min,费用不增加。

所以总费用按下式计算:

总费用=起价费+(里程-3km)×里程单价+等候时间×等候单价

控制模块原理图如图

3-3-1所示。端口定义类型为:

PORT( start : IN STD_LOGIC;

sig1,sig0 : IN STD_LOGIC;

run1,run0, time1,time0 : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

cost : OUT INTEGER RANGE 0 TO 999);

END ctl;

控制模块的输入信号来自计量模块与计时模块的输出信号,所以单独仿真很复杂,要与计量模块和计时模块连在一起来做仿真。如图3-3-2所示为计量模块,计时模块及控制

图3-3-1 控制模块原理图

模块的原理图。计量

模块的输入信号

START ,FIN ,CLK1是系统的输入信号,输出信号SIG0,RUN1,RUN0作为控制模块的输入信号;计时模块的输入信号START ,STOP ,CLK2是系统的输入信号,输出信号SIG1, TIME1,TIME0作为控制模块的输输入信号,START 也作为控制模块的输入信号,COST 为控制模块的输出信号。端口定义类型为:

PORT( clk : IN STD_LOGIC ;

fin : IN STD_LOGIC ;

start , STOP : IN STD_LOGIC ;

cost : OUT INTEGER RANGE 0 TO 999);

计量模块,计时模块及控制模块的波形仿真图如图3-3-3所示。由仿真图可以看出当START 为

图3-3-2 计量模块,计时模块及控制模块原理图

电平,

FIN 里程脉冲信号到来时,此时STOP 为低电平,里程开始由0计数,当大于3kn 时,使能信号SIG0变为高电平,费用按每行驶1km ,费用增加1.3元。当STOP 为高电平时,开始进入等待计数,当等待时间大于2min 时,费用按每等待1min ,费用增加1.5元。由于计费模块已在控制模块中实现,所以下面不在单独讨论计费模块。

3.4 显示模块

显示模块主要显示汽车行驶里程,等待时间,总的费用。行驶里程用四位数字显示,显示方式为“XXXX ”,单位为km 。计程范围为0~99km ,计程分辨率为1km 。里程用run1和run0输出,由于在系统中run 和run0的类型为STD_LOGIC_VECTOR(3 DOWNTO 0)类型,所以直接用数码管输出。等待时间用两位数字显示分钟,显示方式为“XX ”。计时范围为0~59min ,计时分辨率为1min 。等待时间用time1和time0输出,time1和time0的类型为STD_LOGIC_VECTOR(3 DOWNTO 0)类型,所以直接用数码管输出。总的费用用四位数字显示,显示方式为“XXX.X ”,单位为元。计价范围为999.9元,计价分辨率为0.1元。在控制模块中输出的费用为十进制数,不能直接用数码管输出,对十进制输出可以有两种方法,如下进行讨论。

图3-3-3 计量模块,计时模块及控制模块的波形仿真图

方案一:把每一个十进制数用8位BCD码表示,然后用数码管输出。由于此次统统需要的计价范围为999.9元,因此需要对9999个数进行BCD的编码,数量比较大,程序代码较长,所以不易采用。

方案二:本次系统需要显示的最大范围是0到9999,总共四位数,可以把每一位数字先求出来,在把每位数转化为4位二进制,就可以用数码管直接输出,此方法简单,代码较短。每位数求法如下所示。其中Ch0为个位数,ch1为十位数,ch2为百位数,ch3位千

十进制数转化为4位二进制数的程序如下所示。

mon0<=conv_std_logic_vector(ch0,4); --个位数转化为 4 位二进制数

mon1<=conv_std_logic_vector(ch1,4); --十位数转化为 4 位二进制数

mon2<=conv_std_logic_vector(ch2,4); --百位数转化为 4 位二进制数

mon3<=conv_std_logic_vector(ch3,4); --千位数转化为 4 位二进制数

4 系统顶层原理图及仿真

4.1

系统顶层原理图

根据题目要求,该系统的原理图有计量程模块,计时模块,控制模块,计费模块,显示模块组成。计费模块在控制模块中实现。系统有四个输入端口,两个脉冲信号和两个开关;八个输出端口,八个输出信号用八个数码管显示结果,两个数码管显示里程,两个数码管显示等待时间,四个数码管显示总的费用。系统顶层原理图如图4-1-1所示。

4.2系统顶层仿真

如图4-2-2所示为系统顶层仿真波形图。由波形图可以看出,当START为低电平时,系统停止工作;当START为高电平,FIN里程脉冲到来时,里程run(run1为高四位,run0

图4-1-1 系统的顶层原理图

相关主题
文本预览
相关文档 最新文档