(整理)出租车自动计费系统_第1页
(整理)出租车自动计费系统_第2页
(整理)出租车自动计费系统_第3页
(整理)出租车自动计费系统_第4页
(整理)出租车自动计费系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、006. 3 阎石主编.数字电子技术基础.北京:高教出版社,2003. 完成期限 2011.3.11 指导教师 专业负责人 2011年3月11日 、总体设计思想 1.基本原理 本次设计首先在 Quartus H环境中对出租车自动计费器的各个部分利用 VHDL这一硬件描述语言予以设计,生成模块。而整个设计的核心部分就在分频/ 计量模块,该模块完成的功能主要包括计费脉冲的产生,等待计时、计价、计 程功能。随后运用Quartus H中的仿真功能对其予以仿真,从仿真的结果中分析 程序的正确性。待所有模块的功能正确之后,运用原理图搭建顶层电路并进行 整体仿真直至达到最初的设计要求,最后再在实验箱上检验设

4、计的正确与否。 基于CPLD勺出租车计费器的组成如下图所示。各部分主要功能包括:信号 输入模块对车轮传感器传送的脉冲信号进行计数 (每转一圈送一个脉冲),并以 高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号作用;数 据转换模块将计费模块输出的车费和路程转换成4位的十进制数据;译码/动 态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管 显示模块将公里数和计费金额均用 4位LED数码管显示(2位整数,2位小数)。 2设计框图 上电写入程序,后由 RST(清零)信号置低电平开始。分别控制计时和计程 EN开始或停止计费。计程和计费中每 km或分钟发一次脉冲给计费模块。

5、这三 个模块的数据处理信息通过总线输送到显示模块。进行译码。译码输出位选和 七段数码管显示信息。由外围电路:74IS138和八位七段数码管显示。前 3位金 额后四位为里程和计时。中间一位为 F,实际可以使用特殊的数码管显示元。 里程单价 _ BCD码比 例乘法器 BCD码比 例乘法器 脉冲数求和 脉冲电路 出租车计费器框图 等车单价 二、设计步骤和调试过程 1、总体设计电路 计程模块是2个100进制计数器,输入的每10米一次脉冲经一次100进制 计数获得每km次的脉冲,由100进制计数输出为2个4位2进制BCD码。接 显示模块,得到计程(0-99km)。 计时部分:计算乘客的等待累计时间。等候

6、时间计费需将等候时间转换成 脉冲个数,用每个脉冲表示的金额与脉冲数相乘即得计费数,例如100个脉冲 表示10分钟,而10分钟收费0。5元,则脉冲当量为0。05元/脉冲,如果将 脉冲当量设置成与行车里程计费相同(0。01元/脉冲),则10分钟内的脉冲数 应为500个。 计程部分:计算乘客所行驶的公里数。计程器的量程为99km满量程后自 动归零。 显示模块输入计费、计时,计程数据总线通过扫描脉冲选择一个BCD码进 行译码,每扫描一次进行一位显示。所以扫描脉冲适当取高一点。考虑视觉暂 留25帧乘8得200Hz以上为好。实际实验中使用了 5859HN 其他RST言号,每10米,1Hz, 74ls38三

