基于FPGA出租车计费系统的设计毕业论文.doc

上传人:laozhun 文档编号:3938471 上传时间:2023-03-28 格式:DOC 页数:65 大小:2MB
返回 下载 相关 举报
基于FPGA出租车计费系统的设计毕业论文.doc_第1页
第1页 / 共65页
基于FPGA出租车计费系统的设计毕业论文.doc_第2页
第2页 / 共65页
基于FPGA出租车计费系统的设计毕业论文.doc_第3页
第3页 / 共65页
基于FPGA出租车计费系统的设计毕业论文.doc_第4页
第4页 / 共65页
基于FPGA出租车计费系统的设计毕业论文.doc_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《基于FPGA出租车计费系统的设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于FPGA出租车计费系统的设计毕业论文.doc(65页珍藏版)》请在三一办公上搜索。

1、石家庄铁道大学四方学院毕业设计基于FPGA出租车计费系统的设计The Design of Taxi Meter Based on FPGA毕业设计成绩单学生姓名学号20086287班级方0809-1专业电子信息工程毕业设计题目基于FPGA出租车计费系统的设计指导教师姓名指导教师职称讲师评 定 成 绩指导教师得分评阅人得分答辩小组组长得分成绩:院长(主任) 签字:年 月 日毕业论文任务书题目基于FPGA出租车计费系统的设计学生姓名宋雨薇学号20086287班级方0809-1专业电子信息工程承担指导任务单位电气工程系导师姓名尚燕导师职称讲师一、 主要内容该项目主要由硬件电路设计和软件控制两部分组成

2、。硬件部分主要完成出租车计费系统设计需要的FPGA芯片及外围显示和拨档开关控制电路设计。软件部分由主控器EP1C12控制完成,通过VHDL语言完成出租车计费系统的整个程序设计。二、 基本要求1、车起步开始计费;2、超过起步里程后,按规定的费用累加计费;3、车暂停不计费或按折扣计费;4、超过最大所规定里程后,可增加计费比例;三、主要技术指标1、完成主要功能。2、原理图,波形图。3、使用说明书撰写。4、论文正文不少于1万字,查阅文献资料不少于10篇,其中外文文献2篇以上,翻译与课题有关的外文资料不少于3000汉字。四、应收集的资料及参考文献VHDL语言开发。Quartus II开发工具。关于cyc

3、lone系列相关FPGA开发文档。EP1C12Q240C8芯片的使用手册和接口电路。五、进度计划第 1 周第 2周 收集资料,完成开题报告第 3 周第 4周 需求分析,概要设计第 5 周第 7周 详细设计第 8 周 中期检查第 9 周第12周 写论文第13周第14周 论文审核定稿第15周第16周 答辩教研室主任签字时间年 月 日毕业设计开题报告题 目基于FPGA出租车计费系统的设计学生姓名宋雨薇学号20086287班级方0809-1专业电气工程系一、研究背景在我国社会经济发展的今天,随着城市化水平的提高和人民生活水平的改善,各大中小城市的出租车营运事业也迅速发展,出租车的服务显得越来越重要。出

4、租车计价器是出租车营运收费的专用智能化仪表,它安装在出租车上,指示出载客路程数,以及乘客应付费用的总数,是出租车市场规范化、标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。当计费系统在各大、中城市出租车中使用越来越广泛,用户对计费器的要求也越来越高。以出租车多功能计费器为例,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票打印、语音报话识别、电脑串行通信及税控等功能;不同国家和地区的收费方式存在差异,即使在同一地区,不同车型的出租车其收费方式也有差别,而且出租车还面临几年一次的调价

