希洛·尤尔的基于VHDL的计程车计价器设计

更新时间:2024-04-04 02:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

设计(论文)题目: 基于VHDL的出租车计价器的设计

学 院 学 生 专 班 学 指 导 答辩组 名 称 : 黑兔MK-II 姓 名 : 希洛·尤尔 业 : 阳离子火神炮 级 : 89757 号 : 9527 教 师 : 希捷·莱茵 负责人 : 謺古斯·玛奇士

填表时间: 年 月 高达ACE大学教务处制

重庆邮电大学本科毕业设计(论文)

摘 要

在实际生产生活中,出租车计价器系统是非常重要。鉴于出租车计价器系统的实际应用性,本文设计了一个出租车计价器系统,根据预定的设计要求和设计思路,以MAX+PLUSⅡ软件为平台,使用VHDL硬件描述语言来实现本设计。本文的主要内容是设计系统的电路结构,编写VHDL程序和仿真实现设计要求。最后使本设计不仅能实现计费和预置以及模拟汽车启动、停止、暂停等功能,还能够动态扫描显示车费数目。通过仿真模拟,得到了设计结果以及在MAX+PLUSⅡ软件下的仿真波形。经过对软件仿真波形和硬件调试结果的分析,可以发现本文设计的出租车计价系统具有实用出租车计价器的基本功能,能够完成模拟计费及相关任务,如能进一步的改进,在一定范围内是可以实用化和市场化的。

【关键词】: 出租车计费器 FPGA MAX+PLUSⅡ VHDL

- I -

重庆邮电大学本科毕业设计(论文)

ABSTRACT

The rental car mileage fare meter’s system is very important in actual production life. According to the predetermined design requirements and design ideas, this paper uses the platform of MAX + PLUS Ⅱ software and VHDL hardware description language to design a taximeter system. This paper mainly introduces the structure of the system and circuit design, it not only to achieve, bill, preset and simulate the start, stop, pause and other functions of car, but also to scan the showed fare number dynamically. Through the experimental simulation, it can get the results of the design and the simulation wareform by maxplus softwave. By the analysis of software simulation waveform and the hardware debugging results,it shows that the system can achieve the basic functions of taximeter, such as simulate the bill and so on. If it can be further improved in other areas, marketization will be true to a certain extent .

Key words: The rental car costs system FPGA MAX+PLUSⅡ VHDL

- II -

重庆邮电大学本科毕业设计(论文)

目 录

摘 要 ........................................................................................................................................................................ I ABSTRACT ............................................................................................................................................................ II 目 录 ..................................................................................................................................................................... III 前 言 ......................................................................................................................................................................... 1 第一章 概述 ............................................................................................................................................................. 2

第一节 设计背景 ............................................................................................................................................. 2 第二节 EDA发展概况 .................................................................................................................................... 3

一、EDA系统框架结构 .......................................................................................................................... 6 二、系统级设计 ....................................................................................................................................... 7 第三节 EDA技术基本特征 ............................................................................................................................ 7

一、“自顶向下”的设计方法 ................................................................................................................... 8 二、ASIC设计 ......................................................................................................................................... 8 三、硬件描述语言 ................................................................................................................................... 9 四、VHDL的优点 ................................................................................................................................... 9 第四节 本章小结 ........................................................................................................................................... 10 第二章 出租车计费系统的设计 ............................................................................................................................ 11

第一节 出租车计费目标 ................................................................................................................................11 第二节 基本设计思想 ....................................................................................................................................11 第三节 设计方案比较 ................................................................................................................................... 12 第四节 本章小结 ........................................................................................................................................... 13 第三章 基于VHDL的出租车计费系统的实现 .................................................................................................. 14

第一节 VHDL相关介绍 ............................................................................................................................ 14

一、FPGA简介 ................................................................................................................................... 14 二、部分模块设计 ............................................................................................................................... 14 第二节 系统框图及各功能模块的实现及主程序 ....................................................................................... 15

一、程序流程图 ..................................................................................................................................... 15 二、系统总体框图 ................................................................................................................................. 16 三、计费模块的实现 ............................................................................................................................. 17 四、十进制转换模块的实现 ................................................................................................................. 18 五、车费路程显示模块的实现 ............................................................................................................. 19 六、八进制选择模块实现 ..................................................................................................................... 20 七、显示译码模块实现 ......................................................................................................................... 21 第三节 本章小结 ........................................................................................................................................... 22 第四章 系统仿真 ................................................................................................................................................... 22

第一节 软件Altera Max+plus介绍 ............................................................................................................ 22

一、软件功能简介 ................................................................................................................................. 22 三、MAX+plus II 可编程设计流程 .................................................................................................... 23 四、项目编译(设计处理) ................................................................................................................. 24

- III -

重庆邮电大学本科毕业设计(论文)

五、仿真和定时分析(项目校验) ..................................................................................................... 25 六、器件编程下载 ................................................................................................................................. 25 七、可编程逻辑常用设计输入法介绍 ................................................................................................. 26 第二节 模块仿真结果 ................................................................................................................................... 26

一、十进制转换模块的仿真结果 ......................................................................................................... 26 二、计费模块的仿真结果 ..................................................................................................................... 26 三、车费路程显示模块的仿真结果 ..................................................................................................... 27 四、八进制选择模块结果验证 ............................................................................................................. 27 五、显示译码模块结果验证 ................................................................................................................. 28 第三节 本章小结 ........................................................................................................................................... 28 第五章 结论 ........................................................................................................................................................... 29 致 谢 ..................................................................................................................................................................... 30 参考文献 ................................................................................................................................................................. 31 附 录 ....................................................................................................................................................................... 32

一、英文原文 ................................................................................................................................................. 32 二、中文翻译 ................................................................................................................................................. 38 三、源程序代码 ............................................................................................................................................. 44

计费程序模块程序 ................................................................................................................................. 44 十进制转换模块程序 ............................................................................................................................. 45 车费路程显示模块程序 ......................................................................................................................... 47 八进制选择模块程序 ............................................................................................................................. 48 显示译码模块程序 ................................................................................................................................. 49

- IV -

重庆邮电大学本科毕业设计(论文)

前 言

二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的过程。同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。

目前,业界大量可编程逻辑器件(PLD),尤其是现场可编程逻辑器件(FPLD)被大量地应用在ASIC的制作当中。在可编程集成电路的开发过程中,以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果的电子设计自动化(EDA)技术主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计

其中电子设计技术的核心就是EDA技术,EDA是指以计算机为工作台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。它的基本特征是:设计人员按照―自顶向下‖的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。

硬件描述语言(HDL—Hardware Description Language)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL来完成。

- 1 -

重庆邮电大学本科毕业设计(论文)

第一章 概述

第一节 设计背景

随着出租车行业的发展,对出租车计费器的要求也越来越高。二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的过程。同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。目前,业界大量可编程逻辑器件(PLD),尤其是现场可编程逻辑器件(FPLD)被大量地应用在ASIC的制作当中。在可编程集成电路的开发过程中,以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果的电子设计自动化(EDA)技术主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计

理想的可编程逻辑开发系统能符合大量的设计要求:它能够支持不同结构的器件,在多种平台运行,提供易于使用的界面,并且有广泛的特征。此外,一个设计系统应该能给设计师提供充分自由的设计输入方法和设计工具选择。Altered公司开发的MAX+PLUSⅡ开发系统能充分满足可编程逻辑设计所有要求。MAX+PLUSⅡ设计环境所提供的灵活性和高效性是无可比拟的。其丰富的图形界面,辅之以完整的、可及时访问的在线文档,使设计人员能够轻松、愉快地掌握和使用MAX+PLUSⅡ软件。

编程器是一种专门用于对可编程器(如EPROM,EEPROM,GAL,CPLD,PAL等)进行编程的专业设备PLD器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,原理图描述是一种直观简便的方法,它可以将现有的小规模集成电路实现的功能直接用PLD器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练;硬件描述语言描述是可编程器件设计的另一种描述方法,语言描述可能精确和简练地表示电路的逻辑功能,现在PLD的设计过程中广泛使用。常用的硬件描述语言有ABEL,VHDL语言等,其中ABEL是一种简单的硬件描述语言,其支持布尔方程、真值表、状态机等逻辑描述,适用于计数器、译码器、运算电路、比较器等逻辑功能的描述;VHDL

- 2 -

重庆邮电大学本科毕业设计(论文)

语言是一种行为描述语言,其编结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。

VHDL就是超高速集成电路硬件描述语言。覆盖面广,描述能力强,是一个多层次的硬件描述语言。在VHDL语言中,设计的原始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的电路或版图参数描述。具有良好的可读性,即容易被计算机接受,也容易被读者理解。使用期长,不会因工艺变化而使描述过时。因为VHDL的硬件描述与工艺无关,当工艺改变时,只需修改相应程序中的属性参数即可。支持大规模设计的分解和已有设计的再利用。一个大规模的设计不可能由一个人独立完成,必须由多人共同承担,VHDL为设计的分解和设计的再利用提供了有力的支持。

