您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 出租车计费系统的VHDL实现
1引言近年来,我国出租汽车行业迅猛发展,出租汽车已成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交通工具。它对繁荣经济、促进发展、方便群众、改善交通起到了积极作用。出租汽车对我国人民物质和文化生活影响之大、作用之广是前所未有的。出租汽车行业的服务水平和程度已经成为现代化的重要标志。出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出租汽车计价器才能投入营运。出租汽车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具。计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器量值准确与否,直接关系到经营者和消费者的经济利益随着出租车行业的发展,对出租车计费器的要求也越来越高。二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的过程。同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。目前,业界大量可编程逻辑器件(PLD),尤其是现场可编程逻辑器件(FPLD)被大量地应用在ASIC的制作当中。在可编程集成电路的开发过程中,以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果的电子设计自动化(EDA)技术主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计VHDL就是超高速集成电路硬件描述语言。覆盖面广,描述能力强,是一个多层次的硬件描述语言。在VHDL语言中,设计的原始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的电路或版图参数描述。具有良好的可读性,即容易被计算机接受,也容易被读者理解。使用期长,不会因工艺变化而使描述过时。因为VHDL的硬件描述与工艺无关,当工艺改变时,只需修改相应程序中的属性参数即可。支持大规模设计的分解和已有设计的再利用。一个大规模的设计不可能由一个人独立完成,必须由多人共同承担,VHDL为设计的分解和设计的再利用提供了有力的支持。2第1章EDA及QuartusII简介1.1EDA发展概况电子设计技术的核心就是EDA技术,EDA是指以计算机为工作台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)阶段。EDA系统框架结构(FRAMEWORK)是一套配置和使用EDA软件包的规范。目前主要的EDA系统都建立了框架结构,如CADENCE公司的DesignFramework,Mentor公司的FalconFramework,而且这些框架结构都遵守国际CFI组织制定的统一技术标准。框架结构能将来自不同EDA厂商的工具软件进行优化组合,集成在一个易于管理的统一的环境之下,而且还支持任务之间、设计师之间以及整个产品开发过程中的信息传输与共享,是并行工程和自顶向下设计施的实现基础。在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50%和30%。EDA技术的每一次进步,都引起了设计层次上的一次飞跃,从设计层次上分,70年代为物理级设计(EDA),80年代为电路级设计(CAE),90年代进入到系统级设计(EDA)。物理级设计主要指IC版图设计,一般由半导体厂家完成,对电子工程师没有太大的意义,因此本文重点介绍电路级设计和系统级设计。仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线。在制作PCB板之前还可以进行PCB后分析,其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反标回电路图,进行第二次仿真,也称为后仿真。后仿真主要是检验PCB板在实际工作环境中的可行性。由此可见,电路级的EDA技术使电子工程师在实际的电子系统产生前,就可以全面3地了解系统的功能特性和物理特性,从而将开发风险消灭在设计阶段,缩短了开发时间,降低了开发成本。系统级设计进人90年代以来,电子信息类产品的开发明显呈现两个特点:一是产品复杂程度提高;二是产品上市时限紧迫。然而,电路级设计本质上是基于门级描述的单层次设计,设计的所有工作(包括设计忙人、仿真和分析、设计修改等)都是在基本逻辑门这一层次上进行的,显然这种设计方法不能适应新的形势,一种高层次的电子设计方法,也即系统级设计方法,应运而生。高层次设计是一种“概念驱动式”设计,设计人员无须通过原理图描述电路,而是针对设计目标进行功能描述。由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概念的构思上,而且这些概念构思以高层次描述的形式输人计算机,EDA系统就能以规则驱动的方式自动完成整个设计。这样,新的概念就能迅速有效地成为产品,大大缩短了,产品的研制周期。不仅如此,高层次设计只是定义系统的行为特性,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工。1.2QuartusII简介QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对MaxplusII的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII中包含了许多诸如SignalTapII、ChipEditor和RTLViewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII友好的图形界面及简便的使用方法。AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。4第2章系统设计方案2.1系统设计要求设计一个满足日常生活所需功能的车租车计费器。该计费器能实现计费功能,车起步开始计费,首先显示起步价,起步费为3.00元,车在行驶3km以内,只收起步价。当里程大于3km时每公里按1.6元计费。等待累计时间超过1min,按每分钟3.4元计费。所以总费用按下式计算:总费用=起步价+(里程-3km)*里程单价+等候时间*等候单价能够实现显示功能,显示汽车行驶里程:用两位数字显示,显示方式为“XX”,单位为km。计程范围为0~99km,计程分辨率为1km。显示等候时间:用两位数字显示分钟,显示方式为“XX”。计时范围为0~59min,计时分辨率为1min。显示总费用:用四位数字显示,显示方式为“XXX.X”,单位为元。计价范围为999.9元,计价分辨率为0.1元。2.2设计原理2.2.1系统的结构和设计流程系统由分频模块、控制模块、计量模块和计费模块四部分组成。计量模块是整个系统实现里程计数和时间计数的重要部分;控制模块是实现不同计费方式的选择部分;设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。计量模块采用1HZ的驱动信号,计费模块采用16HZ、34HZ的驱动信号;计量模块每计数一次,计费模块就实现16次或者34次计数,即为实现计程时的1.6元/min、计程时时的3.4元/km的收费;出租车计费器系统结构如图2.1所示。图2.1出租车计费器系统结构图kongzhi模块jifei模块jiliang模块fenpin模块52.2.2系统的工作原理系统有两个脉冲输入信号clk_256、fin,两个控制输入开关start、stop,总费用数c0~c3,行驶距离k0~k1,等待时间m0~m1等。控制过程为:start作为计费开始开关,当start为高电平时,系统开始根据输入的情况计费。当有乘客上车并开始行驶时,fin脉冲到来,进行行驶计费,此时的stop需要置为0;如需停车等待,就把stop变为高电平,并去除fin输入脉冲,进行等待计费;当乘客下车且不等待时,直接将start置为0,系统停止工作。系统的元件框图如图2.2所示。图2.2系统的元件框图2.2.3系统总体顶层框图图2.3系统总体顶层框图6第3章主要模块3.1分频模块分频模块是对系统时钟频率进行分频,分别得到16HZ、34HZ、1HZ三种频率;本设计中通过三种不同频率的脉冲信号实现在计程车在行驶、等待两种情况下的不同计费。分频模块框图如图3.1所示。图3.1分频模块框图3.2计量模块本模块实现对于出租车在行驶和等待过程中的继承和计时功能;当行驶里程大于3KM时,本模块中en0信号变为1;当等待时间大于1min时,本模块中en1信号变为1;clk1每来一个上升沿,计量模块实现一次计数,里程数或者等待时间加1;计量模块框图如图3.2所示图3.2计量模块框图73.3计费模块本模块根据输入的clk2信号变化,调节费用的计数,c0、c1、c2、c3分别表示费用的显示,计费模块框图如图3.3所示。图3.3计费模块框图3.4控制模块模块主要是通过两个不同的输入使能信号,对两个输入脉冲进行选择输出;使能信号是计量模块中的输出,两个输入脉冲是分频模块输出的16HZ、34HZ的脉冲;本模块实现了双脉冲的二选一;控制模块框图如图3.4所示。图3.4控制模块框图8第4章仿真结果与分析4.1系统总体仿真对于系统总体进行仿真,得到的仿真波形如图4.1所示图4.1系统总体仿真波形图由图中可以看出,当fin脉冲信号到来时,实现了行驶计费,当行驶里程超过三公里,则再按每公里1.6元计费;当stop为高电平,即进入等待计时收费;当等待时间超过1min时,每过一分钟加3.4元,即为实现每等一分钟收费3.4元。结果验证:出租车的起步价是3元,当行驶了89KM的时候,收费为3+(89—3)*1.6=140.6元;等待三分钟时,收费为150.8元。94.2各个电路模块的仿真分析图4.2.1分频模块仿真波形图及分析图4.2分频模块仿真波形图由图中的周期时间可以看出,三种输出的信号脉冲对应的频率比实现了16:34:1。4.2.2计量模块仿真波形图及分析图4.3
本文标题:出租车计费系统的VHDL实现
链接地址:https://www.777doc.com/doc-2055001 .html