基于FPGA的出租车计费器设计报告.docx_第1页
基于FPGA的出租车计费器设计报告.docx_第2页
基于FPGA的出租车计费器设计报告.docx_第3页
基于FPGA的出租车计费器设计报告.docx_第4页
基于FPGA的出租车计费器设计报告.docx_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告课程名称: 电子技术课程设计 学 院: 自动化 专 业: 自动化自控 班 级: 自控1201B 学 号: 2012100329055 姓 名: 成 绩: 前言电子设计自动化(Electronics Design AutomationEDA)技术是现代电子工程领域的一门新技术。它提供了基于计算机和信息技术的电路系统设计方法。 EDA技术就是依赖功能强大的计算机,对用电路描述语言描述的设计文件,自动地完成编译、化简、分割、综合、布线、优化、仿真等,直至实现既定的电子电路系统的功能。 EDA技术打破了软件设计和硬件设计间的壁垒,是一门综合性学科,一种新的技能技术。它将设计效率和产品性能合二为一,代表了电子设计技术和电子应用技术的发展方向。 EDA技术是指以计算机为工作平台,融合应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动化设计。在EDA技术应用中广泛采用自顶向下的设计方法设计电路工程项目的设计流程包括:用自然语言描述功能特性和技术指标,用硬件描述语言建立系统描述行为描述结构描述逻辑描述,用计算机开发软件进行功能仿真时序仿真硬件测试。设计者在整个设计过程中可根据需要,随心所欲的改变器件内部结构乃至期间外部引脚功能,可以将系统电路分解为各个模块,也可以将多个模块集合在一起,而不必顾及各个器件的技术细节。正是采用了基于可编程器件的,利用计算机完成的自顶向下的设计方法,大大减少了功能芯片的数量,减轻了设计电路板图的工作量,缩小了整体电路的体积,提高了系统的可靠性,加快了验发的速度,降低了产品设计的成本。VHDL的全名是Very High Speed Integrated Circuit Hardware Description Language,于83年由美国国防部发起创建,由IEEE(The Institute of Electrical and Electronics Engineers 电气与电子工程师学会)进一步发展,在87年作为“IEEE标准1076”发布,93年被升级为“IEEE1164”。 硬件描述语言是EDA技术的重要组成部分,VHDL作为电子设计的主流硬件描述语言,被多个EDA公司所引用。 VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,具有良好的移植性和适应性,从而大大简化了硬件设计任务,提高了电子系统设计的效率和可靠性。 用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。 此次课程设计我们组的项目是“出租车计价器”。我们小组通过老师一个星期的知识讲解并自学了FPGA设计基础,应用Quartus 软件进行了设计和编辑。一、课程设计任务1.1出租车计费设计目标1 首先显示起步价,车在行驶3km以内起步费为白天10元,夜晚11元。 2 车行驶超过3km(含)按白天2.0元/km、夜晚3.0元/km计算标准累加计费。3 实时显示百里以内总里程以及结算金额。4 白天、夜晚以5:00到23:00界定。程序及对应模块设计思路:模块1 分频器分频器:此模块作用主要是通过时钟脉冲分频实现不同的要求,对应现实中当车轮转两圈,表示车已经行驶100m;模块2 计程器计程器:此模块作用主要是记录车辆行驶的距离,当车辆行驶的距离不满3km时,计程器中的信号cn保持为零,使计费器保持在起步价,在数码管显示为该起步价,当车辆行驶的距离大于或者等于3km时,产生的信号cn为1,并一直保持下去,此时计费器开始正常工作;模块3 计费器计费器:此模块主要是记录当前车辆行驶所产生的费用,通过计程器cn信号,有两个状态,一个是保持在起步价,一个是以0.2(白天)元/km和0.3(夜晚)元/km两种方式计费。模块4 白天、夜晚选择器白天、夜晚选择器:此模块主要是控制当前车辆工作的状态时白天还是夜晚,通过按键的设置可以选择当前车辆的计费方式。注:计费器运用了两种编写方式,一种(白天)是以计数器为原型设计,一种(夜间)是直接通过程序的编写得到。二、系统设计框图显示模块计程器模块 分频器模块计费器模块 三、系统电路设计陈述3.1主路控制器模块设计1、分频器:(1)作用:分频产生计时(2)分频器控制模块编程程序library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity coun_100 is port(clk:in std_logic; co:out std_logic); constant d:integer:=50; end; architecture w1 of coun_100 is begin process(clk) variable q:std_logic_vector(7 downto 0); begin if clkevent and clk=1then if q=d-1 then q:=(others=0);co=1; else q:=q+1;co0); ELSIFclkEVENTANDclk=1THEN IF start=1 THEN IF k_v(3 downto 0)=1001 THEN k_v:=k_v+0111; ELSE k_v(3 downto 0):=k_v(3 downto 0)+1; END IF; IF k_v(7 downto 4)=1010 THEN k_v:=k_v+01100000; END IF; END IF; END IF; IF k_v(11 downto 0)=000001000000 THEN cn=1;else cn=0; END IF; k1=k_v(3 downto 0); k2=k_v(7 downto 4); k30); elsif clkevent and clk=1 then if en=1 then if cqi0); end if; if cqi=8 then cout=1; elsecout=0; endif; endif; endif;cq0);elsif clkevent and clk=1then if en=1then if cqi0); end if; if cqi=9 then cout=1; else cout=0; end if; end if; end if; cq0); elsifclkeventandclk=1then ifcn=0thencqi:=0001; elsifen=1then ifcqi0); endif; ifcqi=9thencout=1; elsecout=0; endif; endif; endif;cq0); elsIF rest=0 THEN m_v(11 downto 4):=00010001; elsIFclkEVENTANDclk=1THEN IFen=1THEN m_v(7downto0):=m_v(7downto0)+00000011; IF0000&m_v(3downto0)00001001THEN m_v(7downto0):=m_v(7downto0)+00000110; ENDIF;IFm_v(7downto4)1001THEN m_v:=m_v+000001100000; END IF; END IF; END IF; m1=m_v(3 downto 0); m2=m_v(7 downto 4); m3=m_v(11 downto 8);END PROCESS; END behav;3.3.2、夜晚计费器图元文件3.3.3、夜晚计费器组合总图3.3.4、夜晚计费器生成的总图元文件5、白天、夜晚选择器(1)作用:根据白天、夜晚时间选择对应的计费模式(2)白天、夜晚选择器程序library ieee;use ieee.std_logic_1164.all; entity selc is port(a1,a2,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6:in std_logic_vector(3 downto 0); s:in std_logic; y:out std_logic_vector(23 downto 0); end; architecture m1 of selc is signal a,b:std_logic_vector(23 downto 0); begin a=a6&a5&a4&a3&a2&a1; b=b6&b5&b4&b3&b2&b1;with s select y=a when 1, b when 0; end m1;(3)生成的图元文件四、系统合成后总元件图锁引脚图六、编程下载及实验结果验证选择模式5,由左往右看,前四个数码管显示里程数,精确到00.00km,第5个数码管不用,后三个数码管显示费用,精确到00.0元。按键1是启动白天计价模式,按键2是停止计价,按键3是选择夜晚计价模式。白天工作方式(不超过3km)显示基价10元白天工作方式(超过3km)按照白天计价方式累加计费夜晚工作方式(不超过3km)显示基价11元夜晚工作方式(超过3km)按照夜晚计价方式累加计费七、课程设计工作进程 我们始终以老师所说的相互合作,互相共享资料的原则为基础,再进行课程 设计。本组的设计题目为:出租车计价器,书上的程序没有对这一方面的进行详细的说明,我们组通过在网上查找资料,在图书馆借阅了书籍,在实际操作中也是互相帮忙,顺利的完成了此次课程设计。 八、实验收获及体会刚开始对EDA、FPGA的一无所知,经过这几天的实训慢慢的熟悉了Quartus 的使用,从程序到RTL图像,再到生成的图文元件,把编译好的程序下载到实验箱中检验结果,每当遇到困难时,我总是是自己先专研一会儿,实在是找不出错就问问老师同学,直到结果出来为止,那时的喜悦不言而喻。上周的实训只是对课本中已有的程序进行验证,虽没有真正的去了解VHDL语言的编写规则,但是从以往所学的语言也是可以看见类似的地方,大部分程序还是能够读懂的。而这周是两个人为一组共同完成这个课的课程设计,刚开始拿到题目的时候任性的选了个最难的,结果到真正做的时候发现细小的地方好多,觉得时间来不及,一开始是无从下手,上网找了很多资料也没有和书上一样的,但是我和我的队友并没有觉得难就退缩了,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论