EDA课程设计说明书_第1页
EDA课程设计说明书_第2页
EDA课程设计说明书_第3页
EDA课程设计说明书_第4页
EDA课程设计说明书_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、唐 山 学 院 EDA技术 课 程 设 计 题 目 出租车计费器设计 系 (部) 信息工程系 班 级 10通信工程2班 姓 名 魏汉武 学 号 指导教师 申彦春、姚明林 2012 年 12 月 24 日至 12 月 28 日 共 1 周 EDA技术 课程设计任务书一、设计题目、内容及要求 设计题目:出租车计费器设计内容及要求:(1)按行驶里程收费,起步价为6.00元,当里程小于3公里时,按照起步价计费,车行驶超过3公里后按1.2元/公里收费,停车等待累积时间超过2分钟,按照每分钟1.5元计费。(2)实现车辆行驶的模拟:能模拟汽车的启动,停止,暂停等状态。(3)计费器显示部分设计:用LED数码管

2、实时显示车费和汽车行驶里程,用两位数字显示汽车行驶里程,显示方式为“XX”,单位为km。计程范围为099km,计程分辨率为1km;用五位数字显示总费用,显示方式为“XXX.X”,单价为元。计价范围为0999.9元,计价分辨率为0.1元。设计要求:(1)根据任务要求确定电路各功能模块; (2)写出设计程序;(3)分析时序仿真结果; (4)提交设计总结。二、设计原始资料 Quartus软件;EDA实验箱;计算机一台;三、要求的设计成果(课程设计说明书、设计实物、图纸等)课程设计说明书1份,不少于2000字,应包含设计原理分析、相关软件介绍、仿真波形分析,实验箱下载验证等。四、进程安排周1-周3:

3、查阅资料,上机编写并调试设计程序;周4:整理、撰写说明书;周5:课程设计答辩并提交设计说明书。五、主要参考资料1.Voknei A.Pedroni.VHDL数字电路设计教程.电子工业出版社,2008.52.潘松,黄继业.EDA技术实用教程(第二版).科学出版社,2005.23.焦素敏.EDA应用技术.清华大学出版社,2002.4指导教师(签名):教研室主任(签名):课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定 指导教师签名: 年 月 日目 录1引言12出租车计价器设计22.

4、1出租车计价器的设计原理22.2各模块功能模块设计32.2.1分频模块32.2.2计量模块32.2.3控制模块32.2.4计费模块42.2.5译码显示模块42.2.6顶层模块42.3硬件仿真53总结6参考文献7附录81引言本设计是一个简易的出租车计费系统,实现计价功能,计费标准为按行程里程收费,起步价为6.00元,当里程小于3公里时,按照起价计费,车行超过3公里后在按1.2元/公里收费,等待累积时间超过2min,按照每分钟1.5元计费。能模拟汽车的启动,停止,暂停等状态。并用LED数码管实时显示车费和汽车行驶里程,用两位数字显示汽车行驶里程,显示方式为“XX”,单位为km。计程范围为099km

5、,计程分辨率为1km;用五位数字显示总费用,显示方式为“XXX.X”,单价为元。计价范围为0999.9元,计价分辨率为0.1元。此计费器要设有一个由司机控制的整体复位控制。本设计采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过Quartus软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求。 本次课程设计可以熟练掌握了课本上的一些理论知识,课程设计也是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。加深我们对VHDL数字电路设计教程的理解。 2出租车计价器

6、设计本设计是一种采用FPGA芯片进行出租车计费器,主要分为分频模块、计量模块、计费模块、控制模块等模块,利用FPGA的可编程性,简洁又多变的设计方法,缩短了研发周期。主要采用了FPGA芯片,使用VHDL语言进行编程,使其具有了更强的移植性,更加利于产品的升级。2.1出租车计价器的设计原理根据设计要求,系统的输入信号clk,计价开始信号Start,等待信号Stop,里程脉冲信号fin。系统得输出信号有:总费用数cha0 cha3,行驶距离km0 km1,等待时间min0 min1 等。系统有两个脉冲输入信号clk_120、fin,其中clk_120将根据设计要求分频成12Hz、15Hz和1Hz分

