基于FPGA的出租车计费器设计论文.doc

上传人:laozhun 文档编号:4148201 上传时间:2023-04-07 格式:DOC 页数:40 大小:498.50KB
返回 下载 相关 举报
基于FPGA的出租车计费器设计论文.doc_第1页
第1页 / 共40页
基于FPGA的出租车计费器设计论文.doc_第2页
第2页 / 共40页
基于FPGA的出租车计费器设计论文.doc_第3页
第3页 / 共40页
基于FPGA的出租车计费器设计论文.doc_第4页
第4页 / 共40页
基于FPGA的出租车计费器设计论文.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

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

1、基于FPGA的出租车计费系统的设计摘要随着我国市场经济的发展,交通也越来越便利,特别是计程车,以快捷、方便的特点早已盛行各个城市,成为城市交通的重要工具。计程车市场从90年代初的起步阶段到现在已经进入了高峰期。随着城市化水平的提高和人民生活水平的改善,计程车的服务也就显得越来越重要。因此计程车计价器也就应运而生了。本文分析了当前国内外出租车计费系统的基本组成和工作原理及主要的两种设计方式:基于单片机的设计方式和基于FPGA的设计方式;并对这两种实现方式的优点和缺点进行分析,比较后确定本系统的方案:基于FPGA的出租车计费系统的设计。在本设计中主要是通过VHDL语言来编程实现计费系统的四个功能块

2、:分频模块,控制模块,计量模块和译码显示模块,最后使用MAX+PLUSII软件来对程序进行仿真,以模拟实现出租车的启动,停止以及等待等过程中的计时,计程和计费功能。并将各功能模块的结果通过动态译码扫描模块输出到显示模块进行显示。即通过显示模块显示出租车所行驶的路程,出租车等待的时间和出租车分别在等待过程中的费用和行驶过程中的费用。关键字:CPLD/FPGA;VHDL语言;MAXPLUS II;出租车;计费器Design of taxi meter Based on FPGAAbstractAs Chinas market economy develops,more and more conve

3、nient transport,particularly taxis, to fast, convenient features have long been popular in various cities and become an important tool for urban traffic. Taxi market in the early 1990s,the initial stage up to now has entered a peak period. With the level of urbanization and the improvement of people

4、s living standards improve, taxi services will become increasingly important. Taxi meter therefore it has emerged.This paper analyses the current domestic and foreign taxi billing system and the basic working principle and the two main design; Based on the design of microcontroller and FPGA-based de

5、sign; and both the strengths and the ways Shortcomings of the analysis,comparison of the system established after the programme: FPGA-based billing system for taxis.In this design mainly through the VHDL language programming billing systems of the four function blocks:the frequency modules, control

6、module, the measurement modules and decoding modules, the final use of MAX + PLUSII software to simulate the procedures to Simulation of the realization of a taxi start, stop and wait in the course of time, and so on, including-and billing functions。And the results of the functional modules through

7、dynamic decoding scanning module output to display module to display it. Through the display module Taxis By the travelling distance, a taxi waiting for the time and were waiting for a taxi in the process of moving costs and fees in the process.Keywords:CPLD/FPGA;VHDL;MAX+PLUSSII; Taxi;Meters目录1绪论51

8、.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的出租车计费器的设计方案124.3两种方案的比较134.4方案的确定135 出租车计费系统的设计145.1整体方案设计145.1.1设计的主要技术指标145.1.2整体设计方案的实现145.2模块的设计155.

9、2.1秒分频模块155.2.2控制模块165.2.3计量模块175.2.4译码显示输出模块215.2.5整体原理与仿真235.2.6结果分析245.2.7结论24结束语25谢辞26参考文献27附录A28附录B33附录C361绪论1.1研究的意义随着我国市场经济的发展,交通也越来越便利,特别是计程车,以快捷、方便的特点早已盛行各个城市,成为城市交通的重要工具。计程车市场从90年代初的起步阶段到现在已经进入了高峰期。随着城市化水平的提高和人民生活水平的改善,计程车的服务也就显得越来越重要。因此计程车计价器也就应运而生了。1.2当前国内外的研究现状目前市场上使用的出租车计费器主要采用的都是利用MCU

