




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
出租车计费器摘 要 :该系统利用VHDL语言、CPLD设计出租车计费系统,以MAX+PLUS软件作为开发平台,设计了出租车计费器系统程序并进行了程序仿真。使其实现计费以及预置和模拟汽车启动、停止、暂停等功能,并动态扫描显示车费数目和路程数目。关键词: 出租车计费器;计数器;VHDL语言;MAX+PLUS; Rental car fare register system designAbstract:This system using the VHDL language,CPLD design rental car costs the system, develops the platform by the MAX+PLUSsoftware achievement, has designed the rental car fare register system program and has carried on the procedure simulation. Causes its realization to cost as well as the initialization and the simulation automobile starts, stops, function and so on suspension, and dynamic scanning demonstration fare number.Key words: The rental car costs the system; the counter; the VHDL language; MAX+PLUS II;目录序言 3第一章 EDA与QuartusII开发系统简介51.1 EDA发展概况51.2 硬件描述语言VHDL 61.2.1 VHDL简介 61.2.2 VHDL的设计流程 71.3 QuartusII 软件操作流程 8第二章 课题概述 112.1 出租车计费系统的实验任务及要求 112.2、出租车计费系统的原理和方案设计11 2.3、具体的方案设计122.3.1硬件电路方案设计122.3.2 软件方案设计13第三章 硬件电路143.1 时钟电路143.1.1 555电路143.2下载电路163.3开关电路163.4动态显示电路16第四章 计费系统的VHDL设计174.1 分频器174.2 车行状态模块194.3 累加模块214. 3 计费模块234.5 计程模块314.6 译码模块33第五章 总程序的设计及其实现的结果355.1 无译码程序的计费系统TAXI设计355.2 有译码程序的计费系统模块37总结39参考文献40致谢 41附录一42出租车计费器序 言随着当代电子信息技术的发展,自动计费器被广泛的用于各个系统,例如上网自动计费系统、电话计费器、出租车计费器等等。可见自动计费系统在我们的生活中是越来越重要,本次课程设计是围绕出租车计费器来深入了解计费器是怎样实现计费的。计费器必须有很好的准确性,否则将会带来不良影响。本课题是利用VHDL语言来实现计费功能的,VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用潜力,因此选用VHDL语言进行编程。用VHDL 设计各种数字电路是当今数字设计领域的一个重要发展方向。本次课程设计巩固和运用了所学课程,通过理论联系实际,提高了分析、解决计算机技术实际问题的独立工作能力,通过对一个出租车计费器的设计,进一步加深了对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉了数字电路系统设计、制作与调试的方法和步骤。进一步了解了计算机组成原理与系统结构,使自己对EDA技术的学习更深入,学会用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。出租车计费器就是对车轮传感器送来的脉冲进行计数(每转一圈送一个脉冲),本课程设计利用晶振产生的脉冲代替车轮传感器送来的脉冲。当计费系统接收到一个脉冲信号, 它将会实现计数的功能,并且通过外围的电路把所实现的功能实现出来。本论文共分5章和2个附录,第1章介绍了EDA与QuartusII开发系统。第2章介绍出租车计费系统的原理和方案设计第3章介绍了硬件设计。第4章介绍了软件设计。第5章介绍了总的设计以及其结果。本课题的主要设计工作内容是能够显示出租车的车费和里程并完成安装与调试。第一章 EDA与QuartusII开发系统简介1.1 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技术。在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。开展“数控化”工程和“数字化”工程。自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方向发展。外设技术与EDA工程相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。 中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场的竞争。 在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放 。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50%和30%。 EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术的应用广泛,现在已涉及到各行各业。EDA水平不断提高,设计工具趋于完美的地步。EDA市场日趋成熟,但我国的研发水平还很有限,需迎头赶上。可编程逻辑器件自年代以来,经历了、几个发展阶段,其中高密度可编程逻辑器件,目前集成度已高达万门片,它将各模块集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转换掩模实现,因此开发风险也大为降低。硬件描述语言()是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个位的加法器,利用图形输入软件需要输人至个门,而利用语言只需要书写一行“”即可。而且 语言可读性强,易于修改和发现错误。早期的硬件描述语言,如、,由不同的厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,年美国国防部正式推出了高速集成电路硬件描述语言,年采纳为硬件描述语言标准( )。1.2 硬件描述语言VHDL1.2.1 VHDL简介是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级和逻辑门多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由下向上的电路设计过程都可以用来完成。还具有以下优点:()的宽范围描述能力使它成为高层进设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。可以用简洁明确的代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设计结果的交流、保存和重用。()的设计不依赖于特定的器件,方便了工艺的转换。()是一个标准语言,为众多的厂商支持,因此移植性好。传统的硬件电路设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便。为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发周期,各ASIC研制和生产厂家相继开发了具有自己特色的电路硬件描述语言(Hardware Description Language,简称HDL)。但这些硬件描述语言差异很大,各自只能在自己的特定设计环境中使用,这给设计者之间的相互交流带来了极大的困难。因此,开发一种强大的、标准化的硬件描述语言作为可相互交流的设计环境已势在必行。于是,美国于1981年提出了一种新的、标准化的HDL,称之为VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,简称VHDL。这是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言。设计者可以利用这种语言来描述自己的设计思想,然后利用电子设计自动化工具进行仿真,再自动综合到门电路,最后用PLD实现其功能。1.2.2 VHDL的设计流程从系统总体要求出发,自上而下地逐步将设计的内容细化,最后完成系统硬件的整体设计。在设计的过程中,对系统自上而下分成三个层次进行设计:第一层次是行为描述。所谓行为描述,实质上就是对整个系统的数学模型的描述。一般来说,对系统进行行为描述的目的是试图在系统设计的初始阶段,通过对系统行为描述的仿真来发现设计中存在的问题。在行为描述阶段,并不真正考虑其实际的操作和算法用何种方法来实现,而是考虑系统的结构及其工作的过程是否能到达系统设计的要求。第二层次是RTL方式描述。这一层次称为寄存器传输描述(又称数据流描述)。如前所述,用行为方式描述的系统结构的程序,其抽象程度高,是很难直接映射到具体逻辑元件结构的。要想得到硬件的具体实现,必须将行为方式描述的VHDL语言程序改写为RTL方式描述的VHDL语言程序。也就是说,系统采用RTL方式描述,才能导出系统的逻辑表达式,才能进行逻辑综合。第三层次是逻辑综合。即利用逻辑综合工具,将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表)。此时,如果需要,可将逻辑综合的结果以逻辑原理图的方式输出。此后可对综合的结果在门电路级上进行仿真,并检查其时序关系。应用逻辑综合工具产生的门网络表,将其转换成PLD的编程码,即可利用PLD实现硬件电路的设计。由自上而下的设计过程可知,从总体行为设计开始到最终的逻辑综合,每一步都要进行仿真检查,这样有利于尽早发现设计中存在的问题,从而可以大大缩短系统的设计周期。 1.3 Quartus 的软件操作流程双击桌面上,打开Quartus软件。(1) 新建VHDL文件 ,开始编写VHDL程序。(2) 保存VHDL文件,文件取名要与程序实体名要一致。(3) 创建新工程按下“保存”按纽后会出现如下提示。提示是否为此文件建立一个工程,这很重要。然后点击“是”,出现以下窗口,点“Next ”。(4) 器件的选择继续点“Next ”。然后选择FPGA或CPLD的有关参数,这些参数都是根据目标芯片来选择的。一直到“Finish”完成器件选择(5) 编译编译:选择processing菜单中的start compilation命令。编译完成的提示如下,点击确定即可。(6) 仿真这时可以进行仿真,首先要建立波形文件,点“File-New-”,出现如下窗口:选择“Other Files”最下面的“Vector waveform File”点“OK”。出现以下窗口。双击左边的空白处,设定输入输出信号。设定好波形后,保存波形。之后点进行仿真。(7) 锁定引脚引脚锁定,如下图操作:引脚的锁定是根据不同的电路和不同功能来确定的,不是一层不变的。选择Assignments菜单下的Pins命令,出现以下窗口,如果是下载到实验箱上则需连续按“模式选择”按钮选择模式5,再按“系统复位”按钮。进行引脚锁定,查阅附表,分别点“location”选择引脚号。引脚锁定后再编译。如同此前进行过的。编译成功后点确定。(8)下载选择Tools菜单下的Programmer命令,然后在Program/Configure下打上钩选中,点“start”按钮开始下载,“Progress”进度条显示下载进度。成功下载后如图所示:下载完后就可以在实验箱查看结果。 通过上面的步骤分别下载到实验箱中和FPGA中,验证了在仿真中的结果是正确的。第二章 课题概述2.1 出租车计费系统的实验任务及要求1. 能实现计费功能,计费标准为:按行驶里程收费,起步费为10.00元,并在车7公里后再按1元/公里,当计费器计费达到或超过一定收费(如20元)时,再按1.5元/公里的车费,车停止不计费。2. 实现预置功能:能预置起步费、每公里收费、车行加费里程。3. 实现模拟功能:能模拟汽车启动、停止、暂停等状态。4. 设计动态扫描电路:将车费、里程动态的显示出来。5. 用VHDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路。系统的顶层框图:动态显示模块控制芯片信号输入6. 各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。2.2、出租车计费系统的原理和方案设计信号输入:各种控制信号经输入端给控制芯片。控制芯片:采用的有CPLD或者FPGA等。里程显示和动态显示电路:采用的是数码管来实现功能的输出。2.3、具体的方案设计2.3.1、硬件电路方案设计以下为硬件电路的结构简图:动态显示电路 CPLD 模块时钟控制模块PC机开关电路下载电路各模块的组成和原理:(1)时钟控制模块此模块是由1.8M的有源晶振和555电路所构成的。有源晶振通常的用法:一脚悬空,二脚接地,三脚接输出,四脚接电压。它的引脚是有个点标记的为1脚,按逆时针(管脚向下)分别为2、3、4。(2)下载电路模块此模块主要由下载线组成。作用:使PC机中编写的VHDL语言的程序下载到CPLD芯片中,使电路实现所需的功能。(3)开关模块:该模块的作用是用于电路的输入的信号。(4)动态显示模块: 此模块由五个数码管和三个二极管所构成,三个数码管起到限制电流的作用,使得流到数码管的电流适当,防止数码管中的电流过大,而使得数码管损坏。数码管将计费和里程动态的显示出来。2.3.2 软件方案设计以下为软件结构简图:车速控制模块分频器里程计数模块车费计数模块车行驶状态 译码模块各模块的功能:1)分频器:将时钟信号进行分频。2)车行状态模块:将汽车的启动、停止、暂停状态输出。3)里程计数模块:当来一个脉冲信号时,里程值加1。4车费计数模块:白天计费:其初值为9元,当里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动,之后每来一个脉冲(代表运行了1公里)其数值加1元,当车程超过10公里时每来一个脉冲其数值加1元。夜间计费:其初值为11元,当里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动,之后每来一个脉冲(代表运行了1公里)其数值加2元,当车程超过10公里时每来一个脉冲其数值加3元5)译码模块:实现将车费计数模块和里程计数模块输出的十进制数转换成二进制数输出。第三章 硬件电路根据前面第一章所提到的硬件电路的方案设计,这章介绍各模块的具体设计。3.1时钟电路3.1.1 555电路在数字系统中,为了使各部分在时间上协调动作,需要有一个统一的时间基准。用来产生时间基准信号的电路称为时基电路。时基集成电路555就是其中的一种。它是一种由模拟电路与数字电路组合而成的多功能的中规模集成组件,只要配少量的外部器件,便可很方便的组成触发器、振荡器等多种功能电路。因此其获得迅速发展和广泛应用。下图为由555定时器所构成的多谐振荡器,该电路可以用于脉冲输出、音响告警、家电控制、电子玩具、检测仪器、电源变换、定时器等。 图3.1.2 555电路的接法该电路的特点是“RA7RB6.2C”,RA与VCC相连。公式是:T1=0.693(RA+RB)*C, T2=0.693RB*C,F=1.443/(RA+2RB)*C为了满足我的设计要求,因此取RA=RB其阻值为47K,取电容C的取值为10uf,电容C1的取值0.01uF。3.2下载电路PC机和CPLD之间采用的是并行接口的通信方法,如图3-2所示。ByteBlaster与PC机并口相连的一端是25针插座头, 与CPLD板插座相连的是10针插座头图3-2 电缆3.3开关电路它的作用是提供输入信号。拨码开关的4个引脚CPLD芯片的引脚上。根据拨码开关的高低电平来实现模拟汽车的相应的转态,如加速、匀速、暂停、停止。3.4动态显示电路 该电路用五个数码管所组成,其中三个数码管实现将车费动态的显示出来。其动态的显示范围为0到99.9元。还有两个数码管实现将汽车行驶的里程动态的显示出来,其动态的显示范围为0到99公里。第四章 计费系统的VHDL设计传统的电子设计技术通常是自底向上的,即首先确定构成系统的最底层的电路模块或元器件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足高层系统的要求10。以此流程,逐步向上递推,直至完成整个目标系统设计。而在“自顶向下”的设计中,首先需要进行行为设计。接着进行结构设计,根据该电子系统或芯片的特点,将其分解为接口清晰、相互关系明确、尽可能简单的子系统,得到一个总体结构。下一步是把结构转换成逻辑图,即进行逻辑设计。接着进行电路设计,逻辑图将进一步转化成电路图。在很多情况下,这时需进行硬件仿真,以最终确定逻辑设计的正确性。最后是进行版图设计,即将电路图转化成版图。在本设计中采用的是自顶向下的设计方法,首先从系统功能设计开始,对系统高层模块进行行为描述和功能仿真.系统的功能验证完成后,将抽象的高层设计自顶向下逐级细化,直到与所用可编程逻辑器件相对应的逻辑描述。在本设计中,具有6个模块:1)车速控制模块:可实现模拟汽车的加速和匀速。当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的脉冲信号,当处于停止状态时暂停发出脉冲,此时没有脉冲输出。 2)分频器:将时钟信号进行分频。3)车行状态模块:将汽车的启动、停止、暂停状态输出。4)里程计数模块:当来一个脉冲信号时,里程值加1。5车费计数模块:其初值为10元,当里程超过7公里后才接受计数车速控制模块发出的脉冲的驱动,之后每来一个脉冲(代表运行了1公里)其数值加1元,当收费超过20元时每来一个脉冲其数值加1.5元。6)译码模块:实现将车费计数模块和里程计数模块输出的十进制数转换成二进制数输出。下面具体介绍各个部分的设计。4.1分频器(1)实物图 图4.2分频器的实体图CLK0:输入信号FOUT:输出信号(2)分频器的VHDL设计本设计将输入的一个脉冲信号实现五分频。ARCHITECTURE ONE OF PULSE ISBEGIN PROCESS(CLK0) VARIABLE CNT:STD_LOGIC_VECTOR(2 DOWNTO 0); VARIABLE FULL :STD_LOGIC; BEGIN IF CLK0EVENT AND CLK0=1 THEN IF CNT=100 THEN CNT:=000 ; FULL:=1; ELSE CNT:=CNT+1; FULL:=0; END IF; END IF;FOUT0); ELSIF CLKEVENT AND CLK=1 THEN IF STO=1 THEN STATE:=00;CQI:=CQI; ELSIF ENABLE =1 THEN CQI:=CQI+1; IF CQI15 AND CQI=50 THEN STATE:=10; ELSE STATE:=11; END IF; END IF; END IF;ST=STATE;END PROCESS;END ONE;(3)仿真的波形此波形是在Quartus 仿真平台下进行的仿真,从波形图中可以看出当暂停信号作用的时候输出为“00”,当出租车行驶的公里数小于30时输出状态为“01”,当出租车行驶的公里数大于30小于80时其输出状态为“10”,当出租车行驶的公里数大于80时其输出状态为“11”。由此可见,与我所希望的相符合,可见该程序是正确的。4.3 累加模块(1)实体图累加器的实体图Clk:输入的脉冲信号en:使能端,高电平有效。Kk:当累加到5个脉冲的时,kk输出为1;否则为0.(2)累加模块的VHDL设计library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;entity cc is port(clks,en:in std_logic; kk:out std_logic);end entity cc;architecture one of cc is begin process(clks,en) variable Q1:std_logic_vector(3 downto 0); variable Q2:std_logic_vector(3 downto 0); variable k:std_logic; begin if clksevent and clks=1 then if en=1 then Q1:=Q1+1;q2:=q1; if Q20101 then k:=0; q2:=q2; else if q2=0101 then k:=1;q2:=0000;q1:=0000; elsif en=0 then q1:=q1; end if; end if; end if; end if; kk IF K=0 THEN Q2:=Q2; Q3:=Q3; ELSE IF K=1 THEN IF Q21001 THEN Q2:=Q2+1; ELSE Q2:=0000; IF Q3 Q2:=1001;Q3:=0000; WHEN 10= IF Q21001 THEN Q2:=Q2+1; ELSE Q2:=0000; IF Q3 IF Q21000 THEN Q2:=Q2+2; ELSE if q2=8 then IF Q31001 THEN q2:=0000; q3:=q3+1; ELSE Q3:=0000; EN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程师资质及经验证明书(5篇)
- 电子发票开具及报销流程规定合同书
- 2025年音乐教育专业考试题及答案
- 2025年创新创业实践与管理能力测试卷及答案
- 2025年甘肃省平凉华亭市策底镇招聘专业化管理的村文书笔试备考试题及答案详解1套
- 物资采购基本管理制度
- 特殊幼儿患病管理制度
- 特殊材料入库管理制度
- 率土之滨团队管理制度
- 玩具挂件库存管理制度
- 工模外发管理流程模板
- 部编版高一上册语文第三课《百合花》课文原文教案及知识点
- 北京理工附中小升初分班考试真题
- 膀胱镜检查记录
- 英语社团活动课件
- 学前儿童发展心理学-情感
- 二年级下册数学教案 《生活中的大数》练习课 北师大版
- GB∕T 16762-2020 一般用途钢丝绳吊索特性和技术条件
- 电网施工作业票模板
- T∕CAEPI 31-2021 旋转式沸石吸附浓缩装置技术要求
- 国家级高技能人才培训基地建设项目实施管理办法
评论
0/150
提交评论