2022年VHDL语言的出租车计费系统的设计方案.docx

上传人:C****o 文档编号:12803756 上传时间:2022-04-26 格式:DOCX 页数:24 大小:747.86KB
返回 下载 相关 举报
2022年VHDL语言的出租车计费系统的设计方案.docx_第1页
第1页 / 共24页
2022年VHDL语言的出租车计费系统的设计方案.docx_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《2022年VHDL语言的出租车计费系统的设计方案.docx》由会员分享,可在线阅读,更多相关《2022年VHDL语言的出租车计费系统的设计方案.docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、主要用 VHDL语言设计一种新型出租车计费系统的设计,能够模拟启动、停止,并且能争论够在掌握下实现不同时段不同价格的计价,行驶里程,等待时间,等待费用的显内容示;这种新型计价器不仅成本低、周期短、牢靠性高, 而且可随时在系统中修改其逻目标辑功能;特色本设计系统已基本达到了设计要求,能实现启动/ 停止,并使计费器正常运成果转,但一些模块仍待改进,推迟现象比较严峻;描述成本低、周期短、牢靠性高, 而且可随时在系统中修改其规律功能;成果在抗干扰方面性能更强,具有广泛的应用前景;价值一、开展本课题的意义及工作内容:1. 课题意义:1. 随着生活水平的提高,全国已有上千家出租车公司,而且油价的不稳固,出

2、租车计费系统也随时跟着转变;一种成本低、周期短、牢靠性高, 而且可随时在系统中修改其规律功能的计费器已经成为必要;2. 复习 EDA的相关学习中学到的学问,特殊是EDA课程的复习运用;3. 培育自己查阅资料、收集资料、独立解决问题、处理问题、解决难点、总结设计体会的才能;4. 明白出租车计费系统的运做;结合本次设计系统把握应用VHDL语言及 MAXPLUSI进I行电子电路设计的方法,使自己具有能应用相关软件的运用、调试、仿真、下载的才能;加强自己的动手才能;5. 通过本次设计,能基本把握工程设计的步骤,设计技巧等学问;为以后工作学习打下坚实的基础 ;2. 工作内容:1. 基于 VHDL语言设计

3、出租车计费系统,使其能够模拟计费器的启动、停止, 并能够实现计价功能,和相关的显示功能;2. 在上面的要求上做出相应的创新;二、课题预期达到的成效:设计能够实现计价功能如:起步价,里程价,等待价格;以及显示功能:显示等待时间, 里程的显示,计价的显示;并且能够实现自检功能;二、文献综述EDA Electronics Design Automation技术是随着集成电路和运算机技术的飞速进展应运而生的一种高级、快速、有效的电子设计自动化工具;EDA 技术在数字系统中的应用以基于 Altera 的 EPM7128SLC84-15芯片和 MAX+PlusII10.0 软件平台的数字钟的设计为例, 争

4、论 EDA 技术在数字系统中的具体应用;EDA技术涉及面很广 ,内容丰富 ,从教案和有用的角度看,主要应把握如下4 个方面的内容 :一是大规模可编程规律器件;二是硬件描述语言;三是软件开发工具;四是试验开发系统;其中 ,大规模可编程规律器件是利用EDA 技术进行电子系统设计的载体,硬件描述语言是利用 EDA技术进行电子系统设计的主要表达手段,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动设计工具,试验开发系统就是利用EDA技术进行电子系统设计的下载工具及硬件验证工具;在设计方法上 ,EDA技术为数字电子电路设计领域带来了根本性的变革, 将传统的 “电路设计硬件搭试调试焊接 ”模式转

5、变为在运算机上自动完成,采纳“自顶而下”的全新设计方法, 这种方法第一从系统入手, 在顶层进行功能方框图的划分和结构设计,在方框图一级进行仿 真、纠错 ,并用硬件描述语言对高层的系统进行描述,在系统一级进行验证,然后用综合优化 工具生成具体的门电路网表, 其对应的物理实现级可以是印刷电路板或专用集成电路,由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发觉结构设计上的错误, 防止设计工时的铺张 ,同时也削减了规律功能仿真的工作量,提高了设计的一次胜利率;基于 MAX+plus开发平台的 EDA设计方法:MAX+ plus 是一种与结构无关的全集成化设计环境,使设计者能对Alter