10、如89C51单片机实现的计费器设计,显示方式上主要采用的是固定显示内容的LED显示。 传统的出租车计费器由于发展使用了十几年,在稳定性、成本、以及使用习惯上都具有一些优势,但是随着出租车价格市场化,我国加入WTO以来主导出租车行业成本的许多因素主要包括油价的波动,都对传统的出租车计费器提出了更高的要求。近一年来,各大城市都在对出租车价格进行调整,由于数量太多,很多城市的调价甚至需要一个月的时间才能完成,经常会同一时间出现几个价格,有的城市的出租车上还会出现司机人工计价的尴尬情形。这些都暴露了传统计费器在灵活性和升级换代能力的不足。传统计费器的不足可以体现在以下几点:1)品更新周期长传统计费器利

11、用MCU如89C51单片机实现汽车计费器的设计,大部分的功能可以用单片机来实现。但是单片机程序是不通用的,不同的芯片有不同的指令集,因此设计研发比较困难,周期长,如果系统设计的不好,则系统不是很稳定,而且灵活度不够,不易实现功能复杂的设计。2)计价方式的不灵活每次计价标准的修改都需要将芯片从新烧录,使得每次调价都需要耗费大量的人力物力,很难达到目前油价联动的需求。1.3本课题的目的 考虑到目前出租车行业迅猛发展的趋势以及对计费器更高的灵活性要求,本设计希望尝试一些新的方法来予以解决以上问题。1)利用FPGA取代MCU随着FPGA等数字可编程器件的出现解决传统电子设计不能完成的任务,利用FPGA

12、来实现出租车计费器。可行性很高,而且电路简单,大大减少外围器件,可以用软件完全仿真,灵活度高,可以设计一些复杂的系统,而且编好的系统可以在不同的FPGA或CPLD芯片上通用。FPGA能完成任何数字器件的功能,使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。同时由于FPGA的功能完全取决于VHDL语言编写的程序,不拘泥于某种芯片的特殊指令,更加提高了产品的更新换代能力。2)增加计价标准设定功能通过设计此功能模块可以使得计价标准设计更加灵活,体现目前出租车行业发展的需要,使运价、油价联动成为可能。1.4本论文的章节安排本文在第2章介绍了VHDL语言的特点和FPG

13、A的基本原理。第3章主要是对MAX+PLUSII进行了简要的介绍。第4章介绍了当前两种主要出租车设计方案和这两种方案的比较。第5章是对基于FPGA设计方案的详细设计。2 VHDL和FPGA的简介2.1 VHDL的介绍VHDL的英文全名是Vry_High_Speed Integrated Circuit Hardware DescriptionLanguage,被认为是标准硬件描述语言,有专家认为,在新世纪中,VHDL与Verilog HDL语言将承担起几乎全部的数字系统设计任务。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格

14、与句法十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(或称可视部分,即端口)和内部(或称不可视部分),即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦内部开发完成后,其他的设计可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。随着EDA技术的发展,使用硬件语言设计FPGA成为一种趋势。借用MAXPLUSII或QuartusII等软件用VHDL语言开发FPGA的完整流程为:1)文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VH

15、DL文件保存为.vhd文件。2)功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。3)逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf(edif)的EDA工业标准文件。4)布局布线:将edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。5)时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序(也叫后仿真)。6)编程下载:确认仿真无误后,将文件下载到芯片中。.sof文件用于直接下载到

16、芯片(掉电后会消失),.pof文件用于rom芯片下载(掉电后不消失)。2.2 FPGA的介绍FPGA是现场可编程门阵列(Field Programable Gate Array)的简称,FPGA是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。actel公司于2005年1月24日在美国加利福尼亚总部发布了它的ProASIC3和ProASIC3E系列的FPGA。这是该公司第三代的基于Flash的可编程逻辑方案。这些新的SIC3最低价将达到1。5美元,代表了全球最低成本的FPGA,并且相对于基于SRAM的FPGA来说具有保密的优势。基于Flash的FPGA

