- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA设计课程设计-出租车计费系统的VHDL设计汇
武汉工业学院计算机系
出租车计费系统的VHDL设计
课程: EDA设计 班级: 网络工程081 姓名: 学号: 080510122 日期: 2011-11-28
一、设计任务与要求
(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元,计价分辨率为0.1元。
二、设计原理
根据设计要求,系统的输入信号CLK,计价开始信号START,等待信号STOP,里程脉冲信号FIN。系统得输出信号有:总费用数CHA0 ~CHA3,行驶距离KM0 ~KM1,等待时间MIN0 ~MIN1 等。系统的元件框图如下:
系统有两个脉冲输入信号clk_195、fin,两个控制输入开关start、stop;控制过程为:start作为计费开始开关,当start为高电平时,系统开始根据输入的情况计费。当有乘客上车并开始行驶时,fin脉冲到来,进行行驶计费,此时的stop需要置为0;如需停车等待,就把stop变为高电平,并去除fin输入脉冲,进行等待计费;当乘客下车且不等待时,直接将start置为0,系统停止工作;
系统由分频模块、控制模块、计量模块和计费模块四部分组成。计量模块是整个系统实现里程计数和时间计数的重要部分;控制模块是实现不同计费方式的选择部分;设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。计量模块采用1HZ的驱动信号,计费模块采用13HZ、15HZ的驱动信号;计量模块每计数一次,计费模块就实现13次或者15次计数,即为实现计时时的1.5 元/min、计程时的1.3元/km的收
费;系统总体顶层框图为:
三、设计步骤
(一)、分频模块
分频模块是对系统时钟频率进行分频,分别得到15HZ、13HZ、1HZ三种频率;本设计中通过三种不同频率的脉冲信号实现在计程车在行驶、等待两种情况下的不同计费。原理框图如下:
源程序如下:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity fenpin2 is
port ( clk_195 :in std_logic; --频率为195HZ的时钟
clk_13: out std_logic; --频率为13HZ的时钟
clk_15: out std_logic; --频率为15HZ的时钟
clk_1: out std_logic); --频率为1HZ的时钟
end fenpin2;
architecture rt1 of fenpin2 is
signal q_13:integer range 0 to 12; --分频器
signal q_15:integer range 0 to 14; --分频器
signal q_1:integer range 0 to 194; --分频器
begin
process(clk_195)
begin
if (clk_195event and clk_195=1 )then
if q_13=12 then q_13=0;clk_13=1; --此处产生13HZ频率的信号
else q_13=q_13+1;clk_13=0;
end if;
if q_15=14 then q_15=0;clk_15=1; --此处产生15HZ频率的信号
else q_15=q_15+1;clk_15=0;
end if;
if q_1=194 then q_1=0;clk_1=1; --此处产生1HZ频率的信号
else q_1=q_1+1;clk_1=0;
end if;
end if;
end process;
end rt1;
分频模块的
文档评论(0)