6、a的各种CPLD 系列便利地进行设计输入、快速处理和器件编程;MAX+plus 开发系统具有强大的处理才能和高度的敏捷性;其主要优点:与结构无关、多平台、丰富的设计库、开放的界面、全集成化、支持多种硬件描述语言 HDL 等;具体设计过程如下:1) 设计输入; MAX + plus 支持多种设计输入方式 ,如原理图输入、波形输入、文本输入和它们的混合输入;2) 设计处理; 设计输入完后 ,用 MAX + plus 的编译器编译、查错、修改直到设计输入正确, 同时将对输入文件进行规律简化、优化 ,最终生成一个编程文件; 这是设计的核心环节;3) 设计检查; MAX + plus为设计者供应完善的检

7、查方法设计仿真和定时分析;其目的 是检验电路的规律功能是否正确, 同时测试目标器件在最差情形下的时延;这一查错过程对于检验组合规律电路的竞争冒险和时序规律电路的时序、时延等至关重要;4) 器件编程; 当电路设计、校验之后,MAX+plus的 Programmer将编译器所生成的编译文件下载到具体的CPLD 器件中 ,即实现目标器件的物理编程5)系统仿真;使用 VHDL语言设计 FPGA的几个常见问题的探讨:1 分频电路分频电路是数字系统设计中的基本电路;在硬件电路设计中,时钟信号是最重要的信号之一,常常需要对较高频率的时钟进行分频操作,得到较低频率的时钟信号;分频电路一般分为三种: 第一种是任

8、意占空比的偶数分频及非等占空比的奇数分频,通常由计数器或计数器的级联来完成;其次种是等占空比的奇数分频电路;要实现占空比为50的 M=2N+1分频电路,第三种是小数分频电路;实现分频系数为N-0.5 的分频器可以采纳1 个模 N 的减法计数器、 1 个异或门、 1 个 2 分频器;要想用同一个电路完成多种形式半分频,可以在半整数分频器原理的基础上对异或门加1 个使能掌握信号;2 延时电路延时电路是电子设计中常用的电路;在学习数字电路时采纳555 型集成定时器来实现脉冲的推迟,而在进行信号处理时,许多设计并不能使用555 集成定时器来完成;用VHDL语言设计时一般用计数器或计数器的级联来实现;3

9、 双向电路在工程应用中,双向电路是设计者必需面对的问题;使用VHDL 语言设计 FPGA时,常常会遇到许多接口掌握电路的设计,例如FPGA 与外部储备设备的接口电路设计、FPGA与 DSP接口电路的设计、FPGA与 CPU接口电路的设计等,其中数据总线的设计是不行防止的,而数据总线往往是双向的;因此,如何正确处理数据总线是进行时序规律电路设计的基础;4VHDL语言中的 +一位网友是这样说的;“ VHDL 是供应了操作符“”,而且在许多情形下,我们是可以直接用这个加操作符的;但是, VHDL 供应的加法操作只能给出“和”,却无法给出“进位”;例如我们在设计计数器的时候常常用到的加 1 操作,对于

10、一个 8 位的计数器, 当计数器的结果为 0xff 时,假如在加 1 就为 0x00;实际上,结果应当时 0x100,而最高位的 1 就是进位,我们无法利用;而我们的实际设计中,不仅要用“和”,有时仍要用到两个数相加的进位;所以有必要用VHDL来描述一个带进位的加法器;加法器实际上完全可以由组合规律实现,但在频率较高的场合下工作时,简洁产生毛刺;所以整个加法器设计成时序电路的形式,全部的加操作都是时钟的上升沿触发的;基于 VHDL语言的出租车计费系统的设计【摘要】 : 介绍一种基于ALTERA公司大规模可编程规律器件EPF10K10的应用VHDL语言设计的出租车计费器的一种新的方案,使其具有模

