基于EDA的出租车计费控制器的设计_第1页
基于EDA的出租车计费控制器的设计_第2页
基于EDA的出租车计费控制器的设计_第3页
基于EDA的出租车计费控制器的设计_第4页
基于EDA的出租车计费控制器的设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要:该设计是在 EDA地基础上利用VHDL语言、PLD设计出租车计费控制器,以MAX+PLUS软件作为开发平台,使用文本输入VHDL设计各个功能模块,然后在顶层设计作为元件,设计了出租车计费器程序并进行了仿真,使其实现计费,计程和显时以及预置和模拟汽车启动、停止、暂停等功能,并动态扫描显示车费数目、行驶路程和当前时间,从而实现一个完整地出租车费控制器.显示了硬件描述语言VHDL设计数字逻辑电路地优越性.突出了其作为硬件描述语言地良好地可读性、可移植性和易理解等优点.此程序通过下载到特定芯片后,可应用于实际地出租车计费控制器中. 录目 摘要1 前言3 1.设计背景3 1.1 EDA发展概述3

2、1.2 硬件描述语言VHDL4 1.3 VHDL语言地特点4 1.4 EDA系统框架结构5 1.5 设计工具6 2. 出租车计费系统地设计6 2.1 出租车计费设计6 2.2 基本设计思想6 2.3程序流程图7 3. 出租车计费系统地实现8 3.1 系统地总体框图9 3.2 系统各功能模块地实现.9 4. 系统仿真与调试13 5. 结论 15谢辞15 参考文献15 附录15 言 前近年来,随着改革开放地深入,市场日益繁荣,作为现代城市象征之一地出租汽车得到了蓬勃发展,经济地发展,人民生活水平地提高,促使出租汽车越来于普及.与此相应,人们对出租汽车地合理收费也提出了越来越高地要求.国外出租汽车上

3、地专用装备如:出租汽车TAXI顶灯;空车FOR HIRE标志;出租汽车计价器TAXIMETER等,也逐步安装在国内出租汽车上,已成为必不可少地应运专用设施,受到客运管理部门地监督.出租车计价器已成为乘客与驾驶员之间公正合理收费地依据,起到双方“公平秤”地作用. 随着出租车行业地发展,对出租车计费器地要求也越来越高.二十世纪后半期,随着集成电路和计算机技术地飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI地过程.同时为了提高系统地可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重

4、量轻、功耗低、速度快、成本低、保密性好而脱颖而出.目前,业界大量可编程逻辑器件(PLD),尤其是现场可编程逻辑器件(FPLD)被大量地应用在ASIC地制作当中.在可编程集成电路地开发过程中,以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果地电子设计自动化(EDA)技术主要能辅助进行三方面地设计工作:IC设计,电子电路设计以及PCB设计理想地可编程逻辑开发系统能符合大量地设计要求:它能够支持不同结构地器件,在多种平台运行,提供易于使用地界面,并且有广泛地特征. 设计背景1 发展简况1.1 EDA电子设计技术地核心就是EDA技术,EDA是指以计算机为工作台,融合应用电子技术、

5、计算机技术、智能化技术最新成果而研制成地电子CAD通用软件包,主要能辅助进行三方面地设计工作,即IC设计、电子电路设计和PCB设计.EDA技术已有30年地发展历程,大致可分为三个阶段.70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作.80年代为计算机辅助工程(CAE)阶段.与CAD相比,CAE除了有纯粹地图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计.CAE地主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析.90年代为电子系统设计自动化(EDA)阶段.1 中

6、国EDA市场已渐趋成熟,不过大部分设计工程师面向地是PC主板和小型ASIC领域,仅有小部分(约11%)地设计人员开发复杂地片上系统器件.为了与台湾和美国地设计工程师形成更有力地竞争,中国地设计队伍有必要购入一些最新地EDA技术.2 在信息通信领域,要优先发展高速宽带信息网、深亚微M集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础地新一代信息产品,发展新兴产业,培育新地经济增长点.要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据

7、管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等.有条件地企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争.开展“数控化”工程和“数字化”工程.自动化仪表地技术发展趋势地测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构.在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方向发展.外设技术与EDA工程相结合地市场前景看好,如组合超大屏幕地相关连接,多屏幕技术也有所发展.3 中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场地竞争. 在EDA软件开

