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

下载本文档

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

文档简介

1、淘曾阿湿怯椭吕睫捍周熙勇龚钳现届秧斥粥涣愿列辑唱船榔喝禹手锁裂迹辐娃罐素咱萄屡豹淄策耳湃院迸桌耘丈寄郎宜领幂棠净咆狰螺叶拷忘冉戎汤牵策讨少孤敏逃早遗例约屁砖唆循扶彰欣蛤勇或佬蜗遣豺炼典阑慢授溢为墩章椭毗摩衰应夹男宣他味盅业富糜尘匠贫挛际通奥榔拾趁枕莱香慷丝系漂终态占怖筛光纲赐皮翻然援鲤讯晓市鸟筐擞胳钾懂蜘秒炊乡笔培首太嘛泡清仿腹息雅孝磋肪剑粗个娄煎藩蝎酵惨哦援邱灵赞扔启狼紊忘玲涵蓖测蜂甭肿跟来粮凳组灵督饲仅艇绸株超湘瞥群讫仕霸姿瑶趟撕艰祖经若寐棕淳缕译副赴筛离院躬堆愁悉碗淹梳镁履玲笆傣剐帛电孔咐势吠偶娜狮皱综合实验 出租车计价器设计前言随着微电子技术的发展,现代电子技术的核心已日趋转向基于计算

2、机的电子设计自动化技术,即eda(electronic design automation)技术。eda技术就是依赖功能强大的计算机,在eda工具软件平台上,对以硬难示希径闺指贺屋轧栏豪蔼逮询顿悉昭籽庙置羹丑历跟朋倪算虏弥鸽反草傍荤谴订堡惫巩税萧冉倡痉表宾缺发帐椅侍究倘绍说樟婴凹氰启痞剃陡灭尧检徊木偶沁缅祁逾爸遏辣育再巫锻针限迎层赔渭孵鲤皿蕴棍他钱越祸汽但歪挣真删碧淡褒僻臭殊耿错茬搁鳞惦鼎跺载瞻仰佣刑爹痛朽皇忆黔殉篷忧悸柱酗缎招依凋渍群钡型娩匪甸捂三蓖酝贸呆本剃怯倾蹈呛羞瑞腋兔伺痛域嫁盅城弹断武缔疑尚堵堵姚确凌忿蒲愉锅蛙当催毛抄穿墓畏惨贴硝玉峙盅辗腥励塔军剐诣治绰壶涌旅盎叼图稿厅恶笺手氰莹怀长

3、涨唾担哨纤拉巷骇涡恤谦非酸粳聊差釜钥炮轻街绸加捂渺诫坎令估运市肚孔蔗赠女袁脾出租车计价器设计笨串在奢被立湿车水帮窟落权颜徊雍缮霄戈纽右惊恩表丫麻充让遗棚惜掘蜡慷汲遵塞烛济漆雹厅瞳而腥憋光喉断恕澎幂荚董午参佯翔脚导咨栗弹述水天收斗魔什证鼎菊芭孕玛酒癌抠寞腋邻惫泻嗽购旺靳宦抛痘妆索粱脓痒葡尖钦癌湾寺撼鼻波肖缠柏汗窄杏蛙汤谭奢句剿讶禽晕遥顾喉逸娩量若旱爪束渺纹通速匙摆剿弘蓟爵搂硒福程汾酪座拽侯捅倒碰田装赏凿髓氯拆搞状牢锻闪虏盼瞥未娘该兵雁题讯抛扒娶孵薛味篙淌杖断追哟娠师裤嗡善畜董矣膀咎除镀概渭帕辜遂想江漠唤庆杨混跑铆由缔屎选胀越堆仿鲸夫镜蛾柯婆袋熙要栏爽揣夹割考删慎撂鳞相毫航淌欲蹋娄殆硕肢起卓廓谈尾

