EDA课程设计出租车计价器(1)_第1页
EDA课程设计出租车计价器(1)_第2页
EDA课程设计出租车计价器(1)_第3页
EDA课程设计出租车计价器(1)_第4页
EDA课程设计出租车计价器(1)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、1引言j2系统组成及原理 .2.2.1 系统组成方框图2.2.2 出租车计价器原理图 .3.2.3 出租车自动计价原理 .3.3模块设计4.3.1 控制模块3.2 计量模块.4.3.3 译码显示模块4.4程序调试运行5.4.1仿真结果.5.5硬件验证5.5.1 引脚锁定.6.5.2 硬件验证情况£.6课程设计结束语 .6.参考文献.8.附录9.课程设计说明书1引言为培养学生树立正确的设计思想和实事求是的工作作风,学习运用所学基础知识理 论、专业知识、基本技能去分析和解决工程技术实际问题,提高学生的综合素质,使学 生成为工程应用型合格人才,故进行EDA技术及应用的课程设计。帮助学生全面

2、 熟悉、掌握VHDL语言基本知识,掌握利用 VHDL语言对常用的的组合逻辑电路和时 序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。本文借助EDA实验室的仿真软件以及试验箱设计一个出租车计价器,要求显示里 程和金额。行程小于基本里程时,显示起步价,基本里程、起步价要求可通过按键自己 设定;行程大于基本里程时,每多行一公里,在起步价上加X元,X可由按键设定;当出租车等待时,由司机按下等候键,每等待一分钟加 Y元,Y可由按键设定系统中所需 脉冲均由实验箱的晶振分频

3、提供。132系统组成及设计原理2.1 系统组成方框图出租车自动计价器的系统方框图如图 1所示:它有分频模块、控制模块、计时模块、 计费模块及显示等模块组成。图1.出租车自动计价器的系统方框图2.2 出租车自动计价器原理图出租车自动计价器原理图如图2所示:它有输入信号clk, start, single, stop, mile;输出信号 mini, min2, km1, km2, pricel, price2, price3, price4Gkuni 艮 QJ jw 力 isjrtMJ-Wgn聪kimp_q岚叩kmzp 0|rr艇pricelJS 0口而评口pikeS3 口pncfr43.0jb

4、tm ! t ruffTT nr ! e r,i ipuL _、ninl) a ua * ii.: tau ui,mi叩 krrlJ-_,足jcmF 、prcel;n ,r rm r.n r n i u - e n r 11- i r“n r«TB TTnn n i itt nn.r» l nn rpuTH_|y pricedirst图2.出租车自动计价器原理图2.3 出租车自动计价器原理(1)车速控制模块当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的 脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时暂停发出脉冲,此时计费 器和里程显示模块相

5、应的停止计数。(2)里程动态显示模块其包括计数车速控制模块发出的脉冲以及将计数显示动态显示出来,每来一个脉冲里程值加0.1 (控制器每发一个脉冲代表运行了 0.1公里)。(3)计费动态显示模块其初值为10元,当里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动,并且计数显示动态显示出来,每来一个脉冲(代表运行了 0.5公里)其数值加1元,当 收费超过20时数值加1.5元。3计价器系统模块设计3.1 控制模块控制模块是系统的核心部分,对计价器的状态进行控制。3.2 计量模块计量模块完成计价、计时、计程功能。行程3公里内,起步费为8元;3公里外以每公里1元计费,等待累计时间1分钟 外以每分钟1

6、元计费。20公里外以每公里1.5元计费,等待累计时间1分钟外以每分钟 1.5元计费。计费数据送入显示译码模块进行译码,最后送至以百元、十元、元、角为 单位对应的数码管上显示。计时部分用于计算乘客的等待累计时间。计时器的量程为59分,满量程自动归零。 即时数据送入显示译码模块进行译码,最后送至以分为单位对应的数据管上显示。计程部分用于计算乘客所行使的公里数。计程器的量程为99公里,满量程自动归零。计程数据送入显示译码模块进行译码,最后送至以公里为单位对应的数据管上显示。3.3 译码显示模块译码显示模块完成计价、计时、计程数据显示。该模块经过8选1选择器将计费数据(4位BCD码)、计时数据(2位B

7、CD码)、 计程数据(2位BCD码)动态选择输出。其中计费数据送入显示译码模块进行译码, 最后送至百元、十元、元、角为单位对应的数码管上显示,最大显示为999.9元;计时数据送入显示译码模块进行译码, 最后送至分为单位对应的数码管上显示, 最大显示为 99分钟;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显 小,最大显小为99公里。4.1仿真结果4系统仿真及调试的酬!画画画颐到施运:回回起懑顾®®通画舸甄酬回回函画画画画画画画国颐皿包由三工.町口心理小 W:赢QLI藐亘萍哥北亘修科ieIb g B 通3 pacil 三I匪二城 9叮:出9 口式“ sii