11、拟出租车起动、停止、暂停和 加速等功能,并用动态扫描电路显示出租车所走的里程,显示所走路程需要的费用;全部源 程序经Altrera公司的软件Max+Plus 10.0调试 ,仿真正确 ,下载到 Altrera公司的EPF10K10LC84-4芯片中 ,模拟结果基本符合估计要求;由于使用FPGA 芯片 ,具有外围电少、成本低、抗干扰才能强等特点,可用于实际的出租车收费系统.引言1. 争论背景随着 EDA技术的进展及大规模可编程规律器件 CPLD/FPGA的显现 , 电子系统的设计技术和工具发生了庞大的变化 , 通过 EDA 技术对 CPLD/FPGA编程开发产品 , 不仅成本低、周期短、牢靠性高

12、 , 而且可随时在系统中修改其规律功能 9 ;现代电子系统设计通常运用EDAElectronicDesignAutomation 技术 , 采纳并行工程和“自顶向下”的设计方法, 从系统设计入手 , 在顶层进行层次划分和结构设计, 在功能模块一级进行仿真、纠错 , 并用 VHDL硬件描述语言对高层次的系统行为进行描述,VHDLVery High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言 主要描述数字系统的行为、结构、功能和接口;现在计费器大多数以单片机为平台的,但是单片机程序是不通用的,不同的芯片有

13、不同的指令集,因此设计研发比较困难;而FPGA等数字可编程器件的显现完全解决了这个问 题,而且性能更稳固、设计更敏捷、能实现较复杂的功能,运用EDA 软件可便利的在电脑上实现设计与仿真;本文依据龙岩市出租车计费的实际情形, 采纳 VHDL 语言来设计的一种出租车计费器 , 源程序经 Max+ Plus 软件调试优化 , 最终下载到 EPF10K10LC84-4 芯片中来实现的;由于使用FPGA芯片 , 外围电路少、成本低、抗干扰才能强, 可用于实际的出租车收费系统中; FPGA是电子设计领域中最具活力和进展前途的一项技术,将来必定会取代部分落伍的数字器件;2. 主要争论工作本次设计主要涉及到E

14、DA防真系统,而由于MAXPLUS II 应用防真软件的特殊性,只能够在试验箱上进行操作;本次设计需要挑选较大容量芯片如:EPF10K10LC84-4 芯片,内容上以出租车计费系统为基础,利用VHDL 语言模拟计费,原理简洁,易懂,能够实现里程、等待时间、里程价、等待价、以及分段计费等功能;在实现过程中具体争论开发如下:(1) 模拟出租车计费系统,其中基本的模块有9 个,包括分频模块CLKGE,N 等待判别模块 DDPB,里程运算模块LCJS,里程计费模块LCJF, 等待计时模块 DDJS,等待计费模块DDJF,挑选信号模块SE,输出数据模块SCXZ.显示模块 DI ;(2) 增加时间段设置模

15、块,出租车白天和夜晚的计费标准是不一样的;(3) 增加个自检功能,模拟行驶一段路,检查所走的路程与相关计费是否标准;3. 主要争论内容本次设计的主要内容分为5 章,第一章 EDA 简介,主要介绍VHDL语言设计步骤, MAX+PLUSII 简介;其次章方案设计与论证第三章单元模块设计为本文的核心部分第四章系统仿真、综合、下载,主要环绕本次设计仿真过程中遇到的问题和所得的结果进行一个小结; 第五章为终止语和致谢辞,最终是参考文献部分和各个模块主要程序介绍;1. EDA简介1.1 VHDL 语言设计步骤 1利用 VHDL语言进行设计可分为以下几个步骤:1.1.1 设计要求的定义;在从事设计进行编程

16、 VHDL 代码之前,必需先对你的设计目的和要求有一个明确的熟识;对所需的信号建立时间、时钟 / 输出时间、最大系统工作频率、关键的路径等这些要求,要有一个明确的定义,这将有助于设计,然后再挑选适当的设计方式和相应的器件结构,进行设计的综合;1.1.2 用 VHDL语言进行设计描述 ;(1) 应打算设计方式,设计方式一般说来有三种 : 自顶向下设计,自底向上设计,平整式设计;前两种方式包括设计阶层的生成,而后一种方式将描述的电路当作单模块电路来进行的;自顶向下的处理方式要求将你的设计分成不同的功能元件,每个元件具有特地定义的输入和输出,并执行特地的规律功能;第一生成一个由各功能元件相互连接形成