第二节 EDA发展概况

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

中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。

在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。要大力推进制造业信息化,积极开展计算机辅助设计

- 3 -

重庆邮电大学本科毕业设计(论文)

(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。有条件的企业可开展―网络制造‖,便于合作设计、合作制造,参与国内和国际竞争。开展―数控化‖工程和―数字化‖工程。自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方向发展。外设技术与EDA工程相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。

中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场的竞争。

在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放 。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50%和30%。

EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术的应用广泛,现在已涉及到各行各业。EDA水平不断提高,设计工具趋于完美的地步。EDA市场日趋成熟,但我国的研发水平还很有限,需迎头赶上。

可编程逻辑器件自70年代以来经历了PAL,GALCPLD,FPGA几个发展阶段,其中CPLD/FPGA高密度可编程逻辑器件,目前集成度已高达200万门/片,它将各模块ASC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快速度上市,而当市场扩大时,他可以很容易的转换掩膜ASIC实现,因此开发风险也大为降低。

硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,他用软件编程的方式来描述电子系统的逻辑功能、电路结构和链接形式,与传统的门级描述方式相比,他更适合于大规模系统的设计。 例如一个32位的加法器,利用图形输入软件需要输入500至1000个门,而利用VHDL语言只需要书写一行A=B+C即可。而且VHDL语言可读性强,易于修改和发现错误。早期的硬件描述语言如ABEL,HDL,AHDL,由不同的EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,1985年,美国国防部正式推出了告诉集成电路硬件描述语言VHDL,1987年

- 4 -

重庆邮电大学本科毕业设计(论文)

IEEE采纳VHDL为硬件描述语言标准(IEEE STD-1076)。

VHDL是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级和逻辑门多个设计层次,支持结构、数据流和行为三中描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件语言的功能,整个自顶向下或由下向上的电路设计过程都可以用VHDL来完成。VHDL还具有以下特点:1VHDL的宽范围描述能力是他成为高层设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。VHDL可以用简洁明确的代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设计结果的交流、保存和重用。3.VHDL的设计不依赖于特定的器件,方便了工艺的转换。4.VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。传统的硬件电路设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便。为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发周期,各ASIC研制和生产厂家相继开发了具有自己特色的电路硬件描述语言(Hardware Description Language,简称HDL)。但这些硬件描述语言差异很大,各自只能在自己的特定设计环境中使用,这给设计者之间的相互交流带来了极大的困难。因此,开发一种强大的、标准化的硬件描述语言作为可相互交流的设计环境已势在必行。于是,美国于1981年提出了一种新的、标准化的HDL,称之为VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,简称VHDL。这是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言。设计者可以利用这种语言来描述自己的设计思想,然后利用电子设计自动化工具进行仿真,再自动综合到门电路,最后用PLD实现其功能。 覆盖面广,描述能力强,是一个多层次的硬件描述语言。在VHDL语言中,设计的原始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的电路或版图参数描述。

具有良好的可读性,即容易被计算机接受,也容易被读者理解。 使用期长,不会因工艺变化而使描述过时。因为VHDL的硬件描述与工艺无关,当工艺改变时,只需修改相应程序中的属性参数即可。

- 5 -

重庆邮电大学本科毕业设计(论文)

支持大规模设计的分解和已有设计的再利用。一个大规模的设计不可能由一个人独立完成,必须由多人共同承担,VHDL为设计的分解和设计的再利用提供了有力的支持。

当电路系统采用VHDL语言设计其硬件时,与传统的电路设计方法相比较,具有如下的特点:即从系统总体要求出发,自上而下地逐步将设计的内容细化,最后完成系统硬件的整体设计。

在设计的过程中,对系统自上而下分成三个层次进行设计:

第一层次是行为描述。所谓行为描述,实质上就是对整个系统的数学模型的描述。一般来说,对系统进行行为描述的目的是试图在系统设计的初始阶段,通过对系统行为描述的仿真来发现设计中存在的问题。在行为描述阶段,并不真正考虑其实际的操作和算法用何种方法来实现,而是考虑系统的结构及其工作的过程是否能到达系统设计的要求。

第二层次是RTL方式描述。这一层次称为寄存器传输描述(又称数据流描述)。如前所述,用行为方式描述的系统结构的程序,其抽象程度高,是很难直接映射到具体逻辑元件结构的。要想得到硬件的具体实现,必须将行为方式描述的VHDL语言程序改写为RTL方式描述的VHDL语言程序。也就是说,系统采用RTL方式描述,才能导出系统的逻辑表达式,才能进行逻辑综合。

第三层次是逻辑综合。即利用逻辑综合工具,将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表)。此时,如果需要,可将逻辑综合的结果以逻辑原理图的方式输出。此后可对综合的结果在门电路级上进行仿真,并检查其时序关系。应用逻辑综合工具产生的门网络表,将其转换成PLD的编程码,即可利用PLD实现硬件电路的设计。

由自上而下的设计过程可知,从总体行为设计开始到最终的逻辑综合,每一步都要进行仿真检查,这样有利于尽早发现设计中存在的问题,从而可以大大缩短系统的设计周期。

由于目前众多制造PLD芯片的厂家,其工具软件均支持VHDL语言的编程。所以利用VHDL语言设计数字系统时,可以根据硬件电路的设计需要,自行利用PLD设计自用的ASIC芯片,而无须受通用元器件的限制。

一、EDA系统框架结构

EDA系统框架结构(FRAMEWORK)是一套配置和使用EDA软件包的规范。目前主要的EDA系统都建立了框架结构,如CADENCE公司的Design Framework,Mentor公司的Falcon Framework,而且这些框架结构都遵守国际

- 6 -

重庆邮电大学本科毕业设计(论文)

CFI组织制定的统一技术标准。框架结构能将来自不同EDA厂商的工具软件进行优化组合,集成在一个易于管理的统一的环境之下,而且还支持任务之间、设计师之间以及整个产品开发过程中的信息传输与共享,是并行工程和自顶向下设计施的实现基础。

EDA技术的每一次进步,都引起了设计层次上的一次飞跃,从设计层次上分,70年代为物理级设计(CAD),80年代为电路级设计(CAE),90年代进入到系统级设计(EDA)。物理级设计主要指IC版图设计,一般由半导体厂家完成,对电子工程师没有太大的意义,因此本文重点介绍电路级设计和系统级设计。

仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线。在制作PCB板之前还可以进行PCB后分析,其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反标回电路图,进行第二次仿真,也称为后仿真。后仿真主要是检验PCB板在实际工作环境中的可行性。由此可见,电路级的EDA技术使电子工程师在实际的电子系统产生前,就可以全面地了解系统的功能特性和物理特性,从而将开发风险消灭在设计阶段,缩短了开发时间,降低了开发成本。

二、系统级设计

进入90年代以来,电子信息类产品的开发明显呈现两个特点:一是产品复杂程度提高;二是产品上市时限紧迫。然而,电路级设计本质上是基于门级描述的单层次设计,设计的所有工作(包括设计输入、仿真和分析、设计修改等)都是在基本逻辑门这一层次上进行的,显然这种设计方法不能适应新的形势,一种高层次的电子设计方法,也即系统级设计方法,应运而生。高层次设计是一种―概念驱动式‖设计,设计人员无须通过原理图描述电路,而是针对设计目标进行功能描述。由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概念的构思上,而且这些概念构思以高层次描述的形式输人计算机,EDA系统就能以规则驱动的方式自动完成整个设计。这样,新的概念就能迅速有效地成为产品,大大缩短了,产品的研制周期。不仅如此,高层次设计只是定义系统的行为特性,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工。

第三节 EDA技术基本特征

- 7 -

重庆邮电大学本科毕业设计(论文)

EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照―自顶向下‖的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。这样的设计方法被称为高层次的电子设计方法。下面介绍与ESDA基本特征有关的几个概念。

一、“自顶向下”的设计方法

10年前,电子设计的基本思路还是选择标准集成电路―自底向上‖的构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高而且容易出错。

高层次设计给我们提供了一种―自顶向下‖(Top–Down)的全新设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这一方面有利于早期发现结构设计上的错误,避免设计工作的浪费,同时也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。

二、ASIC设计

现代电子产品的复杂度日益加深,一个电子系统可能由数万个中小规模集成电路构成,这就带来了体积大、功耗大、可靠性差的问题,解决这一问题的有效方法就是采用ASIC(Application Specific Integrated Circuits)芯片进行设计。ASIC按照设计方法的不同可分为:全定制ASIC,半定制ASIC,可编程ASIC(也称为可编程逻辑器件)。