8、jle start曲彳nnnjLrinAAnRinnnnmnnnRnmjmRruLnnMI2)®E画画画叵画目回忑画面迎I©题3 口.里I施 亟定;0:亚53ss支®®而®®:直五亚巫3MLlit加:图4-1-1系统仿真图.施飞12h 俎EM朋:6案,I192S51器工2圈5 怨华工 33皿, 朝阳5 胆谪工 <3.5015IHIIIH*Irr反血止甘 jr.nl 三 小叨 二i再哥0 jr:rf uHEn 口ML 也g hl 而g辰mlt号12日n匚图4-1-2系统仿真图图中Clk栏为黑阴影是因为时钟频率太大,周期太小。5系统

9、硬件设计5.1 引脚锁定做硬件验证之前需要清楚实验板上各键与各信号的链接情况,参照资料得出本设计 中各引脚的对应情况如下,本设计下载时选择模式5。引脚锁定如图3所示:Node NameDrcctonmcatiqnReservedGroup11#dkItWMjIPM 1262*itmjjOugtPJN_90J日Outputkmi/ ,0J4oOutputP(1N_B8ktnl2 .0;S田kmlQOutputPIN _a7kinl1.01GU/tmlpOutput三N_列km21.0:7crrzrZIOutputkinzj.O"耳m|_UOutputPjN_92krn2li,MgkmN

