作业帮 > 综合 > 作业

出租车计价器设计最好用VHDL编写

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/08 22:50:20
出租车计价器设计
最好用VHDL编写
出租车计价器设计最好用VHDL编写
实验任务及要求
1.能实现计费功能,计费标准为:按行驶里程收费,起步费为10.00元,并在车行3公里后再按1.6元/公里,车暂停时,停车一分钟之后开始加价,每分钟增加2.5元.
2.实现预置功能:能预置起步费、每公里收费、车行加费里程.
3.实现模拟功能:能模拟汽车启动、停止、暂停等状态.
4.设计动态扫描电路:将车费及暂停时间显示出来.
5.用VHDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路.
6.综合仿真验证,并通过有关波形确认电路设计是否正确.
7.完成电路全部设计后,通过GW48系统实验箱下载验证设计的正确性.
二、实验原理
图1出租车计价器流程图
图2系统结构图
接口部分定义如下:
输入:clk_240,系统时钟,频率为240Hz;
Start,启动信号,当start=1时,汽车启动,开始计价; 当start=0时,清零;
Stop,暂时计时信号,当stop-1时,中途暂停,开始计时;当stop=0时,再次出发;
Fin,汽车车速脉冲信号,是一个与随着车速变化而变化的脉冲信号.
输出:cha2,cha1,cha0,分别为价钱的十位,个位和角位;
Km1,km0,分别为行驶公里数的十位,个位;
Min0,暂时分钟数输出.
接口部分源程序如下:
port ( clk_240 :in std_logic; --频率为240Hz的时钟
start :in std_logic; --计价使能信号
stop:in std_logic; --等待信号
fin:in std_logic; --公里脉冲信号
cha2,cha1,cha0:out std_logic_vector(3 downto 0); --费用数据
km1,km0:out std_logic_vector(3 downto 0); --公里数据
min0:out std_logic_vector(3 downto 0)); --等待时间
计价部分原理如下:
起步价10元,3公里内10元,超出3公里部分,每公里1.6元,车暂停时,2分钟内不加价,超出2分钟部分,每分钟2.5元;
计费部分源程序如下:
feipin:process(clk_240,start)
begin
if clk_240'event and clk_240='1' then
if start='0' then q_15