5、或调整收费方式等问题。出租车计价系统较多的是利用单片机进行控制,但较易被私自改装,且故障率相对较高,且不易升级;而FPGA具有高密度、可编程及有强大的软件支持等特点,所以设计的产品具有功能强、可靠性高、易于修改等特点。基于现场可编程逻辑阵列(FPGA)的出租车多功能计费器,采用硬件描述语言VHDL和逻辑综合为基础的自顶向下的电路设计方法,开发成本低,周期短,可靠性高,功能升级方便,满足了用户的要求。该系统在不改变硬件电路的前提下,具有可以重构系统的功能;采用完全相同电路结构,只要根据各地区的要求在VHDL程序中设置各参数,就可以适应各地区出租车不同计费标准的需要,还可以根据各地区需求增加其他功

6、能。二、国内外研究状况我国在70年代开始出现出租车,但那时的计时系统大都是国外进口,不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程,到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变更单价等功能。在国外,现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局,而部分小城市尚未普及,但随着城市建设日益加快,计价器的普及也是毫无疑问的。从国内外的各种研究方法来看,实现出租车计费系统总共有三种方案。利用大规模的数字逻辑器件来实现,利用89C51实现,利用CPLD/

7、FPGA来实现。二十世纪后半期,数字系统得到了飞速发展,同时为了提高系统的可靠性与通用性,微处理器和专业集成电路逐渐取代了通用全硬件电路。目前,业界大量可编程逻辑器件,尤其是现场可编程器件被大量地应用在集成电路的制作当中。理想的可编程逻辑开发系统能符合大量的设计要求:它能支持不同结构的器件。在多种平台运行,提供易于使用的界面,并且有广泛的特征。可编程器件的逻辑功能描述一般分为原理图描述和硬件语言描述,原理图描述是一种直观简便的方法,它可以讲现有的小规模集成电路实现的功能直接用可编程器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练。而语言描述可以精确和简练地表示电路的逻

8、辑功能,现在可编程器件的设计过程中广泛使用。常用的硬件描述语言有ABEL、VHDL语言等,其中VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。三、研究方案 整个出租车计费系统大致可以分为控制电路模块、分频模块和扫描显示模块,其中控制电路模块包括速度模块、计程模块、计时模块、计费模块,扫描显示模块包括模8计数器模块、8选1选择器模块、七段数码管显示模块。其系统设计框图如图1所示。速度模块计时模块计费模块计程模块总费用总里程译码显示 脉冲信号 速度 开始键 复位键 时钟信号图1出租车计费器系统

9、设计框图四、预期结果经过对任务书的分析,本课题要求对出租车计费系统的原理进行分析,熟悉出租车计费系统的组成结构图,并对其进行仿真设计。该电路系统能够模拟实际出租汽车的行驶、停止、暂停等状态,并根据不同状态进行计费。以十进制显示出租车行驶路程与车费。车起步开始计费,首先显示起步价,起步费为3.00元,车在行驶3km以内,只收起步价。车行驶超过3km后,每km收费2元,车费依次累加。当总费用达到或超过40元时,每km收费4元。当遇到红灯或遇客户需要停车等待时,则按时间计费,计费单价为每20s收费1元。指导教师签字时间年 月 日摘要我国在70年代开始出现出租车,但那时的计费系统大都是国外进口,不但不

10、够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程,发展到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。 本文中所用到的VHDL就能解决上述问题,因为本设计就是采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的硬件结构,通过在Quartus II软件中编译和下载测试,得到了仿真波形和关键的设计结果。经过在实验箱上进行硬件测试,证明出租车计价系统具有出租车计价器的基

11、本功能。文章首先简述了出租车控制系统的意义和发展现状以及VHDL语言的特点,然后介绍了出租车控系统的设计要求,设计思路,并给出了总体设计框图,通过分析方框图绘出详细的模块电路流程图并写出程序源代码,将代码在Quartus II软件上进行编译仿真,波形基本符合设计要求。关键字:出租车计费器VHDL语言Quartus IIAbstractChina began to appear in the 1970s, but then the taxi billing system mostly imported not only accurate, the price also is very expen

12、sive. Along with the reform and opening-up, the taxi industry development momentum has a very prominent, the domestic various machinery manufacturers have domestic meter. The meter taxi from the beginning of the function to display only the driver himself away, pricing, and are able to independently