设计全定制ASIC芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC厂家掩膜制造完成。优点是:芯片可以获得最优的性能,即面积利用率高、速度快、功耗低。缺点是:开发周期长,费用高,只适合大批量产品开发。

半定制ASIC芯片的版图设计方法有所不同,分为门阵列设计法和标准单

- 8 -

重庆邮电大学本科毕业设计(论文)

元设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间。

可编程逻辑芯片与上述掩膜ASIC的不同之处在于:设计人员完成版图设计后,在实验室内就可以烧制出自己的芯片,无须IC厂家的参与,大大缩短了开发周期。

可编程逻辑器件自七十年代以来,经历了PAL、GAL、CPLD、FPGA几个发展阶段,其中CPLD/FPGA属高密度可编程逻辑器件,目前集成度已高达200万门/片,它将掩膜ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易的转由掩膜ASIC实现,因此开发风险也大为降低。

上述ASIC芯片,尤其是CPLD/FPGA器件,已成为现代高层次电子设计方法的实现载体。

三、硬件描述语言

硬件描述语言(HDL—Hardware Description Language)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入软件需要输入500至1000个门,而利用VHDL语言只需要书写一行A=B+C即可,而且VHDL语言可读性强,易于修改和发现错误。早期的硬件描述语言,如ABEL–HDL、AHDL,由不同的EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,1985年美国国防部正式推出了VHDL(Very High Speed IC Hardware Description Language)语言,1987年IEEE采纳VHDL为硬件描述语言标准(IEEE STD-1076)。

VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL来完成。

四、VHDL的优点

(1)VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工

- 9 -

重庆邮电大学本科毕业设计(论文)

作重心提高到了系统功能的实现与调试,而化较少的精力于物理实现。

(2)VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用。

(3)VHDL的设计不依赖于特定的器件,方便了工艺的转换。

(4)VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。

五、系统框架结构

EDA系统框架结构(Framework)是一套配置和使用EDA软件包的规范,目前主要的EDA系统都建立了框架结构,如Cadence公司的Design Framework,Mentor公司的Falcon Framework,而且这些框架结构都遵守国际CFI组织(CAD Framework Initiative)制定的统一技术标准。Framework能将来自不同EDA厂商的工具软件进行优化组合,集成在一个易于管理的统一的环境之下,而且还支持任务之间、设计师之间以及整个产品开发过程中信息的传输与共享,是并行工程和Top–Down设计方法的实现基础。

第四节 本章小结

本章主要介绍了整个论文设计的一些背景,包括EDA本身的一些特点以及在EDA目前的大致发展情况,相对于后面的设计内容,本章算是介绍了一些要可能涉及到得基本知识。

- 10 -

重庆邮电大学本科毕业设计(论文)

第二章 出租车计费系统的设计

第一节 出租车计费目标

本文中出租车的计费工作原理一般分成3个阶段:

①车起步开始计费。首先显示起步价(本次设计起步费为7.00元),车在行驶3 km以内,只收起步价7.00元。

②车行驶超过3 km后,按每公里2.2元计费(在7.00元基础上每行驶1 km车费加2.2元),车费依次累加。

③行驶路程达到或超过9 km后(车费达到20元),每公里加收50%的车费,车费变成按每公里3.3元开始计费。车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。

第二节 基本设计思想

一、根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。①计数器A完成车费百位计数。②计数器B完成车费十位和个位③计数器C完成车费角和分。④计数器D完成计数到30(完成车费的起步价)。⑤计数器E完成模拟实现车行驶100m的功能。

二、行驶过程中车费附加50%的功能:由比较器实现。

三、车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动态数据的显示。

四、通过分析可以设计出系统的顶层框图如图2.1所示:

- 11 -

重庆邮电大学本科毕业设计(论文)

车速摇杆 起/停开关 基本速率 车速控制模块 计费动态显示器 里程动显示输出 态显示器 图2.1 系统的顶层框图

第三节 设计方案比较

方案一:采用数字电路控制。其原理方框图如图2.2所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用,所以我们不予采用。

电源电路及保护电路 金额显示 单价显示 里程传感器 移位寄存器电路

图2.2

方案二:采用单片机控制。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。其原理如图2.3所示。

单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的

- 12 -

重庆邮电大学本科毕业设计(论文)

程度上扩展功能,而且还可以方便的对系统进行升级。

缺点在于实现起来相对比较复杂,因此暂不考虑这种方法。

键盘控制 89S51 单片机 总金额显 示 单价 显示 AT24C02掉电存储 里程计算单元 串口显示驱动电路

图2.3

方案三:采用VHDL语言

VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。而且它还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。除此之外,采用VHDL耗费资源比较小,速度比较快,效率比较高,且易于共享和复用。

故综合以上几点我们选择VHDL语言来设计计程车计价器。

第四节 本章小结

本章主要阐述了我对于出租车计价器这个设计的基本的思路,以及参考多种方案并进行对比,最终选定采用VHDL语言进行设计。

- 13 -

重庆邮电大学本科毕业设计(论文)

第三章 基于VHDL的出租车计费系统的

实现

第一节 VHDL相关介绍

一、FPGA简介

现场可编程门阵列FPGA(FieldProgrammable Gate Array)是美国Xilinx公司于1984年首先开发的一种通用型用户可编程器件。FPGA既具有门阵列器件的高集成度和通用性,又有可编程逻辑器件用户可编程的灵活性。

FPGA由可编程逻辑单元阵列、布线资源和可编程的I/O单元阵列构成,一个FPGA包含丰富的逻辑门、寄存器和I/O资源。一片FPGA芯片就可以实现数百片甚至更多个标准数字集成电路所实现的系统。

FPGA的结构灵活,其逻辑单元、可编程内部连线和I/O单元都可以由用户编程,可以实现任何逻辑功能,满足各种设计需求。其速度快,功耗低,通用性强,特别适用于复杂系统的设计。使用FPGA还可以实现动态配置、在线系统重构(可以在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件硬化等功能。

二、部分模块设计

FPGA部分可划分成两个模块,其中正弦波发生器模块又可细分成几个小模块。 ①锁存器设计

锁存器用来将单片机送来的频率数据锁存稳定在FPGA中,可以用片内的锁存器资源(或用触发器)来构成。 ②运算器设计

运算器是用来将频率数据转换成正弦波点与点之间的定时数据。该运算器实际上最终可转换成一除法器。该除法器描述如下:

—VECTOR(WIDTH— R-1 DOWNTO 0));

- 14 -

重庆邮电大学本科毕业设计(论文)

END COMPONENT;

上述描述实际上是调用了Altera公司的参数化模块库(LPM)中的一个元件。元件描述后,只要在程序中用Generic map和port map语句映射该元件即可。所要注意的是,上述口信号remainder是numerator和denominator模运算的结果,所以应将remainder与denominator/2相比较,实际结果应在比较的基础上决定加1还是不加1。 ③定时器设计

定时器根据运算器传来的定时数据定时。它可以通过对基准时钟计数来实现,当定时时间一到,就触发波形的输出。

设计中采用了两个计数模块来同时计数,一个模块计数时钟的上边沿,而另一模块则计数时钟的下边沿。这样相当于使系统时钟频率提高了一倍,充分利用了系统资源。 ④波形输出

波形输出是当定时器满足定时要求触发后就输出此时的正弦值,多个点的触发输出就形成了一个正弦波。

为节省芯片资源,这部分求某时正弦值的功能不采用构造运算器来算出正弦值,而是利用查表结构。象Xilinx公司FPGA芯片则可以利用CLB块来配置RAM或直接利用Logiblox来生成。还有象Altera公司的Flex10k系列就用查找表结构(LUT)来构建片内ROM或RAM。在工程文件中创建RAM或ROM块以后,可以通过将各时刻的正弦值(以ASCII字符表示)写进MIF文件(初始化文件)中,从而存储在RAM或ROM块中。在定时器触发后生成该时的地址,通过查询该RAM或ROM块就可输出该时得正弦值。

第二节 系统框图及各功能模块的实现及主程序

一、程序流程图

- 15 -

重庆邮电大学本科毕业设计(论文)

里程不计数 NO YES 车开始启动 里程计数 里程显示 YES 车费、里程清零 计费器计数 车费显示 YES 车跑完一次后 No车启动

图3.1程序流程图

二、系统总体框图

下图所示为系统的总体框图,该系统主要由负责汽车启动,停止,暂停,加速等功能的计费模块,负责把车费和路程转化为4位10进制数的转换模块,负责显示车费和路程的显示模块,以及复位模块和显示译码模块等5个模块组成。

- 16 -

