




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于VHDL语言的出租车计费器设计目录目录TOC\o"1-3"\h\u174761绪论 162721.1选题背景 110931.2目的和意义 2305241.3国内外的研究综述及发展趋势 3277611.4主要设计思路 340212FPGA设计流程和VHDL语言 455522.1FPGA的设计流程 428442.1.1FPGA的结构及工作原理 4206532.1.2FPGA的设计流程 768262.1.3QuartusⅡ软件介绍 920692.2VHDL语言的特点 10193002.2.1VHDL程序的基本结构 10219402.2.2VHDL的特点 1154363硬件资源 12270493.1芯片型号 12266273.2FPGA程序储存电路 1271743.3时钟输入 13197073.4按键控制管脚分配 1311693.5LCD液晶显示 15107803.6BANK的选择 1644924出租车计费器的设计 17236104.1出租车计费器的设计方案 1775884.2计费功能模块设计 19183584.2.1按键消抖模块 19180454.2.2计时模块 20152024.2.3计费模块 2142114.2.41602LCD液晶显示模块 2281174.3出租车计费器的整体设计与仿真 2324355调试结果及分析 24318846结论 2627782参考文献 281绪论1.1选题背景我国国民收入水平的不断提高,人们的消费观念也随之改变,特别是对于各个行业所带来的服务体验有了更高要求,对出租车行业的服务水平也提出了考验。当前出租车成为人们选择主要的出行方式之一,但是由于出租车的计费存在一些问题,导致司机与乘客存在不少纷争,解决这一矛盾的主要方法就是发明一款能让司机与乘客都满意的自动计费器,由此来提升乘客的满意度,减少由于计费问题而产生的矛盾,使司机与乘客获得更好的出行体验。计费器是用于公平贸易结算的工具,是出租汽车司机、公司和乘坐出租汽车的消费者之间公平渠道,多以计费器能否准确计费,直接关系到经营者和消费者的经济利益,现在的出租车是城市交通的重要组成部分,它的行业能否健康的发展也获得越来越多的关注。汽车计费器它是出租车行业发展的重要标志,是乘客与司机双方的交易准则,是出租车中最重要的工具,它关系着交易双方的利益。安装一款良好性能的计费器无论是对广大出租车司机朋友还是乘客来说都是很必要的,所以一款功能简单的计费器成了车主关心的问题。因此FPGA器件集成度高、方便易用、开发和上市周期短,精度高承担了这个任务。出租汽车现在俨然已成为城市公共交通的重要组成部分,它伴随着我国国民经济的高速发展,人民生活水平的显著提高,城市的交通日趋完善,越来越便利了人们的日常出行,而出租车上,计费器是出租车上必不可少的重要仪器,它是负责出租车营运收费的外用智能化仪表,能根据乘客乘坐汽车行驶距离和等候时间的多少进行计费,并直接显示车费值的重要器具。1.2目的和意义设计出租车自动计费器的目的,在于解决出租车司机与乘客之间因为收费问题而产生的纠纷问题,从而在一定程度上缓解社会矛盾,为建成美好和谐的社会生活氛围出一份力。在我国的社会交通发面,出租车行业在社会交通发展中,一直发挥着至关要的作用,而出租车上的一个重要元器件就是自动计费器,它是以一种专门负责出租车收费的智能化仪表。随着出租车行业在各大城市中的蓬勃发展,出租车自动计费器的作用也愈发明显。当出租车统一使用一款标准规范的自动计费器时,还能很好的从根本上解决司机与乘客的价格纠纷问题;而且出租车的自动计费器的市场潜力也是不可忽视的,在各个城市中的出租车数量也在逐年递增,一款价格低廉且质量可靠的出租车自动计费器,对于出租车公司来说是趋之若鹜的,这将为出租车公司省下一大笔费用,由此,它一定会迅速的占领市场。将以单片机为核心元件的出租车自动计费器作为毕业设计,不但可以加强我对于单片机工作原理的理解,还能提升我们的动手能力和解决问题的能力,对于我来说是一次重要的实践。1.3国内外的研究综述及发展趋势出租车行业是上个世纪末逐渐发展而来的一个行业,也标志着我国经济的不断发展,与此行业相关的出自车自动计费器却没有得到较好发展,当时所使用的计费器基本上都是从国外引进的,但是其也存在着部分问题,最大的一点问题是他们的计费系统不但价格十分的高昂并且计费不够准确。直到重庆一家起重机厂的出现,才打破外国对于这方面的垄断。国内各大厂家不断推国产的自动计费器,但是当时所推出的计费器只能显示路程,经过逐步发展直到能够实现自动计费,计费器一共经历了三次换代升级;第一代为机械齿轮结构,第二代为手摇计算机与机械结构相结合的方式,第三代为全电子化计费器。。从手持POS机,到车载终端,再到新型乘车方式及计费,我国的出租车行业的计费方式都在不断发展。随着出租车管理平台及新型的租车模式的逐渐建立与完善,其势必要与移动互联网技术、大数据等新技术同步发展。1.4主要设计思路现今社会高速发展。对于快速出行的需求越来越大,所以出租车行业也受到影响发展特别迅猛,这就要求计费器的灵活性更高,所以这也是本次设计的目的,设计一款新的更灵活的计费器。(1)利用FPGA取代MCU现在解决传统电子设计不能完成的任务都可以依靠FPGA等数字可编程器件,也就是利用FPGA来实现出租车计费器。FPGA可行性很高,可以大大减少外围器件,能够用软件完全仿真,灵活度高,进而能设计一些复杂的系统,而且编好的系统可以在不同的FPGA或CPLD芯片上通用。由于FPGA能完成任何数字器件的功能,所以使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。同时由于VHDL语言编写的程序决定了FPGA的功能,可以不拘泥于某种芯片的特殊指令,更加提高了产品的更新换代能力。(2)增加计费标准设定功能通过增加这个功能,可以让计费标准更灵活,也可以根据市场需求和发展,来根据市场主动调整运价、油价进行相应调整。2FPGA设计流程和VHDL语言2.1FPGA的设计流程结合其他大多数设计情况,FPGA的设计流程一般包括以下部分设计输入、RTL仿真、设计综合、布线和布线、时序仿真、时序分析和上系统验证等主要步骤。2.1.1FPGA的结构及工作原理FPGA基本结构由6部分组成,简化为的6部分如图所示的分别为基本可编程逻辑单元、嵌入式块RAM、可编程输入/输出单元、底层嵌入功能单元、丰富的布线资源和内嵌专用硬核等,如图2-1所示。图2-1FPGA的基本结构(1)可编程输入/输出单元I/O单元也就是输入/输出(Input/Ouput)单元简称,它们是芯片与外界电路的接口部分,在不同电气特性下完成对输入/输出信号的驱动与匹配需求,目前大多数FPGA的I/O单元被设计为可编程模式,也是通过软件的灵活配置,可以适配不同的电气标准与I/O物理特性,就是为了使FPGA具有更灵活的应用;可以调整匹配阻抗特性、上下拉电阻、以及调整驱动电流的大小等。(2)基本可编程逻辑单元可编程逻辑的主体也就是基本可编程逻辑单元,可以完成不同的逻辑功能根据设计灵活地改变其内部连接与配置。FPGA内部寄存器可以配置成锁存器,也可以配置为带同步/异步复位或置位,时钟使能的触发器,结构相当灵活,FPGA依赖寄存器完成同步时序逻辑设计。(3)嵌入式块RAMFPGA内部嵌入可编程RAM模块,其实目前大多数FPGA都有内嵌的块RAM(BlockRAM),这也拓展了FPGA的应用范围和使用灵活性。FPGA内嵌的块RAM一般可配置为常用存储结构也即单口RAM,双口RAM,伪双口RAM,CAM,FIFO等。(4)丰富的布线资源连线的长度和工艺决定着信号在连线上的驱动能力和传输速度,布线资源连通FPGA内部的所有单元。FPGA芯片内部根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别:第一类,用于芯片内部全局时钟和全局复位/置位的布线是全局布线资源;第二类,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线是长线资源;第三类,用于完成基本逻辑单元之间的逻辑互连和布线是短线资源;第四类,用于专有时钟、复位等控制信号线是分布式的布线资源。在实际中布局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元,所以设计者不需要直接选择布线资源。从本质上讲,布线资源的使用方法和设计的结果有直接的关系。(5)底层嵌入功能单元指的是那些通用程度较高的嵌入式功能模块,因为一般来说底层嵌入功能单元概念比较笼统,这里我们把,比如PLL(PhaseLockedLoop)、DLL(DelayLockedLoop)、DSP、CPU等都归入底层嵌入功能单元。这些模块被越来越多地嵌入到FPGA的内部,随着技术进步以及FPGA的发展,从而满足不同场合的需求。(6)内嵌专用硬核这里讲的内嵌专用硬核主要指那些通用性相对较弱,这里的内嵌专用硬核与前面的底层嵌入单元是有区分的,不是所有FPGA器件都包含硬核。我们称FPGA和CPLD为通用逻辑器件,是区分于专用集成电路(ASIC)而言的。2.1.2FPGA的设计流程系统一般包括:设计输入、综合、布局布线、仿真、编程下载与调试等主要步骤。设计一般都采用自顶向下的设计方法,其设计流程如下图所示。(1)设计输入影响最为广泛的HDL语言是VerilogHDL和VHDL,最常用的设计方法是HDL设计输入法。其中,它们利于模块的划分与复用,可移植性好,通用性高,这些是共同的特点,也能利于自顶向下设计,设计不因芯片的工艺与结构的不同而变化,更利于向ASIC的移植。(2)设计综合将HDL语言、原理图等设计输入翻译成由与、或、非门,RAM,触发器等基本逻辑单元组成的逻辑连接(网表),也就是设计综合(Synthesize),还需要根据目标与要求(约束条件)优化所生成的逻辑连接,输出edf和edn等标准格式的网表文件,供FPGA/CPLD厂家的布局布线器进行实现。(3)布局布线布局就是将网表文件中的硬件原语和底层单元合理的配置到FPGA芯片的内部硬件结构上。布线就是根据布局的拓扑结构,利用芯片内部的连线资源将各个元件正确的连接起来。图2-2FPGA的开发流程(4)仿真功能仿真有时也被称为前仿真,常用的仿真工具有ModelTech公司的ModelSim,Synopsys公司的VCS、Cadence公司的NC-Verilog和NC-VHDL等。要用专用的仿真工具对设计进行RTL仿真即功能仿真,电路设计完成后,验证电路功能是否符合设计要求。通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。(5)编程下载与调试将EDA开发工具产生的可下载的目标文件.sof/.pof,然后将其下载到FPGA芯片也就是编程下载的过程。调试是使用逻辑分析仪将装载有程序文件的FPGA芯片进行测试,以便及时发现错误和修改设计方案。2.1.3QuartusⅡ软件介绍QuartusⅡ它提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,是Altera公司自行设计的一个完全集成化、易学易用的可编程逻辑设计环境,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片(电路)平面布局连线编辑;LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功可使用SignalTapⅡ逻辑分析工具进行嵌入式的逻辑分析;定时/时序分析与关键路径延时分析;完备的电路功能仿真与时序逻辑仿真工具;能强大的逻辑综合工具;支持软件源文件的添加和创建,并将它们连接起来生成编程文件;使用组合编译方法可一次完成整体设计流程;可读入标准的EDIF网表文件、VHDL网表文件、和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件;高效的期间编程与验证工具;自动定位编译错误。QuartusⅡ的设计流程:设计输入:完成器件的硬件描述,包括文本编辑器、块与符号编辑器、MegaWizard插件管理器、约束编辑器和布局编辑器等工具;综合:包括分析和综合器、辅助工具和RTL查看器等工具;不惧连线:将设计综合后的网表文件映射到实体器件的过程,包括Fitter工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具;时序分析;2.2VHDL语言的特点Verilog用它可以表示逻辑电路图、逻辑表达式,是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,还可以表示数字逻辑系统所完成的逻辑功能。可以从顶层到底层逐层描述自己的设计思想,数字电路设计者利用这种语言,用一系列分层次的模块来表示极其复杂的数字系统。然后,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,利用电子设计自动化(EDA)工具经过自动综合工具转换到门级电路网表。接下来,把网表转换为要实现的具体电路结构,再用专用集成电路ASIC或FPGA自动布局布线工具。2.2.1VHDL程序的基本结构一个完整的VHDL语言程序通常包含实体(entity)、构造体(architecture)、配置(configuration)、包集合(package)和库(library):l功能:实体-—-用于描述所设计的系统的外部接口信号;构造体——用于描述系统内部的结构和行为;包集合——存放各设计模块都能共享的数据类型、常数和子程序库;配置——用于从库中选取所需单元来组成系统设计的不同版本;库——存放已经编译的实体、构造体、包集合和配置。图2-3VHDL程序的结构2.2.2VHDL的特点(1)功能全面,设计灵活。VHDL采用自顶向下的描述方法,即体现层次化设计又体现模块化设计思想。(2)独立于器件的设计、与工艺无关。(3)具有很强程序的移植性。(4)语法规范,易于修改。(5)易于共享和复用。3硬件资源3.1芯片型号芯片如图所示:图3-1芯片型号图选择的芯片为EP4CE6E22C8,该芯片的功耗低、价格便宜编辑单元有10320个、嵌入式存储资源有414Kbits、两个通用锁相环、十个全局时钟网络、8BANK。3.2FPGA程序储存电路FPGA程序储存电路如下图所示:图3-2FPGA程序储存电路从电路图中可以看出这是程序存储电路,设计中四个模块编写的的程序都在这个电路,3、7、8、这3个VCC接3.3V的电压,4号引脚接地。1、2、5、6向其写入数局或者指令。3.3时钟输入开发板提供给主板的时钟晶振电路如下图所示:图3-3晶振时钟电路图由图知,晶振提供给板子的时钟为50MHz,这个时钟信号为后面四个模块提供时钟信号。3.4按键控制管脚分配其按键电路原理图:图3-4按键电路图管脚分配图:图3-5管脚分配图引脚定义表:引脚定义表3-1从表可以看出reste为复位按键,低电平下才复位。key[0]~key[3]外接上拉电阻,为普通按键输入,未按下时按键端口输出高电平,按下时输出低电平。从引脚分配图中很明显的可以看出输出的管脚。3.5LCD液晶显示电路原理图如下图所示:图3-6LCD电路图引脚定义表:引脚定义表3-2结合两个表以及LCD的仿真波形图可以看出,当RS=0时时输入指令、当RS=1时为输入数据,当我写入指令或者数据时R/W这个要保持低电平,然后确保RS,RW稳定后送入使能信号E,使其成为高电平,在信号稳定后,就可以在D0-D7上送入需要实现的命令或者数据了。A、K两极是直接利用电线完成焊接,这样做还是为了后续扩展其他模块留下余地,同时也是在防止LCD液晶显示板子不小心损坏。3.6BANK的选择从引脚分配图可以直观的看出本设计用了8个BANK,如图所示:图3-7BANK图BANK原理图如下图所示:图3-8BANK原理图从原理图与引脚分配图中可以可以得出引脚分配情况,该芯片的8个BANK全部被利用,达到资源的最大利用化。4出租车计费器的设计通过按键来增加里程,能进行白天/夜晚的转换,以FPGA并结合LCD显示屏等设计而成,调整里程和等待的单价、等待时间开始/暂停的控制。利用程序进行数据处理,出租车计费器是根据乘客乘坐出租车行驶距离和等待的时间多少进行计费的,在LCD显示其总金额,完成出租车计费的功能。4.1出租车计费器的设计方案出租车起步显示起步价开始计费,白天的起步价定价为6.00元,夜间起步价上涨2也就是8元,按照规则4km以内,只收起步价,超过4km后,然后每公里增加1.5元,车费依次累加。超过10公里后每公里增加2元。以下情况则按时间计费,也就是当遇到红灯或客户需要停车等待时,计费单价为每20秒收费1.5元。出租车计费器的功能核心在FPGA主板上,有按键消抖模块、计费模块、液晶显示模块、计时模块组成。根据本课题的设计要求,我们设计的出租车计费器的结构框图如下图所示:图4-1出租车计费器的结构框图本文的详细系统方案如下:总费用变为6元或者8元,是系统接收到复位信号后,通过造就编译好的程序实现对其他模块的清0操作。当系统接收到启动信号后,在LCD上显示时间、里程、费用、白天还是黑夜,用字母D表示白天,费用为1.5每公里。用字母N来表示夜晚,费用为1.6元每公里。启动时在LCD上显示前4公里收费,在白天前4公里为6元(夜晚前4公里为8元),超过4公里后每公里增加1.5元(夜里为1.6元)。超过10公里后每公里增加2元(白天和黑夜同价)。当遇见红灯或者客人要求等待时,这个也是会计算价格的计时器每等待20秒LCD上会增加当前时段的的等待费用(白天是4.5元、夜里是1.6元)。4.2计费功能模块设计4.2.1按键消抖模块按键消抖模块:图4-2按键消抖模块框图这个模块也是防止不小心触碰按键时,LCD上出现错误的显示。图4-3为按键消抖模块的仿真图形。图4-3按键消抖模块的仿真图形设计这个按键消抖模块是因为按键有机械特性,使用按键来增加里程、时钟复位、白天黑夜的转变、启动与暂停时都有一个抖动的状态,无法实现数字累加。由于FPGA设计很方便,所以用它来消除抖动的步骤是十分简单,当按键输入有变化时,计时器清零,否则就累加,直到增加到一个预定值(5ns),就认为按键稳定,输出按键值。具体表现就是LCD上相应模块的数字加一。从仿真图形看连续按了3次,但是前三次按键按下的低电平保持时间少于5ns,这时被程序判定为抖动。只有第四次按压时间大于7ns才判断按键有被按压。相应模块实现了数字累加。4.2.2计时模块计时模块:图4-4计时模块框图该模块的仿真波形如下所示:图4-5计时模块仿真波形从仿真波形可以看出,从图中可以看出当启动/停止按键被按下时,时间开始计数。当复位信号被输入时,LCD时间会被清零,但是计费不会清零,费用在原来的基础上继续增加。增加里程在这个模块按下去会在LCD那个板块上计数,并显示相应的费用。这个波形图显示的是时间随着信号而变化。4.2.3计费模块计费模块的原理框图如图:图4-6计费模块原理框图从图中可以得出此模块可以接受到时钟信号、复位信号、里程信号、停止/启动信号,输出启动信号、费用信号、白天/夜晚信号、里程信号(这个里程是给LCD显示模块)。计费模块的仿真波形:图4-7计费模块的仿真波形结合计费原理框图仿真波形可以看出,当出租车接受到启动信号后开始对外输出费用白天6元的起步价、夜里8元起步价,4公里之后白天每公里增加1.5元、夜里每公里增加1.6元,10公里后统一增加2元每公里。等待时间小于等于20秒增加相应的费用(白天1.5元每公里、夜里1.6元每公里)。里程的增加选择用按键来实现,每按下一次有效抖动,就向其增加1公里并会有一个相应的价格输出。这些都会在LCD液晶显示这个模块显示出来。4.2.41602LCD液晶显示模块该模块的原理框图如下图所示:图4-81602液晶显示从这个原理框图可以看出接受时钟信号、里程信号、白天/夜里信号、费用信号、输出信号RS、RW、data信号。液晶显示仿真波形如下:图4-91602LCD液晶显示波形从仿真波形可以得出当接收到前面3个模块的相应的信号,会在液晶显示上显示出来数字,其中最直观的费用、按键增加的里程、起步价、白天/夜里的状态、超过4公里后的每公里费用,等待超过20的1.5元费用。4.3出租车计费器的整体设计与仿真我们按照出租车计费器的设计方案搭建了顶层电路,在完成各模块的设计后,其结构框图如下所示:图4-10出租车计费器的RTL图QuartusⅡ的波形激励文件最大的仿真时间是100us,我们对出租车计费器进行了仿真,而采用ms级的时钟周期会导致仿真时间过长,所以我们采用ns级的时钟周期进行仿真。我们将clk的周期设置为5ns对系统进行验证。仿真波形如图:图4-11出租车计费器的仿真波形结合两个图可以清楚的看到时钟信号为四个模块提供信号,按键消抖模块的作用是很重要的,防止错误信号产生,当按键被按下时,计时模块与计费模块收到信号并作出反应,其作用能在LCD上完全的显现出来。计数又与计费相连在一起,当里程数增加时计费会及时作出应答,而计时又会在LCD上显示。从RTL图可以很清楚的看到各个模块的连接情况,并且相应的信号都会表现出来。5调试结果及分析当代码编好后就可以给板子下载程序,来验证程序程序是否可以运行。运行结果如下图所示:图5-1计费器计费图如图所示白天起步价6元(晚上起步价8元),4公里以后白天每公里1.5元(夜里每公里1.6元),超过10公里后每公里增加2元。等在时间超过20秒收费白天收1.5元(夜里收1.6元)。按下RST键整体清零只保留显示白天/夜里如图所示:图5-2RST复位当遇见红灯或者主动要求等待时间需要计费
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 理赔服务合同协议书范本
- 清远入城证申请合同范本
- 自制挖掘机租赁合同范本
- 派遣员工终止合同协议书
- 鱼缸消毒灯销售合同范本
- 股份合同终止协议书范本
- 珠海住宅装修协议书范本
- 灯具工程分包合同协议书
- 特许经营权协议合同范本
- 签订房屋期权买卖协议书
- 珍珠专业知识课件
- 语言学纲要(新)课件
- 高中物理必修一期中测试题及答案解析
- 风冷热泵机组调试方案
- 《园林主要病虫害防治一览表》
- 部编版语文五年级上册作文审题训练题目
- 李中莹心理创伤简快辅导技巧(课堂PPT)
- VS1真空断路器说明书
- JTT230-2021汽车导静电橡胶拖地带_(高清-最新)
- 监理周例会总承包单位工作汇报PPT课件
- 生态融合绿色发展(EOD)示范项目可行性研究报告模板
评论
0/150
提交评论