基于FPGA出租车计费系统的设计论文_第1页
基于FPGA出租车计费系统的设计论文_第2页
基于FPGA出租车计费系统的设计论文_第3页
基于FPGA出租车计费系统的设计论文_第4页
基于FPGA出租车计费系统的设计论文_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、 PAGE57 / NUMPAGES65铁道大学四方学院毕业设计基于FPGA出租车计费系统的设计The Design of Taxi Meter Based on FPGA毕业设计成绩单学生学号20086287班级方0809-1专业电子信息工程毕业设计题目基于FPGA出租车计费系统的设计指导教师指导教师职称讲师评 定 成 绩指导教师得分评阅人得分答辩小组组长得分成绩:院长(主任) 签字:年 月 日毕业论文任务书题目基于FPGA出租车计费系统的设计学生宋雨薇学号20086287班级方0809-1专业电子信息工程承担指导任务单位电气工程系导师尚燕导师职称讲师主要容该项目主要由硬件电路设计和软件控制

2、两部分组成。硬件部分主要完成出租车计费系统设计需要的FPGA芯片与外围显示和拨档开关控制电路设计。软件部分由主控器EP1C12控制完成,通过VHDL语言完成出租车计费系统的整个程序设计。基本要求1、车起步开始计费;2、超过起步里程后,按规定的费用累加计费;3、车暂停不计费或按折扣计费;4、超过最大所规定里程后,可增加计费比例;三、主要技术指标1、完成主要功能。2、原理图,波形图。3、使用说明书撰写。4、论文正文不少于1万字,查阅文献资料不少于10篇,其中外文文献2篇以上,翻译与课题有关的外文资料不少于3000汉字。四、应收集的资料与参考文献VHDL语言开发。Quartus II开发工具。关于c

3、yclone系列相关FPGA开发文档。EP1C12Q240C8芯片的使用手册和接口电路。五、进度计划第 1 周第 2周 收集资料,完成开题报告第 3 周第 4周 需求分析,概要设计第 5 周第 7周 详细设计第 8 周 中期检查第 9 周第12周 写论文第13周第14周 论文审核定稿第15周第16周 答辩教研室主任签字时间年 月 日毕业设计开题报告题 目基于FPGA出租车计费系统的设计学生宋雨薇学号20086287班级方0809-1专业电气工程系一、研究背景在我国社会经济发展的今天,随着城市化水平的提高和人民生活水平的改善,各大中小城市的出租车营运事业也迅速发展,出租车的服务显得越来越重要。出

4、租车计价器是出租车营运收费的专用智能化仪表,它安装在出租车上,指示出载客路程数,以与乘客应付费用的总数,是出租车市场规化、标准化以与减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。当计费系统在各大、中城市出租车中使用越来越广泛,用户对计费器的要求也越来越高。以出租车多功能计费器为例,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票打印、语音报话识别、电脑串行通信与税控等功能;不同国家和地区的收费方式存在差异,即使在同一地区,不同车型的出租车其收费方式也有差别,而且出租车还面临几年一次的调价或

5、调整收费方式等问题。出租车计价系统较多的是利用单片机进行控制,但较易被私自改装,且故障率相对较高,且不易升级;而FPGA具有高密度、可编程与有强大的软件支持等特点,所以设计的产品具有功能强、可靠性高、易于修改等特点。基于现场可编程逻辑阵列(FPGA)的出租车多功能计费器,采用硬件描述语言VHDL和逻辑综合为基础的自顶向下的电路设计方法,开发成本低,周期短,可靠性高,功能升级方便,满足了用户的要求。该系统在不改变硬件电路的前提下,具有可以重构系统的功能;采用完全一样电路结构,只要根据各地区的要求在VHDL程序中设置各参数,就可以适应各地区出租车不同计费标准的需要,还可以根据各地区需求增加其他功能

6、。二、国外研究状况我国在70年代开始出现出租车,但那时的计时系统大都是国外进口,不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程,到能够自主计费,以与现在的能够打发票和语音提示、按时间自主变更单价等功能。在国外,现在各大中城市出租车行业都已普与自动计价器,所以计价器技术的发展已成定局,而部分小城市尚未普与,但随着城市建设日益加快,计价器的普与也是毫无疑问的。从国外的各种研究方法来看,实现出租车计费系统总共有三种方案。利用大规模的数字逻辑器件来实现,利用89C51实现,利用CPLD/FPGA