重庆邮电大学本科毕业设计(论文)

图3.2 系统总体框图

三、计费模块的实现

计费模块如图3.2所示,输入端口START、STOP、PAUSE、JS分别为汽车起动、停止、暂停、加速按键。LUC、CHEFEI分别表示汽车行驶的路程及相应的车费。

图3.2

- 17 -

重庆邮电大学本科毕业设计(论文)

if(clk'event and clk='1')then if(stop='0')then chf:=0; num:=0; b:='1'; aa:=0; lc:=0;

elsif(start='0')then b:='0'; chf:=700; lc:=0;

elsif(start='1' and js='1'and pause='1')then if(b='0')then num:=num+1; end if;

四、十进制转换模块的实现

如图3.3所示,该模块把车费和路程转化为4位十进制数,daclk的频率要比clk快得多

图3.3

if(comb1a=9 and comb1b=9 and comb1c=9)then

- 18 -

重庆邮电大学本科毕业设计(论文)

comb1a:=\comb1b:=\comb1c:=\comb1d:=comb1d+1; comb1:=comb1+1;

elsif(comb1a=9 and comb1b=9)then comb1a:=\comb1b:=\comb1:=comb1+1; comb1c:=comb1c+1; end if; else

五、车费路程显示模块的实现

如图3.5所示,通过该八进制模块,车费和路程将被显示出来

图3.5 车费路程显示模块

begin comb:=c; case comb is

when‖000‖=>d<=a1;

- 19 -

重庆邮电大学本科毕业设计(论文)

dp<=’0’; when‖001‖=>d<=a2; dp<=’0’; when‖010‖=>d<=a3; dp<=’1’; when‖011‖=>d<=a4; when others=>null; end case; end process; end rtl;

六、八进制选择模块实现

模块如图3.6所示,该模块主要负责对不同时刻的车费路程的数值显示进行选择。

图3.6 八进制选择模块

begin

if(clk’event and clk=’1’)then if(b=‖111‖)then b:=‖000‖; else b:=b+1; end if; end if; a<=b;

- 20 -

重庆邮电大学本科毕业设计(论文)

end process; end rtl;

七、显示译码模块实现

模块如图3.7

图3.7 显示译码模块

begin case d is

when‖0000‖=>q<=‖0111111‖; when‖0001‖=>q<=‖0000110‖; when‖0010‖=>q<=‖1011011‖; when‖0011‖=>q<=‖1001111‖; when‖0100‖=>q<=‖1100110‖; when‖0101‖=>q<=‖1101101‖; when‖0110‖=>q<=‖1111101‖; when‖0111‖=>q<=‖0100111‖; when‖1000‖=>q<=‖1101111‖; when others=>q<=‖1101111‖ ; end case; end process;

end rtl;

- 21 -

重庆邮电大学本科毕业设计(论文)

第三节 本章小结

本章首先对于主要使用的软件maxplus进行了一个简单的介绍,然后交代了总设计的框图以及流程图,给阅读者以一个大体的印象。 从3.4节开始,分5个模块详细介绍了主要程序,一个出租车计费系统的程序在本章全部交待完毕。

第四章 系统仿真

第一节 软件Altera Max+plus介绍

一、软件功能简介

MAX+plusⅡ(Multiple Array and Programming Logic User System)开发工具是美国Altera 公司推出的一种EDA 工具,具有灵活高效,使用便捷,易学易用的特点。Altera 公司在推出各种CPLD 和FPGA 的同时也在不断地升级相应的开发工具软件,已从早期的第一代A+plus、第二代MAX+plus 发展到目前的第三代MAX+plus II 和第四代Quartus。使用MAX+plus Ⅱ软件,设计者无需精通器件内部的复杂结构,只需熟悉所用的设计输入工具,如硬件描述语言、原理图等进行输入,MAX+plusⅡ自动将设计转换成目标文件下载到器件中去。

MAX+plusⅡ开发系统具有以下特点。

①多平台系统 MAX+plusⅡ的设计输入、处理与校验功能一起提供了全集 成化的可编程开发工具,可以加快动态调试,缩短开发周期。

②开放的界面 MAX+plusⅡ可与其它工业标准的设计输入、综合和校验工 具链接。具有EDIF,VHDL,Verilog HDL 以及其他的网表接口,便于与许多公司的EDA 工具接口,包括Cadence,Mentor,Synopsys,Synplicity,Viewlogic等公司提供的EDA 工具的接口。

③模块组合式工具软件MAX+plusⅡ具有一个完整的可编程逻辑设计环

- 22 -

重庆邮电大学本科毕业设计(论文)

境,

包括设计输入、设计处理、设计校验仿真和下载编程四个模块,设计者可以按设计流程选择工作模块。

④与结构无关 MAX+plusⅡ支持Altera 的Classic、MAX5000、MAX7000、 FLEX8000、FLEXlOK 等可编程器件系列,提供工业界中唯一真正与结构无关的可编程逻辑设计环境。

⑤硬件描述语言 MAX+plusⅡ支持各种HDL 硬件设计输入语言,包括VHDL、VerilogHDL 和Altera 的硬件描述语言AHDL。

二、可编程逻辑器件设计流程简介

可编程逻辑器件CPLD/FPGA 的设计是指利用开发软件和编程工具对器件进行开发的过程。可编程逻辑器件的设计流程包括设计准备、设计输入、设计处理(项目编译)、仿真和定时分析、器件编程下载(设计实现)四个步骤。

三、MAX+plus II 可编程设计流程

①设计准备在对可编程逻辑器件的芯片进行设计之前,首先要进行方案论证、系统设计和器件选择等设计准备工作。设计者首先要根据任务要求,如系统所完成的功能及复杂程度,对工作速度和器件本身的资源、成本及连线的可布通性等方面进行权衡,选择合适的设计方案。在前面已经介绍过,数字系统的设计方法通常采用从顶向下的设计方法,也是基于芯片的系统设计的主要方法,它首先从系统设计入手,在顶层进行功能划分和结构设计,采用硬件描述语言对高层次的系统进行描述,并在系统级采用仿真手段,验证设计的正确性,然后再逐级设计在低层的结构。由于高层次的设计与器件及工艺无关,而且在芯片设计前就可以用软件仿真手段验证系统方案的可行性,因此自顶向下的设计方法,有利于在早期发现结构设计中的错误,避免不必要的重复设计,提高设计的一次成功率。自顶向下的设计采用功能分割的方法从顶向下逐次进行划分,这种层次化设计的另一个优点是支持模块化,从而可以提高设计效率。

②设计输入设计者将所设计的系统或电路以开发软件要求的某种形式表现出来,并送入计算机的过程称为设计输入。设计输入通常有以下几种方式。 1).原理图输入方式 2).硬件描述语言输入方式 3).波形输入方式

- 23 -

重庆邮电大学本科毕业设计(论文)

4).层次化设计输入方式

四、项目编译(设计处理)

这是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动进行适配,最后产生编程用的编程文件。

① 语法检查和设计规则检查

② 设计输入完成之后,在编译过程首先进行语法检验,如检查原理图有无漏

连信号线,信号有无双重来源,文本输入文件中的关键字有无输入错误等各种语法错误,并及时列出错误信息 报告供设计者修改;然后进行设计规则检验,检查总的设计有无超出器件资源或规定的限制 并将编译报告列出,指明违反规则情况以供设计者纠正。

③ 逻辑优化和综合

化简所有的逻辑方程或用户自建的宏,使设计所占用的资源最少。综合的目

的是将多个模块设计文件合并为一个网表文件,并使层次设计平面化(即展平)。④ 适配和分割

确定优化以后的逻辑能否与器件中的宏单元和I/0 单元适配,然后将设计分割为多个便于适配的逻辑小块形式映射到器件相应的宏单元中。如果整个设计

不能装入一片器件时,可以将整个设计自动分(分割)成多块并装入同一系列的多片器件中去。

划分(分割)工作可以全部自动实现,也可以部分由用户控制,还可以全部由用户控制进行。划分时应使所需器件数目尽可能少,同时应使用于器件之间通信的引线端子数目最少。

⑤ 布局和布线

布局和布线工作是在设计检验通过以后由软件自动完成的,它能以最优的方式对逻辑元件布局,并准确地实现元件间的互连。布线以后软件会自动生成布线报告,提供有关设计中各部分资源的使用情况等信息。

⑥ 生成编程数据文件

项目编译的最后一步是产生可供器件编程使用的数据文件。对CPLD 来

- 24 -

重庆邮电大学本科毕业设计(论文)

说,是产生熔丝图文件,即JEDEC 文件(电子器件工程联合制定的标准格式,简称JED 文件);对于FPGA 来说,是生成位数据文件(BitstreamGeneration)。

五、仿真和定时分析(项目校验)

