基于VHDL的出租车计价器论文.docx
《基于VHDL的出租车计价器论文.docx》由会员分享,可在线阅读,更多相关《基于VHDL的出租车计价器论文.docx(69页珍藏版)》请在冰豆网上搜索。
基于VHDL的出租车计价器论文
本科毕业设计(论文)
基于VHDL的出租车计价器
燕山大学
2012年6月
本科毕业设计(论文)
基于VHDL的出租车计价器
学院:
信息科学与工程学院
专业:
学生姓名:
学号:
指导教师:
答辩日期:
2012.6.25
燕山大学毕业设计(论文)任务书
学院:
信息科学与工程学院系级教学单位:
光电子系
学
号
学生
姓名
专业
班级
题
目
题目名称
基于VHDL的出租车计价器
题目性质
1.理工类:
工程设计();工程技术实验研究型(√);
理论研究型();计算机软件型();综合型()
2.管理类();3.外语类();4.艺术类()
题目类型
1.毕业设计(√)2.论文()
题目来源
科研课题()生产实际()自选题目(√)
主
要
内
容
1.基本计费功能;
2.白天/夜晚计费功能切换;
3.带数据输出功能,便于和微型打印机通信;
4.停车计费。
基
本
要
求
1.基本计费功能:
1.2元/公里,以半公里提前计费;
2.白天/夜晚22:
00-5:
00:
起步费5元/2公里,5.8元/2公里
3.带数据输出功能,便于和微型打印机通信;
4.具有停车计费功能,每停5分钟算0.5km;
5.总里程超过12km,每公里加0.8元,即2元/公里;
6.独立撰写不少于2万字的论文;
7.英文翻译3000字左右。
参
考
资
料
1.CPLD数字电路设计,清华大学出版社
2.CPLD/FPGA应用开发技术,人民邮电出版社
周次
第1~4周
第5~8周
第9~12周
第13~16周
第17~18周
应
完
成
的
内
容
阅读资料,
研究算法
总体设计
编写代码
测试与调试程序
撰写论文
修改论文
准备答辩
指导教师:
职称:
讲师2012年1月23日
系级教学单位审批:
年月日
摘要
出租车计价器在最初使用时的基本功能是根据行驶里程计价,要求精度高,可靠性好但是随之科学技术的发展,传统的出租车计价器已经不能满足人们多方面的使用要求,因此加强对出租车计价器的多功能设计,具有重要的现实意义。
本设计中首先通过VHDL硬件描述语言对出租车计价器的各个功能进行编程,然后通过MAX+PLUSII软件开发平台进行编程和软件仿真,最后用EDA试验箱进行硬件仿真,模拟出租车计价器的各个功能。
本设计中采用VHDL硬件描述语言进行编程来实现出租车计价器的各个功能要求。
通过MAX+PLUSII软件开发平台进行编程和软件仿真,然后通过EDA试验箱进行硬件仿真来完成整个设计过程。
本文中给出了计费系统的整体组成框图和各系统模块的详细设计过程,并对各个模块的实现过程以及相互之间的逻辑关系,软件仿真波形图进行了详细的解说,最后通过EDA试验箱硬件仿真来演示所设计的出租车计价器的各个相关功能,所得结果达到了设计要求
。
关键词:
出租车计价器;VHDL语言;MAX+PLUSII
Abstract
Intheinitialutilization,thebasicfunctionoftaxitaximeteristocalculatetheexpensebymileage,therequirementsmainlyfocusonthehigherprecisionandbetterreliability.Nowtherearelotsofadditionalfunctionsneededbythepeopleasthesciencerapiddeveloping.Sodevelopingthemultifunctionaltaximeterhasimportantmeanings.
Thisarticleproposedanewplanofthetaximeter,theVHDL(hardwaredescriptivelanguageincomprehensiveapplication)isusedintheplancompletingthelogicsynthesisandlogicoptimization,thenextdesigningthedevelopmentplatformisbyMAX+PLUSIIsoftware,meanwhile,testingandverifyingthefunctionachievementthroughtheprogramemulationmode.
Thewholestructuralchartsandthedetaildesignprocessofeachsystemicmoduleareinthearticleandeachmodulerealizationprocessaswellasthelogisticrelationshipbetweensoftwaresimulationwaveform,carriedoutinadetailedexplanation.FinallytheapplicationofEDAexperimentboxhardwaresimulationtodemonstratethetaximetereachrelevantfunction,theresultsmeetthedesignrequirements.
Keywords:
Therentalcarcoststhesystem;theVHDLlanguage:
MAX+PLUS
II:
目录
摘要I
AbstractII
第1章绪论1
1.1课题背景1
1.2VHDL及开发系统概述3
1.2.1VHDL语言简介及其结构特点3
1.2.2MAX+PLUSII开发系统概述6
1.3本章小结8
第2章设计思路和各部分的实现9
2.1出租车计价器的特点和功能9
2.2基本设计思路和工作原理9
2.3分频部分的实现11
2.4时间部分的实现12
2.5里程计数部分15
2.6计费部分17
2.7译码显示部分22
2.8本章小结28
第3章EDA试验箱硬件仿真结果29
3.1EDA试验箱简介29
3.2EDA试验箱仿真结果30
3.3本章小结33
结论35
参考文献37
致谢39
附录1开题报告41
附录2文献综述45
附录3中期报告51
附录4英文翻译57
附录5程序代码69
第1章绪论
1.1课题背景
VHDL全名Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。
1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。
自IEEE-1076(简称87版)之后,各EDA公司相继推出自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。
1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,简称93版。
VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司支持,在电子工程领域,已成为事实上的通用硬件描述语言。
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
随着我国国民经济生产总值的增加以及人民生活水平的提高,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。
出租车计价器是出租车营运收费的专用智能化仪表,是使出租车市场规范化、标准化的重要设备。
一种功能完备,简单易用,计量准确的出租车计价器是加强出租车行业管理,提高服务质量的必需品。
大多出租车计价器是采用C语言通过单片机来实现的,不便与硬件连接且功能稳定性差。
本次设计采用采用具有多层次的电路设计描述功能的VHDL语言进行程序的编写。
通过可编程逻辑器件CPLD/FPGA来实现的,比单片机功能更稳定,且程序简洁,易于修改和更新。
采用CPLD芯片为核心,用较少的硬件和适当的软件相互配合设计出租车计价器,通过软件编程来完成计价器更多的附加功能,具有一定的应用价值。
由于科技的发展,芯片中的数据可保持10年不变,且芯片体积小、容量大,因此这种方式具有十分重要的现实意义和广阔的市场前景。
中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。
为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。
在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。
要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。
有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。
开展“数控化工程”和“数字化”工程。
自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。
在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方向发展。
外设技术与EDA工程相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。
中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场的竞争。
在EDA软件开发方面,目前主要集中在美国。
但各国也正在努力开发相应的工具。
日本、韩国都有ASIC设计工具,但不对外开放[3]。
中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。
相信在不久的将来会有更多更好的设计工具有各地开花并结果。
据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50%和30%。
EDA技术发展迅猛,完全可以用日新月异来描述。
EDA技术的应用广泛,现在已涉及到各行各业。
EDA水平不断提高,设计工具趋于完美的地步。
EDA市场日趋成熟,但我国的研发水平还很有限,需迎头赶上。
可编程逻辑器件自70年代以来经历了PAL,GALCPLD,FPGA几个发展阶段,其中CPLD/FPGA高密度可编程逻辑器件,目前集成度已高达200万门片,它将各模块ASC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快速度上市,而当市场扩大时,他可以很容易的转换掩膜ASIC实现,因此开发风险也大为降低。
1.2VHDL及开发系统概述
1.2.1VHDL语言简介及其结构特点
VHDL是VeryhighspeedintegratedcircuitHardwareDescriptionLanguage的缩写,意思是非常高速集成电路的硬件描述语言,是HDL的一种。
这是一项诞生与由美国国防部所支持的研究计划,目的是为了把电子电路的设计意义以文字或文件的方式保存下来,以便他人能轻易地了解电路的设计意义。
由于VHDL电路描述语言所能涵盖的范围很广,从ASIC的设计到PCB系统的设计,VHDL电路描述语言都能派上用场,所以VHDL语言毫无疑问地成为硬件设计工程师的必备工具。
1VHDL语言的特点
VHDL主要用于描述数字系统的结构、行为、功能和接口。
除了含有许多方面具有硬件特征的语句外,VHDL的语言形式和描述风格与句法十分类似与一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计或称设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(即端口)和内部(即设计实体的内部功能和算法完成部分)。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
1)更强的行为描述能力
与其它的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模集成电路的重要保证。
2)丰富的仿真语言和库函数
VHDL丰富的仿真语言和库函数,使得在大规模集成电路设计的早期就能查验出设计系统的功能可行性,可随时对设计进行功能仿真、时序仿真,使设计者在设计初期就可以对整个工程设计的可行性作出决策,从而缩短了设计周期,减少了研发成本。
3)再利用功能
VHDL语句的行为描述能力和程序结构决定了它具有支持大规模集成电路设计的分解和对已有设计的再利用功能。
重复利用他人的IP(IntelligencePropertycore)模块和软核(softcore)是VHDL的特色。
设计不必各个都从头再来,只要在更高的层次上把IP模块利用起来,能达到事半功倍的效果。
4)逻辑综合和优化
对于VHDL完成的一个确定的设计,可以利用EDA工具(如MAX+PLUSII)进行逻辑综合和优化,并自动把VHDL描述设计转换成门级网表。
这种设计方式突破了传统门级设计中的瓶颈,极大地减少了电路设计的时间和错误发生率,降低了开发成本,缩短了设计周期。
5)描述的独立性
VHDL对设计的描述具有相对的独立性.设计者可以不懂硬件的结构,也不必关心最终设计的目标器件是什么而进行独立的设计。
因为VHDL的硬件描述与具体的工艺和硬件结构无关,VHDL设计程序的硬件实现目标器件有广阔的选择范围。
6)修改灵活
由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的前提下,只需改变类属参数或函数,就能改变设计的规模和结构。
2VHDL语言的描述风格
在VHDL结构体中,可以用不同的描述方式或说是建模方法来表达,通常可归纳为行为描述、寄存器传输(RTL)描述和结构描述。
行为描述行为描述只表示输入与输出闯转换的行为,不包含任何结构信息。
行为描述主要指顺序语句描述,既通常是指古有进程的非结构化的逻辑描述。
RTL描述也称为数据流描述,是以规定设计中的各种寄存器形式为特征,然后在寄存器之间插入组合逻辑。
RTL描述是建立在用并行信号赋值语句(进程)基础上的,RTL描述能比较直观地表达底层逻辑行为。
它既含有逻辑单元的结构信息,又隐含表示某种行为,RTL描述主要是指非结构化的并行语句描述。
结构描述结构描述是基于元件例化或生成语句的应用,表示元件问的互连,其风格最接近实际的硬件结构。
3VHDL基本程序结构
一个相对完整的VHDL设计由以下几个部分组成:
库、程序包,实体,结构体,配置。
其各自作用如图1-1所示:
图1-1VHDL基本程序结构
以上四个部分并不是每一个VHDL程序都必须具备的,其中只有一个实体和一个与之对应的结构体是必须的。
1实体
实体(ENTITY)是VHDL设计中最基本的一个组成部分,VHDL表达的所有设计均与实体有关。
实体类似与原理图中的一个部件符号,它并不描述设计的具体功能,只定义了该设计所需的全部输入输出信号。
实体的语法格式如下:
ENTITY实体名IS
[GENERIC(类属表);]----类属参数声明
PROT(端口表);----端口声明
END[ENTITY]实体名;
2结构体
所有能被仿真的实体都有结(ARCHITECTURE)描述即结构体描述实体的结构或行为。
在结构体描述中可采用行为描述、结构描述或数据流描述三种不同的描述方式,或称为建模方法,从不同的侧面描述结构体的行为方式。
在实际应用中,为了兼顾整个设计的功能、资源、性能几方面的因素,通常混合使用这三种描述方式。
结构体的语法格式如下:
ARCHITECTURE结构体名OF实体名IS
[声明语句]
BEGIN
[功能描述语句]
END[ARCHITECTURE]结构体名[8];
1.2.2MAX+PLUSII开发系统概述
1Max+plusII简介
Max+plusII(Multiplearraymatrixandprogrammablelogicusersystem)是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。
Max+plusII界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在Max+plusII上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
它所提供的灵活性和高效性是无可比拟的。
它具有丰富的图形界面,辅之以完整的、即时访问的在线文档,使设计者能够轻松的使用Max+plusII软件包设计数字集成电路。
2MAX+PLUSII的特点
1)开放的界面
MAX+PLUSII软件可以与其它工业标准的设计输入、综合与校验工具相连接。
目前MAX+PLUSII支持与Candence、Exemplarlogic、Synopsys、SynplicityViewlogic等其它公司所提供的EDA工具接口。
2)与结构无关
MAX+PLUSII系统的核心compiler支持Altera公司的FLEXl0K、FLEX8000、FLEX6000、MAX9000、MAX5000等可编程器件,提供了真正与结构无关的可编程设计环境。
MAX+PLUSII的Compiler还提供了强大的逻辑综合与优化功能,使用户比较容易地将起设计集成到器件中。
3)完全集成化
MAX+PLUSII软件的设计输入、处理与校验功能全部集成在统一的开发环境下,这样可以加快动念调试、缩短设计周期。
4)丰富的设计库
MAX+PLUSII提供了丰富的库单元,其中包括74系列的全部器件和多种特殊的逻辑宏功能以及参数化的兆功能供设计者调用,大大减轻了设计者的工作量,缩短了设计周期。
5)模块化工具
设计者可以从各种设计输入、处理和校验选项中进行选择从而使设计环境用户化,必要时,还可以根据需要添加瓤功能。
由于MAX+PLUSII支持多种器件,设计者不必学习新的工具就可支持新的结构。
6)支持多种硬件描述语言
MAX+PLUSII软件支持多种硬件描述语言设计输入选项,包括VHDL、VerilogHDL和AHDL语言。
1.3主要内容
本文在第一章主要介绍了此次毕业设计的背景及硬件描述语言VHDL和EDA开发系统MAX+PLUSII的特点。
第二章主要讲述了本次设计出租车计价器的设计思路和各部分的功能实现过程。
第三章主要展示了程序在硬件仿真时的结果。
第2章设计思路和各部分的实现
2.1出租车计价器的特点和功能
出租车计价器是一种专用的计量器,它被安装在出租车上来计量乘客在乘车过程中生成的各种费用,因此,它具有在不同情况下的计费功能,本次设计的出租车计价器具有如下功能和特点:
1基本计费功能:
1.2元/公里,以半公里提前计费;
2白天/夜晚22:
00-5:
00:
起步费5元/2公里,5.8元/2公里
3带数据输出功能,便于和微型打印机通信;
4具有停车计费功能,每停5分钟算0.5km;
5总里程超过12km,每公里加0.8元,即2元/公里;
6时间显示功能,以供出租车平时使用;
7LED数码管显示功能,可以将总费用,总公里数,停车时间,显示出来;
2.2基本设计思路和工作原理
出租车计价器是接受外部里程脉冲信号,然后根据里程脉冲逐一累加计费,最后输出显示。
它主要由五个部分组成;时间部分、分频部分、计费部分、里程计数部分以及译码显示部分。
具体的系统结构框图如图2-1所示:
图2-1系统结构框图
其中:
1时间部分,为永久计时,可做为出租车上的电子表使用,同时它会输出白天黑夜转换信号,以及五分钟计时信号。
2分频部分,将全局时钟转化为时间所用的时钟脉冲。
3里程计数部分,将接收到的里程脉冲进行计数,并输出总里程数,以及大于12公里信号。
4计费部分则接受里程脉冲,以及时间部分的五分钟计时信号,然后通过逻辑关系,计算出总的费用,再进行输出。
5译码显示部分则将前面所的出来的各种需要显示的数据,译码为可以供数码管显示的二进制数。
如图2-2所示,为顶层模块图
图2-2顶层模块图
由图中可以看出:
时间部分:
time1模块;
计费部分:
jifei模块;
分频部分:
FP模块;
里程计数部分:
s-counter模块;
译码显示部分:
saomiao模块、XUAN模块、XUAN1模块、yimaxianshi1模块、fenwei模块、qiehuan模块;
2.3分频部分的实现
图2-3分频模块图
分频部分主要由一个分频电路组成。
通过计数器功能,它将全局时钟1.465khz的clk分成5hz的clk_5hz时钟脉冲,以供给时间部分使用。
部分相关代码如下:
process(clk)
begin
ifrising_edge(clk)thena<=a+1;
ifa=292thena<=0;
elsifa<146thenclk_5hz<='1';
else
clk_5hz<='0';
endif;
endif;
endprocess;
其中a为0到292的整数
当a<146时,clk_5hz输出高电平,否则输出低电平.因此,clk_5hz的周期为
,频率为5hz.
波形仿真图如下图2-4所示:
图2-4分频模块波形仿真