基于CPLD出租车计费器系统研究与设计.docVIP

基于CPLD出租车计费器系统研究与设计.doc

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

基于CPLD出租车计费器系统研究与设计   摘 要:针对传统基于单片机设计的出租车计费器系统的诸多不足,提出了一种利用VHDL设计的基于CPLD的出租车计费器系统的设计方案。该方案模拟了出租车的启动、停止、暂停、换挡等功能,并用动态扫描电路显示出租车所走的里程及其所需要的费用。所有源程序均在Quartus II9.0下实现编译、仿真,可实现自动计费、自动计程及实时显示等功能。由于使用CPLD芯片,因而具有外围电路少、灵活、功能强、可靠性高、成本低等优点,可用于实际的出租车计费系统。   关键词:VHDL;CPLD;出租车计费器;Quartus II   中图分类号:TP368 文献标识码:A 文章编号:2095-1302(2013)06-0023-02   0 引 言   随着科学技术的发展,出租车计费器也经历了一个从低级到高级的发展阶段。传统的计费器一般由单片机实现,它有诸如硬件电路复杂,外围可扩展的资源有限,可靠性低,功能升级繁琐,需要硬件重组和软件更新同步进行,成本高等缺点。而用户对计费器的要求越来越高,对于出租车计费器而言,用户不仅要求其性能稳定,计费准确,有防作弊功能,同时还要求其具有车票打印、刷卡付费、语音播报提示、电脑串行通信及税控等功能。由于具体情况不同,不同国家和地区的出租车收费方式存在差异,即使相同地区,不同车型的出租车收费方式也是有差别的。传统的单片机已经很难满足这些越来越高的功能和性能上的要求[1]。为此,我们设计了一款以可编程逻辑器件(CPLD)为设计载体,以硬件描述语言(VHDL)为主要表达方式,以Quartus II9.0开发软件为设计工具的出租车计费器。这种计费器在实际中不仅成本低、周期短,而且具有设计灵活、修改方便、易于调试、系统可靠性高等一系列优点。   1 系统功能描述   不同区域的出租车计费标准不尽相同,对于本文以基于CPLD的方式设计的计费器,如果要适用某个区域的出租车,只需要修改计费标准就可以了,灵活方便而容易实现。本计费器能够实现的功能主要包括自动显示路程和自动计费。具体要求如下:   (1) 实现计费功能。按行驶里程计费,起步价为7.00元,并在车行驶3 km后按1.2元/km计费;当计费器达到或超过20元时,每千米加收50%的车费;车停止和暂停时不计费。   (2) 现场模拟汽车的启动、停止、暂停和换挡等状态。   (3) 设计数码管动态扫描电路,将车费和路程显示出来,各有两位小数[2]。   2 系统总体设计   基于CPLD的出租车计费系统可分为三大模块,即外部输入模块、控制模块和译码显示模块。各部分主要功能如下:外部输入模块对车轮传感器传送的脉冲信号进行计数(每千米送1 000个脉冲),并用高低脉冲模拟出租车的启动、停止、暂停和挡位输入等。控制模块是三大模块中的核心模块,它实现了出租车的计费和路程的计数,并且通过不同的挡位控制车速。译码显示模块则将车费和行驶的里程由十进制转换成4位的十进制,译码后用动态扫描的方式驱动数码管将车费和行驶的里程数实时显示(均为两位整数、两位小数)。   三大模块相互依赖,相互配合,协调工作,最终实现出租车计费器系统的功能。其系统总体设计框图如图1所示。   3 单元模块设计   此计费器系统采用自顶向下、模块化设计的理念。整个系统的核心模块有两个,分别为控制模块(taxi)和译码显示模块(decoder)。最底层子模块用VHDL编写,在Quartus II9.0环境下对每个底层模块程序进行编写、编译和仿真。最后再将各个模块连接起来,用图形法逐级形成顶层模块,最终形成的系统顶层原理图如图2所示。   3.1 taxi模块   taxi模块由计费时钟脉冲信号模块、控制模块、里程计数模块、计费模块等子模块组成。计费时钟脉冲信号模块提供基本的时钟标准给里程计数子模块和计费子模块使用。控制模块是系统的核心部分,根据启动信号(start)、停止信号(stop)、暂停信号(pause)和挡位控制(speedup)等信号对计费器和里程计数器的状态进行控制。启动信号为一个脉冲触发信号,当它为一个脉冲时,表示汽车已经启动,并根据车速的选择和基本车速发出响应频率的脉冲(计费脉冲)开始实现路程的计数和车费,同时显示路程计数和车费的起步价;当停止信号为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停信号为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程的计数暂停;挡位控制信号用来改变车速,不同的挡位对应着不同的车速,同时路程计数的速度也不同。里程计数模块根据计费脉冲信号的输入实现实时里程计数,其计数量程为99.99 km。计费模块根据脉冲输入实现实时计费功能,其计费量程为99.99元。   3.2 d

文档评论(0)

erterye + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档