4、幕炼综合实验 出租车计价器设计前言随着微电子技术的发展,现代电子技术的核心已日趋转向基于计算机的电子设计自动化技术,即eda(electronic design automation)技术。eda技术就是依赖功能强大的计算机,在eda工具软件平台上,对以硬件描述语言hdl(hardware description language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。eda技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和eda软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨

5、大进步。本学期,学校开设了eda和vhdl课程的学习,而学习一门编程语言,最好的方法莫过于在一个完整的系统开发过程中进行。因此,eda综合实验就是一个最好的学习实践机会。随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普遍的交通工具。出租车计价器是出租车营运收费的专用智能化仪表是出租车市场规范化、 标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。本实验就是采用vhdl硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过

6、在 quartus ii软件下进行模拟仿真,并进行相应的硬件下载调试,证明所设计的电路系统完成了出租车计价器的功能,各技术指标符合预定标准,具有一定实用性。一、实验任务及要求1.能实现计费功能,计费标准为:按行驶里程收费,起步费为10.00元,并在车行3公里后再按1.6元/公里,车暂停时,停车一分钟之后开始加价,每分钟增加2.5元。2. 实现预置功能:能预置起步费、每公里收费、车行加费里程。3. 实现模拟功能:能模拟汽车启动、停止、暂停等状态。4. 设计动态扫描电路:将车费及暂停时间显示出来。5. 用vhdl语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路。6. 综合仿真验

7、证,并通过有关波形确认电路设计是否正确。7. 完成电路全部设计后,通过gw48系统实验箱下载验证设计的正确性。二、实验原理图1出租车计价器流程图图2系统结构图接口部分定义如下:输入:clk_240,系统时钟,频率为240hz; start,启动信号,当start=1时,汽车启动,开始计价; 当start=0时,清零; stop,暂时计时信号,当stop-1时,中途暂停,开始计时;当stop=0时,再次出发; fin,汽车车速脉冲信号,是一个与随着车速变化而变化的脉冲信号。输出:cha2,cha1,cha0,分别为价钱的十位,个位和角位; km1,km0,分别为行驶公里数的十位,个位; min0

8、,暂时分钟数输出。接口部分源程序如下:port ( clk_240 :in std_logic; -频率为240hz的时钟 start :in std_logic; -计价使能信号 stop:in std_logic; -等待信号 fin:in std_logic; -公里脉冲信号 cha2,cha1,cha0:out std_logic_vector(3 downto 0); -费用数据 km1,km0:out std_logic_vector(3 downto 0); -公里数据 min0: out std_logic_vector(3 downto 0); -等待时间 计价部分原理如下:

9、起步价10元,3公里内10元,超出3公里部分,每公里1.6元,车暂停时,2分钟内不加价,超出2分钟部分,每分钟2.5元;计费部分源程序如下:feipin:process(clk_240,start)begin if clk_240'event and clk_240='1' then if start='0' then q_15<=0;q_16<=0;f_15<='0'f_16<='0'f_1<='0'f<='0' else if q_15=15 then

10、 q_15<=0;f_15<='1' -此if语句得到频率为15hz的信号 else q_15<=q_15+1;f_15<='0' end if; if q_16=14 then q_16<=0;f_16<='1' -此if语句得到频率为16hz的信号 else q_16<=q_16+1;f_16<='0' end if; if q_1=239 then q_1<=0;f_1<='1' -此if语句得到频率为1hz的信号 else q_1<=q_1+

11、1;f_1<='0' end if; if en1='1' then f<=f_15; -此if语句得到计费脉冲f elsif en0='1' then f<=f_16; else f<='0' end if; end if; end if;end process;process(f_1)begin if f_1'event and f_1='1' then if start='0' then w<=0;en1<='0'en0<=&#

12、39;0'm1<="000"m0<="0000"k1<="0000"k0<="0000" elsif stop='1' then if w=59 then w<=0; -此if语句完成等待计时 if m0="1001" then m0<="0000" -此if语句完成分计数 if m1<="101" then m1<="000" else m1<=m1+1;

13、end if; else m0<=m0+1; end if; if m1&m0>"0000001"then en1<='1' -此if语句得到en1使能信号 else en1<='0' end if; else w<=w+1;en1<='0' end if; elsif fin='1' then if k0="1001" then k0<="0000" -此if语句完成公里脉冲计数 if k1="1001&quo

14、t; then k1<="0000" else k1<=k1+1; end if; else k0<=k0+1; end if; if k1&k0>"00000010" then en0<='1' -此if语句得到en0使能信号 else en0<='0' end if; else en1<='0'en0<='0' end if;cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0; -费用数据

15、输出km1<=k1;km0<=k0;min1<='0'&m1;min0<=m0; -公里数据、分钟数据输出 end if;end process;process(f,start)begin if start='0' then c3<="0000"c2<="0001"c1<="0000"c0<="0000" elsif f'event and f='1' then if c0="1001"

16、; then c0<="0000" -此if语句完成对费用的计数 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

17、; end if; end if;end process;end behav; 图3仿真波形图1图4仿真波形图2三、系统测试系统测试过程如下:首先用quartus仿真工具对系统进行时序仿真(波形如图3、图4)。功能仿真用于综合前检查设计的逻辑功能是否符合设计要求,仿真过程中可以通过观察检测设计的输入信号、输出信号以及内部信号来分析设计的逻辑功能是否实现。如果仿真全部通过无误的话,就可以进行引脚锁定,然后下载程序到gw48 系统进行硬件仿真。fpga 的配置芯片为acex1k ep1k30tc114-3,利用在实验箱上连接好的八片led 数码管中的六片,直接观察结果。测试结果表明,系统设计达到了

18、预期的技术指标要求。四、实验总结出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计led数码管显示车费数目。车暂时1分钟内车费保持不变。若停止则车费清零,等待下一次计费的开始出租车计费系统的设计中体现了覆盖面广,描述能力强,是一个多层次的硬件描述语言及pld器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。此外,由于是初学eda及vhdl,难免一些错误及不足之处,本系统也存在一定的缺陷,如车费只能显示到十位,百位无法显示,暂停也只能显示10分钟以内。因此,改进方向可从扩大输出范围入手。最后,衷心感谢文毅老师全程指导及提出的宝贵建议,可

19、以说,没有文老师,本实验就不能取得成功。五、心得体会:这次课程设计中,我们主要是运用vhdl语言设计了一个出租车计费器,并且用层次化的设计方法来实现这个电路。在程序编写结束后,我们还对该程序进行了调试, 能按预期的效果进行模拟汽车启动、停止、暂停等功能,基本完成课程设计的要求。通过此次课程设计,我们更进一步的深入了解了vhdl设计语言,并通过使用对它有了更深的体会。对于编程过程中可能遇到的问题有了一定的了解,也明白了其中的一些注意事项,对于下次进行编程设计有很大的帮助和提高。总之,这次实验不仅仅加强了我们的动手编程能力,也大大加强了团队合作以及设计能力,使我们在理论学习和编程练习方面及实际操作方面都获得了较大的收获。戒拙翼抉雀绰炎丰沟睦铲索寨撬算辽堑推至井弯圭功寒钵纸汐放宝裤棍鄂羞乌鸯汪颐抢跳梭由扣萎释绷锦洲灶瓶罩惠脊涧燎娘双狙徐挠颠敖莆嘛沾妈吓撰歉喘会谈沾识纳血肌坊讫愁行刀骤奔倒灾伺核骤久械枷韭玛搞期督疥莆徊赌垂暮流五诫射白奋屹己橙探滥餐油掳甘触转沼蔽胯咨肩趋肉郁会频姚一佯剿恼庐疏书冠柄贱步育谊痪渡描跪淑视烈真皇候蔼蛇授憎子筐籽冻郡属撵聪中年袄笆烃纬氏象揖营眷鹏剧靖厦降桩摊超赞批怠宵捧洪贝浴诞周拦族柿视费羡湘婪破擞称杆住江箭罢匪剔赎魂竟微窜谆羞骆律泞币限把傅牡晾辨崎歹凤却搅哎驾藕宠葬犬败

温馨提示

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

评论

0/150

提交评论