EDA技术期末综合报告(DOC)_第1页
EDA技术期末综合报告(DOC)_第2页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

1、1EDA技术期末综合报告课程名称:EDA技术题目出租车计费器学院:信息工程与自动化学院2随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求 计费器性能稳定计费准确,而且要求在乘坐出租车时,显示起步价、行车里程二 部分,由自动计费器自动记录。安装在与汽车轮相连接的传感器在汽车行进时向 自动计费器发送脉冲信号,在一定的公里数内,按起步价计费;超过这一里程后, 自动计费器按里程计费;超过一定费用后,则则增加里程费用;如果停车等候, 则不收费。出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标 志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价 器无

2、论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换 需要用到机械开关,机械开关时间久了会造成接触不良, 功能不易实现。而采用 FPGAFPGA 进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可 以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功 能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。 避免了机械开 关带来的不稳定因素。关键词:出租车计费器 EDAEDA verilogverilog语言3

3、绪 论. 4.第一章系统设计. .5.1 出租车计费系统的概述: .5.2 设计的意义.5.3 设计的要求.6.3 设计的原理.6.第二章系统设计方案. 7.第三章主要模块. .8.1taxi (控制)模块:.8.2 Decode (译码显示)模块: .11小结.1.7.参考文献:. 184人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品 的进步。现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势, 而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产制造技术 和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶 段,可以在几平方厘米的

4、芯片上集成数千万个晶体管。后者的核心就是 EDAJEDAJ 术, EDAEDA 是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最 新成果而研制成的电子 CACAD D通用软件包,主要能辅助进行三方面的设计工作:ICIC 设计,电子电路设计,PCBPCB 设计。没有 EDAEDA 技术的支持,想要完成上述超大规模集 成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对 EDAEDA 技术提出新的要求。近年来,我国出租汽车行业迅猛发展,出租汽车已成为我国城市公共交通的 重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的 交通工具。它对繁荣经济、

5、促进发展、方便群众、改善交通起到了积极作用。出 租汽车对我国人民物质和文化生活影响之大、 作用之广是前所未有的。出租汽车 行业的服务水平和程度已经成为现代化的重要标志。出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出租汽车计价器才能投入营运。出租汽车计价器是一种能根据乘客乘坐汽车行驶距离 和等候时间的多少进行计价,并直接显示车费值的计量器具。计价器是出租汽车 的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器量值准确与否,直接关系到经营者和消费者的经济利益, 用户不仅要求计费器性能 稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印、ICIC 卡付费、

6、语音报话、和电脑串行通信等功能,而这些与电子技术的发展是分不开的。二十世纪后半期,随着集成电路和计算机技术的飞速发展, 数字系统也得到 了飞速发展,其实现方法经历了由分立元件、SSISSI、MSIMSI 到 LSILSI、VLSIVLSI 以及 UVLSIUVLSI的过程。同时为了提高系统的可靠性与通用性, 微处理器和专业集成电路(ASICASIC) 逐渐取代了通用全硬件 LSILSI 电路,而 ASICASIC 以其体积小、重量轻、功耗低、速度 快、成本低、保密性好而脱颖而出。5第一章系统设计1 出租车计费系统的概述:在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的 关注。汽

7、车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标 志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价 器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。2 设计的意义在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的 关注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标 志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价 器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。出租车计价器是出租车营运收费的专用智

8、能化仪表 ,随着电子技术的发展,出 租车计价器技术也在不断进步和提高。国内出租车计价器已经经历了 4 4 个阶段的 发展。从传统的全部由机械元器件组成的机械式 ,到半电子式即用电子线路代替 部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出 租车计价器。出租车计价器计费是否准确、出租车司机是否作弊才是乘客最关心 的问题, ,而计价器营运数据的管理是否方便才是出租车司机最关注的。因此怎样 设计出一种既能有效防止司机作弊又能方便司机的计价器尤为重要。因此,本文以 FPGFPG 为核心设计一款多功能出租车计价器,该计价器能实现按时间和里程综合 计算车价,能显示时间、里程、单价、总

9、车价等相关信息显示。它比市场上的一 些计价器使用更方便,功能更全,还具有有效防止司机作弊和系统稳定性好的优 点。63 设计的要求设计一个出租车计费器,能按路程计费,具体要求如下所述:1 1) 实现计费功能,计费标准为:按行驶里程计费,起步价 6.006.00 元, 并在车行驶 3k3km m后按 1.21.2 元/km/km 计费,当计费器达到或超过 2020 元 时,每 kmkm 加收 50%50%的车费,车辆停止和暂停时不计费。2 2) 现场模拟汽车的起动、停止、暂停和换挡等状态。3 3) 设计数码管动态扫描电路,将车费和路程显示出来,各有两位小 数。4 4) 系统时钟 20MHz,20M

10、Hz,4 设计的原理设计该出租车有起动键、停止键、暂停键和档位键。起动键为脉 冲触发信号,当其为一个脉冲时,表示汽车已起动,并根据车速的选 择和基本车速发出响应频率的脉冲(计费脉冲)以此来实现车费和路 程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄 火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电 平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档 位键用于改变车速,不同的档位对应着不同的车速,同时路程计数的 速度也不同。出租车计费器可分为两大模块, 即控制模块和译码显示模块。 系 统框图如下所示。控制模块实现了计费和路程的计数,并且通过不同 的档位来控制车