8、发方面,目前主要集中在美国.但各国也正在努力开发相应地工具.日本、韩国都有ASIC设计工具,但不对外开放 .中国华大集成电路设计中心,也提供IC设计据最.相信在不久地将来会有更多更好地设计工具有各地开花并结果.但性能不是很强,软件新统计显示,中国和印度正在成为电子设计自动化领域发展最快地两个市场,年复合增长率分别达到了50%和30%.4 EDA技术发展迅猛,完全可以用日新月异来描述.EDA技术地应用广泛,现在已涉及到各行各业.EDA水平不断提高,设计工具趋于完美地地步.EDA市场日趋成熟,但我国地研发水平还很有限,需迎头赶上. 可编程逻辑器件自70年代以来,经历了PAL、GALGPLD、FPG

9、A几个发展阶段,其中CPLD/FPGA高密度可编程逻辑器件,目前集成度已高达200万门/片,它将各模块ASC集成度高地优点和可编程逻辑器件设计生产方便地特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快地速度上市,而当市场扩大时,它可以很容易地转换掩模ASIC实现,因此开发风险也大为降低.5 1.2 硬件描述语言VHDL 硬件描述语言(HDL)是一种用于设计硬件电子系统地计算机语言,它用软件编程地方式来描述电子系统地逻辑功能、电路结构和连接形式,与传统地门级描述方式相比,它更适合大规模系统地设计.例如一个32位地加法器,利用图形输入软件需要输人500至1000个门,而利用VHD

10、L语言只需要书写一行“A=B+C” 即可.而且 VHDL语言可读性强,易于修改和发现错误.早期地硬件描述语言,如ABEL、HDL、AHDL,由不同地EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成.为了克服以上不足,1985年美国国防部正式推出了高速集成电路硬件描述语言VHDL,1987年IEEE采纳VHDL为硬件描述语言标准(IEEE-STD-1076). VHDL是一种全方位地硬件描述语言,包括系统行为级.寄存器传输级和逻辑门多个设计层次,支持结构、数据流和行为三种描述形式地混合描述,因此VHDL几乎覆盖了以往各种硬件俄语言地功能,整个自顶向下或由下向上地电路设计

11、过程都可以用VHDL来完成.VHDL还具有以下优点: (1)VHDL地宽范围描述能力使它成为高层进设计地核心,将设计人员地工作重心提高到了系统功能地实现与调试,而花较少地精力于物理实现. (2)VHDL可以用简洁明确地代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设计结果地交流、保存和重用. (3)VHDL地设计不依赖于特定地器件,方便了工艺地转换. (4)VHDL是一个标准语言,为众多地EDA厂商支持,因此移植性好.6 传统地硬件电路设计方法是采用自下而上地设计方法,即根据系统对硬件地要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统地功能进行细化

12、,合理地划分功能模块,并画出系统地功能框图;接着就进行各功能模块地细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块地硬件电路连接起来再进行系统地调试,最后完成整个系统地硬件设计.采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须具备较好地设计经验,而且繁杂多样地原理图地阅读和修改也给设计者带来诸多地不便.为了提高开发地效率,增加已有开发成果地可继承性以及缩短开发周期,各ASIC研制和生产厂家相继开发了具有自己特色地电路硬件描述语言(Hardware Description Language,简称HDL).但这些硬件描述语言差异很大,各自只能在自己地特定设计环境中使用,

13、这给设计者之间地相互交流带来了极大地困难.因此,开发一种强大地、标准化地硬件描述语言作为可相互交流地设计环境已势在必行.于是,美国于1981年提出了一种新地、标准化地HDL,称之为VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,简称VHDL.这是一种用形式化方法来描述数字电路和设计数字逻辑系统地语言.设计者可以利用这种语言来描述自己地设计思想,然后利用电子设计自动化工 .7实现其功能PLD最后用,再自动综合到门电路,具进行仿真1.3 VHDL语言地特点 具有良好地可读性,即容易被计算机接受,也容易被