7、来实现。二十世纪后半期,数字系统得到了飞速发展,同时为了提高系统的可靠性与通用性,微处理器和专业集成电路逐渐取代了通用全硬件电路。目前,业界大量可编程逻辑器件,尤其是现场可编程器件被大量地应用在集成电路的制作当中。理想的可编程逻辑开发系统能符合大量的设计要求:它能支持不同结构的器件。在多种平台运行,提供易于使用的界面,并且有广泛的特征。可编程器件的逻辑功能描述一般分为原理图描述和硬件语言描述,原理图描述是一种直观简便的方法,它可以讲现有的小规模集成电路实现的功能直接用可编程器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练。而语言描述可以精确和简练地表示电路的逻辑功能,

8、现在可编程器件的设计过程中广泛使用。常用的硬件描述语言有ABEL、VHDL语言等,其中VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。三、研究方案整个出租车计费系统大致可以分为控制电路模块、分频模块和扫描显示模块,其中控制电路模块包括速度模块、计程模块、计时模块、计费模块,扫描显示模块包括模8计数器模块、8选1选择器模块、七段数码管显示模块。其系统设计框图如图1所示。速度模块计时模块计费模块计程模块总费用总里程译码显示 脉冲信号速度 开始键 复位键 时钟信号图1出租车计费器系统设计框图四、

9、预期结果经过对任务书的分析,本课题要求对出租车计费系统的原理进行分析,熟悉出租车计费系统的组成结构图,并对其进行仿真设计。该电路系统能够模拟实际出租汽车的行驶、停止、暂停等状态,并根据不同状态进行计费。以十进制显示出租车行驶路程与车费。车起步开始计费,首先显示起步价,起步费为3.00元,车在行驶3km以,只收起步价。车行驶超过3km后,每km收费2元,车费依次累加。当总费用达到或超过40元时,每km收费4元。当遇到红灯或遇客户需要停车等待时,则按时间计费,计费单价为每20s收费1元。指导教师签字时间年 月 日摘要我国在70年代开始出现出租车,但那时的计费系统大都是国外进口,不但不够准确,价格还

10、十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程,发展到能够自主计费,以与现在的能够打发票和语音提示、按时间自主变动单价等。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。 本文中所用到的VHDL就能解决上述问题,因为本设计就是采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的硬件结构,通过在Quartus II软件中编译和下载测试,得到了仿真波形和关键的设计结果。经过在实验箱上进行硬件测试,证明出租车计价系统具有出租车计价器的基本功能。文章首先

11、简述了出租车控制系统的意义和发展现状以与VHDL语言的特点,然后介绍了出租车控系统的设计要求,设计思路,并给出了总体设计框图,通过分析方框图绘出详细的模块电路流程图并写出程序源代码,将代码在Quartus II软件上进行编译仿真,波形基本符合设计要求。关键字:出租车计费器VHDL语言Quartus IIAbstractChina began to appear in the 1970s, but then the taxi billing system mostly imported not only accurate, the price also is very expensive. Al

12、ong with the reform and opening-up, the taxi industry development momentum has a very prominent, the domestic various machinery manufacturers have domestic meter. The meter taxi from the beginning of the function to display only the driver himself away, pricing, and are able to independently roundin

13、g billing, and now can play an invoice and audio, according to time independent functions such as price changes. Along with the development of urban tourism industry has become a city, taxi window, a symbol of a citys civilization.In this paper the VHDLcan solve the above problem, because of this de

14、sign is described by VHDL Language as a design method of Hardware, using the top-down design ideas, get a taxi pricing system Hardware structure, software by Quartus IIcompiler and download in the simulation results of the design and key waveforms. After the experiment box on hardware tested prior t

15、axi cab pricing system is the basic function of the meter.This article first introduced the meaning and taxi control system development status and the characteristics of the language of VHDL, then introduces the design of the control system of the taxi, design ideas, and presents the overall design,