17、的顶层块来做成一个网表,然后再设计其中的各个元件;而自底向上的处理方法正好相反;平坦式设计就是指全部功能元件均在同一层和同一图中具体进行的;2 编写设计代码;编写VHDL 语言的代码与编写其他运算机程序语言的代码有很大的不同;必需清醒地熟识到正在设计硬件,编写的VHDL代码必需能够综合到采纳可编程规律器件来实现的数字规律中;懂得 EDA工具中仿真软件和综合软件的大致工作过程,将有助于编写出优秀的代码;1.1.3 用 VHDL仿真器对 VHDL原代码进行功能仿真 ;对于大型设计,采纳 VHDL仿真软件对其进行仿真可以节约时间,可以在设计的早期阶段检测到设计中的错误,从而进行修正,以便尽可能地削减

18、对设计日程方案的影响;由于对于小型设计,其综合优化、配置花费的时间不多,而且在综合优化之后,往往会发觉为了实现性能目标,将需要修改设计;在这种情形下,用户事先在原代码仿真时所花费的时间是毫无意义的,由于一旦转变设计,仍必需重新再做仿真;1.1.4 利用 VHDL综合优化软件对 VHDL原代码进行综合优化处理 ;挑选目标器件、输入约束条件后,VHDL 综合优化软件工具将对VHDL 原代码进行处理,产生一个优化了的网络表,并可以进行粗略的时序仿真;1.1.5 配置;将综合优化处理后得到的优化了的网络表,安放到前面选定的CPLD或 FPGA目标器件之中,这一过程成为配置;1.1.6 配置后的时序仿真

19、 ;这时的时序仿真将检查诸如信号建立时间、时钟到输出、寄存器到寄存器的时延是否满意要求;由于已经得到实际连线引起的时延数据,所以仿真结果能比较精确地将来芯片的实际性能 . 假如时延仿真结果不能满意设计的要求,就需要重新对VHDL 原代码进行综合优化,并重新装配于新的器件之中,或挑选不同速度品质的器件;同时,也可以重新观看和分析 VHDL原代码,以确认描述是正确有效的;只有这样,取得的综合优化和配置的结果才符合实际要求;1.1.7 器件编程;在胜利地完成了设计描述、综合优化、配置和配置后的时序仿真之后,就可以对器件编程和连续进行系统设计的其他工作;1.2 MAX+PLUSII 简介本 次 设 计

20、 选 用 的 开 发 环 境 是 美 国 ALTERA 公 司 自 行 设 计 开 发 的 EDA 工 具 ;MAX+PLUSII ,其全称为 Multiple Array and Programmable Logic User Systems ;它具有运行速度快,界面统一,功能集中,易学易用等特点;它的器件系列从最初的 Max 系列到最新的 FLEXIOK系列,从 500 门到 10 万门供应了满意各种条件需要的一系列器件;其中最为先进的 FLEX系列采纳特殊的快通道技术,使得器件的可猜测性大大增强,速度也得到提高,资源利用率达 70%左右时, FLEX I OK 系列可以供应 70MHz左

21、右的工作速度;MAX十 PLUSH结合各种系列器件的物理结构,供应了各种的优化措施,以在提高工作速度和资源利用率之间给以平稳;从而对大多数设计供应解决方案;MAX+PLUSII 供应了原理图输入、文本输入 采纳硬件描述语言 和波形输入等多种输入手段,并可以任意组合使用;利用该工具所配备的编辑、编译、仿真、综合、芯片编程等功能,可将设计电路图或电路描述程序变成基本的规律单元写入到可编程的芯片中 如 FPGA芯片 ,做成 ASIC 芯片;用户第一对所做工程进行设计,明确设计目的、设计要求;然后利用原理图输入方式或文本输入方式进行设计输入;输入完成后,进行编译,如编译过程中发觉错误,就检查设计输入,