14、读者理解.使用期长,不会因工艺变化而使描述过时.因为VHDL地硬件描述与工艺无关,当工艺改变时,只需修改相应程序中地属性参数即可. 支持大规模设计地分解和已有设计地再利用.一个大规模地设计不可能由一个人独立完成,必须由多人共同承担,VHDL为设计地分解和设计地再利用提供了有力地支持. 当电路系统采用VHDL语言设计其硬件时,与传统地电路设计方法相比较,具有如下地特点: 即从系统总体要求出发,自上而下地逐步将设计地内容细化,最后完成系统硬件地整体设计.在设计地过程中,对系统自上而下分成三个层次进行设计: 第一层次是行为描述.所谓行为描述,实质上就是对整个系统地数学模型地描述.一般来说,对系统进行

15、行为描述地目地是试图在系统设计地初始阶段,通过对系统行为描述地仿真来发现设计中存在地问题.在行为描述阶段,并不真正考虑其实际地操作和算法用何种方法来实现,而是考虑系统地结构及其工作地过程是否能到达系统设计地要求. 第二层次是RTL方式描述.这一层次称为寄存器传输描述(又称数据流描述).如前所述,用行为方式描述地系统结构地程序,其抽象程度高,是很难直接映射到具体逻辑元件结构地.要想得到硬件地具体实现,必须将行为方式描述地VHDL语言程序改写为RTL方式描述地VHDL语言程序.也就是说,系统采用RTL方式描述,才能导出系统地逻辑表达式,才能进行逻辑综合. 第三层次是逻辑综合.即利用逻辑综合工具,将

16、RTL方式描述地程序转换成用基本逻辑元件表示地文件(门级网络表).此时,如果需要,可将逻辑综合地结果以逻辑原理图地方式输出.此后可对综合地结果在门电路级上进行仿真,并检查其时序关系. 应用逻辑综合工具产生地门网络表,将其转换成PLD地编程码,即可利用PLD实现硬件电路地设计. 由自上而下地设计过程可知,从总体行为设计开始到最终地逻辑综合,每一步都要进行仿真检查,这样有利于尽早发现设计中存在地问题,从而可以大大缩短系统地设计周期. 由于目前众多制造PLD芯片地厂家,其工具软件均支持VHDL语言地编程.所以利用VHDL语言设计数字系统时,可以根据硬件电路地设计需要,自行利用PLD设计自用地ASIC

17、芯片,而无须受通用元器件地限制.8 1.4 EDA系统框架结构 EDA系统框架结构(FRAMEWORK)是一套配置和使用EDA软件包地规范.目前主要地EDA系统都建立了框架结构,如CADENCE公司地Design Framework,Mentor公司地Falcon Framework,而且这些框架结构都遵守国际CFI组织制定地统一技术标准.框架结构能将来自不同EDA厂商地工具软件进行优化组合,集成在一个易于管理地统一地环境之下,而且还支持任务之间、设计师之间以及整个产品开发过程中地信息传输与共享,是并行工程和自顶向下设计施地实现基础. EDA技术地每一次进步,都引起了设计层次上地一次飞跃,从设

18、计层次上分,70年代为物理级设计(CAD),80年代为电路级设计(CAE),90年代进入到系统级设计(EDA).物理级设计主要指IC版图设计,一般由半导体厂家完成,对电子工程师没有太大地意义,因此本文重点介绍电路级设计和系统级设计. 仿真通过后,根据原理图产生地电气连接网络表进行PCB板地自动布局布线.在制作PCB板之前还可以进行PCB后分析,其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后地结果参数反标回电路图,进行第二次仿真,也称为后仿真.后仿真主要是检验PCB板在实际工作环境中地可行性. 由此可见,电路级地EDA技术使电子工程师在实际地电子系统产生前,就可以全面地

19、降低了,缩短了开发时间,从而将开发风险消灭在设计阶段,了解系统地功能特性和物理特性开发成本. 系统级设计 进人90年代以来,电子信息类产品地开发明显呈现两个特点:一是产品复杂程度提高;二是产品上市时限紧迫.然而,电路级设计本质上是基于门级描述地单层次设计,设计地所有工作(包括设计忙人、仿真和分析、设计修改等)都是在基本逻辑门这一层次上进行地,显然这种设计方法不能适应新地形势,一种高层次地电子设计方法,也即系统级设计方法,应运而生.9 高层次设计是一种“概念驱动式”设计,设计人员无须通过原理图描述电路,而是针对设计目标进行功能描述.由于摆脱了电路细节地束缚,设计人员可以把精力集中于创造性地方案与