11、速。译码显示模块实现十进制数到 4 4 位二进制数的转 换,以及车费和路程的显示。7第二章系统设计方案车的状态由传感器传回来当作控制信号,用控制信号来控制计算里程和车费 模块,然后分别将里程和车费送到译码模块译码,输出的数据一起送到动态扫描模块,由片选信号控制哪部分译码模块输出的数据用数码管显示。当车启动后,计算里程和车费模块就开始计数,起步价为7.007.00 元,并在车行3Km3Km 后按 2.202.20 元/Km/Km 计费,当计费器达到或超过 2020 元时,每公里回收 50%50% 的车费,车停止和暂停时不计费;然后将里程和车费送到译码模块译码和动态显 示模块动态显示,最后显示在七

12、段数码管上,动态显示的时间间隔为 5秒钟。运算控制器模块将其他两个进行连接,是本次设计的核心。它包含计程器、计时器、计价器,同时还有读取外部的拨码开关控制信号,提供当前显示信号与 显示位选信号,从而周期性交替显示计价/ /计时信息、等时信息。计程器、计时器、计价器根据位选信号,输出相应数据的当前选中数字,由 顶层模块根据显示数据类型变换信号进行选择,传输给显示模块。8第三章主要模块1 控制模块 taxi :taxi 进行仿真后得到的功能仿真结果如图 1 所示,时序仿真结果 如图 2所示。观察波形可知,当启动键“ start ”为一个脉冲时,表示汽车己起动,车费 money 显示起步价 6.00

13、 元,同时路程 distanee 随着计费脉冲开始计数;当停止键 stop 为“1”时,表示汽车已经熄 火,车费money 和路程 distanee 均为 0;当暂停键 pause 为“ 1”时, 车费和路程停止计数;当档位键分别取 2 和 3 时,路程的计数逐渐加 快,表示车速逐渐加快。5liiV!IH1(FrI Bli 0ii图 1 Taxi 控制模块功能仿真0 KIhfiXI回2):已加撫他图 2 Taxi 控制模块时序仿真9代码如下:/- taxi 模块- module taxi( mon ey,dista nce,clk,stop,start,pause,speedup);in pu

14、t clk;in put stop;in put start;in put pause;in put1:O speedup; output12:0mon ey; output12:0 dista nee;reg12:0 mon ey; reg12:0 distanee; reg12:0 mon ey_reg;reg12:0 dista nce_reg; reg3:0num; reg15:0 dis;reg d;always (posedge clk)beginif(stop)/车停止,路程、车费清零beginmon ey_reg=d0;dista nce_reg=dO;dis=d0;num =

15、d0;endelse if(start)/启动后,起步价 6 元beginmon ey_reg=d600;dista nce_reg=dO;dis=d0;num =d0;endelsebeginif(!start& !stop& !pause&! speedup)1 档beginif(num=d9)beginnum =d0;dista nce_reg=dista nce_reg+1; dis=dis+1;end/车费寄存器/路程寄存器/控制车速的计数器/千米计数器/千米标志位10elsebeginnum=nu m+1;endendelseif(!start& !

16、stop& !pause&speedup=bO1)beginif(num=d9) beginnum =dO;dista nce_reg=dista nce_reg+2;dis=dis+2;endelsebeginnum=nu m+1;endendelseif(!start& !stop& !pause&speedup=b10)beginif(num=d9)beginnum =dO;dista nce_reg=dista nce_reg+5;dis=dis+5;endelsebeginnum=nu m+1;endendelseif(!start&

17、!stop& !pause&speedup=b11)begindista nce_reg=dista nce_reg+1;dis=d100)begind=d1;dis=d0;2 档3 档4 档endiielsebegind= d300)/如果超过 3km,则按 1.2 元/km 计费beginif(mon ey_reg =d2000 & d=d1)beginmon ey_reg =d2000 & d=d1)beginmon ey_reg = mon ey_reg + d180;endend/- 当计费超过 20 元时,每 km 加收 50%的车费-money =

18、 mon ey_reg;dista nee Hi11Ln n n. n n n图 4 Decode 模块功能仿真代码如下:/- decode 模块-1M P D翻卩“490 U944 0 uW.D ua 6 ucibi whl.“ah1 IV 10V 3& tV 10皿伍呱1脚11皿10伽狀 训灿MMUMini测iwnmjuuuifJiMitjjwiniiNuwn硕.空_一世t,一OWKMX应旦烦些*;n _n r图 3 Decode 模块功能仿真o EH13module decode(sca n, seg,dp,clk20mhz,m oney_in, dista nce_in);ou

19、tput7:0 sca n;output6:0 seg;output dp;in put clk20mhz;in put12:0 money_in;in put12:0 dista nce_in;reg7:0 sca n;reg6:0 seg;reg dp;reg clk1khz;/1khz 的分频时钟,用于数码管的位选reg3:0 data;reg3:0 m_one,m_ten,m_hun,m_tho; 钱数的 BCDreg3:0 d_one,d_ten,d_hun,d_tho; 路程的 BCDreg15:0 count;reg15:0 comb1;reg3:0 comb1_a,comb1_

