基于fpga的出租车计费系统的设计毕业设计.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于fpga的出租车计费系统的设计毕业设计.doc》由会员分享,可在线阅读,更多相关《基于fpga的出租车计费系统的设计毕业设计.doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于FPGA的出租车计费系统的设计摘要随着我国市场经济的发展,交通也越来越便利,特别是计程车,以快捷、方便的特点早已盛行各个城市,成为城市交通的重要工具。计程车市场从90年代初的起步阶段到现在已经进入了高峰期。随着城市化水平的提高和人民生活水平的改善,计程车的服务也就显得越来越重要。因此计程车计价器也就应运而生了。在本设计中主要是通过VHDL语言来编程实现计费系统的四个功能块:分频模块,控制模块,计量模块和译码显示模块,最后使用MAX+PLUSII软件来对程序进行仿真,以模拟实现出租车的启动,停止以及等待等过程中的计时,计程和计费功能。并将各功能模块的结果通过动态译码扫描模块输出到显示模块进行
2、显示。即通过显示模块显示出租车所行驶的路程,出租车等待的时间和出租车分别在等待过程中的费用和行驶过程中的费用。关键字:VHDL语言;MAXPLUS II;出租车;计费器目录1绪论51.1研究的意义51.2当前国内外的研究现状51.3本课题的目的51.4本论文的章节安排62 VHDL和FPGA的简介72.1 VHDL的介绍72.2 FPGA的介绍73 Max+plusII平台简介93.1概述93.2 Max+plusII的特点94 设计方案的简介及比较114.1基于单片机出租车计费器设计方案114.1.1硬件各模块的功能114.1.2程序设计模块124.2基于FPGA的出租车计费器的设计方案12
3、4.3两种方案的比较134.4方案的确定135 出租车计费系统的设计145.1整体方案设计145.1.1设计的主要技术指标145.1.2整体设计方案的实现145.2模块的设计155.2.1秒分频模块155.2.2控制模块165.2.3计量模块175.2.4译码显示输出模块215.2.5整体原理与仿真235.2.6结果分析245.2.7结论241绪论1.1研究的意义随着我国市场经济的发展,交通也越来越便利,特别是计程车,以快捷、方便的特点早已盛行各个城市,成为城市交通的重要工具。计程车市场从90年代初的起步阶段到现在已经进入了高峰期。随着城市化水平的提高和人民生活水平的改善,计程车的服务也就显得
4、越来越重要。因此计程车计价器也就应运而生了。1.2当前国内外的研究现状目前市场上使用的出租车计费器主要采用的都是利用MCU如89C51单片机实现的计费器设计,显示方式上主要采用的是固定显示内容的LED显示。 传统的出租车计费器由于发展使用了十几年,在稳定性、成本、以及使用习惯上都具有一些优势,但是随着出租车价格市场化,我国加入WTO以来主导出租车行业成本的许多因素主要包括油价的波动,都对传统的出租车计费器提出了更高的要求。近一年来,各大城市都在对出租车价格进行调整,由于数量太多,很多城市的调价甚至需要一个月的时间才能完成,经常会同一时间出现几个价格,有的城市的出租车上还会出现司机人工计价的尴尬
5、情形。这些都暴露了传统计费器在灵活性和升级换代能力的不足。传统计费器的不足可以体现在以下几点:1)品更新周期长传统计费器利用MCU如89C51单片机实现汽车计费器的设计,大部分的功能可以用单片机来实现。但是单片机程序是不通用的,不同的芯片有不同的指令集,因此设计研发比较困难,周期长,如果系统设计的不好,则系统不是很稳定,而且灵活度不够,不易实现功能复杂的设计。2)计价方式的不灵活每次计价标准的修改都需要将芯片从新烧录,使得每次调价都需要耗费大量的人力物力,很难达到目前油价联动的需求。1.3本课题的目的 考虑到目前出租车行业迅猛发展的趋势以及对计费器更高的灵活性要求,本设计希望尝试一些新的方法来
6、予以解决以上问题。1)利用FPGA取代MCU随着FPGA等数字可编程器件的出现解决传统电子设计不能完成的任务,利用FPGA来实现出租车计费器。可行性很高,而且电路简单,大大减少外围器件,可以用软件完全仿真,灵活度高,可以设计一些复杂的系统,而且编好的系统可以在不同的FPGA或CPLD芯片上通用。FPGA能完成任何数字器件的功能,使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。同时由于FPGA的功能完全取决于VHDL语言编写的程序,不拘泥于某种芯片的特殊指令,更加提高了产品的更新换代能力。2)增加计价标准设定功能通过设计此功能模块可以使得计价标准设计更加灵活,
7、体现目前出租车行业发展的需要,使运价、油价联动成为可能。1.4本论文的章节安排本文在第2章介绍了VHDL语言的特点和FPGA的基本原理。第3章主要是对MAX+PLUSII进行了简要的介绍。第4章介绍了当前两种主要出租车设计方案和这两种方案的比较。第5章是对基于FPGA设计方案的详细设计。2 VHDL和FPGA的简介2.1 VHDL的介绍VHDL的英文全名是Vry_High_Speed Integrated Circuit Hardware DescriptionLanguage,被认为是标准硬件描述语言,有专家认为,在新世纪中,VHDL与Verilog HDL语言将承担起几乎全部的数字系统设计
8、任务。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(或称可视部分,即端口)和内部(或称不可视部分),即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦内部开发完成后,其他的设计可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。随着EDA技术的发展,使用硬件语言设计FPGA成为一种趋势。借用MAXPLUSII或QuartusII等软
9、件用VHDL语言开发FPGA的完整流程为:1)文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件。2)功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。3)逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf(edif)的EDA工业标准文件。4)布局布线:将edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。5)时序仿真:需要利用在布局布线中获得的精确
10、参数,用仿真软件验证电路的时序(也叫后仿真)。6)编程下载:确认仿真无误后,将文件下载到芯片中。.sof文件用于直接下载到芯片(掉电后会消失),.pof文件用于rom芯片下载(掉电后不消失)。2.2 FPGA的介绍FPGA是现场可编程门阵列(Field Programable Gate Array)的简称,FPGA是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。actel公司于2005年1月24日在美国加利福尼亚总部发布了它的ProASIC3和ProASIC3E系列的FPGA。这是该公司第三代的基于Flash的可编程逻辑方案。这些新的SIC3最低价将
11、达到1。5美元,代表了全球最低成本的FPGA,并且相对于基于SRAM的FPGA来说具有保密的优势。基于Flash的FPGA可以提供加密、低功耗、上电工作、可重复编程的方案。目前生产FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等生产的FPGA品种和型号繁多。尽管这些FPGA的具体结构和性能指标各有特色,但它们都有一个共同之处,即由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块,从而实现不同的设计。典型的FPGA通常包含三类基本资源:可编程逻辑功能块、可编程输入/输出块和可编程互连资源。可编程逻辑功能块是实现用户功能的基本单元,多个逻
12、辑功能块通常规则地排成一个阵列结构,分布于整个芯片;可编程输入/输出块完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;可编程内部互连资源包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。不同厂家或不同型号的FPGA,在可编程逻辑块的内部结构、规模、内部互连的结构等方面经常存在较大的差异。3 Max+plusII平台简介3.1概述Max+plusII是Altera公司推出的第三代PLD开发系统(Altera第四代PLD开发系统被称为:Quartu
13、sII,主要用于设计新器件和大规模CPLDFPGA)。使用MAX+PLUSII的设计者不需精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,MAX+PLUSII把这些设计转自动换成最终所需的格式。其设计速度非常快。对于一般几千门的电路设计,使用MAX+PLUSII,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。设计处理一般在数分钟内完成。特别是在原理图输入等方面,Maxplus2被公认为是最易使用,人机界面最友善的PLD开发软件。3.2 Max+plusII的特点1)开放的界面Altera的工作与EDA厂家紧密结合,使MAXPL
14、USII软件可与其它工业标准的设计输入综合与校验工具相连接。设计人员可以使用Altera或标准EDA设计输入工具来建立逻辑设计,使用MAXPLUSII编译器(Compiler)对Altera器件设计进行编译,并使用Altera或其它EDA校验工具进行器件或板级仿真。目前,MAXPLUSII支持与Cadence、Exemplarlogic、Mentor Graphics、Synopsys、Synplicity、Viewlogic和其它公司的EDA工具的接口。2)多平台MAXPLUSII软件可基于486、奔腾PC机的WINDOWS NT 3。51或4。0、WINDOWS 95、WINDOWS 98
15、下运行,也可在Sun SPAC Stations,HP9000 Series 700800和IBM RISC System6000工作站上运行。3)完全集成化MAXPLUS II的设计输入、处理与校验功能全部集成在统一的开发环境下,这样可以加快动态调试,缩短开发周期。4)丰富的设计库MAXPLUSII提供丰富的库单元供设计者调用,其中包括74系列的全部器件和多种特殊的逻辑宏功能(MacroFunction)以及新型的参数化的兆功能(Magefunction)。调用库单元进行设计,可以大大减轻设计人员的工作量,也可成倍地缩短设计周期。5)模块化工具设计人员可以从各种设计输入、处理和校验选项中进行
16、选择从而使设计环境用户化,必要时,还可以根据需要添加新功能。由于MAXPLUSII支持各种器件系列,设计人员不必学习新工具即可支持新结构。6)硬件描述语言(HDL)MAXPLUS II软件支持各种HDL设计输入选项,包括VHDL、Verilog HDL和Altera自己的硬件描述语言AHDL。7)Megacore功能Megacore功能是为复杂的系统级功能提供的,经过校验的HDL网表文件,它能使FLEX 10K、FLEX 8000、FLEX 6000、MAX 9000和MAX 7000器件系列实现最优化的设计。充分利用这些Megacore功能会使设计人员的设计任务大大减轻,可把更多的精力投入到
17、改进各种设计和最终的产品上。8)Opencore特性MAXPLUS II软件具有开放核的特点,它允许设计人员添加自己认为有价值的宏函数。4 设计方案的简介及比较当今国内外出租车计价器的设计方式主要有两种,一种是基于单片机的出租车计价器的设计,另一种是基于FPGA的出租车计价器的设计。4.1基于单片机出租车计费器设计方案4.1.1硬件各模块的功能1)键盘控制功能是启动出租车计价器,改变出租车计价器的状态如运行、等待计时、不同计费模式的切换。2)掉电存储用来存取计费器的状态信息和计费信息。3)里程计算单元是通过安装传感器检测到的信号,送到单片机,经处理计算,送给显示单元。4)利用单片机丰富的IO端
18、口,实现基本的里程计价功能和价格调节、时钟显示功能。5)用单片机实现出租车计价器的开发。外围电路较多,调试复杂,抗干扰能力差,特别对这种计程车的计价器需要长时间不间断运作的系统,由于主要是软件运作,容易出错,造成系统不稳定。6)出租车计费器的原理框图如下图4-1所示:掉电存储里程计算单元 单片机 键盘控制总金额显示单价显示串口显示驱动电路图4-1基于片机的计费器原理框图4.1.2程序设计模块1)主程序模块在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并
19、对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。 2)定时中断服务程序在定时中断服务程序中,每100ms 产生一次中断,当产生10 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。3)里程计数中断服务程序每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000 次时,就有程序将当前总额,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。4)中途等待中断服务程序当在计数状态下霍尔开关没有输出信号,片内的T1 定时器
20、便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。当中途等待结束的时候,也就自动切换到正常的计价。(5)显示子程序服务程序由于是分屏显示数据,所以就要用到4 个显示子程序,分别是:时分秒显示子程序(HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)、单价调节子程序(PA_DIS)。6)键盘服务程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。4.2基于FPGA的出租车计费器的设计方案基于FPGA的出租车计费是外部输入模块,
21、控制模块和显示模块三部分组成。控制模块是整个系统的核心。它是由分频模块,控制模块,计量模块和译码显示模块构成。1)分频模块:分频模块是对系统时钟进行分频以得到低频系号。2)控制模块:控制模块主要是完成对计费器状态的控制。3)计量模块:计量模块完成计价,计时和计程的功能。4)译码显示模块:译码显示模块完成计价,计时和计程数据显示。计费数据送入译码显示模块译码,最后送至以百元,十元,元,角为单位对应的数码管上显示。计时数据送入译码显示模块进行译码,最后送至以分为单位对应的数码管上显示。计程数据送入译码显示模块进行译码,最后送至以Km为单位的数码管上显示。5)基于FPGA的出租车计费器原理组成框图如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 fpga 出租车 计费 系统 设计 毕业设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内