设计项目的校验包括设计项目的仿真(功能仿真)、定时分析两个部分。一个设计项目在编译完成后只能为项目创建一个编程文件,但并不能保证是否真正达到了用户的设计要求,如逻辑功能和内部时序要求等。所以在器件编程之前应进行全面模拟检测和仿真调试,以确保其设计项目在各种可能的情况下正确响应和正常工作,这就是项目校验(仿真调试)的必要性。

MAX+plusⅡ提供的设计校验过程包括仿真和定时分析,项目编译后,为确保设计无误,再用专门软件进行仿真。如果发现了错误,则对设计输入进行部分修改直至无误。

①仿真(Simulation) MAX+plusII Simulator(仿真器)具有很强的灵活性,可以控制对单个器件或多个器件设计的仿真。该模拟程序使用编译过程中生成的二进制模拟网表文件,对一个设计实现功能仿真和时序仿真。设计者可以直接用矢量输入语言来定义输入激励,也可以用MAX+plus ⅡWave Editor 直接绘制波形。仿真结果在WaveEditor 或TextEditor 窗口显示,也可作为波形或文本文件打印出来。

②定时分析(TimingAnalysis) MAX+plus TimiⅡ ngAnalyzer(定时分析程序)能按矩阵方式计算设计中点到点的延时,确定在器件引线端上要求的上升和保持时间,估计最大时钟频率。MAX+plusⅡ设计输入工具与定时分析程序综合在一起,允许在设计文件中简单地指定起始和终点标记,或者用FloorplanEditor(平面图编辑器)来确定最短和最长的传播延时。

六、器件编程下载

在以上步骤都正确实施并完全通过以后,我们就可以将我们设计的项目(最终的数据编程文件)下载到器件中去,然后加入实际的激励信号进行测试,在我们的目标系统中进行产品级使用了。如果还未最终达到我们的设计目的,则需返回以上步骤查找设计问题直至无误。至此,我们已经完整的完成了可编程逻辑器件的产品级设计流程,相信用户通过对以上步骤的了解,对可编程逻辑器件的设计有了一定的概念和了解。(有关器件下载编程配置的详细使用说明见MAX+plusII 软件设计与应用举例章节。)

- 25 -

重庆邮电大学本科毕业设计(论文)

七、可编程逻辑常用设计输入法介绍

MAX+plus II 的设计输入方法有多种,主要包括文本设计输入、原理图输入、波形设计输入、层次设计输入和平面图设计输入等多种方式,另外,还可以利用第三方EDA工具生成的网表文件输入,该软件可接受的网表有EDIF格式、VHDL格式及Verilog 格式。设计者可根据实际情况灵活地使用最适合自己的设计方法。

第二节 模块仿真结果

一、十进制转换模块的仿真结果

将车费和路程转换成4位的十进制如图4.1所示: 输入端为:Daclk, ascore, bscore

输出端为:age, ashi, abai, aqian, bge, bshi, bbai, bqian;

图4.1仿真波形图

如图所示,age, ashi, abai, aqian,分别表示车费的个位,十位,百位和千位的计数显示,在daclk的上升沿发生变化。bge, bshi, bbai, bqian;分别表示路程的个位,十位,百位和千位的显示,在daclk的下降沿开始发生变化。

二、计费模块的仿真结果

该模块是模拟汽车的启动、停止、暂停、加速按键,如图4.2所示: 输入端口为:stop, start, pause, js,clk; 输出端口为:b;

- 26 -

重庆邮电大学本科毕业设计(论文)

图4.2 模块JIFEI仿真波形图

如图所示,在clk的上升沿,js变为1的时候,计费系统开始计费。

三、车费路程显示模块的仿真结果

该模块是将车费和路程显示出来如图4.3所示 输入端为:c, a1,a2,a3,a4,b1,b2,b3,b4; 输出端为:dp,d;

图4.3 车费路程显示模块仿真波形图

四、八进制选择模块结果验证

模块仿真如图4.4所示: 输入端为:clk 输出端为:a

- 27 -

重庆邮电大学本科毕业设计(论文)

图4.4 八进制选择模块仿真波形图

如图所示,在clk的上升沿a开始发生变化,并开始进行计数,当进行到“111”时在下一个上升沿复位为“000”,此模块与“车费路程显示模块”相连接,负责选择显示车费路程。

五、显示译码模块结果验证

模块仿真的结果如图4.5所示 输入端为:d 输出端为:q

图4.5 显示译码模块仿真波形图

如图,经过本模块以后,输入端输入的2进制数被7段显示译码器翻译成为相对应的数字显示出来。

第三节 本章小结

本章主要对于前面第三章节所交待的5个模块的程序进行仿真并进行相应的结果验证。

- 28 -

重庆邮电大学本科毕业设计(论文)

第五章 结论

出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。在出租车计费系统的5个模块中 ,重点在于计费模块,十进制计费转换模块、车费路程转换模块。计费模块主要有汽车的启动、停止、暂停、加速按键;十进制模块主要是把车费和路程转化为4位十进制;车费路程模块是将车费和路程显示出来。各模块完成后,在将它们组合成完整的出租车系统,在设计过程中还需要改进的是控制系统的纠错功能。出租车计费系统的设计中体现了VHDL覆盖面广,描述能力强,是一个多层次的硬件描述语言及PLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。

- 29 -

重庆邮电大学本科毕业设计(论文)

致 谢

本文是在指导老师希捷·莱茵老师和Kk-sara老师的悉心指导下完成的,罗老师在学术上严格要求,给予我孜孜不倦的教诲和不断的鼓励,及在学术上一丝不苟的精神,本人受益匪浅,在此向莱茵老师表示衷心的感谢和敬意! 至此,毕业设计就快接近尾声了,在这里我再一次诚挚的感谢莱茵老师和在大学期间对我谆谆教导的老师和领导们。

最后,向在设计中给予我关心、支持和帮助的同学表示谢意!

- 30 -

重庆邮电大学本科毕业设计(论文)

参考文献

[1] 候伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计. [M].西安:西安电子科技大学出版社,1999

[2] 张昌凡,等.可编程逻辑器件及VHDL设计技术[M].广州:华南理工大学出版社,2001

[3] 曾繁泰,陈美金.VHDL程序设计[M].北京:清华大学出版社,2001 [4] 潘松,等.VHDL实用教程[M].成都:电子科技大学出版社,2000 [5] 高健,沈庆宏,高敦堂. ITS 中车辆检测器设备的研究与实现[J]. 交通与计算机,2002. 20 (5):77-81

[6] 王小平,王彦芳, 等. 基于EDA 技术的出租车费计价单片系统[J]. 实验室研究与探索, 2003, 19 (5) : 55-57

[7] 卢庆利. 将VHDL 硬件描述语言引入数字电路教学的探索[J]. 实 验室研究与探索, 2000, 19 (5) : 164-168

[8] 刘艳. EDA 技术在数字系统电路设计实验中的应用[J]. 实验室研 究与探索, 2002, 21 (3) : 105-107

[9] 潭会生,张昌凡. EDA技术及应用[J].西安:电子科技大学出版社.2001,16(2) : 46-48

[10] 徐颖.Protel 99 SE EDA技术及应用[J].西安:机械工业出版社. 2005, 11 (9) : 99-100

[11] Mark D. Birnbaum. Essential electronic design automation 中国机械出版社. 2005

[12] 徐灵献.EDA技术在现代电子设计中的应用2003, http://www.cqvip.com/qk/97360A/200317/8303235.html [13] 金凤莲.VHDL语言在EDA仿真中的应用 2005, http://www.cnki.com.cn/Article/CJFDTotal-XDDJ200506044.htm

[14] 周清华,马善农,谢勇勤等.基于CPLD的出租车计价器的设计与研究 2004, http://all.zcom.com/mag2/shehuikexue/wenkejiaoti/31363/200701/15929179/ [15] 陈爱萍.数字系统设计与ASIC技术 2002, http://www.bjx.com.cn/files/wx/dlxtjqzdhxb/2001-2/11.htm

[16] 余华,岳秋琴.电子设计自动化技术的发展及在现代数字电子系统设计中的应用2001, http://www.cqvip.com/qk/97360A/200105/5128101.html

- 31 -

重庆邮电大学本科毕业设计(论文)

附 录

一、英文原文

ABSTRACT

In this paper, a multi-channel taximeter that is able to deal with more than one passenger simultaneously is proposed.

In order to demonstrate the theory of operation of the proposed system, a complete design for an experimental three-channel taximeter (whose prototype has been built under grant from the Egyptian Academy for Scientific and Technological Research) is presented.

System location, outline, block diagrams as well as detailed circuit diagrams for the experimental taximeter are also included. 1. INTRODUCTION

