课程设计基于FPGA的出租车计价器设计.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计基于FPGA的出租车计价器设计

基于FPGA的出租车计价器设计 摘要 介绍了出租车计费器系统的组成及工作原理,简述了在EDA平台上用器件构成该数字系统的设计思想和实现过程。论述了计程模块计费模块译码动态扫描模块等的设计方法与技巧。 随着EDA技术的高速发展,电子系统的设计技术发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。本文介绍了一个以Altera公司可编程逻辑芯片为控制核心、附加一定外围电路组成的出租车计费器系统。随着社会的不断进步,人们生活水平的不断提高,出租车逐渐成为人们日常生活不可缺少的交通工具。而计价器作为出租车的一个重要组成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因而出租车计价器的发展非常迅猛。 (5)各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。 附加功能: (1)增加了晚上计费功能和等待功能。晚上起步价为12.00元,并在车行3公里后再按4元/公里计算车费。车白天停止超过三分钟后按1元/分钟计算,晚上超过3分钟按2元/分钟计算。 (2)实现预置功能:能预置起步费、每公里收费、等待加费时间。 (3)实现模拟功能:白天、黑夜;等待、行驶状态。 (4)设计超过三公里提醒功能。 2.3本人任务 本人负责软件部分。 2.4任务书(附录一) 3.方案设计及原理框图 3.1硬件方案设计及原理框图 硬件系统组成框图 各模块的作用和组成: (1)开关模块 该模块的作用是用于电路的输入的信号。 主要有三个开关以及三个限流电阻,电源构成。 (3)动态显示模块: 此模块由六个数码管和三个二极管所构成,17个200Ω电阻起到限制电流的作用,使得流到数码管的电流适当,防止数码管中的电流过大,而使得数码管损坏。数码管将计费、等待时间和里程动态的显示出来。 3.2软件方案设计及原理框图 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.各单元模块设计,仿真结果及分析 本系统采用层次化、模块化的设计方法,设计顺序为自下向上。首先实现系统框图中的各子模块,然后由顶层模块调用各子模块来完成整个系统。 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_LOGI

文档评论(0)

almm118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档