7、别作为公里计费和超时计费的脉冲。两个控制输入开关start、stop;控制过程为:start作为计费开始开关,当start为高电平时,系统开始根据输入的情况计费。当有乘客上车并开始行驶时,fin脉冲到来,进行行驶计费,此时的stop需要置为0;如需停车等待,就把stop变为高电平,并去除fin输入脉冲,进行等待计费;当乘客下车且不等待时,将stop和fin同时置为0,来读取最终的行驶路程数、等待时间与最后的总费用,直接将start置为0,系统停止工作;价格开始归为起步价6.00元。整个设计由分频模块、计量模块、计费模块、控制模块等四个部分组成。其中计量模块是整个系统实现里程计数和时间计数的重要

8、部分;控制模块是实现不同计费方式的选择部分,根据所设计的使能端选择是根据里程计费还是根据等待时间计费;同时设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。计量模块采用1Hz的驱动信号,计费模块采用12Hz、15Hz的驱动信号;计量模块每计数一次,计费模块就实现12次或者15次计数,即为实现计时的1.5 元/min、计程时的1.2元/km的收费。组成框图如图2-1所示: 图2-1 系统结构框图2.2各模块功能模块设计2.2.1分频模块由于试验箱上没有12Hz和15Hz的整数倍时钟信号,因此我们采用频率较大的750khz进行分频,以近似得到12Hz、15Hz和1Hz的时钟频率。本设计中通过

9、以上三种不同频率的脉冲信号实现在计程车在行驶、等待两种情况下的不同计费。分频模块元件如图2-2所示:图2-2 分频模块元件图2.2.2计量模块计量模块主要完成计时和计程功能。计时部分:计算乘客的等待累积时间,当等待时间大于2min时,本模块中en1使能信号变为1;当clk1每来一个上升沿,计时器就自增1,计时器的量程为59min,满量程后自动归零。计程部分:计算乘客所行驶的公里数,当行驶里程大于3km时,本模块中en0使能信号变为1;当clk1每来一个上升沿,计程器就自增1,计程器的量程为99km,满量程后自动归零。Start置1程序始终处于计费状态,当fin脉冲到来时k0和k1进入计程状态,

10、且k0每次满9就向k1进位,超过3km时en0就变为高电平;同理,当stop由0置为1时开始由计程进入等待状态,fin脉冲归为0里程计数停止,等待时间开始计时,m0每次满9就向m1进位,超过2min时en1就变为高电平。2.2.3控制模块本模块主要是通过计量模块产生的两个不同的输入使能信号en0、en1,对两个分频模块输出的12Hz、15Hz的脉冲进行选择输出的过程;本模块实现了双脉冲的二选一;最终目的为了计费模块中对行驶过程中不同的时段进行计价。2.2.4计费模块当计费信号Start一直处于高电平即计费状态时,本模块根据控制模块选择出的信号从而对不同单价的时段进行计费。即行程在3km内,而且

11、等待累积时间小于2min则为起步价6元;3km以外每公里按1.2元计费,等待时间超过2min,则按每分钟1.5元计费。c0、c1、c2、c3分别表示费用的显示。由图可知当处于计费状态时,随着clk2的高电平的到来,计费起步价为6元。c0满9向c1进位,c1满9向c2产生进位,依次逐级进位从而完成计费功能。2.2.5译码显示模块译码显示模块完成计价、计时和计程数据显示。计费数据送入译码显示模块进行译码,最后送至以百元、十元、元、角为单位对应的数码管上显示。计时数据送入译码显示模块进行译码,最后送至以分为单位对应的数码管上显示。计程数据送入译码显示模块进行译码,最后送至以km为单位的数码管上显示。