Transporting people in the morning from their homes to their works and back in the afternoon has become a big problem in big cities especially in undeveloped countries. As a partial solution of this problem, the authorities in some countries had, unofficially, left the taxicab drivers to carry different passengers to different places at the Same time. For example, a taxicab with four seats may carry four different passengers without any relation between them except that their way of travelling is the same.

Accordingly, it has become very difficult to rely on the present conventional single-channel taximeter to determine the fare required from each passenger separately. Accordingly, an unfair financial relation was created between the taxicab driver, owner, passengers and the state taxation department.

Under these circumstances, taxicab drivers force the passengers to pay more than what they should pay. In some cases passengers had to pay double fare they should pay. With the present conventional single-channel taximeter, taxicab owners are not able to determine the daily income of their taxicab.

In some cases (a taxicab with four seats) they may only get one quarter of the income of the taxicab (collected by the taxicab driver). From which they should pay

- 32 -

重庆邮电大学本科毕业设计(论文)

the salary of the taxicab driver as well as the cost of fuel, minor and major repairs in addition to the car depreciation. As a matter of fact the position of the taxicab owners is not so bad as it seems. A general agreement has been reached between the taxicab drivers and owners such that the drivers should guarantee a fixed daily income to the owners as well as the paying for the cost of fuel as well as the minor repaires. Even though the taxicab drivers still share the large portion ofthe income of the taxicab. Also with the presence of the single-channel taximeter, it has become very difficult for the state taxation department to know the yearly income of the taxicab and accordingly it has become very difficult to estimate the taxes to be paid by the taxicab owners.

In order to face this problem, the state taxation department had to impose a fixed estimated taxes for each seat of the taxicab whatever the income of the taxicab. In this paper, we introduced a multichannel taximeter that can deal with more than one passenger simultaneously. I t should be pointed out that by the term passenger we mean a one person or a group of related persons. I t should also be pointed out that our proposed multi-channel taximeter is not, simply, a multi display readouts. As a matter of fact it contains logic circuits that automatically changes the fare per killometer of travelling distance or per minutes of 'waiting time according to the number of passengers hiring the taxicab. In the following part and as an example, we will present a complete design for a three-channel taximeter. Block diagrams as well as detailed circuit diagrams of the experimental three-channel taximeter are also included. A prototype has been built under grant from the Egyptian Academy for Scientific and Technological Research. 2. AN EXPERIMENTAL THREECHANNEL TAXIMETER

Theory of operation of our experimental device to work as an electronic digital taximeter is based on t h e fact thathe speedometer cable rotates one revolution for each meter of travelling distance.

Accordingly, if the speedometer cable is coupled with a speed sensor that generates a single pulse for each meter of travelling distance, then our taximeter could be three up counter modules associated with a speed sensor unit.

However, our experimental taximeter is not simply a three display readouts. As a matter offact it contains logic circuits that automatically changes the fare per kilometer of travelling distance or per minutes of waiting time according to the

- 33 -

重庆邮电大学本科毕业设计(论文)

number of passengers hiring the taxicab. The device may be splitted into two main parts: The first is the speed sensor unit which may be located anywhere in the taxicab such that an easy coupling to the speedometer cable can be achieved. The second unit contains the main electronic circuit, the displayand control panel. The unit should be located somewhere in front of both the driver and the passengers. A possible components locations is shown in Figure 1. A. Speed Sensor Unit

The main function of this unit is to supply train of pulses whose frequency is proportional to the angular rotation of the wheels. A possible form of a speed sensor is shown in Figure 2.

If may consist of a tj.pica1 permanent magnet sine wave generator with its output connected to a pulse shapping circuit (two general purpose silicon diodes, 1K ohms resistor and a schmit trigger inverter).

In order to find some way to detect the movement of the taxicab, the output of the sine wave generator is rectified through a general purpose silicon diode Dl then smoothed by a 1000 F capacitor. The output voltage at terminal Q is then limited to the value of 4.7 volts by using a Ik ohms resistor as well as a zener diode ZD. The level of the voltage at terminal Q would be high whenever the taxicab is moving and will be zero otherwise. This voltage can be used for the automatic switching from distance fare to time fare.

B. Main Electronic and Display Unit A suggested shape for the main electronic and

display unit is shown in Figure 3. The control and display panel contains all ' controls necessary for operating the taximeter as well as four readout displays. The first channel will give the sum of money required from the first passenger, while the second and third readouts are for the second and third passengers, respectively. The fourth readout will give the total income of the taxicab.

The contents of the last readout should be nonvolatile and be able to be retained even during parking the taxicab. The channel rotary selector switchs 1 , 2 and 3 have fully clockwise/anticlockwise positions. In the fully anticlockwise position, the counter of the corresponding readout is blancked and disabled.

In the fully clockwise position, the counter is unblanked, cleared to zero and enabled to be ready for counting the sum of money required from the first, second

- 34 -

重庆邮电大学本科毕业设计(论文)

and third passengers, respectively.

Pushing the total sum pushbutton 4 unblanks the fourth readout enabling any person to retain the readout corresponding to the total income. After the release of the pushbutton, the fourth readout will be blanked again. This unit also contains the main electronic circuit which will be fully described in the following section. 3. DESCRIBTION OF THE MAIN ELECTRONIC CIRCUIT

The general block diagram of the main electronic circuit is shown in Figure 4. It consists of five subcircuits designated by the symboles CTI up to CT4supporting circuits, these are: The number of passenger deticition circuit CTI, travelling distance scaling circuit CT2, waiting time scaling circuit CT3, circuit CT4 which generates clock pulses for the display circuit.

A. Number of Passengers Detection Circuit CT1 As shown from the general block diagram, the circuit CTI has three inputs I, 2 and 3 as well as three outputs J, K and L. The function of the circuit is to supply a high level voltage at terminals J, K or L if and only if one, two or three passengers are hiring the taxicab, respectively. The term passenger, here, means one person or a group of related persons. When a passenger is getting into the cab, we simply turn on a free readout display by turning the corresponding rotary selector switch to a fully clockwise direction. This will automatically disconnect the corresponding terminal I, 2 or 3 from ground. The logical relation between various input terminals I, 2 and 3 and the output terminals J, K and L is shown in Table 1.

As a combinational circuit we start the design by deriving a set of boolean functions. A possible simplified boolean functions that gives minimum number of inputs to gates may be obtained from Table I.

A possible logical diagram that is based on the above derived expressions is shown in Figure 5.

It consists of two inverters, four 2-input AND, to3-input AND two 3-input OR gates B. Tavelling Distance Scaling Circuit CT2

As shown from the block diagram of Figure 4, the circuit CT2 has four input J, K, L and E and one output M. The function of the circuit is to supply a single pulse at the output M for a certain number of pulses generated at the output of the speed sensor (certain number of meters travelled by the taxicab), according to the number of passengers hiring the car. A suggested fare per kilometer of travelling distance is

- 35 -

重庆邮电大学本科毕业设计(论文)

shown in colomn two of Table 2. the circuit, in this case, should supply a single pulse at the output M for every 100, 125 or 143 pulses generated at the input terminal E

according to the level of voltage at input terminale 3, K or L, respectively. Our circuit could be, as shown in Figure 5, three decade counters, connected as a three digit frequency divider whose dividing ratios 100, 125 and 143 are automatically selected by the voltage level at terminals J, K and L, respectively. A possible circuit diagram that may verify the above function is shown in Figure 6. It consists of three decade counters type 7490, one BCD-to decimal decoder type 7445, three 4-input AND, one 3-input ANDone 2-input AND two 3-input OR gates.

C. Time Scaling Circuit CT3

As shown in the block diagram, the time scalingcircuit will have four inputs J, K, L and F and one output N. The function of this circuit and accordingto colomn three of Table 2 (fare per 2 minuts of waiting time) is to supply a single pulse at the output N for every 120, 240 or 360 pulses supplied at the input terminal F from the I Hz clock according to level of voltage at inputs J, K and L, respectively.

Time scaling circuit would be similar to the distance scaling circuit but with different diving ratios. A Possible circuit diagram is shown in figure 7.

It consists, in this case, of three decade counter type 7490, two 3-input AND, one 5-input AND, one 2-input AND one 3-input OR gates.

D. Circuit CT4 Which Generates Clock Pulses for Display Circuit

The function of this circuit is to supply one, two or three pulses at the output terminal R for each pulse generated at any of the terminals N or M, according to the voltage level at the input terminals J, K or L, respectively. The output P will receive a pulse for each pulse generated at any of the input terminals N or M. This function can be performed by the circuit shown in Figure 8, it consists of one ripple counter type 7493, one half of a dual JK masterslave flip-flops circuit type 7476, three inverters, three 2-input AND, one 3-input AND, one 2-input OR and one 3-input OR gates. When a pulse is generated at either input terminals N or M, a high level voltage will be generated at the output Q of the flip-flop. This will g a t e t h e I Khz signal to be connected to the input A of the ripple counter as well as to the output terminal R. When one, two or three pulses are counted by the ripple counter, according to the level of voltage at the

