出租车计价器 .doc
《出租车计价器 .doc》由会员分享,可在线阅读,更多相关《出租车计价器 .doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流出租车计价器 .精品文档.出租车计价器课程设计学生姓名: 专 业: 班 级: 学 号: 初始条件:本设计利用Quartus软件编写VHDL代码,运用EDA实验板上的FPGA、数码管、点阵模块、按键、拨码开关等硬件资源,实现简易的出租车计价器的相关功能。要求完成的主要任务: 1 课程设计工作量:4次课。2 技术要求:(一) 基本要求: 行驶公里: 用时钟 2 秒钟表示出租车匀速行驶 1 公里,在行车 5 公里以内,按起步价 13 元收费,超过 5 公里部分,以每公里 2 元收费。燃油附加费为每运次 1 元。途中等待:用按键控制中途等待,等待少于
2、(包括)5 秒不收费,超过 5 秒后每等待 3 秒钟加收 1 元。 用数码管分时显示计费金额、行驶里程和等候时间。字母 A 表示当前处于显示计费金额状态,字母 B 表示当前处于显示行驶里程状态,字母 C 表示当前处于显示等候时间状态。 用按键控制出租车空驶、载客状态并用点阵显示空驶、载客状态。(二) 提高要求: 用点阵滚动显示收费单据。 具有夜间模式,基本单价加收 20%的费用。出租汽车收费结算以元为单位,元以下四舍五入。 出租车行驶速度可调可控。 多人乘车,分段计价。 自拟其它功能。摘 要本文介绍了一种采用单片FPGA芯片进行出租车计费器的设计方法,主要阐述如何使用新兴的EDA器件取代传统的
3、电子设计方法,利用FPGA的可编程性,简洁而又多变的设计方法,缩短了研发周期,同时使出租车计费器体积更小功能更强大。本设计实现了出租车计费器所需的一些基本功能,计费包括起步价、行车里程计费、等待时间计费,同时考虑到出租车行业的一些特殊性,更注重了把一些新的思路加入到设计中。主要包括采用了FPGA芯片,使用VHDL语言进行编程,使其具有了更强的移植性,更加利于产品升级。关键词:VHDL;计费器;Quartus;FPGAAbstractThis paper describes the use of a single chip FPGA for the design of accounting-fe
4、e machine, mainly on how to use the emerging EDA electronic devices designed to replace traditional methods, using the programmable FPGA, concise and changing the design Ways to shorten the development cycle, so that taxi accounting-fee machine in a smaller more powerful. The design and implementati
5、on of the taxi accounting-fee machine for some basic functions, including billing starting price, driving metered, the waiting time billing, taking into account the special nature of some of the taxi industry, to pay more attention to a number of new Ideas into the design. Mainly including the use o
6、f the FPGA chip, the use of VHDL programming, so as to make it a stronger transplanted, and more conducive to product upgrades. Key words: VHDL, accounting-fee machine , Quartus , FPGA1. 绪论人类社会已经进入信息化时代,信息社会的发展离不开电子产品的进步。现代电子产品在性能提高、复杂度降低的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。
7、前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数万个晶体管;后者的核心就是EDA技术1。没有EDA技术的支持,想要完成超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必须对EDA技术提出新要求。EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(VHDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件2。可编程逻辑器件自20世纪70年代以来,经历了PAL、GAL、CPL
8、D、FPGA几个发展阶段,其中CPLD、FPGA属高密度可编程逻辑器件,目前集成度以高达200万门/片,它将掩膜ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制和小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以和容易地转由ASIC实现,因此开发风险也大为降低。CPLD/FPGA器件已成为现代高层次电子设计方法的实现载体3。 VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为3种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程
9、都可以用VHDL来完成4。另外,VHDL还有以下优点:VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心转移到了系统功能的实现和调试上,只需要花较少的精力用于物理实现;VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用;VHDL的设计不依赖于特定的器件,方便了工艺的转换。VHDL是一个标准语言,为众多的EDA场上支持,因此移植性好5。2. 设计内容及要求2.1. 设计的目的及主要任务2.1.1. 设计的目的学会在Quartus环境中运用VHDL语言设计方法构建具有一定逻辑功能的模块,并能运用图形设计方法完成顶层原理图的
10、设计。掌握出租车自动计费器的主要功能与在FPGA中的实现方法。2.1.2. 设计任务及主要技术指标 设计一个出租车计价器。要求显示行驶里程、停车时间和计费值: 用时钟 2 秒钟表示出租车匀速行驶 1 公里,在行车 5 公里以内,按起步价 13 元收费,超过 5 公里部分,以每公里 2 元收费。燃油附加费为每运次 1 元。途中等待:用按键控制中途等待,等待少于(包括)5 秒不收费,超过 5 秒后每等待 3 秒钟加收 1 元。 运用Quartus软件中的仿真功能对所设计的出租车自动计费器的各个模块及顶层电路的功能进行仿真分析。 将所设计的整个系统写入FPGA器件中,加上需要的外围电路在实验箱上实现
11、整个系统的硬件搭建。2.2. 设计思想本次设计首先在Quartus环境中对出租车自动计费器的各个部分利用VHDL这一硬件描述语言予以设计,生成模块。主要有:运算控制模块、分频器、显示模块这三大部分组成。由顶层模块协调控制完成设计任务。3. 设计原理与仿真结果3.1. 设计原理及方法出租车自动计费器系统流程图本次设计首先在Quartus环境中对出租车自动计费器的各个部分利用VHDL这一硬件描述语言予以设计,进行仿真,然后编写顶层模块将各个模块连接,并对相互之间的信号进行必要处理,从而实现整机功能,最后在实验板上进行物理测试,寻找漏洞、调整参数,最终确定设计。3.2. 单元模块设计3.2.1. 分
12、频器模块设计程序代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fenpinqi IS PORT( clk:IN STD_LOGIC; clk1,clk2,clk3:OUT STD_LOGIC);END fenpinqi;ARCHITECTURE behave OF fenpinqi IS SIGNAL temp1,temp2,temp3:STD_LOGIC;BEGIN p1:PROCESS(clk) variable count1:integer:=0; -2000HZ分频,
13、用于数码管扫描显示 BEGIN IF clkEVENT AND clk=1 THEN IF count1=12499 THEN count1:=0; temp1=not temp1; ELSE count1:=count1+1; END IF; clk1=temp1; END IF; END PROCESS p1; p2:process(clk) variable count2:integer:=0; BEGIN IF clkEVENT AND clk=1 THEN -1 Hz分频,用于等待时间计算 IF count2=24999999 THEN count2:=0; temp2=not te
14、mp2; ELSE count2:=count2+1; END IF; clk2=temp2; END IF; END PROCESS p2; p3:process(clk) variable count3:integer:=0; BEGIN IF clkEVENT AND clk=1 THEN -0.5Hz分频,用于里程计算 IF count3=49999999 THEN count3:=0; temp3=not temp3; ELSE count3:=count3+1; END IF; clk3=temp3; END IF; END PROCESS p3; END behave;模块儿实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车计价器 出租车 计价器
限制150内