16、 through the analysis of the block diagram of the draw detailed modules circuit chart and write program source code, will in QuartusII compiled on software simulation, waveform basic comply with the design requirements.Keywords:Taxi meterVHDLQuartus II目录 TOC o 1-3 h z u HYPERLINK l _Toc325577338 第1章

17、绪论 PAGEREF _Toc325577338 h 1 HYPERLINK l _Toc325577339 1.1设计研究的相关背景 PAGEREF _Toc325577339 h 1 HYPERLINK l _Toc325577340 1.2设计研究的意义 PAGEREF _Toc325577340 h 1 HYPERLINK l _Toc325577341 1.3课题研究的主要容 PAGEREF _Toc325577341 h 2 HYPERLINK l _Toc325577342 第2章实现工具简介 PAGEREF _Toc325577342 h 3 HYPERLINK l _Toc3

18、25577343 2.1FPGA简介 PAGEREF _Toc325577343 h 3 HYPERLINK l _Toc325577344 2.2开发软件Quartus II简介 PAGEREF _Toc325577344 h 4 HYPERLINK l _Toc325577345 2.3硬件描述语言VHDL简介 PAGEREF _Toc325577345 h 4 HYPERLINK l _Toc325577346 第3章系统软件设计 PAGEREF _Toc325577346 h 7 HYPERLINK l _Toc325577347 3.1设计任务 PAGEREF _Toc3255773

19、47 h 7 HYPERLINK l _Toc325577348 3.1.1方案拟定 PAGEREF _Toc325577348 h 7 HYPERLINK l _Toc325577349 3.1.2模块的划分 PAGEREF _Toc325577349 h 8 HYPERLINK l _Toc325577350 3.2 速度模块 PAGEREF _Toc325577350 h 9 HYPERLINK l _Toc325577351 3.2.1速度模块元件图设计 PAGEREF _Toc325577351 h 9 HYPERLINK l _Toc325577352 3.2.2速度模块仿真 PA

20、GEREF _Toc325577352 h 9 HYPERLINK l _Toc325577353 3.3计程模块 PAGEREF _Toc325577353 h 9 HYPERLINK l _Toc325577354 3.3.1计程模块元件图设计 PAGEREF _Toc325577354 h 10 HYPERLINK l _Toc325577355 3.3.2计程模块仿真 PAGEREF _Toc325577355 h 10 HYPERLINK l _Toc325577356 3.4计时模块 PAGEREF _Toc325577356 h 10 HYPERLINK l _Toc325577

21、357 3.4.1计时模块元件图设计 PAGEREF _Toc325577357 h 11 HYPERLINK l _Toc325577358 3.4.2计时模块仿真 PAGEREF _Toc325577358 h 11 HYPERLINK l _Toc325577359 3.5计费模块 PAGEREF _Toc325577359 h 11 HYPERLINK l _Toc325577360 3.5.1计费模块元件图设计 PAGEREF _Toc325577360 h 12 HYPERLINK l _Toc325577361 3.5.2计费模块仿真 PAGEREF _Toc325577361

22、h 12 HYPERLINK l _Toc325577362 3.6控制电路顶层例化模块 PAGEREF _Toc325577362 h 12 HYPERLINK l _Toc325577363 3.6.1控制电路顶层例化模块元件图设计 PAGEREF _Toc325577363 h 13 HYPERLINK l _Toc325577364 3.6.2控制电路顶层例化模块仿真 PAGEREF _Toc325577364 h 13 HYPERLINK l _Toc325577365 3.7分频模块 PAGEREF _Toc325577365 h 14 HYPERLINK l _Toc325577

23、366 3.7.1分频模块元件图设计 PAGEREF _Toc325577366 h 14 HYPERLINK l _Toc325577367 3.7.2分频模块仿真 PAGEREF _Toc325577367 h 14 HYPERLINK l _Toc325577368 3.8模8计数器模块 PAGEREF _Toc325577368 h 14 HYPERLINK l _Toc325577369 3.8.1模8计数器模块元件图设计 PAGEREF _Toc325577369 h 15 HYPERLINK l _Toc325577370 3.8.2模8计数器模块仿真 PAGEREF _Toc3

