欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

基于FPGA技术出租车计费器的设计(EDA技术)【特选材料】

  • 资源ID:158249349       资源大小:329KB        全文页数:21页
  • 资源格式: DOC        下载积分:15积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要15积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

基于FPGA技术出租车计费器的设计(EDA技术)【特选材料】

EDA课程设计题目: 基于FPGA的出租车计费器的设计 学院: 通信与电子工程学院 班级: 电子101班 学号: 2010131019 姓名: 何经国 指导老师: 周喜权 日期: 2013年12月20日 材料a摘 要本文以Altera公司的DE2开发板为中心,Quartus 软件作为开发平台,使用Verilog HDL语言编程,设计了一个出租车计费的计费器模型。在程序描述的过程中,用了行为描述方式和结构描述方式二种描述方式对计费器进行描述。该计费器能动态扫描电路,将车费和路显示出来,各有两位小数。整个自动控制系统由三个主要电路构成:里程和车费计算、译码和动态显示。最后给出了仿真的波形,并硬件实现。关键词:出租车计费 Verilog HDL Quartus 目录摘 要I第1章 概述11.1 设计目的11.2 设计背景11.3 设计意义1第2章 工作原理3第3章 设计过程43.1 设计方案43.1.1 计算里程和车费模块43.1.2 七段显示译码器模块53.1.3 动态显示模块73.1.4 设计出租车计费器电路83.2 硬件实现103.2.1 引脚锁定103.2.2 编程下载11第4章 仿真过程124.1 建立工程124.2 建立Verilog HDL文件134.3 建立波形文件144.4 仿真结果14结论17参考文献18材料a第1章 概述1.1 设计目的通过基于EDA技术出租车计费器的设计,理解可编程逻辑器件的设计原理及工作流程,学习EDA软件Quartus 功能与使用方法,了解Verilog HDL语言逻辑编程设计基本过程。1.2 设计背景随着我国经济社会的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。出租车计价器是出租车营运收费的专用智能化仪表,是使出租车市场规范化、标准化的重要设备。一种功能完备,简单易用,计量准确的出租车计价器是加强出租车行业管理,提高服务质量的必需品。本设计采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过Quartus软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求。该设计虽然功能简单,智能化水平比较低,但仍具有一定的实用性。 该设计是在VHDL的基础上对出租车计价器进行设计来实现其基本功能的,与以往的基于单片机的数模混合电路相比,FPGA具有稳定性好,抗干扰能力强等优点,且非常适合做为出租车计价器的控制核心,所以选择用VHDL来对计价器进行设计来实现其功能。 1.3 设计意义汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是具有一定意义的。     随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。 多年来国内普遍使用的计价器只具备单一的脊梁功能。最早的计价器全部使用机械齿轮结构,只能简单的计程功能,可以说,早期的计价器就是个里程表。随着科学技的发展,产生了第二代计价器。它采用手摇计算机与机械结构相结合的方式实现了半机械半电子化。此时它在计程的同时还完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善。出租车计价器是一种专用的计量仪器,它安装在出租车上,能够连续累加,并只是出行中任意时刻乘客应付费用。随着电子技术的发展以及对计价器的不断改进和完善,便产生了能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。第2章 工作原理本文设计了一个出租车计费器的模型,其接口信号如图2-1 所示。图2-1出租车计费器模型方框图车的状态由传感器传回来当作控制信号,用控制信号来控制计算里程和车费模块,然后分别将里程和车费送到译码模块译码,输出的数据一起送到动态扫描模块,由片选信号控制哪部分译码模块输出的数据用数码管显示。当车启动后,计算里程和车费模块就开始计数,起步价为7.00元,并在车行3Km后按2.20元/Km计费,当计费器达到或超过20元时,每公里回收50%的车费,车停止和暂停时不计费;然后将里程和车费送到译码模块译码和动态显示模块动态显示,最后显示在七段数码管上,动态显示的时间间隔为5秒钟。第3章 设计过程3.1 设计方案3.1.1 计算里程和车费模块本模块主要是计算里程和车费。按行驶里程计费,起步价为7.00元,并在车行3Km后按2.20元/Km计费,当计费器达到或超过20元时,每公里回收50%的车费,车停止和暂停时不计费。在本模块中,一个脉冲代表是里程要加100米。计算里程和车费的模块的功能结构框图如图3-1所示。图3-1 计算里程和车费模块的功能结构框图根据模块实现的功能设计Verilog HDL源代码如下:module taxicount(stop,start,clk,pause,chefei,lucheng);input stop,start,clk,pause;output reg19:0 chefei,lucheng;reg3:0 qijia,danjia;reg12:0ygl;regyglflag;always (posedge clk)beginif(stop = 0)begin danjia=0; qijia=0; ygl=0; lucheng=0;endelse if(start = 0)beginchefei=700;lucheng=0;endelse if(start&pause )beginlucheng=lucheng+100;ygl=ygl+100;endif(ygl<1000)yglflag=0;else beginyglflag=1;ygl=0;endif(lucheng>3000)beginif(chefei<2000)beginif(yglflag)chefei=chefei+220;endelse if(chefei>2000)beginif(yglflag)chefei=chefei+330;endendendendmodule3.1.2 七段显示译码器模块本模块主要是将4位二进制数转换为十六进制表示。七段显示译码器模块的功能结构框图如图3-3所示:图3-3 七段显示译码器的功能结构框图根据模块实现的功能设计Verilog HDL源代码如下:module ymq8421(a,hex);input3:0 a;output reg6:0 hex;always (a)begincase(a)0 : hex='b1000000;1 : hex='b1111001;2 : hex='b0100100;3 : hex='b0110000;4 : hex='b0011001;5 : hex='b0010010;6 : hex='b0000010;7 : hex='b1111000;8 : hex='b0000000;9 : hex='b0010000;10 : hex='b0001000;11 : hex='b0000011;12 : hex='b1000110;13 : hex='b0100001;14 : hex='b0000110;15 : hex='b0001110;default :hex='b1111111;endcaseendendmodule3.1.3 动态显示模块本模块为动态显示,时间间隔为秒。动态显示模块的功能结构框图如图3-5所示。图3-5 动态显示模块的功能结构图根据模块实现的功能设计Verilog HDL源代码如下:module display(clk,dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7,HEX0,HEX1,HEX2,HEX3);input clk;input6:0dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7;output reg6:0HEX0,HEX1,HEX2,HEX3;reg2:0CNT,COUNT;always (posedge clk)case(COUNT)0:beginif(clk)CNT=CNT+1;if(CNT<5)beginHEX0=dis0;HEX1=dis1;HEX2=dis2;HEX3=dis3;endelsebeginCNT=0;COUNT=5;endend5:beginif(clk)CNT=CNT+1;if(CNT<5)beginHEX0=dis4;HEX1=dis5;HEX2=dis6;HEX3=dis7;endelsebeginCNT=0;COUNT=0;endendendcaseendmodule3.1.4 设计出租车计费器电路Verilog HDL具有行为描述和结构描述功能。行为描述是对设计电路的逻辑功能的描述,并不用关心设计电路使用哪些元件及这些元件之间的连接关系。而结构描述是对设计电路的结构进行描述,即描述设计电路使用的元件及这些元件之间的连接关系。本文用行为描述和结构描述分别实现电路系统。(一) 用行为描述实现出租车计费器电路系统设计用行为描述实现出租车计费器电路系统设计的源程序如下:module tcout(stop,start,clk,pause,HEX0,HEX1,HEX2,HEX3);input stop,start,clk,pause;output reg6:0HEX0,HEX1,HEX2,HEX3;wire 15:0 chefei,lucheng;wire 6:0 dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7;taxicount U1(stop,start,clk,pause,chefei,lucheng);ymq8421 U2(chefei3:0,dis0);ymq8421 U3(chefei7:4,dis1);ymq8421 U4(chefei11:8,dis2);ymq8421 U5(chefei15:12,dis3);ymq8421 U6(lucheng3:0,dis4);ymq8421 U7(lucheng7:4,dis5);ymq8421 U8(lucheng11:8,dis6);ymq8421 U9(lucheng15:12,dis7);display U10(clk,dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7,HEX0,HEX1,HEX2,HEX3);endmodule(二)用结构描述实现出租车计费器电路系统设计生成的taxicount、ymq8421和display元件图形符号只是分别代表分立的电路设计结果,并没有形成系统。顶层设计文件就是调用taxicount、ymq8421和display三个功能元件,将它们组装起来,成为一个完整的设计。taxi.bdf是本例的顶层文件,实现的功能是将里程和路程动态显示出来,时间间隔是5秒,如图3-8所示。图3-8 taxi顶层设计图在Altera公司的软件工具Quartus (Windows XP环境下)中编译和波形仿真后得到的波形如图3-9示:图3-9 taxi.bdf的仿真波形图3.2 硬件实现3.2.1 引脚锁定对出租车计费器进行实验验证时,需要确定用DE2开发板的哪些输入/输出端口(PIO)来表示设计电路的输入输出。根据DE2开发板提供的实验模式,可选择电平开关SW2SW0作为出租车计费器的控制信号;选择HEX4HEX0作为里程和车费的输出显示。出租车计费器与DE2中的目标芯片引脚连接的全部关系见表3-1。表3-1 出租车计费器与DE2中的目标芯片引脚连接关系表端口名称PIO名称芯片引脚端口名称PIO名称芯片引脚stopDPDT_SW0PIN_N25hex21HEX21PIN_V22startDPDT_SW1PIN_N26hex22HEX22PIN_AC25pauseDPDT_SW2PIN_P25 hex23HEX23PIN_AC26cinOSC_50PIN_N2hex24HEX24PIN_AB26 cin0OSC_50PIN_N2hex25HEX25PIN_AB25hex00HEX00PIN_AF10hex26HEX26PIN_Y24hex01HEX01PIN_AB12 hex30HEX30PIN_Y23hex02HEX02PIN_AC12hex31HEX31PIN_AA25hex03HEX03PIN_AD11hex32HEX32PIN_AA26hex04HEX04PIN_AE11 hex33HEX33PIN_Y26hex05HEX05PIN_V14 hex34HEX34PIN_Y25 hex06HEX06PIN_V13 hex35HEX35PIN_U22hex10HEX10PIN_V20 hex36HEX36PIN_W24 hex11HEX11PIN_V21hex40HEX40PIN_U9 hex12HEX12PIN_W21hex41HEX41PIN_U1 hex13HEX13PIN_Y22 hex42HEX42PIN_U2hex14HEX14PIN_AA24hex43HEX43PIN_T4 hex15HEX15PIN_AA23hex44HEX44PIN_R7hex16HEX16PIN_AB24 hex45HEX45PIN_R6 hex20HEX20PIN_AB23hex46HEX46PIN_T3 3.2.2 编程下载将程序下载到DE2开发板上,扳动SW0SW2,组成控制信号,从七段数码管HEX4HEX0上观察里程和车费。第4章 仿真过程4.1 建立工程(1)点击filenew project wizard,新建工程目录和工程文件czjf,得如图4-1所示。图4-1 新建工程和工程文件(2)Next后进入工程文件选择,输入新文件czjf,必须注意该文件名必须与将要编辑的程序模块名相同,如图4-2所示。图4-2 添加新文件(3)然后Next设置器件信息,接下来一直Next直到结束工程建立。4.2 建立Verilog HDL文件(1)单击filenew,进入下面选择界面,选择Verilog HDL FileOK 。如图4-3所示。图4-3 建立Verilog HDL文件(2)在编辑窗口输入源程序,保存,编译,如图所示。图4-4 输入源程序4.3 建立波形文件(1)单击filenew,进入下面选择界面,选择Vector Waveform FileOK 。如图4-5所示。图4-5 建立波形文件(2)设置相关端口信号,设置之后保存波形文件,重新进行编译。4.4 仿真结果各模块模拟仿真结果如下:(1)计算里程和车费模块taxicount模块定义输入输出端口如下: clk:全局时钟信号,这里为1Hz的时钟。 stop:当stop=0时,车停止;stop=1时,车没停止。 start:当start= 0时,车起动,但没有走;start= 1时,车开动了。 pause:当pause =0时,车暂停;pause =1时,车不暂停。 chefei:表示车费。 lucheng:表示里程。在Altera公司的软件工具Quartus (Windows XP环境下)中编译和波形仿真后得到的波形如图3-2所示:、图3-2 计算里程和车费模块的仿真波形(2)七段显示译码器模块ymq8421程序定义输入输出端口如下: a:输入的4位二进制数。 hex:输出的1位十六进制数。在Altera公司的软件工具Quartus (Windows XP环境下)中编译和波形仿真后得到的波形如图3-4所示:图3-4 七显示译码器的仿真波形(3)动态显示模块display模块定义输入输出端口如下: Clk:全局时钟信号,这里为1Hz的时钟。 dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7:译码模块输出的数据。 HEX0,HEX1,HEX2,HEX3:七段数码管显示的数据。在Altera公司的软件工具Quartus (Windows XP环境下)中编译和波形仿真后得到的波形如图3-6所示:图3-6 动态显示的仿真波形(4)出租车计费器电路程序定义输入输出端口如下: clk:全局时钟信号,这里为1Hz的时钟。 stop:当stop=0时,车停止;stop=1时,车没停止。 start:当start= 0时,车起动,但没有走;start= 1时,车开动了。 pause:当pause =0时,车暂停;pause =1时,车不暂停。 HEX0,HEX1,HEX2,HEX3:七段数码管显示的数据。在Altera公司的软件工具Quartus (Windows XP环境下)中编译和波形仿真后得到的波形如图3-7所示:图3-7 用行为描述的出租车计费器电路系统仿真波形图结论本文主要介绍了出租车计费器的Verilog HDL 的设计与实现,其可以在Altera 公司的DE2开发板等可编程器件来实现。其中介绍了计算里程和车费模块的设计与实现,七段显示译码器的设计与实现,动态显示模块的设计与实现。EDA是电子设计自动化(Electronic Design Automation)的缩写,以前对它的认知只是限于纸面的阶段,没有什么具体概念,这次课设我才真正触摸到它,了解了它。在两周的课程设计中,我学到了很多的东西,从刚开始时的一筹莫展,到后来的渐通关窍,每一步走过来都有豁然开朗的感觉,也对下一步多了一份期待和信心。每解决一个问题,心里都会特别兴奋,特别有成就感。刚开始计划用for循环语句加上case语句来实现功能,但在摸索了好多次仍行不通时不得不放弃这种想法,改用always块和if语句来实现循环。编好程序后,在上箱时,点阵有一行一直不亮,换了两次导线,还是不行,在确定程序和接线都没问题的前提下,于是怀疑锁定该行的管脚有问题,换了一个管脚后,终于成功的作出了预期的结果。通过这次课程设计,我学会了利用Verilog语言编写一些简单的小程序,学会了使用编程软件Quartus II,会了从多个角度思考问题,更学会了寻找问题,分析问题以及解决问题的方法。受益匪浅。参考文献1 阎石,电子技术基础高等教育出版社,2007年2 郑兆兆,艳艳等EDA课程设计指导书,2010年3 王金明,数字系统设计与Verilog HDL4 黄正瑾,在系统编程技术及其应用. 南京:东南大学出版社,19975 彭介华. 电子技术课程设计指导. 北京:高等教育出版社,19976 李国丽,朱维勇. 电子技术实验指导书. 合肥:中国科技大学出版社7 郑家龙,王小海,章安元. 集成电子技术基础教程. 北京:高等教育出版社,2002

注意事项

本文(基于FPGA技术出租车计费器的设计(EDA技术)【特选材料】)为本站会员(8**)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!