22、修改密码,直至没有错误发生: 编译完成后,就可以进行仿真,检查设计是否达到设计要求,否就仍需要重新检查设计输入;仿真结果达到要求后,就可以进行烧录,把设计程序下载到目的芯片中;最终把芯片放到实际系统中进行验证、测试;MAX+PLUSII 借助 EDIF 网表文件, SRAM目标文件 .sof, LPM和 VHDL能与 Candence, Mentor Graphics, OrCAD, Synopsys, Synplicity 和 Viewlogic等公司供应的其他多种EDA工具接口 .MAX+PLUSII 编译器可以在 PC机及各种工作站平台上运行,这使MAX+PLUSII成为工业界唯独与平台

23、和结构无关的可编程5规律设计环境;2. 方案设计与论证2.1 设计方案比较方案一:采纳单片机设计,此种方法应用电路简洁,但是软件设计复杂,可能引起系统的不行靠性增加;方案二:采纳可编程规律器件与单片机联合设计,虽然可发挥它们各自的特长,但是分工与连接也是比较麻烦的问题,稳固性也是个问题;方案三 :采纳可编程规律器件设计,此种方法可以就用可编程规律器件模块化的结构,无论是仿真、下载、调试都来的便利;通过EDA 技术对 CPLD FPGA 编程开发产品,不仅成本低、周期短、牢靠性高,而且可随时在系统中修改其规律功能;综上所述本设计采纳第三种方案;2.2 设计任务与要求用 VHDL语言设计一个多功能

24、的出租车计费系统,要求该计费系统具有以下几个功能(1) 计价功能起步价:顾客上车,显示起步价5,行车距离在 2 公里以内;里程价:起步 5 元, 超过 2 公里按 1 8 元/ 公里计费 , 当超过 8 公里每公里 2.7 元;等待价:龙岩市区等待时价满前5 分钟 0.9元,满 7 分钟 1.8元,满 10 分钟 2.7元;少于 10 秒不计;在这次设计中,我把等待时间前1 小时的等待费用为12 元( 20分/ 分钟),超过 1 小时的等待费用为20 元( 33 分/ 分钟);(2) 显示功能:显示等待时间:精确到0.1 秒,显示等待费用显示里程:精确到0.1 公里,显示计价:可显示总价,显示

25、范畴Z 99 元;3自检功能2.3 总体方案依据系统的设计要求,我们可将整个出租车计费系统CZJFXT分为九个模块,它们分别 是:分频模块CLKGEN,等待判别模块 DDPB,里程运算模块 LCJS, 里程计费模块LCJF, 等待计时模块 DDJS,等待计费模块 DDJF,挑选信号模块 SE,输出数据模块 SCXZ.显示模块 DI 其设计原理图如 2-1 所示;( 2-1 )设计原理图3. 单元模块设计3.1 等待判别模块 DDPB:依据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK1HZ,运算单位时间里 WCLK的脉冲个数(每1 千 M产生 10 个脉冲信号,即每百M产生一个脉冲

26、信号),亦即 出租车行驶速度,从而判别出租车是否处于等待状态,发出等待标志信号DDBZ;当速度大于 12 千 M/ 小时,即速度大于200M/ 分钟时,出租车处于运行状态,这时等待标志DDBZ=0;当速度小于等于12 千 M/小时,出租车处于等待状态,这时等待标志DDBZ=1;该模块的 VHDL 程序设计可分为三个进程;60 秒周期性跳变信号产生进程,每分钟行驶距离运算进程,等待标志判别进程;等待标志判别进程就是比较每分钟WCLK脉冲个数与等待状态 WCLK脉冲临界个数的大小,从而确定DDBZ的赋值;模块封装原理图如3-1 所示 :3.2 里程运算模块 LCJS:( 3-1 ) 等待判别模块该

27、模块可以预制参数,使其实际计数值大于预制数值后,每100M送出一个脉冲,并将计数值送进制转换电路转换后送译码动态扫描模块进行显示;在本设计中设置固定是价格5 元,依据龙岩市最新标准,超过2 公里按 1.8元/ 公里计费 , 当超过 8 公里时每公里 2.7 元.当输入一个脉冲里程计数一次, 即 0.1 公里 , 相应的费用设定初始值其价5 元模块封装见下图 . ;里程运算模块LCJS: 依据速度传感器脉冲信号WCLK和等待标志DDBZ,对出租车行驶的里程数XSLC 进行运算,同时发出里程标志信号 LCBZ和里程计费标志信号JFBZ;假如 LCBZ=1,说明行驶距离超过2 千 M,里程计费启动;

