基于FPGA的出租车计费器设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计报告课程名称:电子技术课程设计学院:自动化专业:自动化自控班级:自控1201B学号:2012100329055姓名:成绩:前言电子设计自动化(ElectronicsDesignAutomation—EDA)技术是现代电子工程领域的一门新技术。它提供了基于计算机和信息技术的电路系统设计方法。EDA技术就是依赖功能强大的计算机,对用电路描述语言描述的设计文件,自动地完成编译、化简、分割、综合、布线、优化、仿真等,直至实现既定的电子电路系统的功能。EDA技术打破了软件设计和硬件设计间的壁垒,是一门综合性学科,一种新的技能技术。它将设计效率和产品性能合二为一,代表了电子设计技术和电子应用技术的发展方向。EDA技术是指以计算机为工作平台,融合应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动化设计。在EDA技术应用中广泛采用自顶向下的设计方法设计电路工程项目的设计流程包括:用自然语言描述功能特性和技术指标,用硬件描述语言建立系统描述→行为描述→结构描述→逻辑描述,用计算机开发软件进行功能仿真→时序仿真→硬件测试。设计者在整个设计过程中可根据需要,随心所欲的改变器件内部结构乃至期间外部引脚功能,可以将系统电路分解为各个模块,也可以将多个模块集合在一起,而不必顾及各个器件的技术细节。正是采用了基于可编程器件的,利用计算机完成的自顶向下的设计方法,大大减少了功能芯片的数量,减轻了设计电路板图的工作量,缩小了整体电路的体积,提高了系统的可靠性,加快了验发的速度,降低了产品设计的成本。VHDL的全名是VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,于83年由美国国防部发起创建,由IEEE(TheInstituteofElectricalandElectronicsEngineers电气与电子工程师学会)进一步发展,在87年作为“IEEE标准1076”发布,93年被升级为“IEEE1164”。硬件描述语言是EDA技术的重要组成部分,VHDL作为电子设计的主流硬件描述语言,被多个EDA公司所引用。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,具有良好的移植性和适应性,从而大大简化了硬件设计任务,提高了电子系统设计的效率和可靠性。用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。此次课程设计我们组的项目是“出租车计价器”。我们小组通过老师一个星期的知识讲解并自学了《FPGA设计基础》,应用QuartusⅡ软件进行了设计和编辑。一、课程设计任务1.1出租车计费设计目标⑴首先显示起步价,车在行驶3km以内起步费为白天10元,夜晚11元。⑵车行驶超过3km(含)按白天2.0元/km、夜晚3.0元/km计算标准累加计费。⑶实时显示百里以内总里程以及结算金额。⑷白天、夜晚以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)分频器控制模块编程程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycoun_100isport(clk:instd_logic;co:outstd_logic);constantd:integer:=50;end;architecturew1ofcoun_100isbeginprocess(clk)variableq:std_logic_vector(7downto0);beginifclk'eventandclk='1'thenifq=d-1thenq:=(others='0');co='1';elseq:=q+1;co='0';endif;endif;分频器模块计程器模块计费器模块显示模块endprocess;end;(3)分频器图元文件(4)分频器仿真图2、计程器(1)作用:通过控制信号的产生,实现在前3Km的时候不产生进位cn,即cn=‘0’,此时计费器通过数码管一直显示为出租车起步价白天10元,夜晚11元,当里程数大于3Km时,产生进位cn=‘1’,让计费器开始正常计费。(2)计程器控制模块程序:LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.ALL;ENTITYkiloISPORT(clk:INstd_logic;start:INstd_logic;stop:INstd_logic;k1:OUTstd_logic_vector(3DOWNTO0);k2:OUTstd_logic_vector(3DOWNTO0);k3:OUTstd_logic_vector(3DOWNTO0);cn:outstd_logic);ENDkilo;ARCHITECTUREbehavOFkiloISBEGINPROCESS(clk,start,stop)VARIABLEk_v:std_logic_vector(11DOWNTO0);BEGINIFstop='1'THENk_v:=(OTHERS='0');ELSIFclk'EVENTANDclk='1'THENIFstart='1'THENIFk_v(3downto0)=1001THENk_v:=k_v+0111;ELSEk_v(3downto0):=k_v(3downto0)+1;ENDIF;IFk_v(7downto4)=1010THENk_v:=k_v+01100000;ENDIF;ENDIF;ENDIF;IFk_v(11downto0)=000001000000THENcn='1';elsecn='0';ENDIF;k1=k_v(3downto0);k2=k_v(7downto4);k3=k_v(11downto8);ENDPROCESS;ENDbehav;(3)计程器图元文件(4)计程器仿真图3、计费器(此部分包括三部分,分别为零位、个位、十位)(1)作用:通过计程器产生的进位信号cn,一开始的时候数码管显示的是出租车起步价10元,当进位信号cn为1时,计费器开始正常工作,0.2元/km产生费用。3.1、基本计费器控制模块程序:零位LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;entitycounter110isport(clk:instd_logic;en:instd_logic;rest:instd_logic;cq:outstd_logic_vector(3downto0);cout:outstd_logic);endcounter110;architecturebehavofcounter110isbeginprocess(clk,rest,en)variablecqi:std_logic_vector(3downto0);beginifrest='1'thencqi:=(others='0');elsifclk'eventandclk='1'thenifen='1'thenifcqi8thencqi:=cqi+2;elsecqi:=(others='0');endif;ifcqi=8thencout='1';elsecout='0';endif;endif;endif;cq=cqi;endprocess;endbehav;个位LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;ENTITYcounter10ISPORT(clk:INstd_logic;en:INstd_logic;rest:INstd_logic;cq:OUTstd_logic_vector(3downto0);cout:outstd_logic);endcounter10;architecturebehavofcounter10isbeginprocess(clk,rest,en)variablecqi:std_logic_vector(3downto0);beginifrest='1'thencqi:=(others='0');elsifclk'eventandclk='1'thenifen='1'thenifcqi9thencqi:=cqi+1;elsecqi:=(others='0');endif;ifcqi=9thencout='1';elsecout='0';endif;endif;endif;cq=cqi;endprocess;endbehav;十位LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;entitycounter_10isport(clk:instd_logic;en:instd_logic;cn:instd_logic;rest:instd_logic;cq:outstd_logic_vector(3downto0);cout:outstd_logic);endcounter_10;architecturebehavofcounter_10isbeginprocess(clk,rest,en,cn)variablecqi:std_logic_vector(3downto0);beginifrest='1'thencqi:=(others='0');elsifclk'eventandclk='1'thenifcn='0'thencqi:=0001;elsifen='1'thenifcqi9thencqi:=cqi+1;elsecqi:=(others='0');endif;ifcqi=9thencout='1';elsecout='0';endif;endif;endif;cq=cqi;endprocess;endbehav;3.2、白天计费器3.2.1、白天计费器组合元件图3.2.2、白天计费器图文元件3.2.3、仿真图3.2.4、白天计费器组合总图3.2.5、白天计费器组合总图元文件3.3、夜晚计费器3.3.1、夜晚计费程序LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.ALL;ENTITYmoney1ISPORT(clk,stop:INstd_logic;en:INstd_logic;rest:INstd_logic;m1:OUTstd_logic_vector(3DOWNTO0);m2:OUTstd_logic_vector(3DOWNTO0);m3:OUTstd_logic_vec

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功