17、可以提供加密、低功耗、上电工作、可重复编程的方案。目前生产FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等生产的FPGA品种和型号繁多。尽管这些FPGA的具体结构和性能指标各有特色,但它们都有一个共同之处,即由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块,从而实现不同的设计。典型的FPGA通常包含三类基本资源:可编程逻辑功能块、可编程输入/输出块和可编程互连资源。可编程逻辑功能块是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;可编程输入/输出块完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元

18、阵列四周;可编程内部互连资源包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。不同厂家或不同型号的FPGA,在可编程逻辑块的内部结构、规模、内部互连的结构等方面经常存在较大的差异。3 Max+plusII平台简介3.1概述Max+plusII是Altera公司推出的第三代PLD开发系统(Altera第四代PLD开发系统被称为:QuartusII,主要用于设计新器件和大规模CPLDFPGA)。使用MAX+PLUSII的设计者不需精通器件内部的复杂结构。设计者可

19、以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,MAX+PLUSII把这些设计转自动换成最终所需的格式。其设计速度非常快。对于一般几千门的电路设计,使用MAX+PLUSII,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。设计处理一般在数分钟内完成。特别是在原理图输入等方面,Maxplus2被公认为是最易使用,人机界面最友善的PLD开发软件。3.2 Max+plusII的特点1)开放的界面Altera的工作与EDA厂家紧密结合,使MAXPLUSII软件可与其它工业标准的设计输入综合与校验工具相连接。设计人员可以使用Altera或标准EDA设计输入工具来建立逻辑

20、设计,使用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下运行,也可在Sun SPAC Stations,HP9000 Series 700800和IBM RISC System

21、6000工作站上运行。3)完全集成化MAXPLUS II的设计输入、处理与校验功能全部集成在统一的开发环境下,这样可以加快动态调试,缩短开发周期。4)丰富的设计库MAXPLUSII提供丰富的库单元供设计者调用,其中包括74系列的全部器件和多种特殊的逻辑宏功能(MacroFunction)以及新型的参数化的兆功能(Magefunction)。调用库单元进行设计,可以大大减轻设计人员的工作量,也可成倍地缩短设计周期。5)模块化工具设计人员可以从各种设计输入、处理和校验选项中进行选择从而使设计环境用户化,必要时,还可以根据需要添加新功能。由于MAXPLUSII支持各种器件系列,设计人员不必学习新工具

22、即可支持新结构。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功能会使设计人员的设计任务大大减轻,可把更多的精力投入到改进各种设计和最终的产品上。8)Opencore特性MAXPLUS II软件具有开放核的特点,它允许设计人员添加自己认为有

23、价值的宏函数。4 设计方案的简介及比较当今国内外出租车计价器的设计方式主要有两种,一种是基于单片机的出租车计价器的设计,另一种是基于FPGA的出租车计价器的设计。4.1基于单片机出租车计费器设计方案4.1.1硬件各模块的功能1)键盘控制功能是启动出租车计价器,改变出租车计价器的状态如运行、等待计时、不同计费模式的切换。2)掉电存储用来存取计费器的状态信息和计费信息。3)里程计算单元是通过安装传感器检测到的信号,送到单片机,经处理计算,送给显示单元。4)利用单片机丰富的IO端口,实现基本的里程计价功能和价格调节、时钟显示功能。5)用单片机实现出租车计价器的开发。外围电路较多,调试复杂,抗干扰能力

24、差,特别对这种计程车的计价器需要长时间不间断运作的系统,由于主要是软件运作,容易出错,造成系统不稳定。6)出租车计费器的原理框图如下图4-1所示:掉电存储里程计算单元 单片机 键盘控制总金额显示单价显示串口显示驱动电路图4-1基于片机的计费器原理框图4.1.2程序设计模块1)主程序模块在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。 2)定时中断服务程序

25、在定时中断服务程序中,每100ms 产生一次中断,当产生10 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。3)里程计数中断服务程序每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000 次时,就有程序将当前总额,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。4)中途等待中断服务程序当在计数状态下霍尔开关没有输出信号,片内的T1 定时器便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。当中途等待结束的时候