28、 假如 LCBZ=0,说明没超过 2 千 M,计费标志信号 JFBZ 应跳变 1 次;该模块的VHDL程序设计可分为两个进程:里程运算及标志产生进程,产生计费信号进程;产生计费信号进程;产生计费信号进程就是每行驶2 千 MJFBZ由低电平变为 1,经过一个系统时钟周期后JFBZ 又回复到低电平0,里程计费模块LCJF 就是在JFBZ 脉冲信号的上升沿进行计费的加法操作;模块封装原理图如3-2 所示(3-2 )里程计费模块里程运算模块达到估计成效,仿真波形图如下所示:( 3-3 )里程运算模块仿真图3.3 里程计费模块 LCJF:在计费标志信号 JFBZ,等待标志信号 DDBZ,里程标志信号 L

29、CBZ和时段标志信号 XDBZ等信号的掌握下,运算行驶里程超过2 千 M以上里程的费用 LCFY.该模块的 VHDL程序是通过由多个条件掌握的加法进程来,里程计费的条件是在DDBZ=0,并且在 JFBZ的上升沿依据 SDBZ分别进行回潮计费操作;当SDBZ=1时,表示在早6: 00晚 23:00 时段,其单价 SD1为 1.8 元/ 千 M;当 SDBZ=0时,表示其他时段,其单价SD2为 2 元/ 千 M;假如 LCBZ=1,说明行驶距离超过2千 M,里程计费启动;假如LCBZ=0,说明没超过2 千 M,按起价计费;模块封装原理图如3-4 所示(3-4 )里程计费模块里程模块达到预期成效,仿

30、真图如(3-5 )所示:(3-5 )里程计费模块仿真图3.4 等待计时模块 DDJS:模块时间计费模块为模16 的加法计数器,该模块以DDBZ信号为起始,时钟送入标准脉冲1HZ;通过一个多层嵌套的加法进程来完成等待时间计数;程序使用 if语句, START为高电平是复位, ms=0000;mg=0000 ;fs=0000;fg=0000 ;ms 为秒十位, mg为秒个位, fg 为分个位, fs 分十位;当 DDBZ为高电平常启动, clk1hz为频率为 1hz 的时钟脉冲,当时钟显现上升沿时计数,从而通过对时钟脉冲的计数,完成计时;DDSJ为计数后的时间;程序见附录;等待时间功能及设计模块封

31、装见下图. ;( 3-6 )等待时间模块封装等待计时模块 DDJS,在等待标志信号DDBZ和基准时钟信号待时间 DDSJ的运算;其中 DDSJ的低 8 位表示等待时间秒数,CLK1HZ的掌握下,运行等DDSJ的高 8 位显示等待时间的分钟数,同时依据等待时间的长短发出一个熄灯信号XDBZ=0;等待时间大于一小时时,XDBZ=1,该模块的XDBZ 当等待时间小于一小时时,VHDL 程序是通过一个多层嵌套的加法进程来完成等待时间计数;start启动 ddjs模块,当 ddbz 高电平是开头计时;通过仿真达到预期成效,仿真图如下:.3.5 等待费用 DDFY:( 3-7 )等待计时模块时序仿真等待计

32、费模块DDJF 程序:在等待标志DDBZ 和熄灯标志 XDBZ 掌握下,进行等待费用DDFY的计费操作,该模块的VHDL程序包括两个进程: 60S 周期跳变信号产生进程,等待费用运算进程;等待费用运算的条件是在DDBZ=1 并且在60s 周期跳变信号T60S的上升沿,依据 XDBZ分别进行加法计费操作,当DDBZ=1且 XDBZ=0时,依据 1 元/5 分种,即 20 分/ 分钟计费:当 DDBZ=1且 XDBZ=1时,依据 20 元/ 小时,即 33 分/ 分钟计费;具体程序见附录;等待费用封装如下所示:( 3-8 )等待计费模块模块封装上图中 START为启动信号输入,DDBZ为等待标志信