7、位八线选择器,八位七段数码管 由外围设备和电路提供。 .3 X fi.li- JJl k Jfiw rbjrL Li3 p*n!:x Par-xiiT JmIi |axdM i-lp U 3 C31 鼻 trsw 匸洛| cns i CHMO CHin(i CHMQ2: 匚H1D(3 CH11LD. CHMlFl: EHU. CU1D: CH12(0 L:n*22: CHA2D3 CHWW: W I CHi3(Z CHUC: 匚LI ztf r.v EHI IC EHH5 F_L:Wl FTf RO: I ni: i ETJ:J ro:i t I BEJ m i* I*-1 d=i 3=1 a

8、l1 JZZI 2、模块设计和相应模块程序 2.1计数器原理: 通过分别设计计程计费计时模块完成各自功能。 2.2计程模块原理 使用4位十进制计数器封装成为8位一百进制计数器。对于外部每10米的 里程脉冲,经计数可以每km输出进位脉冲一次。再用一百进制计数器对其进行 计数。通过对计数输出信号的译码可以得到里程显示。 2.3计时模块原理 使用1Hz的外部脉冲信号,使用5位60进制计数器。可以得到每分钟一次 的脉冲输出。再使用一百进制计数器对其进行计数。通过对计数输出信号的译 码可以得到时间显示。 2.4计费模块原理 计费模块是设计中的关键模块,也是最难的模块。逻辑复杂,要求多。 使用前两模块中的

9、分钟信号作为时间输入,千米信号作为路程输入。使用2 个特殊编写的10进制计数器对时间和里程计数。并且在里程计数设置ENT输 出,在计费小于3元是钳制角金额输出为零。但是角计费照常只是不显示。在 金额超过3元时显示。再使用一十进制计数器进行十元计数。 2.5显示模块原理 通过使用74IS138和七段数码管进行显示和显示位选择。这要求输出使用3 位输出为位选,对其译码得到数码管地址,7位数据在相应数码管上显示相应的 数据。 2.6综合 通过VHDL和原理图的混合设计完成对各模块的编写,连接。时间. LIBRAR Y IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IE

10、EE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TAXI IS PORT(CLK:IN STD_LOGIC; START:IN STD_LOGIC; STOP:IN STD_LOGIC; FIN:IN STD_LOGIC; CHA3,CHA2,CHA1,CHA0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); KM1,KM0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); MIN1,MIN0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END TAX

11、I; ARCHITECTURE BEHAVE OF TAXI IS SIGNAL Q_1:INTEGER RANGE 0 TO 99; SIGNAL W:INTEGER RANGE 0 TO 59; SIGNAL C3,C2,C1,CO:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL K1,K0 :STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL M1:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL M0:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL TEMP0,TEMP1 :STD_LOG

12、IC_VECTOR(3 DOWNTO 0); SIGNAL F_1:STD_LOGIC; SIGNAL EN0,EN1:STD_LOGIC; BEGIN FEIPIN:PROCESS(CLK,START) BEGIN IF CLKEVENT AND CLK=1 THEN IF START=0 THEN F_1=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

13、=1 THEN IF START =0 THEN K1二0000; K0二0000; ELSIF STOP =0 THEN IF K0=1001 THEN K0=0000; IF K仁1001 THEN K1=0000; ELSE K1=K1 + 1; END IF; ELSE K0=K0+1; END IF; END IF; END IF; END PROCESS; PROCESS(F_1) BEGIN IF F_1EVENT AND F_1=1 THEN W=0; IF START =0 THEN M1二0000; MOv二0000; ELSIF STOP =1 THEN IF W=59

14、THEN W=0; IF M0二1001 THEN M0=0000; IF M仁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 EN0=0; IF CLKEVENT AND CLK=1 THEN IF START =0 THEN EN1=0: ELSIF STOP =0 THEN EN000000011 THEN EN0=1; ELSE EN0=0: END IF; ELSIF

15、STOP =1 THEN EN000000010 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=0101; 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

16、; IF (C13=1) THEN TEMPOv二KO; END IF; IF CO二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=C1 + 1; END IF; ELSE C0=C0+1; END IF; ELSIF(K0/=TEMP0) THEN C13:=0; END IF; ELSIF(EN仁1) THEN IF(C1515) THEN C15

17、:=C15+1; IF(C15=1) THEN TEMPIv二MO; END IF; IF C0=1001 THEN C0=0000; IF 6= 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=C1 + 1; END IF; ELSE C0=C0+1; END IF; ELSIF(MO/二TEMPI) THEN C15:=0; END IF; END IF; END IF; END PROCESS;

18、PROCESS(F_1) BEGIN IF F_1 EVENT AND F_1=1 THEN IF START =0 THEN MIN1二0000; MINOv二0000; KM1二0000; KM0=0000; CHA3=0000;CHA2v=0000;CHA1v=0000;CHA0=0000; ELSE MIN1=M1;MIN0=M0; KM1=K1;KM0=K0; CHA3=C3;CHA2=C2;CHA1v=C1;CHA0v=C0; END IF; END IF; END PROCESS; END BEHAVE; 3、仿真及仿真结果分析 tf. QUJtJlliiJE 11 - C:/D

19、ii:iu.uii1 Hiid1. Ijmfs/iIiLb g Hi st rat ti e/A W/TJi/TAJC 1/TAJI - TAX I - (VataE*. ?vf v ass 10 III. Idkl Klt 3.13 piMnia :FEVEHijic IhIi iaiudw Hjrlp -5 x ia d Ki d R ;? pwfl工 H Z啡怜 t | -H.W u Slr L ErJ 1.0 v g o F* E3L 2) S L ESH2J B D rzi iii wi R nrtirt -” o 17 ffT5 u J 评冋世何阿网瓦网网阿网阿网:n)闢则冋迈阿阿

20、 【MQ );dn xIJJJO ): nL ): OlOO X口1 忸工0L16 ); OHL ); ML X MM ); C|L ); l.m X 3LOL ); 3L10 ) 3I3L :!;0000 );diL );dC10 );00L _|1 11 11 11_ 11 11 11 11 111_ 1|IIJlU ll1J L _J - n WDJ OWIIJ EIDX 003 LJ 01 RI OLDtJ OLIDI DL1LJ30(DI LOOL 呻| i ii 1 j Emninc Qxv lua II JJL imr t, TvcIiMlaxy Vip Vs Brar Trip

21、r icanar C&ms白 tUBrdMJE.rpgi TiT q TAll -MtXi Qqu* (US H XTL Vltie t. TtiiAilc-xy Vw Ti sstS1 Tt9tiE41D vrarl. D BtfuLu Spuiir! /. TrtiLcaaiatj ; Ocfi/S # MfFl 仿真图 Q-ii ht 1 ilk JT C:/Iiiii=m.Hvi1 sr MBirl S-h ! 1 i n r:-/Alia a n i x E ml iie/ JH, p|/T5/TA.R T/ TAR T fi.li- JJl k Jfiw rbjrL 1.13 p*

22、n!:x Par-xiiT JmIi |axdM i-lp Q 3 Int iIt 点轴 nXLE EFIICMmZiqiT i-蟲 TI 380 CE 二 M! La at 叵 tAil + Xriituir-ax r* i flu + Hi-Lx :i TAXT Tiri:ihn口 ii花y 亠si h- TtcbiwlicrViwtt- frtriC4-Ex 打 Inf-j 0Ba-nni3-CBHii3-csna3-raBa3-CBH-nna3-nHa3-CBHi3-aHi3-CBHa-BHi3-CBHa3-cs E A d EkAiiLM OlwlQi l UL *L*rtF Tte

23、txMlicr Mir*w TtfttFiCtisitf -V Inf-3 Ccaam臼 |UHIXT_rp TAU c TAII - rtlli 回扣 luf-? Oqu* lUi U JiTL Sl-wie A. Tdnlc-xy Hlw TiD rTrl. n r r R i Bl OKPS B|3 Um ii - c:y 4、实验调试结果 由仿真图可知,该程序可以实现任务书中所要求的计费系统的功能,包括 行车里程计费、等候时间计费及起价三部分,并通过加法器计算出总费用。 三、结论及心得体会 这次的课程设计令我收获颇丰。设计的核心内容就是QuartusH环境中,利 用VHDL语言设计出基于CPLD的出租车自动计费器。整个设计过程中首先对 数字电路这门课程有了更深的了解,因为课程设计本身要求将以前所学的理论 知识运用到实际的电路设计当中去,在电路的设计过程中,无形中便加深了对 数字电路的了解及运用能

温馨提示

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

评论

0/150

提交评论