26、,也就自动切换到正常的计价。(5)显示子程序服务程序由于是分屏显示数据,所以就要用到4 个显示子程序,分别是:时分秒显示子程序(HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)、单价调节子程序(PA_DIS)。6)键盘服务程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。4.2基于FPGA的出租车计费器的设计方案基于FPGA的出租车计费是外部输入模块,控制模块和显示模块三部分组成。控制模块是整个系统的核心。它是由分频模块,控制模块,计量模块和译码显示模块构成。1)分频模块

27、:分频模块是对系统时钟进行分频以得到低频系号。2)控制模块:控制模块主要是完成对计费器状态的控制。3)计量模块:计量模块完成计价,计时和计程的功能。4)译码显示模块:译码显示模块完成计价,计时和计程数据显示。计费数据送入译码显示模块译码,最后送至以百元,十元,元,角为单位对应的数码管上显示。计时数据送入译码显示模块进行译码,最后送至以分为单位对应的数码管上显示。计程数据送入译码显示模块进行译码,最后送至以Km为单位的数码管上显示。5)基于FPGA的出租车计费器原理组成框图如图4-2所示:图4-2基于FPGA的计费器原理组成框图4.3两种方案的比较1)方案一的开发及制作成本较低,能较大程度地利用

28、资源,但外围电路较多,调试复杂,抗干扰能力差,特别对这种计程车的计价器需要长时间不间断运作的系统,由于主要是软件运作,容易出错,造成系统不稳定。2)方案二将所有器件集成在一块芯片上,体积大大减小的同时还提高了稳定性,且可应用EDA软件仿真,调试,易于进行功能扩展,外围电路较少,采用硬件逻辑电路实现,其最大的优点是稳定性好,抗干扰能力强,非常适合作为计程车的计价器系统的控制核心。4.4方案的确定从以上两种方案的比较可以看出基于FPGA的设计方案要优于基于单片机的设计方案基于FPGA的设计方案稳定性更强且相对于单片机的设计方案来说它更易于将来进行功能扩展。因此我确定采用基于FPGA的出租车计费器的

29、设计方案。5 出租车计费系统的设计5.1整体方案设计5.1.1设计的主要技术指标实现计程车的计价器功能。一方面实现基本功能时,包括在行程中满足3公里以内计起步价 10 元,以后以1.9元/公里计费。处于等待的状态下满足2分钟以内计2元,以后以1.5元/分计费。另一方面多功能的实现,计价器可以根据要求显示需要的内容,可以根据选择键选择显示总费用,总行程数和总乘车时间等等。 1) 计价范围: 0999.9元; 计价分辨率: 0.1元; 2)计程范围: 099公里; 计价分辨率: 1.9公里; 3)计时范围: 59分;计时分辨率: 1分钟;5.1.2整体设计方案的实现出租车计费器的控制系统以FPGA

30、为核心控制器。如图5-1所示,主要分为四个模块。分别为:秒分频模块、控制模块、计量模块和译码显示模块。秒分频模块使整个系统的同步工作,把系统提供的32M的晶振频率进行分频,得到所需要的秒信号(便于在以后的计时中用到)。控制模块是整个系统的核心部分,对各个部分起到了调控的作用。对计程车的工作状态进行具体的定义。计量模块也是系统中一个十分重要的模块,它分为三个部分,分别为计价部分、计时部分和计程部分,是出租车计费系统多功能实现的保证。最后一个译码显示模块作用在于把计费器的工作情况(价钱、行程数、行程时间)反馈给乘客。四个模块有机地结合在一起,实现了基于FPGA出租车计费系统的设计。 图5-1出租车

31、计费器组成方框图5.2模块的设计5.2.1秒分频模块1)秒分频的对频率为100Hz的输入脉冲进行分频,得到频率为1Hz的频率。分频模块的电路符号图如下图52所示。从图中可以看出分频模块有两个输入信号,一个是clk时钟信号。另一个是计费器的使能信号start。 图52分频模块电路符号图分频模块的主要源代码如下: if start=0 then 此IF语句中得到分频器的使能信号 f_1=0; Q_1=0; else if Q_1=99 then 此IF语句是得到频率为1Hz的频率信号和1公里脉冲 Q_1=0; F_1=1; else Q_1=Q_1+1; F_1=0; end if; end if