13、 rounding billing, and now can play an invoice and audio, according to time independent functions such as price changes. Along with the development of urban tourism industry has become a city, taxi window, a symbol of a citys civilization.In this paper the VHDL can solve the above problem, because o

14、f this design is described by VHDL Language as a design method of Hardware, using the top-down design ideas, get a taxi pricing system Hardware structure, software by Quartus II compiler and download in the simulation results of the design and key waveforms. After the experiment box on hardware test

15、ed prior taxi cab pricing system is the basic function of the meter.This article first introduced the meaning and taxi control system development status and the characteristics of the language of VHDL, then introduces the design of the control system of the taxi, design ideas, and presents the overa

16、ll design, through the analysis of the block diagram of the draw detailed modules circuit chart and write program source code, will in Quartus II compiled on software simulation, waveform basic comply with the design requirements.Key words:Taxi meterVHDLQuartus II目录第1章绪论11.1设计研究的相关背景11.2设计研究的意义11.3课

17、题研究的主要内容2第2章实现工具简介32.1FPGA简介32.2开发软件Quartus II简介42.3硬件描述语言VHDL简介4第3章系统软件设计73.1设计任务73.1.1方案拟定73.1.2模块的划分83.2 速度模块93.2.1速度模块元件图设计93.2.2速度模块仿真93.3计程模块93.3.1计程模块元件图设计103.3.2计程模块仿真103.4计时模块103.4.1计时模块元件图设计113.4.2计时模块仿真113.5计费模块113.5.1计费模块元件图设计123.5.2计费模块仿真123.6控制电路顶层例化模块123.6.1控制电路顶层例化模块元件图设计133.6.2控制电路顶

18、层例化模块仿真133.7分频模块143.7.1分频模块元件图设计143.7.2分频模块仿真143.8模8计数器模块143.8.1模8计数器模块元件图设计153.8.2模8计数器模块仿真153.98选1选择器模块153.9.18选1选择器模块元件图设计153.9.28选1选择器模块仿真163.10七段数码管显示模块163.10.1七段数码管显示模块元件图设计173.10.2七段数码管显示模块仿真173.11顶层模块173.11.1顶层模块电路图设计173.11.2顶层模块仿真18第4章硬件环境及调试过程194.1芯片介绍194.2硬件实现194.2.1选择芯片194.2.2引脚锁定204.2.3

19、下载到硬件环境21第5章总结及完善235.1总结235.2完善23参考文献24致谢25附录26附录A 外文资料26附录B顶层文件电路图43附录C源代码44 第1章绪论1.1设计研究的相关背景在我国社会经济发展的今天,随着城市化水平的提高和人民生活水平的改善,各大中小城市的出租车营运事业也迅速发展,出租车的服务显得越来越重要。出租车计价器是出租车营运收费的专用智能化仪表,它安装在出租车上,指示出载客路程数,以及乘客应付费用的总数,是出租车市场规范化、标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。当计费系统

20、在各大、中城市出租车中使用越来越广泛,用户对计费器的要求也越来越高。以出租车多功能计费器为例,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票打印、语音报话识别、电脑串行通信及税控等功能;不同国家和地区的收费方式存在差异,即使在同一地区,不同车型的出租车其收费方式也有差别,而且出租车还面临几年一次的调价或调整收费方式等问题。出租车计价系统较多的是利用单片机进行控制,但较易被私自改装,且故障率相对较高,且不易升级;而FPGA具有高密度、可编程及有强大的软件支持等特点,所以设计的产品具有功能强、可靠性高、易于修改等特点1。基于现场可编程逻辑阵列(FPGA)的出租车多功能计费