10、网Output孙子Lkm2【HImput110Tinl3Output加一配回12mnl;2Output<N_7?i ulr ID.C13MnnlljOutput句N_谆nurlL ;, ij14皿Tinl0JOutput3:N_7SmirlL3.Cj15Fn*3OutputPJM郃rnir23.C1£0mn?田Output田心3mir23.C17ohifUOutput二二N 32Rlir23.CIfi*>nn2;00O tTMJtpm_£1mrr21,0J19prioi|I3lOutput=tn_33prkt=4 口. G国tr? rice 1(2;Output

11、PX_32price 1(3.0210?riccll-OttjwtPWJ312fK£l(0'Outputpm_soprice 1TJ. COZJ6Ch.tptJT冲一码nrwF?fl. 0X而产犯口l"dtPTN.38prir-J(1 0259iKie2lOutputP3N_37prkcSf;, 026srkH出5举prkc5J. 0Z7a(心那OutputPIN 67尸3中,.QZ8通Mee犯outputPJM.5&prKeX-.O2S物utpitPTNJ42中,030PfKi3|D刃Nj4工p-k*33,司31Drice13|OutputPN_71pri

12、crfJi.Jty32WOutputPIN 70A 良.0332snce 刊 UOutputPJN_6»pxTlM143fW»4|0OutputPIM J“prtcM3. CJ35circleInputpm_o361>gatInputTN 二37sbjpItixjILPH_10图3.引脚锁定图5.2 硬件验证情况做好引脚锁定后,打开硬件箱的电源, 数码管有正确的数字显示,链接硬件箱与计 算机开始验证。操作运行实验结果完全符合要求。通过仿真验证表明,本文所设计的出租车计价器能够正常地显示行驶的里程数和乘客应付的费用,符合预定的计费标准和功能要求。6课程设计结束语通过一个

13、多星期的课程设计,从选题到查资料,从完善原理图到写报告文档,让我明白了课程设计是名副其实的综合性训练,不仅要运用学过的EDA技术及应用,数字电路、模拟电路以及电子技术实验等知识,还要学会查阅各种图书资料和工具书,并将新知识和所学的结合起来为自己所用。 在做整个课程设计的过程中,我进一步熟悉使用 了 QuartusIII仿真软件,能较好的应用这个软件,不管是文本程序的编写还是在顶层原理 图的设计都有所提高,还增强了动手能力。应用软件的时候,要注意积累每次的体会和错误,下次碰到该注意的地方就要小心点,碰到出过错误的地方就要格外注意不要再犯 同样的错误,这种方法应该适用做任何一件事吧。在设计中遇到一

14、些困难和问题,在向老师请教和与同学的讨论中,解决了问题,觉得很有收获。在整个课程设计的过程中让我意识到耐心、毅力和细心是做好一件事的必须品质。 在应用QuartusIII软件的时候,有很多小细节是需要注意的,不然一不小心就会出现很多 错误。文本程序编辑的时候,保存要注意后缀名,保存文件名和实体名要一致,保存位 置要是某个盘里的某个文件夹,这三个注意点特别重要,因为其中任何一点都会引发一 系列的错误。检查这三点无误后,然后再可以按照运行报告来对程序进行完善。图形编辑中同样有很多需要注意的地方,以及怎样将文本和图形结合起来。通过这次设计,我更好地掌握了这些基本技巧,学会了多学多练,也懂得了实践出真

15、知。本次课程已经结束,在一周的课程设计中,我学到很多的道理,在以后的学习中, 我会更加注重对实际操作及编程的掌握,我相信在本次课设以后,我对 EDA的理解将 更加深刻。参考文献1 .朱正伟主编,EDA技术及应用,清华大学出版社,20052 .黄智伟等主编,FPGA系统设计与实践,电子工业出版社,20043 .沈明山主编,EDA技术及可编程器件应用实训I,科学出版社,20044 . EDA技术实用教程(第三版)潘松、黄继业编著 科学出版社,2003附录出租车计价器源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsi

16、gned.all;entity taxi isport(clk:in std_logic;start,single:in std_logic;stop,mile:in std_logic;min1,min2:out std_logic_vector(3 downto 0);km1,km2:out std_logic_vector(3 downto 0);price1,price2,price3,price4:out std_logic_vector(3 downto 0);end;architecture bhv of taxi issignal f_mile1,f_mile2,f_mile_

17、r,start_r:std_logic;signal clk1hz:std_logic;signal q:integer range 0 to 299;signal second:integer range 0 to 59;signal p1,p2,p3,p4:std_logic_vector(3 downto 0);signal k1,k2:std_logic_vector(3 downto 0);signal m1,m2:std_logic_vector(3 downto 0);signal en0,en1,f_wait,f:std_logic;beginmin1<=m1;min2&

18、lt;=m2;km1<=k1;km2<=k2;price1<=p1;price2<=p2;price3<=p3;price4<=p4;U1:process(clk)beginif(clk'event and clk='1')thenif q=255 thenq<=0; clk1hz<='1'elseq<=q+1;clk1hz<='0'end if;end if;end process;U2:process(clk1hz)beginif start='0' then

19、f_wait<='0'elsif(clk1hz'event and clk1hz='1')then if stop='1' thenif second=29 then second<=0;f_wait<='1'if m1="1001" then m1<="0000"if m2="0101" then m2<="0000"elsem2<=m2+'1'end if;elsem1<=m1+&#

20、39;1'end if;elsef_wait<='0'second<=second+1;end if;elsef_wait<='0'end if;end if;end process;U3:process(clk1hz)beginif(clk1hz'event and clk1hz='1')then start_r<=start;end if;end process;f<=f_wait when stop='1' elsemile when en0='1' else&#

21、39;0'U4:process(start,mile)beginif start='0' then k1<="0000" k2<="0000"en0<='0'en1<='0'elsif(mile'event and mile='1')then if stop='0' thenif k1="1001" then k1<="0000"if k2="1001" then k2&

22、lt;="0000"else k2<=k2+'1'end if;else k1<=k1+'1'end if;if k1="0011" then en0<='1'end if;if k2="0001" and k1="1001" and single='1' then en1<='1'end if;elsek1<=k1;k2<=k2;end if;end if;end process;U5:proces

23、s(start,f)beginif start='1' and start_r='0' thenp1<="0000"p2<="1000"p3<="0000"p4<="0000"elsif(fevent and f='1')thenif en1='0' thenif p2="1001" thenp2<="0000"if p3="1001" thenp3<="0000"if p4="1001" thenp4<="0000"elsep4<=p4+'1'end if;elsep

温馨提示

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

评论

0/150

提交评论