全文预览

基于FPGA的出租车计费器-毕业论文(word格式)

上传者:业精于勤 |  格式:doc  |  页数:27 |  大小:0KB

文档介绍
相当于等待的时间达到了时间计费的长度。这里选择系统时钟频率为 500Hz ,20s 即计数值为 1000 。计费模块由两个进程组成。其中,一个进程根据条件对 enable 和price 赋值:当记录的距离达到 3公里后 enable 变为 1,开始进行每公里收费,当总费用大于 40元后, 则单价 price 由原来的 2 元每公里编程 4 元每公里;第二个进程在每个时钟周期判断 timeout 和clkout 的值。当其为 1时,则在总费用上加上相应的费用。 3.2 出租车计费器主要模块设计从上述设计方案中我们可以大致得到出租车计费器的系统框图,如图 3-2 所示。其中clk 为输入时钟脉冲,时钟上升沿有效;reset 为复位信号,start 为开始计费信号, stop 为停止计费信号,均高电平有效;SP[2..0] 表示出租车状态(停止或不同形式速度); t 和count 信号则分别输出出租车行驶的里程和花费。图3-2 出租车计费器系统框图毕业设计 9 3.2.1 速度模块速度模块首先根据 start 信号判断是否开始计费,然后根据输入的速度档位 sp[2..0] 的判断,确定行驶 100m 所需要的时钟数,每前进 100m ,输出一个 clkout 信号。 t 对clk 进行计数,t 等于 kinside 时,把 clkout 信号置 t 清0。其模块框图如图 3-3 。图3-3 速度模块框图 3.2.2 计程模块此模块主要用于记录行进的距离,其模块框图如图 3-4 所示。通过对 clkout 信号的计数,可以计算行驶的距离 kmcount 。一个 clkout 脉冲相当于行进 100m 所以只要记录 clkout 的脉冲数目即可确定共行进的距离。 Kmcount1 为十分位, kmcount2 为个位, kmcount3 为十位,分别为十进制数。图3-4 计程模块框图

收藏

分享

举报
下载此文档