32、;2)秒分频模块的波形仿真图如下图53所示:从图中可以看到当Q_1计数达到99的时候那么f_1就产生一个1公里脉冲信号。图5-3分频器仿真图5.2.2控制模块1)控制模块对整个系统进行控制作用,支配系统的工作状态。描述了出租车计费器整个工作过程的状态。它是计费器工作的核心。控制模块的电路符号图如下图54所示:从图中可以看到控制模块有3个输入端口即clk时钟信号,start计价使能信号和stop等待信号。图54控制模块的电路符号图控制模块的主要源代码如下: if start=0 then en0=0; en1=0; elsif stop=0 then en100000011 then 此IF语句

33、得到en0使能信号 en0=1; else en0=0; end if; elsif stop=1 then en000000010 then 此IF语句得到en1使能信号 en1=1; else en1=0; end if; end if;2)控制模块的波形仿真图如下图55所示:从仿真图中可以看出输出信号e0和e1的为输出信号(当en0=1时说明出租车行驶超过了3公里,此时出租车按照每公里1.9元计费,当en1=1时说明出租车等待超过了2分钟此时出租车按每分钟1.5元计费)。图5-5控制模块波形仿真图5.2.3计量模块计量模块是本系统中一个十分重要的部分,是计程车计价器系统多功能实现的保证。

34、计量模块其实在整个系统中就充当一个计算器的功能。它是计价、计时、计程功能的具体实现。1)计价部分:由计程车的起步费6元加上等待过程中的计费1.5元/分,再加上行进过程中的计费1.9元/公里,然后再把计算出来的数分别以百元,十元,元,角的单位表示出来,送去显示译码模块。(1)计价部分电路符号图如图57所示:图中的输出信号cha3,cha2,cha1,cha0分别表示的时计费输出部分的百元,十元,元,角的输出。图5-7计价部分的电路符号图计价部分的主要源代码如下所示:if en0=1then -说明超过了三公里; if(c191)then -加到19角就说明车子行驶了1公里; c19:=c19+1

35、; if(c19=1)then temp0=k0; end if;上面这几句完成超过三公里的时的计费功能。 elsif(en1=1)then if(c1515)then此IF语句完成等待计费功能; c15:=c15+1; if(c15=1) then temp1=m0; end if;此部分代码完成等待超过2分钟时的计费功能。(2)计价部分的波形仿真如图58所示:从仿真图可以看出cha3,cha2,cha1,cha0在各个时间段的输出数据。图58计价部分的波形仿真图2)计时部分:是对乘客的乘车时间进行计时(包括等待的时间和行进的时间),分别以秒和分的形式送去显示译码模块,到59分时自动归零。(

36、1)计时部分电路符号图如下图5-9所示:图5-9计时部分电路符号图完成计时部分的主要源代码如下:if w=59 then w=0; 此IF语句完成等待计时 if m0=1001 then m0=0000;此IF语句完成分计数 if m1=101 then m1=000; else m1=m1+1; end if; else m0=m0+1; end if; else w=w+1; end if;(2)计时部分的波形仿真图如图510所示:m0的计时输出为4分钟。图510计时部分的波形仿真图3)计程部分:对当前行进过程中所走的公里数进行计算,最大范围为99公里。同样也送入译码显示模块。由于计程部分

37、和计时部分的原理基本相同,不同的只是计时是是当计数器计到59时发生跳变,而计程时则是当计数器达到99时才产生一个跳变。(1)计程部分的电路符号图如下图示511所示: 完成计程部分的主要源代码如下如所:if start=0 then k1=0000; k0=0000;elsif stop=0then if k0=1001 then k0=0000; if k1=1001 then k1=0000; else k1=k1+1; end if; else k0=k0+1; end if; end if;(2)计程部分的波形仿真图如图可以用图512所示:当k0计数达到9时k1(即里程的十位数变为1)图

