欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    出租车计费器EDA(共9页).doc

    • 资源ID:12218083       资源大小:123KB        全文页数:9页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    出租车计费器EDA(共9页).doc

    精选优质文档-倾情为你奉上南 京 理 工 大 学EDA设计(II)实验报告作 者:学 号:学院(系):自动化学院专 业:自动化标 题 出租车计费器 指导老师: 实验日期: 2015年9月 目 录专心-专注-专业出租车计费器1 绪论EDA是电子设计自动化(Electronic Design Automation)的缩写,发展于20世纪90年代。EDA技术就是以计算机为工具,设计者在EDA平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了设计的效率和可操作性,减轻了设计者的劳动强度。本次EDA设计使用MAX+plus II实验开发系统,学习并掌握VHDL硬件描述语言的基本语法以及设计方法和思想,将已学过的数字电子设计知识综合运用于电子系统的设计中,掌握运用VHDL 设计电子系统的流程和方法,加强和培养自己对电子系统的设计能力。综合设计的任务是用一周的时间,在EDA软件MAX+plus II上用VHDL语言设计完成一个电子技术综合问题,小组成员分工,负责各个子模块的设计,最后将各个模块整合起来,连接整体电路,分配引脚,下载到实验班上进行测试。2 系统总体设计2.1 系统设计思想用VHDL语言设计出符合功能要求的的出租车计费器系统,完成设计后使用系统实验箱下载验证。2.2 系统功能概述1、 计费功能:计费标准为按行驶里程收费,起步价为11元,车行3公里后每公里1.4元,车停止时不计费;2、 实现模拟功能:能模拟汽车启动、暂停及停止状态;3、 实现显示功能:能在数码管上显示出公里数及总费用。2.3 系统总体结构整个计费系统的结构如下图所示,其计时模块负责对实验板上的时钟信号进行分配,产生合适的计数脉冲,供里程计算模块和车费计算模块的技术。而显示模块则将前两者计算得到的结果显示在数码管上。开关控制模块则接受实验板上的开关信号,模拟出租车的起停。 3 系统各模块详细设计3.1 计时模块计时模块的时钟源为试验箱的CP2时钟,频率为1024 Hz,在VHDL中经过计数十分频得到模拟的出租车百米行驶计数时钟。其计数的逻辑比较简单,不再详细列出。3.2 按键控制模块在按键控制模块中我们引入了两个拨码开关K1和K2,其中K1是启动和停止开关,K2是暂停开关,两个按键向上拨逻辑值均为1,向下拨逻辑值均为0。为了方便控制,我们引入了state这个两位的二进制变量,用它的值来标记出租车的不同状态,其控制逻辑如下:键值逻辑结果K1=1,K2=1出租车处在停止状态,但此次载客未结束,state=”00”K1=1,K2=0出租车处于载客运行计费状态,state=”11”K1=0,K2任意出租车处于载客结束的停止状态,state=”01”或”10”(本设计里默认为01)按键控制模块程序如下:control:PROCESS(start,pause) beginif(start='0')thenstate<="01"elsif(pause='1')thenstate<="00"elsif(pause='0')then state<="11"end if;end PROCESS;3.3 动态显示模块由于此系统要用到实验板上的8个数码管,且每个数码管显示的数字都不相同,所以不能采用静态显示而必须使用动态显示,动态显示即依次向每位数码管同时送出字形码和相应的位选,位与位之间利用延时程序进行延时,当延时程序非常短时,由于发光管的余辉和人眼视觉暂留作用,此时我们的人眼就分辨不出位与位之间有延时存在(人眼视觉暂留时间为0.05-0.2秒,延时程序应当根据这个范围来调整),感觉各位数码管同时都在显示。此处用系统时钟1024Hz来扫描数码管,取得了不错的效果。该模块程序如下,后面tmp1为其它值时,各种情况与其值为0时相似,未有一一列出:PROCESS(clk)variable tmp1,tmp2:integer range 0 to 10;BEGINif(clk'event and clk='1')then tmp1:=tmp1+1;if(tmp1>=8)thentmp1:=0;end if;case tmp1 iswhen 0 => sel<=""tmp2:=CONV_INTEGER(fee_tenth);case tmp2 iswhen 0 => data<=""when 1 => data<=""when 2 => data<=""when 3 => data<=""when 4 => data<=""when 5 => data<=""when 6 => data<=""when 7 => data<=""when 8 => data<=""when 9 => data<=""when others=>null;end case;3.4 里程和车费计算模块在里程和车费计算模块中,只需要完成一个工作计数。里程的计算与之前所做数字钟的计数没有什么本质区别,由于每个时钟上升沿只要在原里程的基础上加0.1,故计算的逻辑就是从低位(十分位)到高位(百位)层层判断,每次加“1”,满9归零即可。而对于车费的计算,还需要对逻辑进行如下调整:1.由于里程数小于3公里的情况下,车费要保持11元不变,这一要求可以用if语句进行限制;2.车费的计算是每100公里1.4元,故在里程大于3公里的情况下每接受到计时模块时钟上升沿就要在原有车费基础上加1.4即可。3.5 我的部分详细介绍在本次综合设计中,我负责的是动态显示模块,之前的基础实验中,我们已经做过类似的显示程序,我在自己编写的时候参照该模块进行了一定的调整。对每一位进行位选后分别显示前端传送过来的数据,每一位只要显示0到9,原本打算使用选择循环方法显示,但经尝试后出现了问题不能得到合理解决,故最终在与本组周珅宇同学商定后,由其整合为最终程序的分段式对每一位进行显示,随程序段较长,但不易出现逻辑错误。4 系统调试4.1 系统仿真我们将程序整合在一起,并未进行仿真校验,而是直接下载到实验箱上验证。4.2 系统实际验证将程序整合完成以后,我们进行了编译与调试,多次修改完善,然后对照实验指导书进行管脚分配。在多次修改尝试后,最终在试验箱上成功完成了出租车计费器系统的相关要求,实现了计费功能、模拟功能和显示功能,即实现了开始时制定的系统设计要求。4.3 调试过程中遇到的问题与解决方法4.3.1 数码管显示问题在进行基础实验时我们发现数码管显示不能按照我们预先的设想,随后我们利用资料对实验箱的数码管进行了研究,发现基础实验中数码管采用的是静态显示,由于本系统中数码管各位需要显示不同的数字,最后我们选定了动态扫描显示的方法,问题得到了解决。4.3.2 取模运算问题在系统设计中期,我们本准备采用公式计算的方法来得到车费,即将里程数的各位(mile_tenth,mile_unit,mile_decade,mile_hp)通过函数CON_INTEGER()从8位二进制数转化为整型数,然后对各位加权求和得到整型数表示的里程数,从而将其带入公式后,计算得到对应车费,再在用函数REM()分离出车费的各位,分别显示。然而在实际编程中我们发现,使用REM()函数需要添加头文件IEEE.NUMERIC_STD。在QUARTUS II编译环境下可以成功添加并编译,然而在MAX+PLUS II下却缺少这个头文件,多次尝试添加失败后,我们放弃了计算法,采用另外的方法来实现显示目的,即改为采用每次加1.4元的方法实现计费,最终取得了成功。4.3.3 调试中的问题针对器件的引脚配置不能马虎,否则在下载到实验箱上时会出现显示位的错乱,在实际调试中我们便遇到了这样的问题,随后进行了分析纠正。5 总结与心得体会本次实验我初次接触了VHDL语言,了解了其基本语法以及设计方法和思想。在经过两次基础实验的锻炼之后,我已经基本上熟悉了整个MAX+plus II实验开发系统,也能够对其进行简单的操作设计。在综合设计中,我主要是负责了动态扫面显示方面的设计工作,其原理与基础实验中的显示方法相同,故在理解原程序的基础上我对其进行了改进,并最终由周珅宇同学对其进行整合用于总的程序中去。经过本次实验,锻炼了我的操作能力和系统设计能力,对于课堂知识进行了再一次的巩固,同时接触到了新的编程语言,获益颇丰。当然,其中还有许多的不足之处,在今后的学习中依旧要注重予以改进。致谢这次EDA设计锻炼了我的动手实践能力,让我学到了很多,衷心感谢吴益飞老师的悉心指导,感谢同学的帮助,也感觉学院、学校给我提供了这样一个锻炼自我的机会!参 考 文 献1 郑燕,赫建国. 基于VHDL与Quartus II软件的可编程逻辑器件应用与开发(第二版). 北京: 国防工业出版社, 2011. 2 谭会生,张昌凡. EDA技术及应用. 西安:西安电子科技大学出版社,2001.

    注意事项

    本文(出租车计费器EDA(共9页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开