已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长沙学院 changsha university毕业设计资料设计 题目: 基于fpga的出租车 计费系统的设计 系部: 电子与通信工程系 专 业: 通信工程 学 生 姓 名: 班 级: 一班 指导教师姓名: 职称 副教授 最终评定成绩 长沙学院教务处 二九年五月制目 录第一部分 设计说明书一、设计说明书第二部分 外文资料翻译一、外文资料原文二、外文资料翻译第三部分 过程管理资料一、 毕业设计课题任务书二、 本科毕业设计开题报告三、 本科毕业设计中期报告四、 毕业设计指导教师评阅表五、 毕业设计评阅教师评阅表六、 毕业设计答辩评审表20 09 届本科生毕业设计资料第一部分 设计说明书(20 09 届)本科生毕业设计说明书基于fpga的出租车计费系统的设计系部: 电子与通信工程系 专 业: 通信工程 学 生 姓 名: 班 级: 一班 学号 指导教师姓名: 职称 副教授 最终评定成绩 2009 年 6 月 长沙学院本科生毕业设计基于fpga的出租车计费系统的设计系 (部):电子与通信工程系专 业: 通信工程 学 号: 学生姓名: 指导教师: 副教授 2009 年 6 月 长沙学院毕业设计(论文) 摘 要随着eda技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件cpld/fpga的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。本文介绍了一个以可编程逻辑芯片为控制核心的出租车计费器系统。简述了出租车计费器系统的组成及工作原理,以及在eda平台上用单片cpld器件构成该数字系统的设计思想和实现过程。论述了计程模块、计费模块、译码动态扫描模块等的设计方法。实践表明,这种方案不仅能解决传统计费器集成度不高,功能升级不方便,易受干扰的问题而且能大大增强系统的可靠性。关键词:出租车,计费系统,硬件描述语言,数字系统,fpgaabstractwith the rapid development of eda technology, electronic system design techniques and tools have been profound changes in large-scale programmable logic device cpld / fpga emergence of designers to bring a lot of convenience. use it for product development, not only low cost, short cycle, high reliability and full intellectual property rights.in this paper, a programmable logic chip for the control of the core billing system of a taxi. taxis on the billing system and working principle of the composition, as well as eda platform with a single cpld device forming part of the digital system design and realization of the process of thinking. on the meter module, billing module, decoding module, such as dynamic scanning design method. practice shows that such programs can not only solve the traditional billing device integration is not high, the upgrade is not convenient features, and are prone to interference issues and can greatly enhance the reliability of the system.keywords:the rental car costs the system,the counter,the vhdl language,the digital system,fpga目 录摘 要iabstractii第1章 绪论11.1 课题背景及目的11.2 国内外研究状况11.3 课题研究方法21.4 论文构成及研究内容2第2章 设计相关工具简介32.1 eda简介32.2 fpga简介32.3 硬件描述语言vhdl简介42.4 开发软件quartusii简介5第3章 设计方案及原理63.1 方案论证63.2 设计原理73.2.1 出租车计费方式73.2.2 总体框架设计73.3 各个模块设计83.3.1 lcd显示设计83.3.2 电机驱动模块设计123.3.3 主要功能模块设计13第4章 设计仿真验证204.1 lcd驱动程序仿真204.2 电机调速程序仿真204.3 系统程序仿真20结 论22参考文献23附 录24致 谢34iii 长沙学院毕业设计(论文) 第1章 绪论1.1 课题背景及目的在我国社会经济的全面发展过程中,各大中小城市的出租车营运事业也迅速发展,出租车已经成为人们日常出行选择较为普遍的交通工具。出租车计价器是出租车营运收费的专用智能化仪表,是出租车市场规范化 、标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。当计费系统在各大、中城市出租车中使用越来越广泛,用户对计费器的要求也越来越高。以出租车多功能计费器为例,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票打印、语音报话识别、电脑串行通信及税控等功能;不同国家和地区的收费方式存在差异,即使在同一地区,不同车型的出租车其收费方式也有差别,而且出租车还面临几年一次的调价或调整收费方式等问题。传统的基于单片机设计的出租车多功能计费器已远远跟不上这种变化,功能升级很繁琐,需要硬件重组和软件更新同步进行,成本高,并且每次升级都可能出现新的不稳定因素;而基于现场可编程逻辑阵列(fpga)的出租车多功能计费器,采用硬件描述语言veriloghdl和逻辑综合为基础的自顶向下的电路设计方法,开发成本低,周期短,可靠性高,功能升级方便,满足了用户的要求。该系统在不改变硬件电路的前提下,具有可以重构系统的功能;采用完全相同电路结构,只要根据各地区的要求在veriloghdl程序中设置各参数,就可以适应各地区出租车不同计费标准的需要,还可以根据各地区需求增加其他功能1。1.2 国内外研究状况从国内外的各种研究方法来看,实现出租车计费系统总共有三种方案。利用大规模的数字逻辑器件来实现,利用89c51实现,利用cpld/fpga来实现。二十世纪后半期,数字系统得到了飞速发展,同时为了提高系统的可靠性与通用性,微处理器和专业集成电路逐渐取代了通用全硬件电路。目前,业界大量可编程逻辑器件,尤其是现场可编程器件被大量地应用在集成电路的制作当中2。理想的可编程逻辑开发系统能符合大量的设计要求:它能支持不同结构的器件。在多种平台运行,提供易于使用的界面,并且有广泛的特征。可编程器件的逻辑功能描述一般分为原理图描述和硬件语言描述,原理图描述是一种直观简便的方法,它可以讲现有的小规模集成电路实现的功能直接用可编程器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练。而语言描述可以精确和简练地表示电路的逻辑功能,现在可编程器件的设计过程中广泛使用。常用的硬件描述语言有abel、vhdl语言等,其中vhdl语言是一种行为描述语言,其编程结构类似于计算机中的c语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。1.3 课题研究方法在分析了相关资料的基础上,首先了解了出租车计费系统的重要性,国内外实现该系统的不同方法。在方案的选择上,对比了各个方案的优缺点,并对现有的计费系统进行了更新,使它能够更好的满足不同的要求。采用软件仿真方法对计费系统进行仿真,模拟电动机输出信号,设置初始值,得出仿真波形并进行观察。1.4 论文构成及研究内容论文包括绪论、出租车计费系统的设计、关外围电路、结论等四大部分组成。核心部分是设计说明部分和fpga程序设计部分。本文的的基本框架为:在方案的论证和设计说明部分一章中,同时介绍了总体设计框架,并对各个部分进行了详细说明。在计费系统的实现一章中,介绍了计费系统的相关外围电路,使系统更完善。第2章 设计相关工具简介2.1 eda简介电子设计技术的核心就是eda技术,eda是指以计算机为工作台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子cad通用软件包,主要能辅助进行三方面的设计工作,即ic设计、电子电路设计和pcb设计。eda技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(cad)阶段,人们开始用计算机辅助进行ic版图编辑、pcb布局布线,取代了手工操作。80年代为计算机辅助工程(cae)阶段。与cad相比,cae除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。cae的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,pcb后分析。90年代为电子系统设计自动化(eda)阶段3。中国eda市场已渐趋成熟,不过大部分设计工程师面向的是pc主板和小型asic领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的eda技术。在eda软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有asic设计工具,但不对外开放 。中国华大集成电路设计中心,也提供ic设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50%和30%。eda技术发展迅猛,完全可以用日新月异来描述。eda技术的应用广泛,现在已涉及到各行各业。eda水平不断提高,设计工具趋于完美的地步。eda市场日趋成熟,但我国的研发水平还很有限,需迎头赶上。2.2 fpga简介fpga是英文field programmable gate array的缩写,即现场可编程门阵列,它是在pal、gal、epld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 fpga采用了逻辑单元阵列lca(logic cell array)这样一个新概念,内部包括可配置逻辑模块clb(configurable logic block)、输出输入模块iob(input output block)和内部连线(interconnect)三个部分。fpga的基本特点主要有: (1)采用fpga设计asic电路,用户不需要投片生产,就能得到合用的芯片。 (2)fpga可做其它全定制或半定制asic电路的中试样片。 (3)fpga内部有丰富的触发器和io引脚。 (4)fpga是asic电路中设计周期最短、开发费用最低、风险最小的器件之一。 (5)fpga采用高速chmos工艺,功耗低,可以与cmos、ttl电平兼容。 可以说,fpga芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 目前fpga的品种很多,有xilinx的xc系列、ti公司的tpc系列、altera公司的fiex系列等。 fpga是由存放在片内ram中的程序来设置其工作状态的,因此,工作时需要对片内的ram进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,fpga芯片将eprom中数据读入片内编程ram中,配置完成后,fpga进入工作状态。掉电后,fpga恢复成白片,内部逻辑关系消失,因此,fpga能够反复使用。fpga的编程无须专用的fpga编程器,只须用通用的eprom、prom编程器即可。当需要修改fpga功能时,只需换一片eprom即可。这样,同一片fpga,不同的编程数据,可以产生不同的电路功能。因此,fpga的使用非常灵活。 fpga有多种配置模式:并行主模式为一片fpga加一片eprom的方式;主从模式可以支持一片prom编程多片fpga;串行模式可以采用串行prom编程fpga;外设模式可以将fpga作为微处理器的外设,由微处理器对其编程4。2.3 硬件描述语言vhdl简介vhdl全名是very-high-speed integrated circuit hardware description language(超高速集成电路硬件描述语言),诞生于1982年。1987年底,vhdl被ieee和美国国防部确认为标准硬件描述语言。自ieee公布了vhdl的标准版本,ieee-1076(简称87版)之后,各eda公司相继推出了自己的vhdl设计环境,或宣布自己的设计工具可以和vhdl接口。此后vhdl在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,ieee对vhdl进行了修订,从更高的抽象层次和系统描述能力上扩展vhdl的内容,公布了新版本的vhdl,即ieee标准的1076-1993版本,(简称93版)。现在,vhdl和verilog作为ieee的工业标准硬件描述语言,又得到众多eda公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,vhdl于verilog语言将承担起大部分的数字系统设计任务。vhdl主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,vhdl的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。vhdl的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是vhdl系统设计的基本点5。2.4 开发软件quartusii简介quartus ii是altera公司推出的cpld/fga开发工具,quartus ii提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性。quartus ii设计流程:(1) 设计输入:完成期间的硬件描述,包括文本编辑器、块与符号编辑器、megawizard插件管理器、约束编辑器和布局编辑器等工具;(2)综合:包括分析和综合器以、辅助工具和rtl查看器等工具;(3)布局连线:将设计综合后的网表文件映射到实体器件的过程,包括fitter工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具;(4)仿真:quartus ii提供了功能仿真和时序仿真两种工具;(5)器件编程与配置:包括四种编程模式,即被动串行模式、jtag模式、主动串行模式和插座内编程模式6。使用new project wizard新建一个工程的过程:(1)制定工程的文件存放目录、工程名以及最顶层的设计实体名,在默认情况下,工程名与最顶层的设计实体名是相同的。(2)添加文件,包括最顶层的设计实体文件以及一些额外的电路模块描述文件或定制的功能库。(3)选择目标芯片,具体芯片最好让编译器根据工程设计的实际情况自动选择。(4)第三方eda工具设定,包括设计输入与综合工具、仿真工具、时序分析工具等,默认为quartus ii自带的仿真器、综合器以及时序分析器。(5)最后一步系统将整体工程的各项参数和设置总结并显示出来,这时即可完成工程的创建7。第3章 设计方案及原理 3.1 方案论证最近几年出租车行业发展迅速,在全国有几千家出租车公司,出租车计费器的市场非常庞大。目前市场上使用的出租车计费器主要采用的都是利用mcu 如89c51单片机实现的计费器设计,显示方式上主要采用的是固定显示内容的led显示。如图 3.1所示。图3.1 传统led显示的计费器传统的出租车计费器由于发展使用了十几年,在稳定性、成本、以及使用习惯上都具有一些优势,但是随着出租车价格市场化,我国加入 wto以来主导出租车行业成本的许多因素主要包括油价的波动,都对传统的出租车计费器提出了更高的要求。近一年来,各大城市都在对出租车价格进行调整,由于数量太多,很多城市的调价甚至需要一个月的时间才能完成,经常会同一时间出现几个价格,有的城市的出租车上还会出现司机人工计价的尴尬情形。这些都暴露了传统计费器在灵活性和升级换代能力的天生不足8。 传统计费器的不足可以体现在以下几点:(1)产品更新周期长(2)计价方式的不灵活(3)显示方式的不灵活考虑到目前出租车行业迅猛发展的趋势以及对计费器更高的灵活性要求,本设计希望尝试一些新的方法来予以解决。(1)利用fpga取代 mcu(2)利用lcd取代led(3)增加计价标准设定功能3.2 设计原理3.2.1 出租车计费方式由于各地出租车计价情况的不同,本设计主要依据上海市出租车计价情况作为参考依据。先来了解一下某市出租车是如何计费的: 表3.1 某市计费标准起步 11元(3km)2.1元/km(超过3km)3.2元/km(超过10km加收50%)从上面表中可以看出,目前出租车行业由于调价、路桥、夏季电调、燃油费波动等诸多因素要求出租车计费器在价格调节方面做到灵活可靠,易于操作等特点。 3.2.2 总体框架设计系统流程介绍:系统主要由电动机驱动模块、lcd 显示模块、计费标准设定模块、自动计费模块、统计模块等组成。首先由电动机驱动模块控制步进电机运转来模拟出租车车轮,速度值通过车速比较器判断是否低于12km/h,如低于12 km/h则进入计时状态(依照预设值每5分钟计为1km),如果高于180km/h则发出车速过高的声光报警,车速在12到180km/h之间的则进入计程状态,根据车轮的大小不同每 km 计的次数也不同,计程和计时通过选通模块自动选择输出到自动计费模块,计程和计时同一时刻只会有一个处于运行状态。自动计费模块会按照不同的计费标准自动调节计费。计费标准设定模块将设定好的数值分别送到自动计费模块、计时模块和计程模块。按下计费启动键后利用电容的瞬间充电过程来清零上一次的计费数值,此后开始自动计费,按下计费停止键后计费终止,统计模块自动执行保存记录。lcd 显示模块包括 lcd 驱动部分、lcd 选通部分、lcd 译码部分、二进制转 bcd码部分,最终界面上会显示时钟、车速、等待时间、行驶路程、桥路费或电调费、总费用、开始计费和停止、参数设定菜单以及营运额统计等。下面是基于fpga的出租车计费器的系统设计框图和系统模块框图: 图3.2 出租车计费系统设计框图 图3.3 出租车计费系统模块框图3.3 各个模块设计3.3.1 lcd显示设计lcd的模块框图如下图3.4所示。 图3.4 lcd模块框图3.3.1.1 字符型液晶介绍本设计采用 20 列 x4 行的字符型液晶,能同时显示 80 个字符。lcm 由字符型液晶显示屏(lcd)、控制驱动电路 hd44780 及其扩展驱动电路 hd44100 等组成,具有若干个 5x7 或 5x10 点阵组成的字符集,可显示 192 种字符,还具有 64 个字节的自定义字符ram。hd44780 是字符型 lcm 的控制器,分为控制部分和驱动部分。控制部分产生内部工作时钟,控制着各个功能电路的工作,管理着字符发生器 cgram 和 cgrom,显示存储器ddram。其中cgrom 为已固化好的字符库,cgram 为可随时定义的字符库,根据用户的不同的定义可调出所需要的字符。mdls 系列字符型 lcm 电路框图如图 3.5所示。 图3.5 mdls系列字符型lcm电路框图此液晶模块有16个引脚,各引脚功能说明如表3.2所示: 表3.2 mdls系列字符型液晶引脚说明引脚号符号状态功能1vss 电源地2vdd+5v逻辑电源3v0液晶驱动电源4rs输入寄存器选择 1:数据;0:指令5r/w输入读、写操作选择 1:读;0:写6e输入使能信号7db0三态数据总线(lsb)8db1三态数据总线9db2三态数据总线10db3三态数据总线11db4三态数据总线12db5三态数据总线13db6三态数据总线14db7三态数据总线(msb)15a背光灯+516k背光灯gnd3.3.1.2 指令集控制hd44780 共有11条控制指令,我们只要对其中的6条指令进行控制就可以成功的显示字符。这6条控制指令为:(1)功能设置表3.3 功能设置rs r/w db7 db6 db5 db4 db3 db2 db1 db00 0 0 0 1 dl n f * * 功能:工作方式设置(初始化指令)。其中:dl=1,8位数据接口; dl=0,4位数据接口; n=1, 两行显示; n=0, 一行显示; f=1, 510点阵字符; f=0, 57点阵字符。(2)清屏表3.4 清屏rs r/w db7 db6 db5 db4 db3 db2 db1 db00 0 0 0 0 0 0 0 0 1 功能:清ddram和ac值。 (3)显示开关控制表3.5 显示开关控制rs r/w db7 db6 db5 db4 db3 db2 db1 db00 0 0 0 0 0 1 d c b 功能:设置显示、光标及闪烁开、关。 其中:d表示显示开关:d=1为开,d=0为关; c表示光标开关:c=1为开,c=0为关; b表示闪烁开关:b=1为开,b=0为关。(4)输入方式设置表3.6 输入方式设置rs r/w db7 db6 db5 db4 db3 db2 db1 db00 0 0 0 0 0 0 1 1/d s 功能:设置光标、画面移动方式。 其中:1/d =1;数据读、写操作后,ac自动增一; 1/d =0;数据读、写操作后,ac自动减一; s =1;数据读、写操作后,画面平移;s =1;数据读、写操作后,画面不动。(5)ddram地址设置表3.7 ddram地址设置rs r/w db7 db6 db5 db4 db3 db2 db1 db00 0 1 a6 a5 a4 a3 a2 a1 a0 功能:设置ddram地址。 n=0,一行显示a6a0=04fh; n=1,两行显示,首行a6a0=00h2fh,次行a6a0=40h67h。(6)写数据表3.8 写数据rs r/w db7 db6 db5 db4 db3 db2 db1 db01 0数 据 功能:根据最近设置的地址性质,数据写人ddram或cgram内。3.3.2 电机驱动模块设计为了演示更为直观,可以用步进电机来模拟出租车的车轮运动,其硬件部分主要由步进电机驱动器和步进电机组成,如图3.6所示。 图3.6 步进电机驱动器和步进电机驱动器型号为 by-2hb02m,驱动两相步进电机,输入端依次为 cp(信号脉冲)、u/d(正反转)、div(每脉冲所转角度调节,高电平为9度,低电平为2.25度)、sgnd(信号地)、vh(电机驱动电源,现使用+12v)、gnd(电机驱动电源地)。360度/ 9度= 400 ,即每 400个脉冲步进电机转一圈。现在设车轮周长为1米,则只要给驱动器一个22.222khz的频率,于是得出22.222khz/400x3600秒x1米=199.998km/h,约为200km/h。现在将22.222khz分成每200个方波为1份,然后对其调频,比如说30km/h则让200个方波当中的30个方波通过,其余都为高电平,采用这种方法就可以轻松实现调频,控制电动机的转速。下面是vhdl 编写的模块框图,如图3.7 所示。 图3.7 电动机调速模块由于此步进电机在12v供电时最高只能识别2.3khz 的方波,无法等同实际汽车的车轮转速,所以给电机一个基准频率2.222khz,这样步进电机转速为实际车轮转速的1/10,用来模拟出租车车轮。速度还是按照原来的200等分,即从0km/h到200km/h进行调速,每次步进 1km/h。上面 up 和 down 用来增加和减少速度,输出两个,一个给电动机驱动器,另一个给计程模块。3.3.3 主要功能模块设计3.3.3.1 车速比较模块车速比较模块如下图所示。其中p为速度值输入端,其值大于180km/h时汽车超速,high端为高电平,发出声光报警。当车速低于12km/h时low端为高电平,此时将进入计时状态,车速大于12km/h小于180km/h时low端为低电平,high端也为低电平,进入计程状态。 图3.8 车速比较模块3.3.3.2 计时模块 图3.9 计时模块计时模块如上图3.9所示。当速度低于12km/h 时计时模块启动。输入端clk为1hz,clr 为清零端(计费停止后自动清零),time 为时间设定输入端(默认为每 5 分钟计为 1km,可设为其它值)。输出端 js60 送到显示部分计数,每 1 分钟一个上升沿,js 端送到计程计时选通模块,默认为每5分钟计为1km送出一个高电平。3.3.3.3 计程模块计程模块如图3.10所示,计算出租车行驶路程,每行驶一公里输出端 jc 就发出一个上升沿给计程计时选通模块。输入端 p 为车轮大小的设定值,根据车轮直径的不同,每转一圈行进路程也不同,因此每公里计的clk 次数也会不同,车轮越大计的clk数越少。clr 是 清零端,每次计费结束后自动清零,保证下次计费的准确性。图3.10 计程模块3.3.3.4 计程计时选通模块计程计时选通模块如下图3.11所示,通过速度比较器的输出信号给计程计时选通模块的选通端sel就可以识别现在是应该要把计程的信号输出给自动计费模块还是把计时的信号输出给自动计费模块。输出端 p的每个上升沿都代表计了1km。 图3.11 计程计时选通模块3.3.3.5 计程计时显示输出模块 图3.12 计程计时显示输出模块图3.12为计程计时显示输出模块,lcd显示屏上会显示 0到999km的路程和0到99min的时间。计程端有三位数字的bcd码输出,通过译码器成为 lcd模块可以识别的 8位数字编码。计时端则有两位数字的bcd码输出,最大计时 99分钟。清零端clr 则通过下次按下计费启动键的瞬间清零,因为计费停止后还要保持显示输出,让顾客和司机可以清楚地看到所有计费信息。3.3.3.6 车轮大小设定模块 图3.13 车轮大小设定模块图3.13为车轮大小设定模块,根据调查现在的车租车车轮大小主要有以下几种规格:表3.9 车轮直径规格与每km转的圈数对应表 车轮直径50cm52cm54cm56cm58cm60cm圈数/km636.6612.1589.5568.4548.8530.5当密码正确后,pass端为1,setout把设定的车轮大小数值送到计程模块,计程模块根据轮径大小的不同,每km所转圈数不同,自行调节计算。输出端shi、ge、c、m分别给显示部分,只有当要设定此项数值时才会在屏幕上显示。3.3.3.7 计费标准设定系统由于受到油价影响,很多城市都推出了油价运价联动机制。所以说将来的计费器应当具备灵活的计价标准设定功能。我设计的计费标准设定系统包括了:白天的起步费设定、每公里价格设定、超出10公里后的加收设定,以及深夜的对应与上面三项的加收设定、低速时的时间设定,车轮大小设定、密码保护设定,总共9项参数可以设定,可以说相当全面和灵活。首先通过设定选择按键,初始化时停留在密码设定选项,只有当密码输入正确后,按下选择按键才能进行下面选项的设定。密码输入正确后 passout 会变为 1 送到 set 模块和chelun模块,否则为0,禁止设定。setmux 是设定选通模块用于选通加减键给需要设定的模块(u 为加,d 为减)。通过自动加速模块可以让加减一开始加的慢,过了 4 秒后自动变快,一方面使得快速调到某个数值,另一方面又可以精确定位到某个数值,比较人性化。 图3.14 计费标准设定系统图3.14所示为计费标准设定系统,其中相关模块说明如下:(1)ajsm:为去除按键抖动模块,我采用的是数字去抖动方法,即对按键进行扫描,去除抖动不确定状态,提高按键的可靠性。(2)chelun:车轮大小设定模块,在2.3.3.6小节中有详细说明。(3)set:设置选择模块,当 pass 端为 1 时才可以进行选择操作,an 为按键输入端,setout 为输出端从 000 到111给选通模块分别代表不同设置选项。(4)setmux:设置按键选通模块,为了减少出租车计费器上的按键,为它做了一个按键选通模块。u为加键,d为减键当sel 为000时把u给u0、d给d0,以此类推,sel 为111则把 u给u7、d给 d7。(5)zdjs:按键自动加速模块,按键自动加速模块是一个非常人性化的功能设定,通过自动加速模块可以让加减一开始变化的慢,过了长按4秒后自动变快,一方面使得快速调到某个数值,另一方面又可以精确定位到某个数值。当按下键后起初以 1hz 进行加,按住 4 秒后变为 4hz 的速度进行加减。clk 输出自动变化的频率给加减模块,k 是累积端,累积 4 秒后不再发生变化,通过xor(异或)端,当加键或减键停止后则自动使k累积的值清零,这样下次按下加键时就又从1hz 开始加了。(6)password:密码设定模块,为了防止司机或者别人随意改动计费标准的参数设定,设置了一个密码保护模块。up和down 为加减键,clk为加减的快慢频率,只要按住加键后就会自动加了,word是显示输出端,经过二进制转bcd码后就可以在界面上显示。passout 为密码是否正确的输出端,正确时输出1到选择端,进行参数设置。(7)setmin:计时时间设定模块,根据标准当车速低于12km/h时,不计路程,计时间。现在上海的计费标准是每 5分钟计为1km。所以预设值为5分钟。可以在0到7分钟内每次加减1分钟进行设定。(8)dsan:白天每公里费用设定模块,up和down 为加减键,clk为加减的快慢频率,ds 为每公里价格输出端给自动计费模块,它的初始值设为2.0元/km,每次可以加减 0.1元进行设定,最大值为99.9元/km。(9)dstart:白天起步费设定模块,up和down 为加减键,clk为加减的快慢频率,ds 为起步费输出端给自动计费模块,它的初始值设为10.0元,每次可以加减0.1元进行设定,最大值为99.9元。(10)dshi:白天过10公里后加收费设定模块,up和down 为加减键,clk为加减的快慢频率,ds 为加收50%后的每公里价格输出端给自动计费模块,它的初始值设为 3.0 元/km,每次可以加减 0.1 元进行设定,最大值为99.9元/km。(11)nsan:深夜每公里费用设定模块,根据计费标准深夜23:00到凌晨5:00之间要加收30%的费用。up和down 为加减键,clk为加减的快慢频率,ds 为每公里价格输出端给自动计费模块,它的初始值设为2.6元/km,每次可以加减 0.1元进行设定,最大值为99.9元/km。 (12)nstart:深夜起步费设定模块,根据计费标准深夜23:00到凌晨5:00之间要加收30%的费用。up和down 为加减键,clk 为加减的快慢频率,ds 为起步费输出端给自动计费模块,它的初始值设为10.0+10.0x30%=13元,每次可以加减0.1元进行设定,最大值为99.9元。(13)nshi:深夜过10公里后加收费设定模块,根据上海标准深夜23:00到凌晨5:00之间要加收30%的费用。up和down 为加减键,clk 为加减的快慢频率,ds 为过 10 公里后加收 50%费用的每公里价格输出端给自动计费模块,它的初始值设为 3.9 元/km,每次可以加减 0.1 元进行设定,最大值为 99.9 元/km。3.3.3.8 自动计费模块由于起步费要求在开始计费时屏幕上就要显示,受到 vhdl 语言的限制,不能在一个结构模块里给某个变量赋两种初始值的选择,所以要给它一个初始化模块。d_n 是白天和深夜的判别信号,d1、d2、d3 、n1、n2、n3 分别代表白天起步费、单位公里费、10公里后的单位公里费、深夜起步费、单位公里费、10公里后的单位公里费。每走完一公里就给clk端一个信号,自动计费模块根据不同状态自动计费一次,s_p是启动和停止的输入端,它一方面控制计费的开始和停止,另一方面起到清零作用,且只当启动的瞬间才清零,为了保持住在屏幕上的数值。jfout 把计算值输出给总额计算端。 图3.15 自动计费模块3.3.3.9 总额计算模块 图3.16 总额计算模块总额计算模块的输入端cf和lf代表车费和桥路费,st为计算信号输入端,当按下停止计费键时就自动计算结帐,ze把计算数值输出到同级模块和显示模块,clr 清零端只当启动的瞬间清零。3.3.3.10 统计模块 图3.17 统计模块为让司机更好的了解一天的营运额状况,所以做了一个统计模块,用来统计所接乘客总数和营运额总数。cf 为总费用的输入端,当 stop 端接到停止计费的信号后就自动累计一次乘客总数和营运额总数,输出给显示模块。sum 为乘客数,ze为营运额总数。 3.3.3.11 分频模块 图3.18 分频模块分频模块为出租车计费系统的各个模块提供时钟频率。根据不同的需求输出有 1hz(给时钟和加减等)、2 hz、4 hz、15 hz(按键扫描)、61 hz(再返回用来输出标准的1hz)、2k hz( 给bcd码转换模块)、2.222k hz(给步进电机驱动模块)。 第4章 设计仿真验证4.1 lcd驱动程序仿真 图4.1 lcd驱动模块仿真图从图中可以看出,我已经对使能信号端e做了优化,使其只有当数据端信号稳定不发生跳变时才对数据进行读写操作,以此来防止写入不可靠的数据,造成错误。当rs为高电平,e为下降沿时开始写数据给ddram。4.2 电机调速程序仿真 图4.2 电机调速模块仿真图图中所示为一个200等份的周期,现在速度为30km/h。4.3 系统程序仿真如下图所示为系统的时序仿真图,其中当start=1时进行计费,fin为公里脉冲,stop为等待信号。秒跟分的关系为3进制,即w为2时就归0。 图4.3 计费系统时序仿真图 结 论fpga器件的成本越来越低,actel 公司发布第三代的基于flash的可编程逻辑方案。这些新的fpga芯片最低价将达到 1.5美元,代表了全球最低成本的fpga,并且相对于基于sram的fpga来说具有保密的优势。基于flash的fpga 可以提供加密、低功耗、上电工作、可重复编程的方案。这些都说明可编程器件已成为现在及未来很长一段时间的主流,用它来实现出租车计费系统可以省去很多外围电路,稳定,简单有效,可以设计出更多强大的功能,提高产品竞争力。未来基于 fpga 平台的出租车计费器会有更低的成本、更小的体积、更安全
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年特色酒店租赁合同
- 2024年度货物进口与销售合同2篇
- 2024年欧盟数字单一市场战略合同
- 2024年度绿色建筑借贷担保合同示范文本3篇
- 2025采购机票合同范本
- 2024年二手汽车买卖合同样本3篇
- 临时办公搭棚施工合同范本
- 2025建筑安装工程招标合同书范本
- 公司宿舍晚归规定
- 企业文化建设辅导员聘任书
- 江苏省电力公司结算管理实施细则
- 承插型盘扣式盘扣高支模施工方案(专家论证通过)
- 煤矿电气试验规程
- 屋顶分布式光伏项目施工安全管理方案
- 新人教版高中物理课本必修1复习与提高AB组解析
- 关于转发中国中铁股份有限公司管理人员政纪处分规定试行的通知
- 标准节流装置计算
- 企业行为模拟试验报告2016
- 清朝年号干支纪年对照表
- 菜么么收银系统使用说明PPT课件
- 钢轨超声波探伤知识讲解
评论
0/150
提交评论