38、512计程部分波形仿真图5.2.4译码显示输出模块译码显示输出模块是建立在内部系统和观测人之间的桥梁。通过译码显示模块,人们才能得到想要的信息。可见,它也是系统中一个必不可少的部分。1)这里的译码显示模块包括四个译码器和四个七段显示数码管。它可以根据需要在价格、时间、路程三者之间互相转换。通过对输入模块的选择信号判断,而显示计程车运行的状态,比如说计价多少、走了多长时间、走了多少路程等。由数码管进行显示。七段显示数码管(1)七段数码显示管的电路图符号图如下图513所示.图513七段数码显示管电路符号图(2)七段数码显示管的波形仿真图如下图514所示:图5-14七段数译码显示仿真图2)译码显示输

39、出部分(1)的电路符号图如下图515所示:图5-15译码显示输出部分电路符号图译码显示输出部分的主要代码如下:if f_1event and f_1=1 then if start=0 then min1=0000;min0=0000; km1=0000;km0=0000; cha3=0000;cha2=0000;cha1=0000;cha0=0000; else min1=0&m1;min0=m0; km1=k1;km0=k0; cha3=c3;cha2=c2;cha1=c1;cha0=c0; end if; end if; (2)译码显示部分的仿真图如下图516所示:图5-16译码输出部分

40、仿真图5.2.5整体原理与仿真1) 出租车计费器首先通过传感器测出轮子是否有运动,如果没有开动,则自动开始记录时间,达到一定时间要加收时间等待费用,如果在一定的时间内运动了,则记录轮子的转圈数,从而自动计算出轮子转动的圈数的长度由此计算出出租车行驶的距离。出租车计费器的电路图符号如下图所示5-15所示:图5-15出租车计费器的电路图符号2)整体仿真图如下图4-15所示:图4-15出租车计费系统的仿真图5.2.6结果分析从仿真图中我们可以看出此出租车计费器总共行使了6公里,在中途停车等待累计时间为4分钟,因此可以得出:总费用=10+1.9*6+1.5*4=25.6公里。5.2.7结论本课题实现现

41、在已经存在一出租车计费器的一般功能,如计费,等待计时,里程计算,以及费用,时间和里程的显示功能。该设计的前期工作是围绕现有的出租车计费器,从它的软件方面做了深入细致的分析,然后再根据论文要求进行设计工作,在本次设计中我实现了现有出租车计费器的基本功能(即计费,计时,计程及显示功能),基本达到了这次毕业设计的基本要求。从设计收集资料的过程我了解到当前出租车计费器所存在的一些问题,用户不仅要求计费器性能稳定,计费准确,有防作弊功能。同时还要求其具有车票资料打印 、卡付费、语音报话、和电脑串行通信等功能。因此我认为未来的出租车计费器的研究工作将转向如何解决以上几个问题。结束语本次设计中我做了以下工作

42、,收集资料,方案论证到方案确定并按确定方案进行概要设计。本系统是采用硬件描述语言按自顶向下的方法,将一个大的系统分成几个相对独立的模块分别设计,仿真,最后连成一个总的系统进行集中仿真。在设计过程中遇到了很多问题如:1.在开始设计的时候没计编写程序流程图,也没有按照先整体后部分的原则结果出现思路非常不清晰。2.查找资料的路径很单一,不知道从多方面查询,只将查找范围局限于网络论坛,因此很多资料并不是正确的而且还误导了自己。2.在编写程序的时候没有仔细分析所编模块的原理就开始编程,导致后来无法完成程序编写。3.编程过程中没弄清楚信号(signal)和变量(variable)的区别,没有能够正确的定义

43、,导致程序出错,无法通过编译。4.在设计过程中对资料的没有进行很好的整理,显得杂乱无章等等一系列问题。5.本设计只完成了出租车计费器的一般功能,并无防作弊功能,因此还不适用于实际。6.本设计采用的是LED显示,也存在很大的不足,灵活性比较差,不便于升级。7.本设计也没有车票打印功能,不适合用于实际。8.该计费器的输出显示用了八个数码管来显示,其实可以在译码输出部分中多设置一个输出控制模块,用来进行输出内容的选择控制,例如可以设置一个两位二进制数choose信号“00”,当它为00时选择输出计时的时间,当为“01”选择输出费用。当为“11”选择输出行路。这样设计可以节省四个数码管。这次毕业设计,是对我这四年来所学的专业知识是否踏实的检验,让我对这四年中所学知识进行了综合,也让我温习了一些已经快要淡忘的专业知

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号