24、25577370 h 15 HYPERLINK l _Toc325577371 3.98选1选择器模块 PAGEREF _Toc325577371 h 15 HYPERLINK l _Toc325577372 3.9.18选1选择器模块元件图设计 PAGEREF _Toc325577372 h 15 HYPERLINK l _Toc325577373 3.9.28选1选择器模块仿真 PAGEREF _Toc325577373 h 16 HYPERLINK l _Toc325577374 3.10七段数码管显示模块 PAGEREF _Toc325577374 h 16 HYPERLINK l _

25、Toc325577375 3.10.1七段数码管显示模块元件图设计 PAGEREF _Toc325577375 h 17 HYPERLINK l _Toc325577376 3.10.2七段数码管显示模块仿真 PAGEREF _Toc325577376 h 17 HYPERLINK l _Toc325577377 3.11顶层模块 PAGEREF _Toc325577377 h 17 HYPERLINK l _Toc325577378 3.11.1顶层模块电路图设计 PAGEREF _Toc325577378 h 17 HYPERLINK l _Toc325577379 3.11.2顶层模块仿

26、真 PAGEREF _Toc325577379 h 18 HYPERLINK l _Toc325577380 第4章硬件环境与调试过程 PAGEREF _Toc325577380 h 19 HYPERLINK l _Toc325577381 4.1芯片介绍 PAGEREF _Toc325577381 h 19 HYPERLINK l _Toc325577382 4.2硬件实现 PAGEREF _Toc325577382 h 19 HYPERLINK l _Toc325577383 4.2.1选择芯片 PAGEREF _Toc325577383 h 19 HYPERLINK l _Toc3255

27、77384 4.2.2引脚锁定 PAGEREF _Toc325577384 h 20 HYPERLINK l _Toc325577385 4.2.3下载到硬件环境 PAGEREF _Toc325577385 h 21 HYPERLINK l _Toc325577386 第5章总结与完善 PAGEREF _Toc325577386 h 23 HYPERLINK l _Toc325577387 5.1总结 PAGEREF _Toc325577387 h 23 HYPERLINK l _Toc325577388 5.2完善 PAGEREF _Toc325577388 h 23 HYPERLINK l

28、 _Toc325577389 参考文献 PAGEREF _Toc325577389 h 24 HYPERLINK l _Toc325577390 致 PAGEREF _Toc325577390 h 25 HYPERLINK l _Toc325577391 附录 PAGEREF _Toc325577391 h 26 HYPERLINK l _Toc325577392 附录A 外文资料 PAGEREF _Toc325577392 h 26 HYPERLINK l _Toc325577393 附录B顶层文件电路图 PAGEREF _Toc325577393 h 43 HYPERLINK l _Toc

29、325577394 附录C源代码 PAGEREF _Toc325577394 h 44第1章绪论1.1设计研究的相关背景在我国社会经济发展的今天,随着城市化水平的提高和人民生活水平的改善,各大中小城市的出租车营运事业也迅速发展,出租车的服务显得越来越重要。出租车计价器是出租车营运收费的专用智能化仪表,它安装在出租车上,指示出载客路程数,以与乘客应付费用的总数,是出租车市场规化、标准化以与减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。当计费系统在各大、中城市出租车中使用越来越广泛,用户对计费器的要求也越来越高。以出

30、租车多功能计费器为例,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票打印、语音报话识别、电脑串行通信与税控等功能;不同国家和地区的收费方式存在差异,即使在同一地区,不同车型的出租车其收费方式也有差别,而且出租车还面临几年一次的调价或调整收费方式等问题。出租车计价系统较多的是利用单片机进行控制,但较易被私自改装,且故障率相对较高,且不易升级;而FPGA具有高密度、可编程与有强大的软件支持等特点,所以设计的产品具有功能强、可靠性高、易于修改等特点1。基于现场可编程逻辑阵列(FPGA)的出租车多功能计费器,采用硬件描述语言VHDL和逻辑综合为基础的自顶向下的电路设计方法,开