12、由于本次课程设计所用实验箱上自带数码管译码显示电路,因此不需再写译码程序,选定模式直接管脚锁定在对用的数码管上即可实现。2.2.6顶层模块本模块用图形输入法实现出租车的计费器系统设计,将各个模块组合在一起。程序最终功能实现仿真波形如图2-11所示图2-11 程序最终仿真波形图由图中可以看出,当fin脉冲信号到来时,实现了行驶计费,当行驶里程超过三公里,则再按每公里1.2元计费;当stop为高电平,即进入等待计时收费;当等待时间超过2min时,每过一分钟加1.5元,即为实现每等一分钟收费1.5元。当stop为电平时所有数值清零,只显示初始值6元,但本次仿真中等待时间为9分钟,行驶里程为20km,

13、应收取费用值为36.9元。结果验证:出租车的起步价是6元,收费为6+(20-3)*1.2+(9-2)*1.5=36.9元。仿真结果于计算结果相同,所以仿真结果正确。2.3硬件仿真在QuartusII软件中仿真成功,现在下载到试验箱上以验证其功能。实验中采用万用模式模式五,程序中各个端口锁定到试验箱上对应的管脚下载验证。最后得数码管显示计时、计程和计费数据如图2-13所示:图2-13 硬件仿真结果由上可知等待时间为4分钟,行驶公里数为4公里。根据设计要求计算所得费用为:6元+(4km-3km)*1.2元/km+(4min-2min)*1.5元/min=6+1.2+3=10.2元,与试验箱上所得结

14、果相同,仿真下载成功。3总结通过为期1周的课程设计,出租车计价器系统的设计已基本完成,能按预期的效果模拟汽车启动、等待、停止、复位等功能,并显示车费数目等待时间及行驶路程。出租车计费系统的设计中体现了VHDL覆盖面广,描述能力强,是一个多层次的硬件描述语言及CPLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。通过不断的编写与尝试,遇到问题,讨论问题,解决问题,使我对VHDL数字电路设计教程这门学科有了更系统的认识。在这次课程设计中我熟练地掌握了VHDL语言中的并行语句与顺序语句的应用、区别与联系;从根本上了解了信号与变量之间的区别;熟练掌握并应用了有限状态机与元件例化

15、的方法;锻炼了我的独立思考能力,培养了我敢于创新的思想:让我学会了团结同学、互帮互助、在讨论中提炼真知。在本次设计中还存在很多不足,可以改进的地方目前有以下几点:一、该设计虽然实现了基本的计费和计程,但是很多问题并没有解决,如本设计只实了一种车速的计费。若要实现出租车的不同档位下的计程计费,还需要进一步讨论。二、该设计智能化水平较低,启动、等待、复位等信号需要人为输入,若在实际中出现操作偏差,会导致计费不准确。通过此次课程设计,我们更进一步的深入了解了VHDL设计语言,并在使用过程中对它有了更深的体会。对编程过程中可能遇到的问题有了一定的了解和解决方法,在理论学习和编程练习以及硬件测试方面都获

16、得了较大的收获,对于今后进行程序设计有很大的帮助。最后在此再次向带领我们这次课程设计的老师说声:谢谢! 参考文献1.Voknei A.Pedroni.VHDL数字电路设计教程.电子工业出版社,2008.52.潘松,黄继业.EDA技术实用教程(第二版).科学出版社,2005.23 孟庆海,张洲.VHDL基础及经典实例开发.西安:西安交通大学出版社,2008.44 刘江海.EDA技术课程设计.华中科技大学出版社,2009.55 蒋小燕,余伟钧,张立臣. EDA技术及VHDL.2008.12.6 焦素敏.EDA应用技术.清华大学出版社,2002.4附录-分频模块源程序:library ieee;us

17、e ieee.std_logic.1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenpin isport ( clk_240:in std_logic; -系统时钟 clk_12:buffer std_logic; -12分频 clk_15:buffer std_logic; -15分频 clk_1:buffer std_logic); -1分频end fenpin;architecture fenpin of fenpin is signal q_12:integer range 0