33、号输入掌握,当START和DDBZ同时为高电平常启动,clk1hz为频率为 1hz 的时钟脉冲,通过对时钟脉冲的计数,完成计时; DDJF为计数后的费用;经过仿真达到预期成效;仿真图如下:( 3-9 )等待计费时序仿真图3.6 挑选模块 SE及输出掌握模块 SCKZ:依据发出的数据传输挑选掌握信号A2.0,挑选有关运算结果传送到显示模块,SE 与被传送数据的具体关系如表3-1 所示;挑选模块封装如 3-10 所示 , 输出掌握模块封装3-11 所示;3-10挑选模块封装3-11输出掌握模块封装图数据输出掌握程序 :DATA=DDSJ7 DOWNTO 0 HWEN SEL”= 000”ELSE

34、DDSJ15 DOWNTO 8 WHEN SEL= ” 001 ”;ELSE LCFY7 DOWNTO 0 WHEN SEL= ” 010 ”;ELSE LCFY15 DOWNTO 8 WHEN SEL= ” 011 ”;ELSE DDFY7 DOWNTO 0 WHEN SEL= ” 100 ”;ELSE DDFY15 DOWNTO 8 WHEN SEL= ” 101 ”;ELSE XSLC7 DOWNTO 0 WHEN SEL= ” 110 ”;ELSE X SLC15 DOWNTO 8 WHEN SEL= ” 111 ”;具体程序见附录 .表 3-1 :经过仿真达到预期成效 , 图形如下

35、:SEL000001010011100101110111被选等待时间等 待 时 间超过 2 公超 过 2 公等 待 计费等待计费高里 程 数 据里程数据高数据秒数分数里 计费 低里计费高 8低 8 位8 位低 8 位8 位DDS7.0DDS15.88 位LCJF7.0位LCJF15.8DDFY7.0DDFY15.8XSLC7.0XSLC15.83-12输出掌握时序仿真图3.7 显示模块显示模块是由七段LED 数码管译码和动态扫描显示两部分组成;数码管掌握及译码显示模块将十进制的输入信号用七段数码管显示, 由七段发光二极管组成数码显示器, 利用字段的不同组合 , 可分别显示 09 十个数字;本设

36、计中 , 要求输出的段信号为低电平有效模块封装如 3-13 所示3-13 显示模块封装4. 系统仿真、综合、下载与调试4.1 系统仿真、综合、下载仿真是 EDA技术的重要组成部分 , 也是对设计的电路进行功能和性能测试的有效手段;EDA工具供应了强大且与电路实时行为相吻合的精确硬件系统测试工具;各个功能子模块设计完成后,利用 MAXPLUS 的图形编辑器 Graphic Editor将各功能子模块 sym进行连接;芯 片管脚定义可以直接用编辑pin文件或在 Floor Plan Editor下进行;完成管脚定义后 挑选器件 FLEX1OK10LC84 4 ,编译后生成sof 、 pof及报告文

37、件 rpt ;在建立了波 形文件、输入信号节点、波形参数、加输入信号鼓励电平并存盘之后, 挑选主菜单“MAX+plusII ”中的仿真器项“ Simulator”, 弹出对话框之后单击“Start ”进行仿真运算 , 完成之后就可以看到时序波形;图4-2 为总电路的时序图;最终的电路设计完成后, 如总体电路编译无错, 且时序仿真胜利, 可进行硬件测试;将总电路下载到可编程规律器件中, 按 fit文件中自动安排引脚搭建硬件电路;系统顶层原理图如图4-1 所示;打开电源 , 数码管有正确的数字显示 , 操作运行试验结果完全符合要求;查看报告文件可得到器件引脚的利用情形及器件内部资源的使用情形 ,