21、器,采用硬件描述语言VHDL和逻辑综合为基础的自顶向下的电路设计方法,开发成本低,周期短,可靠性高,功能升级方便,满足了用户的要求。该系统在不改变硬件电路的前提下,具有可以重构系统的功能;采用完全相同电路结构,只要根据各地区的要求在VHDL程序中设置各参数,就可以适应各地区出租车不同计费标准的需要,还可以根据各地区需求增加其他功能。1.2设计研究的意义随着我国市场经济的发展,交通也越来越便利,特别是出租车,以快捷、方便的特点早已盛行各个城市,成为城市交通的重要工具。计程车市场从90年代初的起步阶段到现在已经进入了高峰期。随着城市化水平的提高和人民生活水平的改善,计程车的服务也就显得越来越重要,

22、因此计程车计价器也就应运而生了。由于现场可编程逻辑阵列FPGA具有开发简单、静态可重复编程和动态再系统编程等特点,已经成为当今应用最广泛的可编程专用集成电路之一。随着微电子技术的迅猛发展,速度更快、集成度更高的FPGA不断出现,芯片上包含的资源也越来越丰富,可实现的功能越来越强,这使得FPGA在电子电路设计中扮演的角色越来越重要。1.3课题研究的主要内容 我国在70年代开始出现出租车,但那时的计时系统大都是国外进口,不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程,到能够自主计费,以及现

23、在的能够打发票和语音提示、按时间自主变更单价等功能。在国外,现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局,而部分小城市尚未普及,但随着城市建设日益加快,计价器的普及也是毫无疑问的。从国内外的各种研究方法来看,实现出租车计费系统总共有三种方案。利用大规模的数字逻辑器件来实现,利用89C51实现,利用CPLD/FPGA来实现。二十世纪后半期,数字系统得到了飞速发展,同时为了提高系统的可靠性与通用性,微处理器和专业集成电路逐渐取代了通用全硬件电路。目前,业界大量可编程逻辑器件,尤其是现场可编程器件被大量地应用在集成电路的制作当中。理想的可编程逻辑开发系统能符合大量的设计要

24、求:它能支持不同结构的器件。在多种平台运行,提供易于使用的界面,并且有广泛的特征。可编程器件的逻辑功能描述一般分为原理图描述和硬件语言描述,原理图描述是一种直观简便的方法,它可以讲现有的小规模集成电路实现的功能直接用可编程器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练。而语言描述可以精确和简练地表示电路的逻辑功能,现在可编程器件的设计过程中广泛使用。常用的硬件描述语言有ABEL、VHDL语言等,其中VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。第2章实现工具简

25、介2.1FPGA简介FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点2。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPG

26、A的基本特点主要有: 1、采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2、FPGA可做其它全定制或半定制ASIC电路的中试样片。 3、FPGA内部有丰富的触发器和I/O引脚。 4、FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5、FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等3。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因

27、此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。 FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPG

28、A;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。2.2开发软件Quartus II简介Quartus II是Altera公司推出的CPLD/FPGA开发工具,Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性。Quartus II设计流程:1、设计输入:完成期间的硬件描述,包括文本编辑器、块与符号编辑器、MegaWizard插件管理器、约束编辑器和布局编辑器等工具;2、综合:包括分析和综合器以、辅助工具和RTL查看器等工具;3、布局连线:将设计综合后的网表文件映射到实体器件的过程,包括Fitte

29、r工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具;4、仿真:Quartus II提供了功能仿真和时序仿真两种工具;5、器件编程与配置:包括四种编程模式,即被动串行模式、JTAG模式、主动串行模式和插座内编程模式。使用New Project Wizard新建一个工程的过程:1、制定工程的文件存放目录、工程名以及最顶层的设计实体名,在默认情况下,工程名与最顶层的设计实体名是相同的。2、添加文件,包括最顶层的设计实体文件以及一些额外的电路模块描述文件或定制的功能库。3、选择目标芯片,具体芯片最好让编译器根据工程设计的实际情况自动选择。4、第三方EDA工具设定,包括设计输入与综合工具、仿

