基于FPGA的出租车计价器的设计.doc
《基于FPGA的出租车计价器的设计.doc》由会员分享,可在线阅读,更多相关《基于FPGA的出租车计价器的设计.doc(42页珍藏版)》请在三一办公上搜索。
1、 摘 要 本文介绍了一种基于FPGA 芯片上实现出租车计价器功能的设计方法,主要阐述如何使用新兴的EDA 器件取代传统的电子设计方法,不仅实现了出租车计价器所需的一些基本功能,同时考虑到出租车行业的一些特殊性,更注重了把一些新的思路加入到设计中。本设计主要借助了FPGA 芯片,使用Verilog HDL语言灵活编程来实现多方面的计费,这样不仅使其不拘泥于硬件,具有更强的移植性,而且增强了实用价值,更加利于产品升级.本设计参考抚州的出租车计费标准,利用Verilog HDL语言设计出租车计价器,主要具有行驶路程(包括白天,夜间路程)动态显示计费,等待累计时间计费及最后的总费用动态显示功能,突出了
2、其作为硬件描述语言的良好的可读性、可移植性和易理解等优点。此程序通过下载到特定的芯片后,可应用于实际的出租车计费系统中。关键词:出租车计价器; Verilog HDL语言; FPGA; Quartus II; EDAABSTRACTThis article presents a method of how to use FPGA to design a taxi meter, and how to replace traditional electrical design with burgeoning EDA parts. Besides the basic functions of tax
3、i count meter, some new ideas are added concerning about the particularity of this calling. This design has mainly drawn support from the FPGA chip, uses Verilog the HDL language nimble programming to realize various cost, which not only causes it not to rigidly adhere to the hardware with a stronge
4、r portability, but also strengthens the use value, even more favors the product promotion.This design acts according to Fuzhous rental car cost standard to design rental car fare register with Verilog the HDL language,which includes the travel distance (including daytime, night distance) ,the waited
5、 for the accumulation time cost and the final all-in cost dynamic demonstration function, it, as the hardware description language, has highlighted the advantages of good readability, the probability, and easy to understand and so on. This procedure may apply in the actual rental car cost system thr
6、ough downloads into the specific chip.Key words:Taxi meter; Verilog HDL language; FPGA; Quartus II; EDA目 录 绪 论11概 述21.1 FPGA 介绍21.1.1 FPGA 发展状况21.1.2 FPGA 的结构与原理21.2 Verilog HDL 硬件描述语言32出租车计费系统设计说明52.1 出租车计费方案52.2 设计思路52.3 总体框架设计73出租车计费功能实现原理说明83.1 霍尔传感器原理83.1.1 霍尔传感器的工作原理83.1.2 霍尔传感器的工作过程93.1.3 里程输
7、入信号93.2 主要功能模块FPGA程序设计93.2.1 计时判断白天深夜模块93.2.2 车速计算及判断高低速模块113.2.3 等待时间计费模块153.2.4 百米判断分频模块173.2.5 白天深夜计费控制模块193.2.6 总里程计费控制模块213.2.7 统计总费用模块233.2.8 超速报警和低速指示部分模块244调试分析254.1 综合生成的原理图254.2 调试心得27结 论27致 谢28参考文献29附录30绪 论随着当今社会的迅猛发展,人们的生活水平的日愈提高,方便、效率成了大多数人追求的生活方式,但在人口多达14亿的中国来说,大量私家车的使用严重影响交通运行,并不能达到人们
8、的目标,而统一管理使用的出租车凭着其方便快捷的优势使其越来越受欢迎。现今,在每个城市都可以随处看到往返的出租车,即使是一个小小的城镇上。当然,由于妥善的地方统一管理,其安全系数也是同类交通工具的佼佼者,这也是深得人们认可的。因此,满足人们需要的出租车行业的快速发展是一个必然的趋势,而且全国最近几年发展的出租车公司数量之大证明出租车计价器的市场是庞大的。由于受到油价影响各大城市都推出了运价油价联动机制,所以出租车计价器计价标准的灵活设定成为未来计价器不可缺少的一部分。 随着电子技术的发展,特别是集成电路技术的发展,使电子电路逐步告别分立元件时代,向小型化、集成化方向发展,要开发拥有自主知识产权的
9、硬件电路,就必须进行ASIC(Application Special Integrated Circuit 专用集成电路)、SOPC(System on Programmable Chip单片可编程系统)的设计,因此就必须掌握现代EDA(Electronic Design Automation电子设计自动化)技术。目前, 电子系统正向集成化、大规模和高速度的方向发展,以硬件描述语言HDL(Hardware Description Language)和逻辑综合为基础的自顶向下的电路设计方法在业界得到迅猛发展,Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。它允许设计者用它来进行
10、数字逻辑系统的仿真验证、时序分析、逻辑综合,它是目前应用最广泛的一种硬件描述语言。另一种是VHDL,现在这两种都已成为IEEE标准,两者各有特点。但VerilogHDL拥有更悠久的历史、拥有更广泛的设计群体、资源也远比VHDL丰富,且非常容易学习掌握,作为学习HDL设计方法的入门和基础,是一种值得大力推广的硬件描述语言。本文采用Verilog HDL语言来设计实现出租车模拟计价器,开发软件采用Altera公司的Quartus(美国Altera公司研制的一种FPGA软件开发系统), Quartus具有功能强大、易学易用、开放等特点,源程序经Quartus软件调试优化,下载到EP2C35F672C
11、6N芯片中,可应用于实际的出租车计费系统中。使用软件Quartus和超高速硬件描述语言Verilog HDL来实现出租车的模拟计费,包括速度计算及高低速判断、等待时间累加计费、百米判断计费、24小时计时以判断白天深夜、白天深夜不同计价标准自动计费、统计总费用、超速报警等功能。 1 概 述1.1 FPGA 介绍1.1.1 FPGA 发展状况FPGA 是现场可编程门阵列(Field Programable Gate Array)的简称,FPGA 是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70 年代单片机的发明和使用。Actel 公司于2005 年1 月24 日在美国加利福尼亚
12、总部发布了它的ProASIC3 和ProASIC3E 系列的FPGA。这是该公司第三代的基于Flash 的可编程逻辑方案。这些新的ProASIC3 最低价将达到1.5 美元,代表了全球最低成本的FPGA,并且相对于基于SRAM的FPGA 来说具有保密的优势。基于Flash 的FPGA 可以提供加密、低功耗、上电工作、可重复编程的方案。而最近Lattice 公司发布了其新一代90nm 高性能FPGA:LatticeSC 系列。 该系列FPGA 采用日本富士通CS100A 90nm 工艺制造,集成了3.4Gbps 高速SERDES 模块,多种形式的嵌入式RAM,以及嵌入式定制ASIC 模块。逻辑容
13、量从容量从1 万5 千到11 万5 千个LUTs。 该系列将成为Lattice 公司目前性能最高的FPGA 主攻高速系统应用领域。从这些都可以看出可编程器件已成为现在及未来很长一段时间的主流,用它来实现出租车计费系统可以省去很多外围电路,稳定,简单有效,可以设计出很多复杂强大的功能,提高产品竞争力。1.1.2 FPGA 的结构与原理目前生产FPGA 的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic 等,生产的FPGA 品种和型号繁多。尽管这些FPGA 的具体结构和性能指标各有特色,但它们都有一个共同之处,即由逻辑功能块排成阵列,并由可编程的互连资源连接这
14、些逻辑功能块,从而实现不同的设计。典型的FPGA 通常包含三类基本资源:可编程逻辑功能块、可编程输入/输出块和可编程互连资源。可编程逻辑功能块是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;可编程输入/输出块完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;可编程内部互连资源包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。不同厂家或不同型号的FPGA,在可编程逻辑块的内部结构、规模、内部互连的结构等方面经常存
15、在较大的差异。除了上述构成FPGA 基本结构的三种资源以外,随着工艺的进步和应用系统需求的发展,一般在FPGA 中还可能包含以下可选资源:存储器资源(块RAM、分布式RAM);数字时钟管理单元(分频/倍频、数字延迟、时钟锁定);算数运算单元(高速硬件乘法器、乘加器);多电平标准兼容的I/O 接口;高速串行I/O 接口;特殊功能模块(以太网MAC 等硬IP 核);微处理器(PowerPC405 等硬处理器IP 核)。 1.2 Verilog HDL 硬件描述语言Verilog HDL于1983年由GDA(GateWay Design Automation)公司的Phil Moorby首创的为其模
16、拟器产品开发的硬件建模语言。那时它只是一种专用语言,现已发展为一种硬件描述语言(Hardware description language),用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间,并可在相同描述中显式地进行时序建模。Verilog HDL 是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种
17、建模语言。此外, Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog 仿真器进行验证。 Verilog HDL适合算法级,寄存器级,逻辑级,门级和版图级等各个层次的设计和描述是目前应用最为广泛的硬件描述语言,可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。其进行设计最大的优点是其工艺无关性这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实
18、现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路 使用Verilog HDL 设计系统方法是自顶向下的系统设计方法,在设计过程中,首先是从整体上对系统设计作详细的规划,然后完成电路系统功能行为方面的设计。其设计流程如图1-1:图1-1 Verilog HDL 工程设计流程随着EDA 技术的发展,使用硬件语言设计FPGA 成为一种趋势。借用MAXPLUSII或QuartusII 等软件用Verilog HDL 语言开发FPGA 的完整流程为:(1)文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL 编辑环境。通常VHDL 文件保存为.v文件。(2)功能仿真:将文
19、件调入HDL 仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。(3)逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf(edif)的EDA 工业标准文件。(4)布局布线:将.edf 文件调入PLD 厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA 内。(5)时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序(也叫后仿真)。(6)编程下载:确认仿真无误后,将文件下载到芯片中。.sof 文件用于直接下载到芯片(掉电后会消失),
20、.pof 文件用于rom 芯片下载(掉电后不消失)。2 出租车计费系统设计说明2.1 出租车计费方案各个地方的出租车计费标准不尽相同,但是考虑的计费方式都是大同小异,对于以本文方式设计的计价器,相对来说易于操作且灵活可靠,如果要适用某个城市的出租车,大致只要修改计费标准即可。本出租车计费考虑了初始费用预置,等待时间累加计费,行驶里程计费等等,是一种比较实用的出租车计费方法。以下参考了抚州出租车计价器标准: (1)白天(早上5:00-晚上23:00)行程3km之内,起步费为4元,满3km但不超过11km的里程,每公里收费1.4元,超过11km的里程,每公里收费2.1元。(2)深夜(晚上23:00
21、-早上5:00),起步价为8元,11km之内每公里收费2元,超过11公里,每公里收费3元。(3)无论白天深夜,等待累加时间为每两分钟以10元计费。本计价器的显示范围为09999元,计价分辨率为01元;计程器显示范围为099公里,分辨率为1公里;计时器显示24小时计时,分辨率为1秒钟。2.2 设计思路本设计基本上是用软件实现出租车计费的基本功能,首先,车牌的空车档打下与否相当于总开关clr,为了方便顾客查询准确的相关乘车费用,我们只设置了这一个开关,这样以来总费用就不易修改,因此增加了其公正性。clr一关闭,所有的里程,等待时间,费用等全部清零,clr一开通,相关的里程,等待时间,费用等都开始计
22、数。然后根据计时判断此时的时间段是白天还是深夜,24小时计时是任何时候都在进行的,所以只要读取打下车牌的时间段就知道要开启哪个时间段的计费标准。在本设计中,我们想到用霍尔传感器来产生里程脉冲,把霍尔传感器安装在车子的轴轮上,轮子每转一圈就被传感一次,就设置产生一个脉冲,也可以安装多个霍尔传感器,以使得传感的信号更精确,在这里我们直接引用了霍尔传感器传感出来的一米里程脉冲,还根据需要把脉冲分频成后面模块需要的千米脉冲,以方便计算速度和里程。里程是通过计算霍尔传感器传来的里程脉冲,速度是由1s内车子走过的路程来确定,到了下一秒就清零从新计算下一秒走过的路程,这样计算出来的速度虽然是一秒的平均速度,
23、但是由于时间很短,就可以当着是瞬时速度。还有一个百米判断及分频模块,它的功能除了里程分频,还有就是如果乘客坐没到100米就要下的话,就不收费。最后把各个有费用的模块进行总的费用统计,即把计时和计程费用相加,当然,百米模块也牵到相关费用,且分频的里程信号运用于白天深夜计费控制模块,因此,我们后面把它们合起来进行总里程计费。时间脉冲的生成由同组人完成,在本设计中只需引用即可。在本设计中用到了1秒、10毫秒及20毫秒的时间脉冲。系统模块的框图如图2-1: 图2-1 系统模块框图系统主体流程介绍:系统主要由霍尔传感器传感脉冲、计时判断白天深夜模块、速度计算判断高低速模块、低速计算等待时间计费模块、百米
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 出租车 计价器 设计 doc
链接地址:https://www.31ppt.com/p-4135638.html