出租车自动计费器VHDL程序报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA课程设计
课程_______________________________ 题目________________________________ 学院________________________________ 专业班级
学生姓名
学生学号
指导教师
年**月**日
题目出租车自动计费器
摘要
本系统是基于FPGA的模拟出租车计费系统,是在实验室实验箱EP1C6P240C8 芯片及其外围电路的基础上完成程序的下载仿真。本系统模拟了出租车计费系统的过程,其中出租车的状态分为等待、行驶,系统能够完成起步价计费,等待、行驶状态计费。关键字:出租车计费系统起步价等待行驶
一、设计目的
1.掌握出租车计费的工作原理
2•进一步熟悉用VHDL语言编写出租车计费程序
二、开发软件: QuartusII
三、设计任务
1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部
分,用三位数码管显示总金额,最大值为99.9 元;
2、行车里程单价1.7 元/公里,等候时间单价1.7 元/5 分钟,起价8元(3 公里起
价)。
3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由
计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每 1 00个脉冲表示1 公里,然后用乘法器将里程数乘以每公里单价的比例系数,从而计算出具体费用。
4、用数码管显示行驶公里数,三个数码管显示行驶里程。提示:
1 、等候时间计费需将等候时间转换成脉冲个数,用每个脉冲表示的金额与脉冲
数相乘即得计费数,脉冲周期为 1 秒,例如60个脉冲表示 1 分钟,而 5 分钟收费
1.7 元。
2、用2个LED显示等候时间。
3、用加法器将几项收费相加,P=P1+P2+P3
4、P1为起价,P2为行车里程计费,P3为等候时间计费,用四个数码管表示总
的计费结果。
四、系统设计原理及过程
1、基本原理
本次设计首先在Quartus U环境中对出租车自动计费器的各个部分利用VHDL这一硬件描述语言予以设计,生成模块。而整个设计的核心部分就在里程、计时、计费处理模块。里程、计时模块完成行驶距离和等待时间的处理以及起步距离之后和等待时间的计费脉冲的产生。计费处理模块完成起步价计费、在计费脉冲来临之际累加计费的功能。随后运用Quartus U中的仿真功能对其予以仿
真,从仿真的结果中分析程序的正确性。待所有模块的功能正确之后,运用原理图搭建电路并进行整体仿真直至达到最初的设计要求,最后再在实验箱上综合下载检验设计的正确与否。
2、系统框图
根据设计要求,电路具有计时、计程、计费功能,用数码管显示行驶公里数、等待时间、收费金额,行车里程和等待时间的处理电路将汽车行驶的里程数、转
换成与之成正比的计费脉冲,然后由计费电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,3公里以后每公里产生一个计费脉冲,一个1HZ的脉冲用来表示等待时间,60个脉冲代表1分钟,5分钟即300个脉冲产生一个等待计费脉冲,然后用计费电路对计费脉冲进行计费。实验箱中只有一个48MHZ勺时钟,所以需要分频之后再送给其他模块,最后将等待时间、行驶里程、计费金额经过译码电路送到数码管显示。其设计框图如图1所示:
图2出租车自动计费器顶层电路原理图
1)行驶里程、等待时间处理模块
本模块是系统的核心模块之一,能够对外部的行驶距离脉冲、等待时间脉冲 进行计数。因为行驶距离每脉冲代表 10米,所以计满100个数就输出一个行驶 距离计费脉冲,因为3公里之内属于起步价,所以前3公里内不输出行驶距离计 费脉冲,因为用3位数码管来显示行驶距离,其中两位整数,一位小数,所以行 驶距离最小分辨率为0.1公里,行驶距离脉冲每计10个数,行驶距离输出加0.1, 行驶距离最大值为99.9公里。等待时间脉冲频率为 1HZ 所以一个脉冲代表1 秒, 60个等待脉冲是1分钟,输出等待时间加1,等待时间5分钟计一次费,所 以对等待时间脉冲计数,计满300个数就输出一个等待计费脉冲。等待时间最大 值为99分钟。将行驶距离、等待时间送到数据选择器,计费脉冲送到计费模块 完成距离、时间的显示以及计费功能。
2)计费模块
计费模块也是本系统的核心,完成起步价计费,等待时间,行驶计费功 能。计
图1整体系统框图
3、电路及模块分析 系统总体设计电路如图2:
pulsesp CNT8
CLK
pulse
clk Fout
in st4
pulse10
clk Fou
in st5
START I ——i INPUT I ------ ~VCC WR p ——、INPUT I 厂 VCC RST
I ——、INPUT 1
---- ‘~VCC
JIFEI
in st2
clk Fou
in st6 JIN
CLK OUTY[2.. inst
0]
MAX81
P0[3..0] D[3..0\ S[2..0] in st3
OUTPUT ——B[7..0]
OUTPUT ------ led7s[7..0]
decl7s
a[3..0] led7s[7.. inst1
0] ------- I NPUT ------- VCC
CLK0 CLK1
START KM0[3..0] RST KM2[3..0]
WR KM1[3..0] OR2
in
st8
B
P0[3..(]
B1 START P1[3..(] B2
P2[3..0] POINT K0[3..0] in st7
K1[3..0] K2[3..0] MIN1[3..0] M0[3..0] MIN0[3..0]
M1[3..0] RST P2[3..(4 P1[3..0] B[7..0 POINT