- 36 -

重庆邮电大学本科毕业设计(论文)

input terminals J, K and L, respectively, a high is generated to reset the counter and change the state of the flip-flopsuch that Q becomes low.Hence, the 1 KHz signal is disabled to reach the outputerminal R or the input A of the ripple counter. In order to ensure the proper function of the circuit, the flip-flop should be cleared whenever a new channel is operated. This has been achieved by the input 5 and will be explained later when describing the function of the channels rotary selector switchs.

E. Display Circuit

As shown in Figure 2, the display panel would contain three 4-digit displays that give the sum of money required from each passenger separately as well as a one six-digit display that gives the total income of the taxicab. A possible wiring diagram for the display circuit is shown in Figure 9. Rotating any of the rotary selector switches to fully clockwise direction will supply the corresponding display by5 volts through terminals 1, 2 and 3, respectively.

The corresponding display will be unblanked by supplying a low level of voltage through terminals A, C and G, respectively. Keeping terminals 8, D and H, respectively, at low level will keep them reset to zero. The corresponding display is then enabled by removing the low voltage from terminals B, D, and H, respectively, to be ready for counting the sum of money required from the corresponding passenger starting from zero.

The counting pulses for these three displays are supplied through terminal P. The total sum display will be enabled whenever any of the three displays is enabled (this is done by a 3-input OR gate as shown in Figure 8). Retaining the contents of the last display will be done by unblanking it by supplying a low level of voltage to terminal I as shown in Figure 10 b.

F. Changing Over Between Time and Distance Fares

In the following part, two different methods for changing over between time andistance fares are suggested:

The first is to switch to time fare whenever the distance fare is less than the time fare. Hence, a simple look to fares table (Table 2) can show that time fare should be used whenever the taxicab moves with speed less than 50 m/min. A possible circuit

that can perform this switching action is shown in Figure IO c. It contains one rpm limit switch

and a one inverter as well as two 2-input AND gates.

The contacts of the limit switch are normally closed and will be opened whenever the angular

- 37 -

重庆邮电大学本科毕业设计(论文)

speed of the speedometer cablexceeds 50 rmp. The second alternation is to connect the input of the inverter in Figure 10 c. to the output terminal Q of the speedometer circuit, Figure 2. In this case, the switching into time fare will be done whenever the taxicab is at stand still.

G. Function of the Rotary Selector Switches The voltage levels that should be supplied by the terminals of the rotary selector switches in order to ensure proper operation by the electronic

circuit are given in Table 3. Connection of three rotary selector switches each witb four decks of

five poles each, that satisfy the logic function of Table 3, is shown in Figure 10 a. Rotating any of the three switches into fully clockwise direction will pass through five positions. The function of the rotary selector switches can be described starting from the first position passing through variousteps until reaching the final position as follows:

Initial position: In this position a low voltage level is applied to terminals I, 2 and 3, this will disconnect the 5 volts supply from the three first displays, set the three inputs of the number of passenger detection circuit CTI to low level. A low voltage level is applied to terminals 8, D and H, this is to ensure that the total income display is disabled. Voltage levels at terminals A, C, G and S are at no care condition.

Step I: Rotating any of the rotary selector switches one step toward clockwise direction will supply 5 volts to the corresponding display, provides a high level voltage at terminals 1, 2 or 3 indicating that one passenger have entered the taxicab. A high level voltage should be applied to terminals A, C or G in order to ensure that the corresponding display is still blanked. Other terminals B, D, H and S are kept unchanged. Step 2: Rotating the rotary selector switch one step further, will change the state of voltages at terminal A, C or G to be at low level and unblanks the corresponding display. States of voltages at terminals I, 2, 3 and S are remained unchanged.

Terminals B, D and H should be remained at low level to ensure that the corresponding readout

is cleared to zero while unblanking the display.

二、中文翻译

- 38 -

重庆邮电大学本科毕业设计(论文)

摘要

本文提出了一种出租车多通道计价的方案,能同时处理一个以上乘客的情形。 为了从理论上说明本方案,提出了一个实验上的三通道型的士的完整设计(其原型是根据埃及科学和技术研究学院的研究而建成得)。

1 .导言

在不发达的国家,早上把人们从他们家送到工作的地方,然后下午送回来已成为一个大问题,尤其是在大城市。

作为解决这个问题的一个部分,在某些国家出租车用来解决这个问题,送人们从一个地方到另外一个地方。 例如,出租车的四个席位可携带四个不同的没有任何关系的乘客,除了他们的路线是相同的。

因此,依靠目前的传统的单车道计价以确定所需的票价,把每个乘客的计费分开,这已成为一个非常困难的问题。因此,在出租车司机, 车主,乘客和国家税务部门之间存在着不公平的财政关系。

在这种情况下,出租车司机强迫乘客支付多于他们所应付的。在某些情况下乘客支付了他们应付车费的双倍。

本常规单频道计程车,出租车司机不能够确定出租车日常收入。 在某些情况下(出租车的4个席位) ,他们可能只有出租车四分之一的收入 ( 大部分的出租车司机)。从这些支付工资的出租车司机以及作为燃料费用外,还要维修以及汽车折旧等费用。事实上,出租车业主并非似乎如此糟糕 。一项在出租车司机和车主之间的协议已经达成,司机应保证每天固定收入,以及向业主支付燃料以及维修的费用。即使如此,还是有的出租车司机的很大一部分份额之收入的出租车。现在还存在的单声道计价,已经变得非常,国家税务部门也知道这种困难 每年估计出租车业主的收入支出,以及应支付的税务也很困难。

为了应对这一问题,国家税务部已实行固定估计税,每个座位的出租车不论收入。在本文中,我们介绍了多通道的士计程表,可处理超过一名乘客同时进行的情况。我应该指出,我所说的长期旅客指一个人或一组相关的人。我同时也应指出,我们提出的多渠道的计价,不是简单地说,一个多显示读数。作为一个先进的事项,事实上它包含逻辑电路,可以自动计算变化的车费以及每公里行走距离或每分钟的候车时间按照乘客人数雇用出租车。 在下面的部分,我举出一个例子,我们将介绍一个完整的三通道计价。 框图以及详细的电路图,实验三通道计价功能也包括在内。原型下已建成 埃及赠款科学学院 和技

- 39 -

重庆邮电大学本科毕业设计(论文)

术研究。

2 .实验THREECHANNEL

出租车计价器理论的运作我们的实验装置从事电子数字计价依据。事实上速度电缆旋转1 圈的每米距离行驶。因此,如果车速电缆耦合与速度传感器,产生一个单脉冲每平方米的旅行距离,那么,我们的的士可以三倍于反模块相与速度传感器的单位。然而,我们的实验是计价而不仅仅是只显示三个读数。事实上,它包含逻辑电路,可以根据每公里的行驶距离或每分钟等候时间按照乘客人数雇用出租车来自动改变车费。该装置可能会分成两个主要部分组成:第一是速度传感器,这个传感器可位于任何地方,在出租车内进行这样一个简单的耦合车速电缆是可以实现的。

单位包含了主要的电子电路,显示器以及控制面板。该单位应位于前排的司机和乘客之间。一个可能的组成部分位置如1所示。

A. 速度传感器

其主要职能是本单位提供脉冲的培训,这个脉冲的频率会于旋转角度相适合。一种可能的形式一个速度传感器是如图2所示。如果可以包含正弦波发生器的输出连接到脉冲整形电路的永磁器件(2通用芯片二极管,1000欧姆的电阻和施密特触发逆变器) 。

为了找到某种方式来检测出租车的运动,正弦波发生器的输出是纠正通过一个通用的硅二极管延胡索乙然后平滑的1000年F电容。那个输出电压在终端Q是当时限于价值4.7伏特用益欧姆的电阻以及一个齐纳二极管ZD 。出租车的终端电压在终端Q将高电压降为零。这电压可作为改变出租车从距离计费到时间计费方式的开关电压。

主要的电子和显示单元

一个建议是主要形式的电子和显示单元是如图3所示。控制和显示器面板包含所有'控制所必需的经营的士以及四个可读显示器。第一频道将给出从第一乘客,第二乘客,第三乘客分别应付的费用,第四个会给出总收入给予出租车。最后读出的数据会包括停车的费用等等费用。频道选择器开关1,第2和第3个,按顺时针/逆时针的立场。在充分逆时针的立场,反相应的读出是未标明和残疾人。以顺时针方向则是未定义的,清除为零,对于第一第二第三的乘客分别计费。第四号推进总钮第四次读出,使任何人保留读出相应的总收入。经过释放按钮,第四次读出将再次保留。这个单位还包含主要电子电路将在下一节充分描述。