18、 to 9; - 定义中间信号量 signal q_15:integer range 0 to 7; signal q_1:integer range 0 to 119; begin process(clk_240) beginif (clk_240event and clk_240=1 )then if q_12=9 then q_12=0;clk_12=not clk_12; else q_12=q_12+1; end if; -得12hz频率信号if q_15=7 then q_15=0;clk_15=not clk_15; else q_15=q_15+1; end if; -得15h

19、z频率信号if q_1=119 then q_1=0;clk_1=not clk_15; else q_1=q_1+1;end if; -得1hz频率信号 end if; end process;end fenpin;-计量模块源程序:library ieee;use ieee.std_logic.1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity jiliang isport( start: in std_logic; -计费开始信号 fin: in std_logic; -里程脉冲信号st

20、op: in std_logic; -行驶中,中途等待信号clk_1: in std_logic; -驱动脉冲en1,en0:buffer std_logic; -计费单价使能信号 k1,k0: buffer std_logic_vector(3 downto 0); -行驶公里计数 m1,m0: buffer std_logic_vector(3 downto 0); -等待时间计数end jiliang;architecture rt2 of jiliang issignal w:integer range 0 to 59; -计时范围059 beginprocess(clk_1)begi

21、nif clk_1event and clk_1=1 then if start=0 then w=0;en1=0;en0=0;m1=0000;m0=0000;k1=0000;k0=0000;elsif stop=1 then -计时开始信号 if w=59 then w=0;else w=w+1;end if; if m0=1001 then m0=0000; if m1=0101 then m1=0000;else m1=m1+1;end if;else m0=m0+1;end if; if stop=1 then en0then en1=1; -若等待时间大于2min则en1置1 els

22、e en1=0; end if;end if;elsif fin=1 then -里程计数开始 if k0=1001 then k0=0000; if k1=1001 then k1=0000; -计程范围099else k1=k1+1;end if;else k0=k0+1;end if; if stop=0 then en1 then en0=1; -若行驶里程大于3km则en0置1 else en0=0; end if; end if; end if; end if;if stop=0 and fin=0then en0=0;en1=0;end if;end process;end rt

23、2;-控制模块源程序:library ieee;use ieee.std_logic.1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity kongzhi isport(en0,en1:in std_logic; -使能选择信号 clk_12:in std_logic; -12分频输入信号 clk_15:in std_logic; -15分频输入信号 clk_out:out std_logic); -输出信号 end kongzhi;architecture rt3 of kongzhi isb

24、eginprocess(en0,en1)begin if en0=1 then -实现二选一功能 clk_out=clk_15; elsif en1=1 then clk_out=clk_12;else clk_out= null; end if; end process;end rt3;-计费模块源程序library ieee;use ieee.std_logic.1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity jifei isport(clk2:in std_logic; -计费驱动信

25、号 start: in std_logic; -计费开始信号 c0,c1,c2,c3: buffer std_logic_vector(3 downto 0);end jifei;architecture rt4 of jifei isbeginprocess(clk2,start)begin if start=0 then c3=0000;c2=0000;c1=0110;c0=0000; -起步价6元 elsif clk2event and clk2=1 then if c0=1001 then c0=0000; if c1=1001 then c1=0000; if c2=1001 the

26、n c2=0000; if c3=1001 then c3=0000; -计价范围0999.9元 else c3=c3+1; end if; else c2=c2+1; end if; else c1=c1+1; end if; else c0=c0+1; end if; end if;end process;end rt4;library ieee;use ieee.std_logic.1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity chuzuchejifeiqi isport(clk_750k:in std_logic;start:in std_logic;fin:in std_logic;stop:in std_logic);end chuzuchejifeiqi;architecture chuzuchejifeiqi of chuzuchejifeiqi iscomponent finpin isport ( clk_240:in std_logic; -系统时钟 clk_12: buffer std_logic; -12分频 clk_

温馨提示

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

评论

0/150

提交评论