




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于VHDL语言的出租车计费器设计目录TOC\o"1-3"\h\u60661前言 175442FPGA设计流程和VHDL语言 2318692.1VHDL语言的特点 2263422.1.1VHDL程序的基本结构 329272.1.2VHDL的特点 3173962.2FPGA的设计流程 4296242.2.1FPGA的结构及工作原理 4136692.2.2FPGA的设计流程 698932.2.3QuartusⅡ软件介绍 8298253硬件资源 963403.1芯片型号 9272323.2FPGA程序储存电路 10170403.3时钟输入 10313353.4按键控制管脚分配 11233893.5LCD液晶显示 125053.6BANK的选择 13186564出租车计费器的设计 14159764.1出租车计费器的设计方案 14204264.2计费器软件模块设计 1650294.2.1按键消抖模块 16138924.2.2计时模块 17167094.2.3计费模块 17203104.2.41602LCD液晶显示模块 19165944.3出租车计费器的整体设计与仿真 20241925调试结果及分析 2180686结论 2230414参考文献 251前言最早的计费器只可以完成简单的计程功能因为都是全部采用的机械齿轮结构,只能简单的当做一个里程表。后来,随着时间的流逝,技术的进步已经产生了第二代计费器。第二代是手摇计算机与机械结构相结合,实现了计费器的半机械半电子化。更新后的第二代计费器能做到计价同时完成记计里程。而今,随着大规模集成电路的发展,第三代计费器诞生了——全电子化的计费器。第三代计费器功能也在不断完善,当计费器应用了单片机后,第三代计费器就可以完成计程,计价,显示等基本工作,成为了现代出租车计费器的模型。计费器是用于公平贸易结算的工具,是出租汽车司机、公司和乘坐出租汽车的消费者之间公平渠道,多以计费器能否准确计价,直接关系到经营者和消费者的经济利益,现在的出租车是城市交通的重要组成部分,它的行业能否健康的发展也获得越来越多的关注。汽车计费器它是出租车行业发展的重要标志,是乘客与司机双方的交易准则,是出租车中最重要的工具,它关系着交易双方的利益。安装一款良好性能的计费器无论是对广大出租车司机朋友还是乘客来说都是很必要的,所以一款功能简单的计费器成了车主关心的问题。因此FPGA器件集成度高、方便易用、开发和上市周期短,精度高承担了这个任务。出租汽车现在俨然已成为城市公共交通的重要组成部分,它伴随着我国国民经济的高速发展,人民生活水平的显著提高,城市的交通日趋完善,越来越便利了人们的日常出行,而出租车上,计费器是出租车上必不可少的重要仪器,它是负责出租车营运收费的外用智能化仪表,能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的重要器具。结合目前出租车行业迅猛发展的趋势,现在时代的发展对于计费器的灵活性要求越来越高,本次设计希望尝试一些新的方法来予以解决以上问题。(1)利用FPGA取代MCU现在解决传统电子设计不能完成的任务都可以依靠FPGA等数字可编程器件,也就是利用FPGA来实现出租车计费器。FPGA可行性很高,可以大大减少外围器件,能够用软件完全仿真,灵活度高,进而能设计一些复杂的系统,而且编好的系统可以在不同的FPGA或CPLD芯片上通用。由于FPGA能完成任何数字器件的功能,所以使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。同时由于VHDL语言编写的程序决定了FPGA的功能,可以不拘泥于某种芯片的特殊指令,更加提高了产品的更新换代能力。(2)增加计价标准设定功能通过此功能模块的设计可以更加灵活的设计计价标准,体现目前出租车行业发展的需要,使运价、油价联动成为可能。2FPGA设计流程和VHDL语言2.1VHDL语言的特点Verilog用它可以表示逻辑电路图、逻辑表达式,是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,还可以表示数字逻辑系统所完成的逻辑功能。可以从顶层到底层逐层描述自己的设计思想,数字电路设计者利用这种语言,用一系列分层次的模块来表示极其复杂的数字系统。然后,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,利用电子设计自动化(EDA)工具经过自动综合工具转换到门级电路网表。接下来,把网表转换为要实现的具体电路结构,再用专用集成电路ASIC或FPGA自动布局布线工具。2.1.1VHDL程序的基本结构一个完整的VHDL语言程序通常包含实体(entity)、构造体(architecture)、配置(configuration)、包集合(package)和库(library):l功能:实体:用于描述所设计的系统的外部接口信号;构造体:用于描述系统内部的结构和行为;包集合:存放各设计模块都能共享的数据类型、常数和子程序库;配置:用于从库中选取所需单元来组成系统设计的不同版本;库:存放已经编译的实体、构造体、包集合和配置。图2-3VHDL程序的结构2.1.2VHDL的特点(1)功能全面,设计灵活。VHDL采用自顶向下的描述方法,即体现层次化设计又体现模块化设计思想。(2)独立于器件的设计、与工艺无关。(3)具有很强程序的移植性。(4)语法规范,易于修改。(5)易于共享和复用。2.2FPGA的设计流程结合其他大多数设计情况,FPGA的设计流程一般包括以下部分设计输入、RTL仿真、设计综合、布线和布线、时序仿真、时序分析和上系统验证等主要步骤。2.2.1FPGA的结构及工作原理FPGA基本结构由6部分组成,简化为的6部分如图所示的分别为基本可编程逻辑单元、嵌入式块RAM、可编程输入/输出单元、底层嵌入功能单元、丰富的布线资源和内嵌专用硬核等,如图图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.2.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.2.3QuartusⅡ软件介绍QuartusⅡ它提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,是Altera公司自行设计的一个完全集成化、易学易用的可编程逻辑设计环境,包括:(1)可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;(2)芯片(电路)平面布局连线编辑;(3)LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;(4)功可使用SignalTapⅡ逻辑分析工具进行嵌入式的逻辑分析;(5)定时/时序分析与关键路径延时分析;(6)完备的电路功能仿真与时序逻辑仿真工具;(7)能强大的逻辑综合工具;(8)支持软件源文件的添加和创建,并将它们连接起来生成编程文件;(9)使用组合编译方法可一次完成整体设计流程;(10)可读入标准的EDIF网表文件、VHDL网表文件、和Verilog网表文件;(11)能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件;(12)高效的期间编程与验证工具;(13)自动定位编译错误。QuartusⅡ的设计流程:(1)设计输入:完成器件的硬件描述,包括文本编辑器、块与符号编辑器、MegaWizard插件管理器、约束编辑器和布局编辑器等工具;(2)综合:包括分析和综合器、辅助工具和RTL查看器等工具;(3)不惧连线:将设计综合后的网表文件映射到实体器件的过程,包括Fitter工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具;(4)时序分析3硬件资源3.1芯片型号芯片如图所示:图3-1芯片型号图选择的芯片为EP4CE6E22C8,该芯片的功耗低、价格便宜编辑单元有10320个、嵌入式存储资源有414Kbits、两个通用锁相环、十个全局时钟网络、8BANK。3.2FPGA程序储存电路如下图所示:图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的选择图如下图所示:图3-8BANK原理图从原理图与引脚分配图中可以可以得出引脚分配情况,该芯片的8个BANK全部被利用,达到资源的最大利用化。从引脚分配图可以直观的看出本设计用了8个BANK,如图所示:图3-7BANK图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按键消抖模块的仿真图形设计这个按键消抖模块是因为按键有机械特性,使用按键来增加里程、时钟复位、白天黑夜的转变、启动与暂停时都有一个抖动的状态,无法实现数字累加。由于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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度股份代持与股权激励实施方案协议
- 2025年度足疗中心员工工资保底与员工满意度调查协议
- 房产证抵押贷款额度调整协议(2025年度)
- 2025年度食品包装设计及委托加工合同
- 二零二五年度储蓄存款业务创新激励机制合同
- 二零二五年度银行账户监管协议:银行账户资金监管与网络安全保障合同
- 二零二五年度智能物流件代发合作协议
- 二零二五年度体育赛事运营补充协议范本
- 二零二五年度茶饮连锁品牌全国代理权独家协议
- 幼儿园学生人身安全赔偿协议范本2025
- 中国着名的塔课件
- 邢台市区土地级别及基准地价表
- 《推荐》500kV输电线路应急处置预案6个
- 李小建《经济地理学》(电子版)
- 中央空调安装施工组织设计方案(水、多联机)
- 2022年最新苏教版五年级下册科学全册教案
- 咖啡树的修剪方法和技术_种植技巧
- 小学四年级数学奥数应用题100题
- [图文]抽水试验教程-
- 《平方差公式(1)》导学案
- 见证取样规范最新
评论
0/150
提交评论