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

下载本文档

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

文档简介

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

温馨提示

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

评论

0/150

提交评论