出租车自动计费系统Word文档格式.docx
- 文档编号:7755649
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:14
- 大小:191.50KB
出租车自动计费系统Word文档格式.docx
《出租车自动计费系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《出租车自动计费系统Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
start作为计费开始开关,当start为高电平时,系统开始根据输入的情况计费。
当有乘客上车并开始行驶时,fin脉冲到来,进行行驶计费,此时的stop需要置为0;
如需停车等待,就把stop变为高电平,并去除fin输入脉冲,进行等待计费;
当乘客下车且不等待时,直接将start置为0,系统停止工作;
价格开始归为起步价5.00元。
整个设计由分频模块、计量模块、计费模块、控制模块等四个部分组成。
其中计量模块是整个系统实现里程计数和时间计数的重要部分;
控制模块是实现不同计费方式的选择部分,根据所设计的使能端选择是根据里程计费还是根据等待时间计费;
同时设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。
计量模块采用1HZ的驱动信号,计费模块采用13HZ、15HZ的驱动信号;
计量模块每计数一次,计费模块就实现13次或者15次计数,即为实现计时时的1.5元/min、计程时的1.3元/km的收费。
组成框图如下所示:
图1.1出租车系统框图
2、具体模块的功能设计
2.1分频模块
由于试验箱上没有13hz和15hz的整数倍时钟信号,所以近似得到13HZ、15HZ和1HZ的时钟频率。
本设计中通过以上三种不同频率的脉冲信号实现在计程车在行驶、等待两种情况下的不同计费。
模块元件如下:
图2.1.1分频模块
分频模块仿真波形如下:
图2.1.2分频模块仿真波形
波形分析说明:
当CLR为高电平且时钟信号为上升沿时,输出信号正常工作。
CLK_1输出是输入时钟信号的频率的1,CLK_13输出是输入时钟信号的频率的1/13,CLK_15输出是输入时钟信号的频率的1/15。
2.2计量模块
计量模块主要完成计时和计程功能。
计时部分:
计算乘客的等待累积时间,当等待时间大于2min时,本模块中en1使能信号变为1;
当clk1每来一个上升沿,计时器就自增1,计时器的量程为59min,满量程后自动归零。
计程部分:
计算乘客所行驶的公里数,当行驶里程大于3km时,本模块中en0使能信号变为1;
当clk1每来一个上升沿,计程器就自增1,计程器的量程为99km,满量程后自动归零。
元件框图为:
图2.2.1计量模块
计量模块仿真波形为:
图2.2.2计量模块仿真波形图
由波形可知,Start置1程序始终处于计费状态,当fin脉冲到来时k0和k1进入计程状态,且k0每次满9就向k1进位,超过3km时en0就变为高电平;
同理,当stop由0置为1时开始由计程进入等待状态,fin脉冲归为0里程计数停止,等待时间开始计时,m0每次满9就向m1进位,超过2min时en1就变为高电平。
2.3控制模块
本模块主要是通过计量模块产生的两个不同的输入使能信号en0、en1,对两个分频模块输出的13HZ、15HZ的脉冲进行选择输出的过程;
本模块实现了双脉冲的二选一;
最终目的为了计费模块中对行驶过程中不同的时段进行计价。
图2.3.1控制模块
控制模块仿真波形如下:
图2.3.2控制模块仿真波形图
由仿真波形可知,当en0=1时,输出clk_in1;
当en1=1时,输出clk_in2。
当同时为1时,由于clk_in1优先级别高于clk_in2,所以输出clk_in1。
2.4计费模块
当计费信号Start一直处于高电平即计费状态时,本模块根据控制模块选择出的信号从而对不同单价的时段进行计费。
即行程在3km内,而且等待累积时间小于2min则为起步价5元;
3km外以每公里按1.3远计费,等待累积时间超过2min则按每分钟1.5元计费。
c0、c1、c2、c3分别表示费用的显示。
模块元件为:
图2.4.1计费模块
计费模块仿真波形:
图2.4.2计费模块仿真波形图
由图可知当处于计费状态时,随着clk2的高电平的到来,计费起步价为5元。
c0满9向c1进位,c1满9向c2产生进位,依次逐级进位,从而完成计费功能。
2.5总原理图
图形如下所示:
图2.5.1总原理图
程序最终功能实现仿真波形:
图2.5.2总原理图的仿真波形图
由图中可以看出,当fin脉冲信号到来时,实现了行驶计费,当行驶里程超过三公里,则再按每公里1.3元计费;
当stop为高电平,即进入等待计时收费;
当等待时间超过2min时,每过一分钟加1.5元,即为实现每等一分钟收费1.5元。
但本次仿真中等待时间为1分钟,没有超过2分钟,因此没有等待时间的计费。
结果验证:
出租车的起步价是5元,当行驶了33km的时候,收费为5+(33—3)*1.3=44元
3、设计总结
在这一周里我们再次熟悉和增强了对VHDL语言的基本知识,熟悉利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来。
VHDL硬件描述语言打破了硬件和软件设计人员之间互不干涉的界限,可以使用语言的形式来进行数字系统的硬件结构、行为的描述,直接设计数字电路硬件系统。
通过编程、下载后,该芯片已经具备了原来需要使用复杂的数字电路实现的功能;
更加了解和加深了对编制和调试程序的技巧,进一步提高了上机动手能力,培养了使用设计综合电路的能力,养成了提供文档资料的习惯和规范编程的思想。
参考文献
[1]
江国强.编著.EDA技术及应用[M].西安:
西安电子科技大学出版社,第3版;
47-52
[2]
潘松等.主编.EDA技术实用教程[M].科学出版社,2006;
35-41
[3]
雷伏容.主编.VHDL电路设计[J].北京:
清华大学出版社,2006;
12-25
[4]
王树昆,赵晓巍.EDA技术在教学中的应用[M].吉林:
吉林工程技术师范学院学报,2003;
19(9):
4-7
附录:
1.分频源程序:
LIBRARYieee;
USEieee.std_logic_1164.all;
ENTITYfenpinqiIS
PORT
(clk:
INstd_logic;
clk_15,clk_13,clk_1:
OUTstd_logic——端口说明
);
ENDfenpinqi;
ARCHITECTUREcdOFfenpinqiIS
begin
p1:
process(clk)
variablea:
integerrange0to20;
——定义了变量A
begin
ifclk'
eventandclk='
1'
then——时钟信号上升沿有效
ifa>
=14then
a:
=0;
clk_15<
='
;
——实现了1/15分频,输出高电平
else
=a+1;
0'
——当a<
14的时候输出低电平
endif;
endprocessp1;
p2:
process(clk)
variableb:
——定义了变量B
ifb>
=12then
b:
clk_13<
——实现了1/13分频,高电平有效
=b+1;
——当a<
12的时候输出低电平
endprocessp2;
clk_1<
=clk;
endcd;
2.计量源程序:
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entityjiliangis
port(start:
instd_logic;
--计费开始信号
fin:
--里程脉冲信号
stop:
--行驶中,中途等待信号
clk1:
--驱动脉冲
en1,en0:
bufferstd_logic;
--计费单价使能信号
k1,k0:
bufferstd_logic_vector(3downto0);
--行驶公里计数
m1,m0:
bufferstd_logic_vector(3downto0));
--等待时间计数
endjiliang;
architecturert2ofjiliangis
signalw:
integerrange0to59;
--计时范围0~59
process(clk1)
ifclk1'
eventandclk1='
then
ifstart='
then
w<
en1<
en0<
m1<
="
0000"
m0<
k1<
k0<
elsifstop='
then--计时开始信号
ifw=59thenw<
elsew<
=w+1;
ifm0="
1001"
thenm0<
ifm1="
0101"
thenm1<
elsem1<
=m1+1;
elsem0<
=m0+1;
ifstop='
thenen0<
ifm1&
m0>
"
00000010"
thenen1<
--若等待时间大于2min则en1置1
elseen1<
elsiffin='
then--里程计数开始
ifk0="
thenk0<
ifk1="
thenk1<
--计程范围0~99
elsek1<
=k1+1;
elsek0<
=k0+1;
thenen1<
ifk1&
k0>
00000011"
--若行驶里程大于3km则en0置1
elseen0<
endprocess;
endrt2;
3.控制模块源程序:
entitykongzhiis
port(en0,en1:
instd_logic;
--使能选择信号
clk_in1:
--13分频输入信号
clk_in2:
--15分频输入信号
clk_out:
outstd_logic);
--输出信号
endkongzhi;
architecturert3ofkongzhiis
process(en0,en1)
ifen0='
then--实现二选一功能
clk_out<
=clk_in1;
elsifen1='
then
=clk_in2;
endprocess;
endrt3;
4.计费模块源程序:
entityjifeiis
port(clk2:
--计费驱动信号
start:
--计费开始信号
c0,c1,c2,c3:
endjifei;
architecturert4ofjifeiis
process(clk2,start)
thenc3<
c2<
c1<
c0<
--起步价5元
elsifclk2'
eventandclk2='
ifc0="
thenc0<
ifc1="
thenc1<
ifc2="
thenc2<
ifc3="
--计价范围0~999.9元
elsec3<
=c3+1;
elsec2<
=c2+1;
elsec1<
=c1+1;
elsec0<
=c0+1;
endrt4;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车 自动 计费 系统