基于FPG的出租车计价器设计.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPG的出租车计价器设计

2.2功能要求 基本功能: (1)按行驶里程收费,起步价为9.00元,并在车行3公里后再按3元/公里计算车费。 (2)实现模拟功能:能模拟汽车启动、停止。 (3)设计动态扫描电路:将车费、里程、等待时间动态的显示出来。 (4)用VHDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路。(5)各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。 附加功能:(1)增加了晚上计费功能和等待功能。晚上起步价为12.00元,并在车行3公里后再按4元/公里计算车费。车白天停止超过三分钟后按1元/分钟计算,晚上超过3分钟按2元/分钟计算。(2)实现预置功能:能预置起步费、每公里收费、等待加费时间。 (3)实现模拟功能:白天、黑夜;等待、行驶状态。(4)设计超过三公里提醒功能 3.1硬件方案设计及原理框图 硬件系统组成框图 各模块的作用和组成: (1)开关模块 该模块的作用是用于电路的输入的信号。主要有三个开关以及三个限流电阻,电源构成。 (3)动态显示模块:此模块由六个数码管和三个二极管所构成,17个200Ω电阻起到限制电流的作用,使得流到数码管的电流适当,防止数码管中的电流过大,而使得数码管损坏。数码管将计费、等待时间和里程动态的显示出来。 3.2.1系统的顶层框图及方案设计: 信号输入:各种控制信号经输入端给控制芯片。 控制芯片:采用的有CPLD或者FPGA等。 动态显示电路:采用的是数码管来实现功能的输出。 3.2.2 FPGA内部具体框图及方案设计: 出租车的一般计费过程为:出租车载客后,启动计费器,整个系统开始运行,里程计数器从0开始计数,费用计数器从9开始计算;出租车载客中途等待,等待时间计数器从0开始计数。最后根据行驶里程或停止等待的时间的计费标准计费。出租车到达目的地停止后,停止计费器,显示总费用。 根据出租车计费器的工作过程,本系统采用分层次、分模块的方式设计,其FPGA内部具体框图如下所示。 各模块的功能: (1)由FPGA晶振电路产生50MHz时钟信号并输入。 (2)分频器:将时钟信号进行分频。 (3)标志模块:将按钮产生的脉冲转化为一种标志信号。 (4)计程模块:在等待信号未作用时,来一个时钟脉冲信号,里程值加1。该模块还包含一个路程计费标志的小模块,输出一个路程计费的信号。 (5)等待状态模块:等待信号作用时,该模块可以记录等待的时间,并产生等待计费的信号。(6)车费计数模块:按行驶里程收费,分为白天和黑夜。白天收费标准:起步费为12.00元,超过3公里按4元/公里,车暂停超过三分钟按2元/分钟计算。黑夜收费标准:起步费为15.00元,超过3公里按5元/公里,车暂停超过三分钟按1元/分钟计算。 (7)输出控制模块:分时输出里程、等待时间、费用三个信号,实现动态显示功能。(8)译码模块:实现将车费计数模块、等待状态模块和里程计数模块输出的BCD码转换成七段码输出。 4.1分频模块:4.1.1分频模块的框图 图3.1.1分频器的实体图 此模块的功能是对总的时钟进行分频,总的时钟是50M。计数分频器使用五个这样基本的分频器(35分频)组合而成,控制模块分频器使用三个这样基本的分频器(35分频)组合而成。4.1.2分频模块的VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PULSE IS PORT(CLK0:IN STD_LOGIC; FOUT:OUT STD_LOGIC); END PULSE; ARCHITECTURE ONE OF PULSE IS BEGIN PROCESS(CLK0) VARIABLE CNT:STD_LOGIC_VECTOR(2 DOWNTO 0); VARIABLE FULL :STD_LOGIC; BEGIN IF CLK0EVENT AND CLK0=1 THEN IF CNT=100 THEN CNT:=000 ; FULL:=1; ELSE CNT:=CNT+1; FULL:=0; END IF; END IF; FOUT=FULL; END PROCESS; END ONE;4.2.1计程模块的框图: 此模块的功能是计算出租车行驶的路程。在出租车启动并行驶的过程中(开始/结束信号SS为1,行驶/等待信号WR为1),当时钟clks是上升沿的时候,系统即对路程计数器JC的里程计数器进行加计数,当路程超过三公里

文档评论(0)

180****3195 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档