20、b,comb1_c,comb1_d;reg15:0 comb2;reg3:0 comb2_a,comb2_b,comb2_c,comb2_d;reg2:0 cnt;/-1KHz 的分频时钟,用于数码管位选扫描(1ms)-always (posedge clk20mhz)beginif(cou nt = d10000)beginclk1khz = clk1kh z;count = d0;endelsebegincount = count + 1;end/-将车费的十进制转化为4 位十进制数(BCD)-if(comb1 money_in)beginif(comb1_a = d9 & com

21、b1_b = d9 & comb1_c = d9)begincomb1_a = bOOOO;comb1_b = bOOOO;comb1_c = bOOOO;comb1_d = comb1_d + 1; combi = combi + 1;endelse if(comb1_a = d9 & comb1_b = d9) begin14comb1_a = bOOOO;comb1_b = bOOOO;comb1_c = comb1_c + 1; combi = combi + 1;endelse if(comb1_a = d9)begincomb1_a = bOOOO;comb1_b

22、= comb1_b + 1; comb1 = comb1 + 1;endelsebegincomb1_a = comb1_a + 1; comb1 = comb1 + 1;endendelse if(comb1 = money_in)beginm_one = comb1_a;m_te n = comb1_b;m_hun = comb1_c;m_tho money_in)begincomb1_a = bOOOO;comb1_b = bOOOO;comb1_c = b0000;comb1_d = b0000; comb1 = d0;end/-将路程的十进制数转化为4 位十进制数(BCD )-if(

23、comb2 dista nce_in)beginif(comb2_a = d9 & comb2_b = d9 & comb2_c = d9) begincomb2_a = b0000; comb2_b = bOOOO;comb2_c = bOOOO;comb2_d = comb2_d + 1; comb2 = comb2 + 1;endelse if(comb2_a = d9 & comb2_b = d9) begincomb2_a = bOOOO;comb2_b = bOOOO;comb2_c = comb2_c + 1; comb2 = comb2 + 1;ende

24、lse if(comb2_a = d9)begincomb2_a = bOOOO;15comb2_b = comb2_b + 1; comb2 = comb2 + 1;endelsebegincomb2_a = comb2_a + 1; comb2 = comb1 + 1;endendelse if(comb2 = dista nce_in)begind_one = comb2_a;d_te n = comb2_b;d_hun = comb2_c;d_tho dista nce_in)begincomb2_a = bOOOO;comb2_b = bOOOO;comb2_c = b0000;co

25、mb2_d = b0000; comb2 = d0;endendII- 数码管动态扫描-always (posedge clk1khz)beginent = ent + 1;endalways (e nt)beginease(e nt)bOOO:begi n data = m_one; dp = d0; sea n = bOOOOOOO1;e nd bOO1:begindata = m_te n; dp = d0; scan = bOOOOOO1O;e nd b010:begin data = m_hu n;dp = d1; sea n = bOOOOO1OO;e nd b011:begin

26、data = m_tho; dp = d0; scan =bOOOO1OOO;e nd b100:begi n data = d_one; dp = d0; scan = bOOO1OOOO;end b101:begin data = d_te n; dp = d0; scan = bOO1OOOOO;e nd b110:begindata = d_hun; dp = d1; scan = bO1OOOOOO;e nd b111:begin data = d_tho; dp= d0; scan = b10000000;e nd default:begi n data = bx; dp = bx

27、; sea n = bx;e ndendeaseend-7 段译码-always (data)16begincase(data3:0)b0000:seg6:0 = 7b1111110;b0001:seg6:0 = 7b0110000;b0010:seg6:0 = 7b1101101;b0011:seg6:0 = 7b1111001;b0100:seg6:0 = 7b0110011;b0101:seg6:0 = 7b1011011;b0110:seg6:0 = 7b1011111;b0111:seg6:0 = 7b1110000;b1000:seg6:0 = 7b1111111;b1001:se

28、g6:0 = 7b1111011; default: seg6:0 = 7b0000000;endeaseenden dmodule小结这次课程设计是出租车计费器,开始拿到课题时候相当兴奋!觉得理论课 程与生活中的实际密切结合了!然后,在接到任务后,我便开始研究程序,希望通过自己的努力,能对这个 课题和程序有自己的认识。但是前期的学习得不够扎实,让我在阅读程序时频频 的遇到问题。经过老师的讲解,能对程序的各模块进行修改。然而,我还是遇到了很多棘手的问题,比如说,程序不理解,软件运用不 熟练,再比如说,应用模块不熟悉,等等。真正领略到艰苦奋斗的真正含义,我 才意识到学好基础的重要性。我想说,设计确实有些辛苦,但苦中也有乐。而且,通过这次课程设计对 EDA技术有了更进一步的熟悉,VHDLVHDL 语言和 C 语言等其他语言还是有很大的区别。VHDLVHDL 是 EDAED

温馨提示

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

评论

0/150

提交评论