




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA技术课程设计目录一 概述1二 意义2三 总体设计33.1 设计要求33.2 设计思路33.3 设计方法33.4 设计流程图4四 系统仿真结果及分析6仿真波形图分析6五 总结及体会9六 参考文献10附录(程序源代码)11一 概述随着我国经济社会的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。出租车计价器是出租车营运收费的专用智能化仪表,是使出租车市场规范化、标准化的重要设备。一种功能完备,简单易用,计量准确的出租车计价器是加强出租车行业管理,提高服务质量的必需品。本设计采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过Quartus软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求。该设计虽然功能简单,智能化水平比较低,但仍具有一定的实用性。该设计是在VHDL的基础上对出租车计价器进行设计来实现其基本功能的,与以往的基于单片机的数模混合电路相比,FPGA具有稳定性好,抗干扰能力强等优点,且非常适合做为出租车计价器的控制核心,所以选择用VHDL来对计价器进行设计来实现其功能。本设计是对出租车计价器的四个模块进行分析的,综述如下:分频模块:分频模块是其它模块的基础,输入时钟选为64Hz,分频后的时钟频率为1Hz,为后续模块提供基本时钟。等待时间模块:该模块针对乘客确认下车前的等待而言,比如堵车、中途下车的情况,通过1Hz脉冲计数,每一分钟计时加一,最大计时时间显示为59分钟。路程模块:该模块是对车辆行驶路程进行计数,以1Hz时钟为基础,检测行程脉冲,路程模块中有内部变量来判断路程,当大于3公里、20公里时,分别有相应的使能信号对此作出记录,最大路程显示为99公里。计费模块:该模块是基于等待时间模块和路程模块对费用进行控制的。通过内部使能信号分别计算3公里以内、3-20公里以及20公里以后的费用。本设计是基于VHDL进行编程,然后在Quartus进行波形仿真,实现出租车计价器的基本功能。二 意义 汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是具有一定意义的。 随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。多年来国内普遍使用的计价器只具备单一的脊梁功能。最早的计价器全部使用机械齿轮结构,只能简单的计程功能,可以说,早期的计价器就是个里程表。随着科学技的发展,产生了第二代计价器。它采用手摇计算机与机械结构相结合的方式实现了半机械半电子化。此时它在计程的同时还完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善。出租车计价器是一种专用的计量仪器,它安装在出租车上,能够连续累加,并只是出行中任意时刻乘客应付费用。随着电子技术的发展以及对计价器的不断改进和完善,便产生了能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。三 总体设计3.1 设计要求 (1)起步价为8.00元,起步公里为3公里; (2)超过3公里,每公里按1元收费; (3)单程行驶里程超过20公里,每公里租价加收50%; (4)等候时间超过1分钟,每分钟按这公里的租价计算。 要求显示里程、计费及等候时间。乘客上车后,按下启动键开始计费。若非往返,按下单程键,计费显示三位整数、一位小数。3.2 设计思路 输入2个时钟信号,分别模拟时间和路程。对等待时间、路程计数,进而统计费用。系统结构框图如下:时钟基础时钟计数器1等待时间车速时钟计数器2里程计费分频显示图1 系统结构框图上图中,计数器1对分频后的1Hz脉冲计数,计数60次,计数器加1,对应等待时间,计数器2对车速脉冲计数,其上升沿到来计数加1,对应里程。 3.3 设计方法本设计将使用硬件描述语言VHDL设计出租车计价器系统。VHDL是高速集成电路硬件描述语言的简称。VHDL是采用可编程逻辑器件通过对器件内部的设计来实现系统功能的,是一种基于芯片的设计方法。程序调试无误后,在实验箱上进行硬件测试,证明该出租车计价系统具有使用计价器的基本功能。3.4 设计流程图开始初始化单程?里程3里程201.5元/公里1元/公里等待?等待?1.5元/分钟1元/分钟计费NYYYNYYNN图3 系统设计流程图分频里程计数时间计数时间计数N乘客上车后,按下启动按钮,计价器开始工作,首先进入初始化状态,即计程从0开始,计费从8开始。再根据单程信号判断是否为单程,进而确定计费方式。单程:里程计数器开始计数,当路程超过3公里时,计费开始累加,按1元每公里计算,路程超过20公里时每公里1.5元。当路程超过3公里有等待时,按下等待信号,每等待1分钟费用与当前计费方式相同。往返:每公里1元,等待计费为每分钟1元。乘客下车后,按下复位键,则所有计数器进入初始状态。四 系统仿真结果及分析仿真波形图分析具体封装图如下:图2 系统封装图各信号说明:输入信号:clk:系统时钟信号,频率64Hz; mile:车速时钟,频率8Hz; start:启动信号,当start=1时,出租车启动,计数器开始计数;则计数器停止计数; rst:复位信号,当rst=1时,各计数器清0;当rst=0时,计数器可以开始计数,start=1表示计数开始; one_way:单程信号,单程时由司机输入; wait_siignal:等待信号,处于等待状态时由司机输入; 输出信号:km0,km1:里程,单位为公里; min0,min1:等待时间,单位为分钟; cost0,cost1,cost2,cost3:费用,单位为元,其中cost0表示小数位。图4 单程行驶示意图 启动键、单程键有效,由图可知,3公里之内计费显示为8元;3-20公里之间每公里1元累计;超过20公里每公里1.5元累计。图5 单程行驶中途等待示意图 启动键、单程键有效,行驶一段时间等待信号有效,等待后继续行驶。由图可知,3公里之内计费显示8元,3-20公里之间每公里1元累加,中间等待信号有效,每等待一分钟按此时每公里的费用计算,里程计数器停止计数,等待时间到,里程计数器继续计数。图6 单程行驶复位示意图启动键、单程键有效,中途等待4分钟,乘客下车时显示费用25元,复位信号有效,计数器清零,当启动信号有效时重新计数。五 总结及体会通过为期两周的课程设计,出租车计价器系统的设计已基本完成,能按预期的效果模拟汽车启动、等待、停止、复位等功能,并显示车费数目等待时间及行驶路程。出租车计费系统的设计中体现了VHDL覆盖面广,描述能力强,是一个多层次的硬件描述语言及CPLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。在本次设计中还存在很多不足,可以改进的地方目前有以下几点:一、该设计虽然实现了基本的计费和计程,但是很多问题并没有解决,如本设计只实了一种车速的计费。若要实现出租车的不同档位下的计程计费,还需要进一步讨论。二、该设计智能化水平较低,启动、等待、复位等信号需要人为输入,若在实际中出现操作偏差,会导致计费不准确。通过此次课程设计,我们更进一步的深入了解了VHDL设计语言,并在使用过程中对它有了更深的体会。对编程过程中可能遇到的问题有了一定的了解和解决方法,在理论学习和编程练习以及硬件测试方面都获得了较大的收获,对于今后进行程序设计有很大的帮助。六 参考文献1 Volei A. Pedroni . VHDL数字电路设计教程.电子工业出版社,2010.11.2 蒋小燕,余伟钧,张立臣. EDA技术及VHDL.2008.12.3 鲍可进,赵念强,赵不贿等. 数字逻辑电路设计.清华大学出版社,2004.2.4 潘松,黄继业. EDA技术实用教程.科学出版社,2010.6.5 刘江海. EDA技术课程设计.华中科技大学出版社,2009.5.附录(程序源代码)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity taxi isport(clk:in std_logic; start:in std_logic; wait_signal:in std_logic; mile:in std_logic; one_way:in std_logic; rst:in std_logic; cost0,cost1,cost2,cost3:out std_logic_vector(3 downto 0); min0,min1:out std_logic_vector(3 downto 0); km0,km1:out std_logic_vector(3 downto 0);end;architecture bhv of taxi issignal mile_r1,mile_r2,mile_clk,start_r,clk1hz:std_logic;signal count:integer range 0 to 29;signal sec:integer range 0 to 59;signal c0,c1,c2,c3:std_logic_vector(3 downto 0);signal k0,k1,m0,m1:std_logic_vector(3 downto 0);signal en0,en1:std_logic;signal wait_clk,cost_clk:std_logic;beginU1:process( rst,clk) -分频 begin if rst=0 then if clkevent and clk=1 then if count=31 then count=0;clk1hz=1; else count=count+1;clk1hz=0; end if; end if; end if; end process;U2:process(rst,clk1hz,start,wait_signal) -等待时间计数 begin if rst=1 then m0=0000;m1=0000; elsif start=0then wait_clk=0; elsif clk1hzevent and clk1hz=1 thenif wait_signal=1then if sec=59 then sec=0;wait_clk=1; if m0=1001then m0=0000; if m1=0101then m1=0000; else m1=m1+1; end if; else m0=m0+1; end if; else wait_clk=0; sec=sec+1; end if; else wait_clk=0; end if; end if; end process;U3:process( rst,clk1hz,mile,start) -检测mile上升沿 begin if rst=0 then if clk1hzevent and clk1hz=1then mile_r2=mile_r1;mile_r1=mile;start_r=start; end if; end if; end process;mile_clk=mile_r1 and not(mile_r2);cost_clk= wait_clk when wait_signal=1else mile_clk when en0=1 or en1 =1else 0;U4:process(rst,start,mile_clk) -里程计数 begin if rst=1 then k0=0000; k1=0000; elsif start=0 then k0=0000; k1=0000; en0=0;en1=00100000 and one_way=1 then en1=1;en0=0; end if; if k1 & k0=00000011 then en0=1; end if; if k0=1001 then k0=0000; if k1=1001 then k1=0000; else k1=k1+1; end if; else k0=k0+1; end if; end if; end process;U5:process( rst,start,cost_clk,start_r) -计费 begin if rst=1 then c0=0000;c1=0000; c2=0000;c3=0000; elsif start=1 and start_r=0 then c0=0000;c1=1000;c2=0000; c3=0000; elsif cost_clkevent and cost_clk=1then if en1=0 and en0=1then if c1=1001then c1=0000; if c2=1001then c2=0000; if c3=1001then c3=0000; else c3=c3+1; end if; else c2=c2+1; end if; else c1=c1+1; c0=0000; end if; else if (c0=0101 and c1=1000)or c1=1001then if c1=1001 and c0=0101 then c0=0000; c1=0001; elsif c1=1001 and c0=0000 then c0=0101;c1=0000; elsif c1=1000 and c0=0101 then c0=0000;c1=0000; end if; if c2=1001 then c2=0000; if c3=1001then c3=0000; else c3=c3+1; end if; else c2=c2+1; end if; elsif c0=0000then c0=0101;c1=c1+1; else c0=0000;c1=c1+0010; end if; end if; end if; end process; min0=m0; min1=m1; km0=k0; km1=k1; cost0=c0; cost1=c1; cost2=c2; cost3=c3; end; 袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天正cad考试试题及答案自考
- 2025年公需科目试题及参考答案(多选类)
- 胖东来门店管理办法
- 航天招投标管理办法
- OA系统文件管理办法
- 虚拟服饰库存管理办法
- 蔬菜代收点管理办法
- 仓储物资超市管理办法
- 血站样本保存管理办法
- 落实尽职免责管理办法
- 硫酸盐酸安全管理制度
- 2025秋部编版(2024)八年级上册语文上课课件 第二单元 阅读综合实践
- 社团外聘教师管理制度
- 2022年全国青少年禁毒知识竞赛题库附答案(共470题)
- 征兵心理测试题及答案
- 高温中暑急救教学
- 妇科临床科室管理制度
- 湖南文艺出版社小学四年级上册全册音乐教案
- 专科护理建设体系构建与实施路径
- 直销团队文化课件
- 广西南宁市三中2025届高三第二次模拟考试英语试卷含解析
评论
0/150
提交评论