38、通过更换适当的器件使其资源配置达到最优;挑选器件的一般原就是系统所使用的资源不要超过器件资源的 80%,如超过 90%,系统功耗将增大 , 工作不稳固;本设计中输入、输出引脚共用 16 个, 器件利用率远远低于 80%;具有较大的扩展空间;4-1系统顶层原理图经过仿真达到估计成效:( 4-2)出租车时序仿真图4.2 系统调试结果系统硬件电路图如图 4.3本系统通过在MAX+PLUS 软件进行编译,综合最终下载到FPGA( EPF10KLC84-4)芯片并在试验开发系统上进行试验,实际测试说明系统的各项功能要求均得到实现,并且系统运行、稳固性良好;终止语本次设计是基 VHDL语言的出租车计费系统

39、,在MAXPLUSII10.0 下顺当通过编译与仿真,下载;基本实现了预定的成效;但是也有不足之处,系统推迟现象比较明显;通过这次毕业设计,使我得到了一次用专业学问、专业技能分析和解决问题全面系统的锤炼;使我在 EDA应用系统开发,以及在常用编程设计思路技巧,VHDL语言编程的把握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础;在这次设计中遇到了很大的挑战,为了更好的做好这次设计,特地请教了司机,明白出租车计费系统的运作,特殊是始终困扰我的等待计费问题, 龙岩市出租车起步价格为5 元,2 公里后每公里 1.8 元, 超过 8 公里是 2.7 元每公里 . 而等待费用是停止时间

40、达到5 分钟系统自动加上0.9 元, 如等待时间达到了 7 分钟, 系统加上 1.8 元, 满特别钟后是2.7 元. 这些在设计初都是没有意料到的 . 所以给我带来很大的困难, 通过老师的指导和网络沟通, 终于解决了这一问题, 我设置了 1 小时之内每分钟 20 分,1 小时后每分钟 33 分.由于前期主要花时间在实习上, 再加上对 VHDL 语言并不是很熟识, 所以许多功能想到却并不能依据自己的意愿完成. 但是在张老师的尽心指导下, 顺当完成了这次设计 , 为以后工作打下了基础 .附 录主要 VHDL源程序 :1 等待判别模块 DDPB的 VHDL源程序 :-DDPB.VHD LIBRARY

41、 IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DDPB ISPORT START,WCLK:IN STD_LOGIC; - 输入速度传感器信号和启动信号CLK1HZ:IN STD_LOGIC; -输入 1 秒时钟信号DDBZ:OUT STD_LOGIC; - 输出等待等待标志信号END ENTITY DDPB;ARCHITECTURE ART OF DDPB ISSIGNAL T60S:STD_LOGIC;-60 秒计时信号SIGNAL

42、WCLKCOU:STD_LOGIC_VECTOR7 DOWNTO 0;BEGINPROCESSSTART,CLK1HZIS -产生 60 秒周期性信号跳变进程VARIABLE CNT60:STD_LOGIC_VECTOR7 DOWNTO 0;-每分钟行驶距离BEGINIF START=1THEN Cnt60:=00000000 ;T60s=0 ;ELSIF CLK1HZEVENT AND CLK1HZ=1THEN IF CNT60=00111100 THENT60S=1 ;CNT60:=00000000 ;ELSECNT60:=CNT60+1 ;T60S=0 ;END IF ;END IF ;

43、END PROCESS ;PROCESSSTART,WCLK,T60S IS-每分钟行驶距离运算进程BEGINIF START=1 THEN WCLKCOU=00000000;ELSIF WCLKEVENT AND WCLK=1 THENIF T60S=1 THENWCLKCOU =00000000;ELSEWCLKCOU=WCLKCOU+1;-距离运算,单位为M END IF ;END IF ;END PROCESS ;PROCESSWCLKCOU,T60S IS-等待标志判别进程BEGINIF T60SEVENT AND T60S=1 THEN IF WCLKCOU=11001000 TH

44、ENDDBZ=1 ; - 汽车等待ELSEDDBZ=0 ; - 汽车行驶END IF ;END IF ;END PROCESS ;END ARCHITECTURE ART;4,等待计时模块 DDJS 的 VHDL 源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DDJS ISPORTSTART,DDBZ:IN STD_LOGIC; - 启动信号,等待标志CLK1HZ: IN STD_LOGIC; -时钟信号DDSJ:OUT STD_LOGIC_VECTOR15 DOWNTO 0; -等待时间XDBZ:OUT STD_LOGIC; -熄灯标志

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

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