30、真工具、时序分析工具等,默认为Quartus II自带的仿真器、综合器以及时序分析器。5、最后一步系统将整体工程的各项参数和设置总结并显示出来,这时即可完成工程的创建4。2.3硬件描述语言VHDL简介VHDL全名Very-High-Speed Integrated Circuit Hardware Description Language(超高速集成电路硬件描述语言),诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可

31、以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中VHDL于Verilog语言将承担起大部分的数字系统设计任务5。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL

32、的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来,VHDL 语言主要具有以下优点:1、VHDL 语言功能强大,设计方式多样 VHDL 语

33、言具有强大的语言结构,只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法,也支持层次化设计方法。 2、VHDL语言具有强大的硬件描述能力 VHDL语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL语言也支持惯性延

34、迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL语言的强大描述能力还体现在它具有丰富的数据类型。VHDL语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 3、VHDL语言具有很强的移植能力 VHDL语言很强的移植能力主要体现在:对于同一个硬件电路的VHDL语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 4、VHDL 语言的设计描述与器件无关 采用VHDL语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路

35、设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完成以后,VHDL语言允许采用多种不同的器件结构来实现。 5、VHDL语言程序易于共享和复用 VHDL 语言采用基于库(library)的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用6。 由于VHDL语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量

36、,缩短开发周期7。随着EDA技术的发展,使用硬件语言设计FPGA成为一种趋势。借用MAX+PLUS II或Quartus II等软件用VHDL语言开发FPGA的完整流程为:1、文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件。2、功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真8。3、逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf的EDA工业标准文件。4、布局布线:将edf文件调入

37、PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。5、时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序(也叫后仿真)。6、编程下载:确认仿真无误后,将文件下载到芯片中。.sof文件用于直接下载到芯片(掉电后会消失),.pof文件用于rom芯片下载(掉电后不消失)9。第3章系统软件设计3.1设计任务设计一个满足日常生活所需功能的出租车计费器。该项目主要由硬件电路设计和软件控制两部分组成。硬件部分主要完成出租车计费系统设计需要的FPGA芯片及外围显示和拨档开关控制电路设计。软件部分由主控器EP1C12控制完成,通过VHDL语言完成出租车计费系统的整个程

38、序设计。实现计费器预置功能,能够预置起步价、每公里收费、车行加费里程、计时收费等。可以模拟实际出租汽车的行驶、停止、暂停等状态,并根据不同状态进行计费。以十进制显示出租车行驶路程与车费。3.1.1方案拟定1、方案对比方案一:该方案系统设计框图,如图3-1:时钟信号等待信号公里脉冲计费、复位分频器控制器计费计时计程译码显示图3-1 方案一系统设计框图在该方案中,由分频模块、控制模块、计量模块、译码和动态扫描显示模块组成,可以实现出租车计费功能,但其使用公里脉冲信号做为公里计数的开始信号,由于实验箱中时钟信号的限制,不能完全实现计费计程功能。方案二:该方案系统设计框图,如图3-2:速度模块计时模块

39、计费模块计程模块总费用总里程译码显示 脉冲信号 速度 开始键 复位键 时钟信号图3-2方案二系统设计框图在该方案中,主要包括控制电路模块、分频模块和扫描显示模块,其中控制电路模块包括速度模块、计程模块、计时模块、计费模块,扫描显示模块包括模8计数器模块、8选1选择器模块、七段数码管显示模块,最后由数码管显示计费计程结果。2、方案的确定及功能分析:根据方案一与方案二的对比,方案一不能实现此次设计的所有功能,最终选择方案二作为本次设计方案。本次设计要求设计一个出租车计费系统,具体功能设定如下:(1)车起步开始计费。首先显示起步价(本次设计起步价设为3.00元),车在行驶3km以内,只收起步价3.0

