EDA技术课程设计-出租车自动计费系统.doc

上传人:椰子壳 文档编号:5014468 上传时间:2020-01-28 格式:DOC 页数:15 大小:361KB
返回 下载 相关 举报
EDA技术课程设计-出租车自动计费系统.doc_第1页
第1页 / 共15页
EDA技术课程设计-出租车自动计费系统.doc_第2页
第2页 / 共15页
EDA技术课程设计-出租车自动计费系统.doc_第3页
第3页 / 共15页
EDA技术课程设计-出租车自动计费系统.doc_第4页
第4页 / 共15页
EDA技术课程设计-出租车自动计费系统.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《EDA技术课程设计-出租车自动计费系统.doc》由会员分享,可在线阅读,更多相关《EDA技术课程设计-出租车自动计费系统.doc(15页珍藏版)》请在三一文库上搜索。

1、东 北 石 油 大 学课 程 设 计课 程 EDA技术课程设计 题 目 出租车自动计费系统 院 系 电子科学学院 专业班级 电子信息工程 学生姓名 学生学号 070901140520 指导教师 2011年 3 月11日东北石油大学课程设计任务书课程 EDA技术课程设计题目 出租车自动计费系统专业 电子信息工程 姓名 学号 070901140520主要内容、基本要求、主要参考资料等主要内容:设计一个最大量程为99.99元的出租车自动计费,计费器具有行车里程计费、等候时间计费及起价三部分功能,并用数码管显示车费的数目。基本要求:1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三

2、部分,用四位数码管显示总金额,最大值为99.99元;2、行车里程单价1元/公里,等候时间单价0.5元/10分钟,起价3元(3公里起价)均能通过人工输入。3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用BCD码比例乘法器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关预置。例如单价是1.0元/公里,则脉冲当量为0.01元/脉冲。4、用LED显示行驶公里数,两个数码管显示收费金额。主要参考资料:1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光

3、主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限 2011.3.11 指导教师 专业负责人 2011年 3月7日一、总体设计思想1.基本原理可以使用汽车的里程计数脉冲,也可以在车轮上加装电磁继电器,在每行驶一定里程发出一次脉冲。在本实验中假设每10米发出一次脉冲。时间信号可以通过电容电感振荡电路或晶体振荡电路产生分频取得。本实验中使通过实验箱的固定脉冲产生模块取得。基于CPLD的出租车计费器的组成如下图所示。各部分主要功能包括:信号输入模块对车轮传感器传送的脉冲信号进行计数(每转一圈送一个脉冲),并以高低脉冲模拟

4、出租汽车启动、停止、暂停、加速按钮,具有输入信号作用;数据转换模块将计费模块输出的车费和路程转换成4位的十进制数据;译码动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里数和计费金额均用4位LED数码管显示(2位整数,2位小数)。2.设计框图系统框图二、设计步骤和调试过程1、总体设计电路(1)分频模块分频模块是对系统时钟频率进行分频。将外部时钟CLK经过适当的分频后,产生1HZ的基准时钟信号,提供给电路系统中各有模块作为计时。这里主要是一个计数器实现时钟的分频,当累加到预置的数值后输出高电平,否则输出低电平,从而实现时钟的分频。(2)控制模块计价器控制模块主要

5、完成对计价器状态的控制。 控制模块的仿真波形图(3)计量模块计量模块是2个100进制计数器,输入的每10米一次脉冲经一次100进制计数获得每km一次的脉冲,由100进制计数输出为2个4位2进制BCD码。接显示模块,得到计程(0-99km)。计时部分:计算乘客的等待累计时间。等候时间计费需将等候时间转换成脉冲个数,用每个脉冲表示的金额与脉冲数相乘即得计费数,例如100个脉冲表示10分钟,而10分钟收费0。5元,则脉冲当量为0。05元/脉冲,如果将脉冲当量设置成与行车里程计费相同(0。01元/脉冲),则10分钟内的脉冲数应为500个。计程部分:计算乘客所行驶的公里数。计程器的量程为99km,满量程