31、发成本低,周期短,可靠性高,功能升级方便,满足了用户的要求。该系统在不改变硬件电路的前提下,具有可以重构系统的功能;采用完全一样电路结构,只要根据各地区的要求在VHDL程序中设置各参数,就可以适应各地区出租车不同计费标准的需要,还可以根据各地区需求增加其他功能。1.2设计研究的意义随着我国市场经济的发展,交通也越来越便利,特别是出租车,以快捷、方便的特点早已盛行各个城市,成为城市交通的重要工具。计程车市场从90年代初的起步阶段到现在已经进入了高峰期。随着城市化水平的提高和人民生活水平的改善,计程车的服务也就显得越来越重要,因此计程车计价器也就应运而生了。由于现场可编程逻辑阵列FPGA具有开发简

32、单、静态可重复编程和动态再系统编程等特点,已经成为当今应用最广泛的可编程专用集成电路之一。随着微电子技术的迅猛发展,速度更快、集成度更高的FPGA不断出现,芯片上包含的资源也越来越丰富,可实现的功能越来越强,这使得FPGA在电子电路设计中扮演的角色越来越重要。1.3课题研究的主要容我国在70年代开始出现出租车,但那时的计时系统大都是国外进口,不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程,到能够自主计费,以与现在的能够打发票和语音提示、按时间自主变更单价等功能。在国外,现在各大中城市出租

33、车行业都已普与自动计价器,所以计价器技术的发展已成定局,而部分小城市尚未普与,但随着城市建设日益加快,计价器的普与也是毫无疑问的。从国外的各种研究方法来看,实现出租车计费系统总共有三种方案。利用大规模的数字逻辑器件来实现,利用89C51实现,利用CPLD/FPGA来实现。二十世纪后半期,数字系统得到了飞速发展,同时为了提高系统的可靠性与通用性,微处理器和专业集成电路逐渐取代了通用全硬件电路。目前,业界大量可编程逻辑器件,尤其是现场可编程器件被大量地应用在集成电路的制作当中。理想的可编程逻辑开发系统能符合大量的设计要求:它能支持不同结构的器件。在多种平台运行,提供易于使用的界面,并且有广泛的特征

34、。可编程器件的逻辑功能描述一般分为原理图描述和硬件语言描述,原理图描述是一种直观简便的方法,它可以讲现有的小规模集成电路实现的功能直接用可编程器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练。而语言描述可以精确和简练地表示电路的逻辑功能,现在可编程器件的设计过程中广泛使用。常用的硬件描述语言有ABEL、VHDL语言等,其中VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。第2章实现工具简介2.1FPGA简介FPGA是英文Field Programmable Gate

35、 Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点2。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和部连线(Interconnect)三个部分。FPGA的基本特点主要有: 1、采用FPGA设计ASIC电路,用户不需要投片生产,就能得到

36、合用的芯片。 2、FPGA可做其它全定制或半定制ASIC电路的中试样片。 3、FPGA部有丰富的触发器和I/O引脚。 4、FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5、FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等3。 FPGA是由存放在片RAM中的程序来设置其工作状态的,因此,工作时需要对片的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加

37、电时,FPGA芯片将EPROM中数据读入片编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。 FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处

38、理器对其编程。2.2开发软件Quartus II简介Quartus II是Altera公司推出的CPLD/FPGA开发工具,Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性。Quartus II设计流程:1、设计输入:完成期间的硬件描述,包括文本编辑器、块与符号编辑器、MegaWizard插件管理器、约束编辑器和布局编辑器等工具;2、综合:包括分析和综合器以、辅助工具和RTL查看器等工具;3、布局连线:将设计综合后的网表文件映射到实体器件的过程,包括Fitter工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具;4、仿真:Quartus II

39、提供了功能仿真和时序仿真两种工具;5、器件编程与配置:包括四种编程模式,即被动串行模式、JTAG模式、主动串行模式和插座编程模式。使用New Project Wizard新建一个工程的过程:1、制定工程的文件存放目录、工程名以与最顶层的设计实体名,在默认情况下,工程名与最顶层的设计实体名是一样的。2、添加文件,包括最顶层的设计实体文件以与一些额外的电路模块描述文件或定制的功能库。3、选择目标芯片,具体芯片最好让编译器根据工程设计的实际情况自动选择。4、第三方EDA工具设定,包括设计输入与综合工具、仿真工具、时序分析工具等,默认为Quartus II自带的仿真器、综合器以与时序分析器。5、最后一