- 40 -

重庆邮电大学本科毕业设计(论文)

描述的主要电子电路

电路一般框图主要电子电路如图4所示。它由五个部分指定的电脑符号与电话系统整合成为4个支撑电路,它们是:判断乘客数量电路CT1,旅行距离电路CT2,等待时间电路CT3,时钟脉冲显示电路CT4。

乘客人数检测电路CT1如图所示的一般框图,该电路电脑与电话系统整合有三个输出:1,2和3相对应于三个输出J ,K和L。

这个循环电路函数包含高电压的终端 J,K或L,如果有1个或者2,3个乘客分别租用出租车。这个组里的任意乘客都是一组相关的人。当一个乘客进入出租车后,我们只是表示这样一种情况,自由读出显示在谈到相应的旋转选择开关,以一个完全顺时针方向。 这将自动断开相应的终端1,2或3个从地面。逻辑关系各种输入端子之间第1,第2和第3个输出端J,K和L是列于表1 。 作为一个组合电路,我们开始设计产生了一系列布尔函数。

一种可能的逻辑图的基础上,上述源性表达如图5。它包括两个变频器,4个2输入和3输入以及2个3输入或门。B.行驶距离标量环路CT2 如图所示的方框图图4,电路CT2有4个输入J,K,L及E和1个输出M,输出功能的电路是供应单脉冲的输出M的某一些脉冲产生的输出的速度传感器(出租车行驶了一定得距离),根据乘客的人数租用的汽车。我们建议票价按每公里行驶距离显示在两个表格2里面。

表2 这个环路,在这种情况下,应提供单脉冲的输出M的每100,125或143脉冲所产生的输入端根据级别的电压输入终端3,K或L。

我们的电路按图5显示,三个十年的计数器,作为一个三位数分频器的分比率100 ,125和143个自动选定的电压一级终端J ,K和L分别。一种可能的线路图可被验证,上述功能如图6。它包括三个十年的计数器7490,一个声BCD -以杜威解码器输入7445,3个4输入和1个3输入以及1个2输入和2个3输入或门。

时间缩放电路CT3.

如框图中所示,时间缩放电路含有4个输入端 J ,K ,L及F和一个输出端N,这个电路的函数根据表格2的意思(车费每2分钟的等待时间)是在J , K和L分别供应单脉冲到输出端N时,提供单脉冲的输出N。时间缩放电路将类似于距离标量环路,但是有不同的行驶比率。它包括3个十进制计数器7490 ,2个3输入与门和一个5输入与门,1个2输入与门和一个3输入或门。

电路产生时钟脉冲的显示电路CT4

- 41 -

重庆邮电大学本科毕业设计(论文)

这条电路的作用根据电压电平在输入终端J、K或者L,分别供应1,2或者脉冲在每脉冲的输出终端R引起在任何终端N或M。无论输入端N或者M中的谁发送脉冲,都只有一个脉冲能被输出端P接收。如图8,它由一个反向计数器7493构成 ,其中一半是双JK主从触发器电路,型号为7476,包括三个变频器,三个2输入与门,一个3输入与门,1 2输入或门以及一个3输入或门。当脉冲引起在输入的终端N或M,触发器的输入Q上将产生高级电压。这个门信号将被连接到计数器的输入A并且连接到输出终端R。当第一,第二或第三个脉冲由涟波计数器开始计数,J,K,L端会分别根据电压的大小来使产生重置或者翻转来改变状态,然后Q端变为输出低电压。因此,1 KHz信号没有能力到达输出端R或是计数器的输入端A。为了确保电路的函数准确无误,当切换到新频道时,触发器要清零。对于功能选择开关旋转渠道的描述,稍后会以一个成功的5输入门函数来解释。

显示电路

如图2所示,该显示面板将包含三个4位数显示器,这样可以给出每个乘客应付车费的总和,一个六位数显示器可以给出出租车的总收入。一种可能的接线图的显示电路如图9所示。以顺时针方向旋转所选择的开关将提供相应的显示,这可以通过5伏电压来分别控制1,第2和3终端。对应的显示通过供应低级电压通过终端A、C和G,分别。保持终端D和H在低级状态下重置为零对应的显示分别通过终端B,D,H而改变低压状态,并准备好从对应的乘客那里计算出相应的计数款额,计数脉冲这三个显示器通过终端提供总额。计数器还将通过终端P为3个显示器提供脉冲只要这三个显示器中任意一个是正常的,那么总额将被显示出来。

时间和距离变化时车费的改变

在下面的部分,两种不同的方法使得时间和距离改变从而导致车费发生变化,有如下建议:首先是当以路程计价的费用低于以时间计费的费用时,采用时间计费。从此,一个简单的票价表(表2)显示当出租车移动速度小于50米/分时应该采用时间计费方式。一种可能的电路可以执行此开关行动如图10c,它包含一个转速限位开关和一个反转器以及两个2输入与门。接触的限位开关通常是封闭,只有当角速度超过50RMP的时候才会打开。第二个改变将中断连接到图10C的输入端,输出端Q连接速度的电路。在这种情况下,只要出租车的状态保持静止,那么计费开关就会处于关闭状态 。

功能选择旋转开关

功能选择开关旋转的电压应提供的该终端的旋转选择开关,以确保正常运

- 42 -

重庆邮电大学本科毕业设计(论文)

行的电子电路列于表3。每5个杆就有4个板连接着3个旋转选择开关,每个符合逻辑功能表3,是如图10所示答:旋转任何三个切换到完全顺时针方向将通过5个职位。功能的旋转选择开关可以说是从第一的位置通过直到达到最后的立场如下:

初始位置:在这个位置上的低电压电平适用于第一第二和第三终端,浙江断开来自三个中一个显示器的5伏特电压供应,设置三个显示器,乘客检测电路并与电路系统整合到较低的水平。终端D,H采用低电压,这是为了确保显示的总收入选项已被禁用。

步骤1:以顺时针方向旋转任何旋转选择开关一格将提供5伏特电压到相应的显示,提供一个高等级的电压终端1,2或3,这表明一名乘客已经进入了出租车。终端C,G应为高电平,以确保相应的显示仍然是笼罩。其他端口,如D,H端口保持不变。

步骤2:旋转旋转选择开关1,然后将在终端A,C或G上改变电压使其处于低电压状态, 并会产生相应的显示。终端1,2,3以及S上的电压状态保持不变。终端B,D和H应保持在较低水平,以确保当显示为无数据时相应的读出清除为零。

- 43 -

重庆邮电大学本科毕业设计(论文)

三、源程序代码

计费程序模块程序

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jifei is

port (clk,start,stop,pause,js:in std_logic; chefei,luc:out integer range 0 to 8000); end jifei;

architecture rtl of jifei is begin

process(clk,start,stop,pause,js) variable a,b:std_logic;

variable aa:integer range 0 to 100; variable chf,lc:integer range 0 to 8000; variable num:integer range 0 to 9; begin

if(clk'event and clk='1')then if(stop='0')then chf:=0; num:=0; b:='1'; aa:=0; lc:=0;

elsif(start='0')then b:='0'; chf:=700; lc:=0;

elsif(start='1' and js='1'and pause='1')then if(b='0')then num:=num+1; end if;

if(num=9)then lc:=lc+5; num:=0; aa:=aa+5; end if;

elsif(start='1'and js='0'and pause='1')then lc:=lc+1; aa:=aa+1;

- 44 -

重庆邮电大学本科毕业设计(论文)

end if;

if(aa>=100)then a:='1'; aa:=0; else a:='0'; end if;

if(lc<300)then null;

elsif(chf<2000 and a='1')then chf:=chf+220;

elsif(chf>=2000 and a='1')then chf:=chf+330; end if; end if;

chefei<=chf; luc<=lc; end process; end rtl;

十进制转换模块程序

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity x is

port(daclk:in std_logic;

ascore,bscore:in integer range 0 to 8000;

age,ashi,abai,aqian,bge,bshi,bbai,bqian:out std_logic_vector(3 downto 0)); end x ;

architecture rtl of x is begin

process(daclk,ascore)

variable comb1:integer range 0 to 8000;

variable comb1a,comb1b,comb1c,comb1d:std_logic_vector(3 downto 0); begin

if(daclk'event and daclk='1')then if(comb1

if(comb1a=9 and comb1b=9 and comb1c=9)then comb1a:=\comb1b:=\comb1c:=\comb1d:=comb1d+1;

- 45 -

本文来源:https://www.bwwdw.com/article/njvr.html

Top