20、概念地构思上,而且这些概念构思以高层次描述地形式输人计算机,EDA系统就能以规则驱动地方式自动完成整个设计.这样,新地概念就能迅速有效地成为产品,大大缩短了,产品地研制周期.不仅如此,高层次设计只是定义系统地行为特性,可以不涉及实现工艺,因此还可以在厂家综合库地支持下,利用综合优化工. 设计工具1.5 Altered公司开发地MAX+PLUS开发系统能提供充分自由地设计输入方法和设计工具选择,可满足编程逻辑设计所有要求. MAX+PLUS开发系统是一个完全集成化、易学易用地可编程逻辑设计环境,它可以在多种平台上运用.它所提供地灵活性和高效性是无可比拟地.其丰富地图形界面,辅之以完整地、可及时访

21、问地在线文档,使学生能够轻松掌握和使用MAX+PLUS软件.MAX+PLUS软件支持各种HDL设计输入选项,包括VHDL、VerilogHDL和Altera自己地硬件描述语言AHDL,它允许设计人员添加自己认为有价值地宏函数. MAX+PLUS系统地核心Compiler支持Altera公司地FLEX10K、FLEX8000、FLEX6 000、MAX9000、MAX7000、MAX5000和Classic可编程逻辑器件系列,提供了商业界唯一真正与结构无关地可编程逻辑设计环境.MAX+PLUS地编译器还提供了强大地逻辑综合与优化功能,使用户比较容易地将设计集成到器件中.10 MAX+PLUS设计

22、环境所提供地灵活性和高效性是无可比拟地.其丰富地图形界面,辅之以完整地、可及时访问地在线文档,使设计人员能够轻松、愉快地掌握和使用MAX+PLUS软件. 编程器是一种专门用于对可编程器(如EPROM,EEPROM,GAL,CPLD,PAL等)进行编程地专业设备 PLD器件地逻辑功能描述一般分为原理图描述和硬件描述语言描述,原理图描述是一种直观简便地方法,它可以将现有地小规模集成电路实现地功能直接用PLD器件来实现,而不必去将现有地电路用语言来描述,但电路图描述方法无法做到简练;硬件描述语言描述是可编程器件设计地另一种描述方法,语言描述可能精确和简练地表示电路地逻辑功能,现在PLD地设计过程中广

23、泛使用.常用地硬件描述语言有ABEL,VHDL语言等. 出租车计费控制器地设计2 出租车计费设计要求2.1 (1)本计费器设计分白天(8:0023:00)跟夜间(23:008:00).其收费标准白天跟夜间不同. 白天时间: 1车起步开始计费.首先显示起步价(本次设计起步费为10.0元),车在行驶3 km以内,只收起步价10.0元. 2车行驶超过3 km而小于8公里时,按每公里2.0元计费(在10.0元基础上每行驶1 km车费加2.0元),车费依次累加. 3行驶路程达到或超过8 km后,每公里加收3.0元地车费,车费变成按每公里3.0元开始计费.车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车

24、费保持不变.若停止则车费清零,等待下一次计费地开始. 夜间时间: 1车起步开始计费.首先显示起步价(本次设计起步费为12.0元),车在行驶3 km以内,只收起步价12.0元. 1 元基础上每行驶12.0在(元计费3.0按每公里,公里时8而小于km3 车行驶超过2km车费加3.0元),车费依次累加. 3行驶路程达到或超过8 km后,每公里加收4.0元地车费,车费变成按每公里4.0元开始计费.车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变.若旅客下车则车费清零,等待下一次计费地开始. (2)功能:能模拟汽车启动、停止、暂停、车速变化等状态 (3)设计动态扫描电路:本系统共8位数码管,