6、后自动归零。计量模块的仿真波形图(4)计费模块计费模块是设计中的关键模块,也是最难的模块。逻辑复杂,要求多。使用前两模块中的分钟信号作为时间输入,千米信号作为路程输入。使用2个特殊编写的10进制计数器对时间和里程计数。并且在里程计数设置ENT输出,在计费小于3元是钳制角金额输出为零。但是角计费照常只是不显示。在金额超过3元时显示。再使用一十进制计数器进行十元计数。 计费模块仿真波形图(4)译码显示模块: 译码显示模块完成计价、计时和计程数据显示。计费数据送入译码显示模块进行译码,最后送至以十元、元、角为单位对应的数码管上显示。计程数据送入译码显示模块进行译码,最后送至以KM为单位的数码管上显示

7、。 2、模块设计和相应模块程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CHUZUCHE ISPORT( CLK: IN STD_LOGIC; -系统时钟 START: IN STD_LOGIC; -计费开始信号 STOP: IN STD_LOGIC; -行驶中,中途等待停止信号 FIN: IN STD_LOGIC; -1KM脉冲信号 CHA3,CHA2,CHA1,CHA0: OUT STD_LOGIC_VECTOR(3

8、 DOWNTO 0); -计费输出信号 KM1,KM0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -行驶公里数 MIN1,MIN0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -等待时间输出END ENTITY CHUZUCHE ;ARCHITECTURE BEHAVE OF CHUZUCHE IS SIGNAL Q_1: INTEGER RANGE 0 TO 99; SIGNAL W: INTEGER RANGE 0 TO 59;SIGNAL C3,C2,C1,C0: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNA

9、L K1,K0: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL M1: STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL M0: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL TEMP0,TEMP1: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL F_1: STD_LOGIC; SIGNAL EN0,EN1: STD_LOGIC;BEGINFEIPIN:PROCESS(CLK,START)BEGIN IF CLKEVENT AND CLK=1 THEN IF START=0 THEN F_1

10、 =0; Q_1 =0; ELSE IF Q_1=99 THEN Q_1=0; F_1=1; ELSE Q_1=Q_1+1; F_1=0; END IF; END IF; END IF;END PROCESS;PROCESS(FIN)BEGIN IF FINEVENT AND FIN=1 THEN IF START=0 THEN K1=0000; K0=0000; ELSIF STOP=0 THEN 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

11、IF; END IF;END PROCESS; PROCESS(F_1)BEGIN IF F_1EVENT AND F_1=1 THEN IF START=0 THEN W=0; M1=000; M0=0000; ELSIF STOP=1 THEN IF W=59 THEN W=0; IF M0=1001 THEN M0=0000; IF M1=0101 THEN M1=0000; ELSE M1=M1+1; END IF; ELSE M0=M0+1; END IF;ELSE W=W+1; END IF;END IF; END IF;END PROCESS;PROCESS(CLK)BEGIN

12、IF CLKEVENT AND CLK=1 THEN IF START=0 THEN EN0=0; EN1=0; ELSIF STOP=0 THEN EN100000011 THEN EN0=1; ELSE EN0=0; END IF; ELSIF STOP=1 THEN EN00000010 THEN EN1=1; ELSE EN1=0; END IF; END IF;END IF;END PROCESS;PROCESS(CLK,START)VARIABLE C13,C15 : INTEGER;BEGIN IF START=0 THEN C3=0000; C2=0000; C1=0011;

13、C0=0000; C13:=0; C15:=0; TEMP0=0000; TEMP1=0000; ELSIF CLKEVENT AND CLK=1 THEN IF(EN0=1)THEN IF(C1313)THEN C13:=C13+1; IF(C13=1)THEN TEMP0=K0; END IF; IF C0=1001 THEN C0=0000; IF C1=1001 THEN C1=0000; IF C2=1001 THEN C2=0000; IF C3=1001 THEN C3=0000; ELSE C3=C3+1; END IF; ELSE C2=C2+1; END IF; ELSE

14、C1=C1+1; END IF; ELSE C0=C0+1; END IF; ELSIF(K0/=TEMP0)THEN C13:=0; END IF; ELSIF(EN1=1)THEN IF(C1515)THENC15:=C15+1;IF(C15=1)THEN TEMP1=M0;END IF; IF C0=1001 THEN C0=0000; IF C1=1001 THEN C1=0000; IF C2=1001 THEN C2=0000; IF C3=1001 THEN C3=0000; ELSE C3=C3+1; END IF; ELSE C2=C2+1; END IF; ELSE C1=

15、C1+1; END IF;ELSE C0=C0+1;END IF;ELSIF(M0/=TEMP1)THEN C15:=0;END IF; END IF; END IF;END PROCESS;PROCESS(F_1)BEGIN IF F_1EVENT AND F_1=1THEN IF START=0 THEN MIN1=0000;MIN0=0000; KM1=0000; KM0=0000;CHA3=0000;CHA2=0000; CHA1=0000;CHA0 =0000; ELSE MIN1=0&M1;MIN0=M0; KM1=K1; KM0=K0;CHA3=C3;CHA2=C2; CHA1=

16、C1;CHA0=C0; END IF; END IF; END PROCESS;END BEHAVE;3、仿真及仿真结果分析仿真图1仿真图2 4、实验调试结果 为验证所设计程序是否正确,将程序下载进行硬件测试。在Quartus开发环境中进行管脚锁定,连接好数码管驱动电路,然后将目标文件下载到器件中。经过多次数据测试,显示正常,基本实现本实验的要求。三、结论及心得体会短短一周的EDA课程设计已经接近尾声了,我们从挑选课设题目,查阅资料,到研究出总体设计,详细设计,然后分工合作,再到最后的编程上机调试,修改程序,完善程序,收获颇多。出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动,

17、停止、暂停等功能,并设计动态扫描电路显示车费数目。车暂停时停止计费。若停止清零,等待下一次计费的开始。出租车计费系统设计中体现了VHDL覆盖面广,描述能力强,是一个多层次的硬件描述语言及PLD器件速度快,使用方便,便于修改等特点。本设计在使用方面居庸一点的价值。由于时间有限和经验是平的欠缺,不足之处还望老师予以指正。在这一周里我们再次熟悉和增强了对VHDL语言的基本知识,熟悉利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来。VHDL硬件描述语言打破了硬件和软件设计人员之间互不干涉的界限,可以使用语言的形式来进行数字系统的硬件结构、行为的描述,直接设计数字电路硬件系

18、统。通过编程、下载后,该芯片已经具备了原来需要使用复杂的数字电路实现的功能;更加了解和加深了对编制和调试程序的技巧,进一步提高了上机动手能力,培养了使用设计综合电路的能力,养成了提供文档资料的习惯和规范编程的思想。本次的课程设计将各个单一的模块实现其功能后,学会通过原理图或顶层文件把各模块连接,从而实现对出租车自动计费。课设注重的不仅是把理论知识巩固,而且应把理论和实际相结合,把知识应用到生活中。在课设过程中,遇到了不少问题,数码管无法正常显示,计费不按要求等。通过的对源代码的修改,发现了一些易忽略的细节。课设考验的是思维逻辑能力,对知识的灵活应用,当然,合作精神是不可或缺的。课设时间不长,要

19、在短时间内完成绝不是个人力量能达到的,要学会集众人之精华,还要善于利用已有的工具为自己服务,开拓思维。课设让我们认识到所学本科知识的真正实用性,只是这门课开始研究的第一步。在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常的,但应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以

20、后的学习、工作和生活中。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。最后,我们衷心的感谢课设期间一直指导和陪伴着我们的老师。参考资料1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.12东北石油大学课程设计成绩评价表课程名称EDA技术课程设计题目名称出租车自动计费系统学生姓名易鸣学号070901140520指导教师姓名职称序号评价项目指 标满分评分1工作量、工作态度和出勤率按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。202课程设计质量课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。453创新工作中有创新意识,对前人工作有一些改进或有一定应用价值。54答辩能正确回答指导教师所提出的问题。30总分评语:指导教师: 2011年 3 月 11 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1