40、步系统将整体工程的各项参数和设置总结并显示出来,这时即可完成工程的创建4。2.3硬件描述语言VHDL简介VHDL全名Very-High-Speed Integrated Circuit Hardware Description Language(超高速集成电路硬件描述语言),诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述

41、语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的容,公布了新版本的VHDL,即IEEE标准的1076-1993版本(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中VHDL于Verilog语言将承担起大部分的数字系统设计任务5。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计

42、,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分与端口)和部(或称不可视部分),既涉与实体的部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成外部分的概念是VHDL系统设计的基本点。VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来,VHDL 语言主要具有以下优点:1、VHDL 语言功能强大,设计方式多样 VHDL 语言具有强大的语言结构,只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次

43、的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法,也支持层次化设计方法。 2、VHDL语言具有强大的硬件描述能力 VHDL语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL语言的强大描述能力还体现在它具有丰富的数据类型。V

44、HDL语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 3、VHDL语言具有很强的移植能力 VHDL语言很强的移植能力主要体现在:对于同一个硬件电路的VHDL语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 4、VHDL 语言的设计描述与器件无关 采用VHDL语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完成以后,VHDL语言允许采用多种不同的器件结构来

45、实现。 5、VHDL语言程序易于共享和复用 VHDL 语言采用基于库(library)的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用6。 由于VHDL语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量,缩短开发周期7。随着EDA技术的发展,使用硬件语言设计FPGA成为一种趋势。借用MAX+PLUS II或

46、Quartus II等软件用VHDL语言开发FPGA的完整流程为:1、文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件。2、功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真8。3、逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf的EDA工业标准文件。4、布局布线:将edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA。5、时序仿真:需要利用在布局布线中

47、获得的精确参数,用仿真软件验证电路的时序(也叫后仿真)。6、编程下载:确认仿真无误后,将文件下载到芯片中。.sof文件用于直接下载到芯片(掉电后会消失),.pof文件用于rom芯片下载(掉电后不消失)9。第3章系统软件设计3.1设计任务设计一个满足日常生活所需功能的出租车计费器。该项目主要由硬件电路设计和软件控制两部分组成。硬件部分主要完成出租车计费系统设计需要的FPGA芯片与外围显示和拨档开关控制电路设计。软件部分由主控器EP1C12控制完成,通过VHDL语言完成出租车计费系统的整个程序设计。实现计费器预置功能,能够预置起步价、每公里收费、车行加费里程、计时收费等。可以模拟实际出租汽车的行驶

48、、停止、暂停等状态,并根据不同状态进行计费。以十进制显示出租车行驶路程与车费。3.1.1方案拟定1、方案对比方案一:该方案系统设计框图,如图3-1:时钟信号等待信号公里脉冲计费、复位分频器控制器计费计时计程译码显示图3-1 方案一系统设计框图在该方案中,由分频模块、控制模块、计量模块、译码和动态扫描显示模块组成,可以实现出租车计费功能,但其使用公里脉冲信号做为公里计数的开始信号,由于实验箱中时钟信号的限制,不能完全实现计费计程功能。方案二:该方案系统设计框图,如图3-2:速度模块计时模块计费模块计程模块总费用总里程译码显示 脉冲信号速度 开始键 复位键 时钟信号图3-2方案二系统设计框图在该方