25、分别用3位显示路程,3位显示车费和2位显示小时时间,路程地最小分辨为0.1千M,车费地最小分辨为0.1元,另外分别用7个二极管来显示分钟和秒. 基本设计思想2.2 (1)根据计费器设计要求,可将该系统分成大地三模块,一块为计费模块,一块为时间计时模块,另一块 .其中计费模块又可分为路程和车费模块为输出显示模块. (2)计费器模拟中采用脉冲来检测车所行驶距离,当检测到一脉冲便使系统路程加100M. (3)通过分析可以设计出计费器地顶层框图如图(2-1)和(2-2)所示: 计费开始 初始装载时间00 :0000值间当前时读起 确定起步价通过分钟加一按 纽调整分钟公里后开始正常计3 费通过小时加一

26、按纽调整小时 stop 计费结束保持车费reset 显示enable enmin进入正常计时clear示状enhour清除计费显示 2-1 图() 控车车启动 模制计态动 块 暂停 费显示基本速/加速程 率里显显费计动态示 显示 示输出输 出 )图(2-2 程序流程图23 程序流程图如图( 2-3) 里程显示里程不计数 N 里程计数对时间进行判 Y 断,白天和夜 车开始启动 间不同收计费器计车、清Y车费显N车跑完成一后 2-3图() 出租车计费控制器地实现3 计费器地总体框图3.1 (1)计费器地总体框图如图(3-1)和图(3-2). 在图(3-1)中,模块(second1),模块(minut

27、e11)和模块(hour1)共同构成一个时间计数器,其中模块(second1)和模块(minute11)都是为60进制地计数器,分别实现秒和分钟计数地功能.模块(hour1)为24进制小时计数器,当小时计数器为(822)时,其输出端口(qiuhuan)输出为高电平,否则为低电平.模块(SOUT1)为计费系统地控制模块.其中输入端(enable)实现启动功能,并对输入脉冲(clk)进行检测从而实现路程计算并输出.输入端(stop)和(clear)分别实现路程暂停计数和显示清零功能.该模块输出端口(SI)可对路程不同阶段进行各状态表示.模块(counter11)为计费模块.当有脉冲来时,对输入端(

28、qiuhuan)进行逻辑判断,从而确定计费标准.同时也对输入端(SI)进行判断,实现根据所行驶地路程地不同而进行不同地计费.该模块同时对车费进行计算并输出显示.模块(PULSE)在该系统中为分频器,它有两个用处,分别可当作模拟低速和对路程每500M进行车费计算. 模块(MS)为模拟变速模块,由输入端(js)控制. 在图(3-2)中,模块(se)为8进制选择模块.模块(xxx2)通过模块(se)选择实现控制输出.模块(DI)译码器,实现输出在数码管上显示. )3-1图( 3-2) 图( 计费器各功能模块地实现3.2 实现模块 second1(1)该模块为秒计数模块.有四个输入端和两个输出端,其中

29、输入端有一个秒脉冲信号和一个分 位设置并有一清零端,实现60进制功能.如下图(3-3)所示. (3-3)图 实现minute11(2)模块该模块为分钟计时器模块,其结构,功能都和上面 second1模块一样,如下图 (3-4)所示. 图(3-4) 地实现模块 hour1(3)该模块为24进制,实现小时计时功能,并带有一输出端QIEHUAN,其输出电平地高低决定了计费地 不同,如下图(3-5)所示. (3-5)图 地实现counter11(4)模块该模块为车费控制输出部分,其中clr1为清零,clk_div为脉冲输入端,当为高电平脉冲 时对SI和QIUHUAN进行状态判断,并进行车费计算输出,如

30、下图(3-6)图所示. (3-6)图 地实现ms(5)模块该模块实现汽车变速功能,当js为分别为高低电平时,用不同地输出脉冲来当作汽车行驶100 M地检测脉冲,如下图(3-7)所示. (3-7)图 实现模块pulse(6) .所示(3-8)如下图,对车费进行每半公里进行一次计费,分频5该模块为 (3-8)图 地实现suot1(7)模块 输入端口clk,enable,sto,clr, 分别为汽车地百M脉冲,开始,暂停和清零按键.并对路程 计算输出 ,输出端口(SI)可对路程不同阶段进行各状态表示如下图(3-9)所示. (3-9)图 地实现xxx2(8)模块此模块经8进制选择器将时间中地小时,路程

31、,车费输出到输出端(D),如下图(3-10)图所示 (3-10)图 地实现模块se (9) 功能为8进制选择器,如下图(3-11)图所示 (3-11)图 实现 di (10)模块 该模块最终实现汽车路程,车费和时间在数码管地显示,如下图(3-12)所示. (3-12)图 计费器仿真与调试4 .地仿真结果计费模块(cuonter11)4.1 计费模块(counter)地仿真如下图(4-1)所示 图(4-1) 由图(4-1)可知,当SI=1时,表示出租车处在(0-3公里)范围.从图中可以看到当QIEHUAN=1时.C3C2C1=100,表示只收起步价10.0元.当SI=2时,表示出租车路程已大于3

32、公里,当QIEHUAN=1时,每公里加2.0元,当QIEHUAN=0时,每公里加3.0元.(图中 CLK_DIV每个周期代表0.5公里). .(sout1)地仿真结果4.2路程计算模块 路程计算模块(sout1)地仿真如下图(4-2)所示 (4-2) 图为高电平时路程否则从图中可看到当ENABLELC3LC2LC1=000.当CLR=1时,路程(4-2)由图可知, CLK. (图中,SI=0SI=1由图中还可看出表示路程小于3公里表示暂停等.STO=1+1.=路程当时路程不变 ).每个周期代表0.1公里 .系统总地地仿真结果4.3 系统总地仿真如下图(4-3)所示 图(4-3) 由图(4-3)

33、可知,时钟模块中当SETMIN和SETHOUR都为'1'时时钟模块自动进行分和小时分别加1功能.其中a2.0为八进制选择器,q6.0为数码管显示输入端. 计费器调试结果4.4 (4-4)计费器硬件电路图如图 1 图(4-4) 在图(4-4)中数码管显示为动态显示.芯片为(EPF10K10LC84-4) 2 FPGA验证: 本计费器采用地是EDA-V型实验开发系统.本实验由主板和下载板组成,下载板由ALTERA公司生产地FPGA(EPF10KLC84-4)芯片及单片机系统组成还包括EEPROM等.可以完成FPGA设计资料地下载存储,显示等功能,可以和主板配合完成CPLD地各种开发

34、及实验. 本计费器设计通过在MAX+PLUS软件进行编译,综合最后下载到FPGA(EPF10KLC84-4)芯片并在实验开发系统上进行实验,实际测试表明计费器地各项功能要求均得到满足并且系统工作良好. 结论 5 出租车计费器地设计已全部完成,能按预期地效果进行模拟汽车启动、加速、停止、暂停等功能,并且还能根据所设时间进行白天与夜间收费不同地标准,并设计动态扫描电路显示车费数目,路程和当前时间,由动态扫描电路来完成.车暂时停止不计费,车费保持不变.若停止则车费清零,等待下一次计费地开始.各模块完成后,在将它们组合成完整地出租车系统.在设计过程中还需要改进地是控制系统地纠错功能.出租车计费器地设计

35、中体现了覆盖面广,描述能力强,是一个多层次地硬件描述语言及PLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定地价值. 附录 地仿真程序 second1<1>模块 。library ieee 。use ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all entity second1 is 。 port(clk: in std_logic 。 clka: in std_logic 。 reset: in std_logic 。 setmin:in std_logic 。 enmin: out std_log

36、ic 。 daout: out std_logic_vector(6 downto 0) 。end entity second1 architecture art of second1 is 。signal count:std_logic_vector(6 downto 0) 。signal enmin_1,enmin_2:std_logic begin 。daout<=count 。enmin_2<=(setmin and clka) 。enmin<=(enmin_1 or enmin_2) process(clk,reset,setmin) begin 清零;if(res

37、et='1')then - 。潣湵?尽?尰 。enmin_1<='0' elsif(clk'event and clk='1')then if(count(3 downto 0)=1)then if(count<16#60#)then 进位;if(count=A1001)then - 。潣湵?尽?尰enmin_1<='1'。 else 。enmin_1<='0'count<=count+7。 。end if else 。潣湵?尽?尰 。end if elsif(count<

38、;16#60#)then 。count<=count+1 。enmin_1<='0' after 100 ns else 。enmin_1<='0'潣湵?尽?尰 。end if 。end if 。end process 。end art 地仿真程序 minute11<2>模块 。library ieee 。use ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all entity minute11 is 。 port(clk: in std_logic 。 clks: in

39、 std_logic 。 reset: in std_logic 。 sethour:in std_logic 。 enhour: out std_logic 。 daout: out std_logic_vector(6 downto 0) 。end entity minute11 architecture art of minute11 is 。signal count:std_logic_vector(6 downto 0) 。signal enhour_1,enhour_2:std_logic begin 。daout<=count 。enhour_2<=(sethour

40、and clks) 。enhour<=(enhour_1 or enhour_2) process(clk,reset,sethour) begin if(reset='1')then 。潣湵?尽?尰 。enhour_1<='0' elsif(clk'event and clk='1')then if(count(3 downto 0)=1)then if(count<16#60#)then if(count=A1001)then 。潣湵?尽?尰enhour_1<='1' else 。enhour_

41、1<='0'count<=count+7。 。end if else 。潣湵?尽?尰 。end if elsif(count<16#60#)then 。count<=count+1 。enhour_1<='0' after 100 ns else 。enhour_1<='0'潣湵?尽?尰。 。end if 。end if 。end process 。end art 地仿真程序模块hour1<3> 。library ieee 。use ieee.std_logic_1164.all 。use ieee

42、.std_logic_unsigned.all entity hour1 is 。 port(clk: in std_logic 。 reset: in std_logic 。 qiehuan: out std_logic 。 daout: out std_logic_vector(7 downto 0) 。end entity hour1 architecture art of hour1 is 。signal count:std_logic_vector(7 downto 0) begin 。daout<=count process(clk,reset) begin if(reset

43、='1')then 。潣湵?尽? elsif(clk'event and clk='1')then if(count>16#06# and count<16#22#)then 。qiehuan<='1' 。end if if(count<=16#06# or count>=16#22#)then 。qiehuan<='0' 。end if if(count(3 downto 0)=1)then if(count<16#23#)then 。count<=count+7 else

44、 。潣湵?尽? 。end if elsif(count<16#23#)then 。count<=count+1 else 。潣湵?尽? 。end if 。end if 。end process 。end art 地仿真程序 counter11<4>模块 。LIBRARY IEEE 。USE IEEE.STD_LOGIC_1164.ALL 。USE IEEE.STD_LOGIC_UNSIGNED.ALL ENTITY COUNTER11 IS 。 PORT(CLK_DIV:IN STD_LOGIC 。 CLR1:IN STD_LOGIC 。 QIEHUAN:IN STD_

45、LOGIC 。 SI:IN STD_LOGIC_VECTOR(1 DOWNTO 0) 。 C1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) 。 C2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) 。 C3:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) 。END COUNTER11 ARCHITECTURE ONE OF COUNTER11 IS BEGIN ,CLR1,SI,QIEHUAN) PROCESS(CLK_DIV 。 VARIABLE Q1: STD_LOGIC_VECTOR(3 DOWNTO 0) 。ARIABLE Q2

46、: STD_LOGIC_VECTOR(3 DOWNTO 0) V 。ARIABLE Q3: STD_LOGIC_VECTOR(3 DOWNTO 0) V BEGIN -清零;?尰?尰?剌?久儠?尽?。 ELSIF CLK_DIV'EVENT AND CLK_DIV='1' THEN 白天;IF (QIEHUAN='1')THEN - CASE SI IS 暂停; -Q3:=Q3。 WHEN 。Q2:=Q2 启动; -?就。?圠?就?儠?尽?。?尰。 ;路程=8-3= WHEN => IF Q2<1 THEN 。 Q2:=Q2+1 ELSE 。?儠?尽? IF Q3<1 THEN 。 Q3:=Q3+1 。 END IF 。 END IF 。?儠?尽? 路程; WHEN => IF Q1<1 THEN -8 。 Q1:=Q1+5 ELSE 。?尰 。 END IF IF Q1=1 THEN IF Q2<1 THEN 。 Q2:=Q2+1 ELSE 。?尰 IF Q3<1 THEN 。 Q3:=Q3+1 。 END IF 。 END IF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论