40、0元。(2)车行驶超过3km后,按每公里2元计费(在3.00元基础上每行驶1km车费加2元),车费依次累加。(3)当遇到红灯或遇客户需要停车等待时,则按时间计费,计费单价为每20s收费1元。(4)当总费用达到或超过40元时,每km收费4元。3.1.2模块的划分如图3-2,设计上总体分为芯片控制部分和扫描显示部分。以EP1C12Q240C8芯片作为核心控制电路,控制数码管的显示,具体显示内容及方式由软件来完成。显示部分由外围设备数码管实现,显示出租车行驶路程和计费。出租车的开始、暂停状态及出租车速度均由拨档开关控制。分析系统设计要求不难得知,整个出租车计费系统大致可以分为控制电路模块、分频模块和

41、扫描显示模块,其中控制电路模块包括速度模块、计程模块、计时模块、计费模块,扫描显示模块包括模8计数器模块、8选1选择器模块、七段数码管显示模块。3.2 速度模块速度模块首先根据start信号判断是否开始计费,然后根据对输入的速度档位sp2.0的判断,决定变量kinside的值。kinside即是进行100m所需要的时钟周期数,然后每行进100m,则输出一个clkout脉冲信号。同时由cnt对clk进行计数,当cnt等于kinside时,把clkout信号置1,cnt清0。3.2.1速度模块元件图设计运行速度模块,生成速度模块元件图,如图3-3:图3-3速度模块元件图速度模块元件图(如图3-3)

42、分析:clk为时钟脉冲输入端;reset为复位信号输入端;start为开始计费信号输入端;stop为停止计费信号输入端;sp2.0为出租车状态输入端(停止或不同行驶速度);clkout为每行进100m脉冲信号输出端。3.2.2速度模块仿真使用Quartus II对速度模块进行功能仿真,如图3-4:图3-4速度模块仿真仿真图(如图3-4)分析:输入时钟脉冲,当start开始后,sp2.0设定出租车状态,clkout根据sp2.0输出脉冲信号,车每行驶100m输出信号clkout输出高电平。3.3计程模块此模块主要用于记录行进的距离。通过对clkout信号的计数,可以计算行驶的的距离kmcnt。一

43、个clkout脉冲相当于行进100m,所以只要记录clkout的脉冲数目即可确定共行进的距离。3.3.1计程模块元件图设计运行计程模块,生成计程模块元件图,如图3-5: 图3-5计程模块元件图计程模块元件图(如图3-5)分析: reset为复位信号输入端;clkout为每行进100m脉冲信号输入端;kmcnt13.0为行驶路程的十分位;kmcnt23.0为行驶路程的个位;kmcnt33.0为行驶路程的十位,分别为十进制数。3.3.2计程模块仿真使用Quartus II对计程模块进行功能仿真,如图3-6: 图3-6速度模块仿真仿真图(如图3-6)分析:当reset复位后,系统复位清零;否则,对输

44、入信号clkout进行十进制计数,kmcnt1、kmcnt2、kmcnt3分别输出行驶路程的十分位、个位、十位。3.4计时模块在汽车启动后,当遇到顾客等人或红灯时,出租车采用计时收费的方式。通过对速度信号sp的判断决定是否开始记录时间。当sp=0时,开始记录时间。当时间达到足够大时则产生timecount脉冲,并重新计时。一个timecount脉冲相当于等待的时间达到了时间计费的长度。这里选择系统时钟频率为1KHZ,实现千分频,1HZ控制计时模块,20s即计数值为20。3.4.1计时模块元件图设计运行计时模块,生成计时模块元件图,如图3-7: 图3-7计时模块元件计时模块元件图(如图3-7)分析:clk为时钟脉冲输入端;reset为复位信号输入端;start为开始计费信号输入端;stop为停止计费信号输入端;sp2.0为出租车状态输入端(停止或不同行驶速度);timecount为计时脉冲输出端。3.4.2计时模块仿真使用Quartus II对计时模块进行功能仿真,如图3-8:图 3-8计时模块仿真计时模块(如图3-8)仿真分析:当reset复位后,系统清零,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号