49、案中,主要包括控制电路模块、分频模块和扫描显示模块,其中控制电路模块包括速度模块、计程模块、计时模块、计费模块,扫描显示模块包括模8计数器模块、8选1选择器模块、七段数码管显示模块,最后由数码管显示计费计程结果。2、方案的确定与功能分析:根据方案一与方案二的对比,方案一不能实现此次设计的所有功能,最终选择方案二作为本次设计方案。本次设计要求设计一个出租车计费系统,具体功能设定如下:(1)车起步开始计费。首先显示起步价(本次设计起步价设为3.00元),车在行驶3km以,只收起步价3.00元。(2)车行驶超过3km后,按每公里2元计费(在3.00元基础上每行驶1km车费加2元),车费依次累加。(3

50、)当遇到红灯或遇客户需要停车等待时,则按时间计费,计费单价为每20s收费1元。(4)当总费用达到或超过40元时,每km收费4元。3.1.2模块的划分如图3-2,设计上总体分为芯片控制部分和扫描显示部分。以EP1C12Q240C8芯片作为核心控制电路,控制数码管的显示,具体显示容与方式由软件来完成。显示部分由外围设备数码管实现,显示出租车行驶路程和计费。出租车的开始、暂停状态与出租车速度均由拨档开关控制。分析系统设计要求不难得知,整个出租车计费系统大致可以分为控制电路模块、分频模块和扫描显示模块,其中控制电路模块包括速度模块、计程模块、计时模块、计费模块,扫描显示模块包括模8计数器模块、8选1选

51、择器模块、七段数码管显示模块。3.2 速度模块速度模块首先根据start信号判断是否开始计费,然后根据对输入的速度档位sp2.0的判断,决定变量kinside的值。kinside即是进行100m所需要的时钟周期数,然后每行进100m,则输出一个clkout脉冲信号。同时由cnt对clk进行计数,当cnt等于kinside时,把clkout信号置1,cnt清0。3.2.1速度模块元件图设计运行速度模块,生成速度模块元件图,如图3-3:图3-3速度模块元件图速度模块元件图(如图3-3)分析:clk为时钟脉冲输入端;reset为复位信号输入端;start为开始计费信号输入端;stop为停止计费信号输

52、入端;sp2.0为出租车状态输入端(停止或不同行驶速度);clkout为每行进100m脉冲信号输出端。3.2.2速度模块仿真使用QuartusII对速度模块进行功能仿真,如图3-4:图3-4速度模块仿真仿真图(如图3-4)分析:输入时钟脉冲,当start开始后,sp2.0设定出租车状态,clkout根据sp2.0输出脉冲信号,车每行驶100m输出信号clkout输出高电平。3.3计程模块此模块主要用于记录行进的距离。通过对clkout信号的计数,可以计算行驶的的距离kmcnt。一个clkout脉冲相当于行进100m,所以只要记录clkout的脉冲数目即可确定共行进的距离。3.3.1计程模块元件

53、图设计运行计程模块,生成计程模块元件图,如图3-5:图3-5计程模块元件图计程模块元件图(如图3-5)分析: reset为复位信号输入端;clkout为每行进100m脉冲信号输入端;kmcnt13.0为行驶路程的十分位;kmcnt23.0为行驶路程的个位;kmcnt33.0为行驶路程的十位,分别为十进制数。3.3.2计程模块仿真使用Quartus II对计程模块进行功能仿真,如图3-6:图3-6速度模块仿真仿真图(如图3-6)分析:当reset复位后,系统复位清零;否则,对输入信号clkout进行十进制计数,kmcnt1、kmcnt2、kmcnt3分别输出行驶路程的十分位、个位、十位。3.4计

54、时模块在汽车启动后,当遇到顾客等人或红灯时,出租车采用计时收费的方式。通过对速度信号sp的判断决定是否开始记录时间。当sp=0时,开始记录时间。当时间达到足够大时则产生timecount脉冲,并重新计时。一个timecount脉冲相当于等待的时间达到了时间计费的长度。这里选择系统时钟频率为1KHZ,实现千分频,1HZ控制计时模块,20s即计数值为20。3.4.1计时模块元件图设计运行计时模块,生成计时模块元件图,如图3-7:图3-7计时模块元件计时模块元件图(如图3-7)分析:clk为时钟脉冲输入端;reset为复位信号输入端;start为开始计费信号输入端;stop为停止计费信号输入端;sp

55、2.0为出租车状态输入端(停止或不同行驶速度);timecount为计时脉冲输出端。3.4.2计时模块仿真使用Quartus II对计时模块进行功能仿真,如图3-8:图 3-8计时模块仿真计时模块(如图3-8)仿真分析:当reset复位后,系统清零,start开始计费信号高电平有效,sp2.0设置速度为0,开始记录时间。预设20个时钟周期为20s,对时钟周期进行计数,每计20个时钟周期输出高电平,指示计时20s。3.5计费模块由两个进程组成。其中,一个进程根据条件对enable和price赋值:当记录的距离达到3公里后enable信号变为1,开始进行每公里计费,当总费用大于40元后,则单价pr

56、ice由原来的每公里2元变为每公里4元;第二个进程在每个时钟周期判断timecount和clkout的值,当其为1时,则在总费用上加上相应的费用。3.5.1计费模块元件图设计运行计费模块,生成计费模块元件图,如图3-9:图3-9计费模块元件图计费模块元件图(如图3-9)分析:clk为时钟脉冲输入端;reset为复位信号输入端; timecount为计时脉冲输出端;clkout为每行进100m脉冲信号输入端; kmcnt23.0为行驶路程的个位;kmcnt33.0为行驶路程的十位。count13.0为总费费的个位输出端;count23.0为总费费的十位输出端;count33.0为总费费的百位输出

57、端。3.5.2计费模块仿真使用Quartus II对计费模块进行功能仿真,如图3-10:图3-10计费模块仿真计费模块仿真(如图3-10)分析:当reset信号有效时,系统复位清零;否则,当计时计费信号timecount和计程计费信号clkout为高电平时,按照一定计费规则进行计费。3.6控制电路顶层例化模块控制模块包括速度模块、计程模块、计时模块和计费模块四个模块。通过元件例化语句将以上四个模块例化,形成一个总的控制模块,产生需要的设计电路。3.6.1控制电路顶层例化模块元件图设计运行控制电路顶层例化模块,生成元件图,如图3-11:图3-11控制电路顶层例化模块元件图控制电路顶层例化模块元件

58、图(如图3-11)分析:clk为时钟脉冲输入端,上升沿有效;reset为复位信号输入端,start为开始计费信号输入端,stop为停止计费信号输入端,均为高电平有效;sp2.0为出租车状态输入端(停止或不同行驶速度);kmcnt和count信号分别为出租车行驶的里程和花费的输出端。3.6.2控制电路顶层例化模块仿真使用Quartus II对控制电路顶层例化模块进行功能仿真,如图3-12:图3-12控制电路顶层例化模块仿真控制电路顶层例化模块仿真(如图3-12)分析:上图中,当复位信号reset为高电平时,系统所有寄存器、计数器都清零;当开始计费信号start信号有效时,计费器开始计费,根据出租

59、车行驶的速度sp2.0的取值计算所用花费和行驶里程;当停止计费信号stop有效时,计费器停止工作。3.7分频模块本设计用到1KHz和1Hz两种时钟频率。基准的时钟脉冲是实验箱上提供的1KHZ的信号,仅能满足控制电路模块所需的频率。分频模块对频率为1KHz的输入脉冲进行千分频,得到频率为1Hz的信号。其中1KHz用于控制电路模块,1Hz用于模8计数器模块。3.7.1分频模块元件图设计运行分频模块,生成分频模块元件图,如图3-13: 图3-13分频模块元件图分频模块元件图(如图3-13)分析:clkin为1KHz时钟信号输入端;clkout为千分频后的时钟信号输出端。3.7.2分频模块仿真使用Qu

60、artus II对分频模块进行功能仿真,如图3-14:图3-14分频模块仿真分频模块仿真(如图3-14)分析:输入时钟信号后,clkin被千分频后输出clkout。由于clkin的频率比较大,所以显示为一条黑带。3.8模8计数器模块本设计采用数码管显示数据,实验箱中数码管前连有一个74HC138译码器,可以用来控制数码管位码选择。74HC138译码器可接受3位二进制加权地址输入,模8计数器通过对输入信号clk的扫描输出3位二进制编码。3.8.1模8计数器模块元件图设计运行模8计数器模块程序,生成元件图,如图3-15:图3-15模8计数器模块元件图模8计数器模块元件图(如图3-15)分析:clk

温馨提示

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

评论

0/150

提交评论