湖南科技大学基于FPGA的出租车计费器设计.docx
- 文档编号:12332170
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:50
- 大小:3.54MB
湖南科技大学基于FPGA的出租车计费器设计.docx
《湖南科技大学基于FPGA的出租车计费器设计.docx》由会员分享,可在线阅读,更多相关《湖南科技大学基于FPGA的出租车计费器设计.docx(50页珍藏版)》请在冰豆网上搜索。
湖南科技大学基于FPGA的出租车计费器设计
论文题目:
基于FPGA的出租车计费器设计
专业:
微电子学
本科生:
(签名)___________
指导教师:
岳改丽(签名)___________
摘要
论文阐述了EDA的概念和发展、VHDL语言的优点和语法结构,并分析了出租车计费器的各模块的功能要求、基本原理以及实现方法。
本系统的设计采用VHDL硬件描述语言编程,基于QuartusII平台进行编译和仿真。
论文介绍了一种采用FPGA芯片设计出租车计费器的方法,阐述了该计费器的主要组成单元——车轮大小选择模块、计程模块、计时模块及计费模块、数据分配模块、分频模块、译码模块的设计方法,同时给出了详细的仿真波形,实现了出租车按行驶里程自主收费,还能模拟汽车启动,停止,暂停等状态,同时提高了计费系统的可靠性、通用性。
本设计在FPGA试验箱上运行良好,实现了计费器的各项功能。
关键字FPGA,VHDL,QuartusII,出租车计费器
Subject:
ThetaximeterbasedonFPGAdesign
Specialty:
Microeletronics
Name:
YuanWang(Signature)___________
Instructor:
GailiYue(Signature)___________
ABSTRACT
ThisarticleelaboratestheconceptanddevelopmentofEDA,explainstheadvantagesandgrammarstructureofVHDL,meanwhile,analysedthefunctionrequest,thebasicprincipleaswellasthemethodofaccomplishmentofeachparts.Thissystem'sdesignprogrammesintheVHDL,compiledandemulatedbasingonQuartusIIplatformofAlteraconsistsoffourmodules,thatisspeed,mileage,timingandbillingmodule.ThispaperintroduceonemethodthatcanuseachipofFPGAtodesigntaximeter,whichconsistsoffourmodules,thatisspeed,mileage,timingandbillingmodule,andthen,describethedesignofeachmoduleandgiveoutthesimulation.Thistaximetercanbeself-chargingaccordingtomileage,whichalsocansimulatethestateofspeed,suchasstart,stop,andpause,atthesametime,itsreliabilityandcommonalityalsocanbeimproved.ThisdesignFPGAtestboxonrunningwell,realizethedifferentfunctionsofthemessageaccountingdevice.
KEYWORDSFPGA,VHDL,QuartusII,Thetaximeter
第1章绪论
1.1课题研究背景及目的
伴随中国经济的腾飞,城市化的进程也随之加快。
虽然人们出行的选择趋于多样化,但是出租车作为一种重要的交通工具,也为很多人作为出行的选择。
大城市里出租车已经相当普及,但是在中小城市出租车依然处于快速发展的阶段。
出租车的计费方式也在发生变化,由只能显示里程的方式变为现在的自主计费和打印发票及语音提示的智能化方式;根据出租车行业的发展需求,国内许多生产厂商也制造出不同类型的计价器,传统的出租车计费器经过十几年的使用,在稳定性,成本等方面都具有一定的优势。
我们可以采用单片机对计费器进行设计,很多的功能也可以用单片机去实现。
但是由于不同系列的单片机有着不同的指令集,程序也不能够通用,这样给设计就带来很大麻烦,设计研发难,开发周期长。
倘若系统设计不好,会造成系统不稳定,灵活性差,难以实现复杂系统的设计。
在经济迅速发展的今天,许多因素都影响着出租车行业的成本,传统的基于单片机的出租车计费系统已经很难满足发展需要,新的计费系统就应运而生,FPGA等数字逻辑器件就担起重任,去解决出现的问题。
对于不同的逻辑,FPGA可以并行执行,可以同时去处理多个任务,这样,FPGA就展示出更高的效率。
针对不同的需求设计不同的模块,可移植性好,可以很快的去实现系统需求的各种功能。
利用FPGA设计出满足出租车不同计费需求的计费器,去满足当地出租车的计费需求。
这个课题在实现计费功能的同时,也解决了传统出租车计费器系统的不足。
出租车的需求不断的增大,因此,出租车计费器的需求也将不断增大,计程车的服务也显得越来越重要,因此出租车计费器也就应运而生了。
考虑到目前出租车行业迅猛发展的趋势以及对计费器更高的灵活性要求,本设计希望尝试一些新的方法来予以解决以上问题。
1)利用FPGA取代MCU
FPGA等数字可编程器件的出现,使得传统电子设计不能完成的任务得以解决,采用FPGA实现出租车计费器,具有可行性高,电路简单,很大程度上减少外围器件的使用,可以采用软件进行完全仿真,灵活度高,可以设计相对复杂的数字系统,而且在不同的FPGA芯片上,这些已经编写好的系统程序都可以使用。
任何数字器件的功能都可以用FPGA去实现,使用FPGA来开发数字电路,可以设计时间得到缩减,PCB面积也会相应减小,系统的可靠性也会得以提高。
同时由于FPGA的功能完全取决于VHDL语言编写的程序,不受制于某种芯片的特殊指令,产品的更新换代能力自然提高。
2)增加计价标准设定功能
此功能模块的设计,计价标准设计也显得更加灵活,同时还体现目前出租车行业发展的需要,使运价、油价联动成为可能。
3)增加了等待计时费用功能
该模块的增加,使得计费更加趋于合理,达到出租车死机与乘客之间的一个平衡。
可以选择的范围也变得很广阔。
顺应了出租车行业的发展需求,因而,必将得到快速发展。
1.2课题研究现状
针对出租车计费器,在这方面,很多人已经做出了许多不同的设计,使用的方式也各式各样,有FPGA,单片机,ARM以及可编程的逻辑器件等。
本次毕业设计的题目就是“基于FPGA的出租车计费器设计”,与采用单片机去实现相比,采用FPGA现场可编程逻辑器件来实现出租车的计费功能,同时也很大程度上凸显了EDA的技术优势。
对于这类的设计,我们不仅可以做在线仿真和测试,还可以将所有的设计都集中在统一的自顶向下的设计方案下,根据系统需求,设计不同的模块,最后经过对不同的模块进行系统性综合,从而我们就可以完成整个系统设计。
很多人都将基于EDA技术的CPLD/FPGA的设计方案作为首选方案去完成相关课题的设计,很大程度是基于EDA的这些技术优势。
1.3课题研究方法
根据系统的总体功能,采取自顶向下模块化的设计方法,进行端口定义和功能划分,通过合理连接和协调各相关的各个不同端口,得到整个电路系统。
本设计将采用EP2C5Q208芯片作为控制器芯片,8个共阴极数码管,以及若干拨码开关,以QuartusⅡ7.2作为仿真开发环境。
首先,对系统时钟做分频处理,得到系统各模块所需的时钟频率,将采集到的信息送到EP2C5Q208芯片,以及对等待信号,里程脉冲,计费/复位等信息进行综合处理,电机转动时间以及停止,低于一定转速时也按等待处理,电机的这些信息转化为相应的里程信息和等待时间,通过控制器的处理,得到总的费用信息,将时间,里程,等待时间等信息,通过LED数码管显示出来。
1.4论文的构成及研究内容
第1章绪论部分介绍出租车计费器的研究背景,目的,现状以及所采用的研究方法;
第2章介绍EDA技术发展及优势,FPGA,VHDL语言,硬件平台QuartusⅡ,实验开发系统及芯片简述;
第3章具体介绍出租车计费器的设计;
第4章对设计做全面总结。
第2章EDA及设计相关工具介绍
2.1EDA技术的发展及优势
2.1.1EDA技术的发展
人类已进入到高度发达的信息化社会,电子产品的进步推动信息社会的发展。
提高性能、增大复杂度,而价格却一直呈现下降的趋势,使得现代电子产品更新换代的速度也越来越快,生产制造技术和电子设计技术的发展是实现这种进步的主要原因。
前者以微细加工技术为代表,目前已进展到纳米阶段,可以在几平方厘米的芯片上集成数亿个晶体管;后者的核心就是EDA技术。
EDA技术主要能辅助进行三方面的设计工作:
IC设计,电子电路设计以及PCB设计。
想要完成上述超大规模集成电路的设计制造离不开EDA技术的大力支持,电子产品市场迎来飞速发展的,设计师需要更加实用、高效的EDA工具,使用统一的集体化设计理念,改变传统的设计方式,将精力集中到设计构想、方案比较和寻找优化设计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,为此,也就需要更高端的EDA技术去支撑。
在功能仿真、时序分析、集成电路自动测试、高速印刷版设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展是未来的EDA技术的发展趋势。
2.1.2EDA技术的设计优势
自底向上的设计方法是传统的设计方法,一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块写出与之对应的真值表,通过人工使用卡诺图进行逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此确定相关的电子元器件,设计电路板,最后进行实测与调试,硬件系统功能仿真难以实现,因此其中的任何一个环节出现错误,要想对其进行查找和修改就会显得十分的不便,传统设计方法的费时、费力缺点就暴漏无疑,而EDA技术则是采用自顶向下且先进高效的设计方法。
在电子产品的设计理念、设计方式、系统硬件构成、设计的重用性、知识产权、设计周期等方面,EDA技术具有相当大的技术优势。
所以本次设计的出租车计费器抛弃了传统的设计方法,选择采用主流的EDA技术进行系统设计。
2.2FPGA介绍
2.2.1FPGA发展状况
FieldProgrammableGateArray是FPGA的英文全称,即现场可编程门阵列。
它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为(ASIC)领域中的一种半定制电路而出现的,一方面,使得定制电路的不足支撑得以解决,另一方面,原有可编程器件门电路数有限的缺点也得到克服。
FPGA起源于美国的Xilinx公司,世界上第一块FPGA芯片是该公司在1985年推出的。
通过二十多年的发展,使得FPGA的硬件体系结构和软件开发工具得到完善,并且不断走向成熟。
FPGA器件的集成度在目前Xilinx、Altera等世界顶级厂商的推动下,已经提高到一个前所未有的高度。
融合了微电子技术、电路技术、EDA技术的FPGA,使设计者在进行所需逻辑功能的设计时更能集中精力,这样设计周期得以缩短,设计质量也相应的得到提高。
2.2.2、FPGA结构与特点
AlteraXilinx,Lattile和Actel是目前主要生产FPGA公司,生产的FPGA品种和型号繁多、尽管这些FPGA的集总结构和性能指标各有特色,但它们都由逻辑功能模块排成阵列,并通过可编程的互连资源将这些逻辑功能块相互连接,从而完成相应的设计。
可编程逻辑功能块、可编程输入/输出块和可编程互连资源是典型的FPGA所包含三类基本资源。
可编程逻辑功能块是实现用户功能的基本单元,多个逻辑功能块通常规则地进行排列,整个芯片中分布;可编程输入/输出块完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元周围,并且四周成列分布;可编程内部互连资源包括长连线,短连线,双长线和一些可编程连接开关,用于连接各个编程逻辑块或输入/输出块,进而构成具有特定功能的系统或电路。
每个单元的功能以及它们的互连关系可以由用户通过编程决定,从而实现所需的逻辑功能。
不同厂家或不同型号的FPGA,通常在可编程逻辑块的内部结构、规模、内部互连的结构等方面存在较大的差异。
可编程的查找表结构是FPGA所采用的一种结构。
LUT是可编程的最小逻辑结构单元。
基于SRAM的查找逻辑形成结构是很多FPGA所采用的结构,换句话说,就是用SRAM来构成逻辑函数发生器。
N个输入变量的任何逻辑功能都可以由一个N输入查找表完成。
SRAM、反熔丝、Flash是目前市场上的三种基于FPGA编程技术。
速度快且具有可重编程能力使得SRAM成为迄今为止应用范围最广的结构形式,,而反熔丝只具有一次可编程能力。
FPGA领域比较新的技术是基于Flash的FPGA,它也可以进行重编程。
2.3VHDL介绍
2.3.1VHDL简介
VHDL的全名是Very-High-speedIntegratedcircuitHardwareDescriptionLanguage,即标准硬件描述语言。
在新世纪中,数字系统设计任务大都是通过VHDL语言实现的,VHDL主要用于描述数字系统的结构、行为、功能和接口。
除了含有许多具有硬件特征的语句外,VHDL语言形式和描述风格与句法十分类似于一般的计算机高级语言,如C++,VC++等。
将一项工程设计或称设计实体分成外部和内部是VHDL的程序结构的一大特点;即设计实体的内部功能和算法完成部分。
在对一个设计实体进行外部界定后,一旦内部程序编写仿真无误后,其他的设计对该实体进行调用,体现其很强的可移植性。
这种可以将设计实体分成内外部分的概念是VHDL系统设计的特点。
EDA技术的高速发展,使得硬件描述语言设计FPGA成为一种主流。
采用VHDL语言借助QuartusII等软件开发环境进行数字系统的完整设计流程如下:
(1)设计输入:
可以在任何文本编辑器下进行输入VHDL源程序,也可以用专用HDL编辑环境。
通常情况下将源程序文件保存为.vhd文件。
(2)功能仿真:
将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确也叫前功能仿真,这一步不适用于简单的设计,对于简单的设计,只在分步仿真完成以后,进行时序仿真。
(3)逻辑综合:
将源文件调入逻辑综合软件进行综合,即把语言综合成最简单的布尔表达式和信号的连接关系图。
逻辑综合软件会生成.edf的EDA工业标准文件。
(4)布局布线:
进行布局布线是将.edf文件调入PLD厂家提供的软件中操作,即把设计好的逻辑关系安放到PLD内。
(5)时序仿真:
需要利用在布局布线中获得的精确数据,用仿真软件验证电路的时序,也叫后仿真。
(6)编程下载:
仿真成功后,将仿真所生成的文件下载到目标芯片中。
.sof文件用于直接下载到芯片;.pof文件用于rom芯片下载。
2.3.2VHDL设计优点
利用VHDL语言设计数字逻辑硬件系统具有多方面的优点。
(1)具有很广阔的覆盖面,行为描述能力也相当强大,是一个多层次的硬件描述语言。
(2)可读性强,一方面计算机容易接受,读者也容易理解。
(3)可以长期使用,行为级描述不会随着工艺改变而过时。
生产工艺与VHDL的硬件描述无关。
当工艺发生变化时,只需对属性参数做相应的修改即可。
(4)可移植性强,可以将大规模设计进行分解,同时可以使用已有的设计模块。
一个人不可能独立完成大规模的设计,必须由多人共同协同完成设计,设计的分解和设计的再利用在VHDL的支持下变得容易。
2.4QuartusII概述
2.4.1QuartusⅡ介绍
QuartusII是Altera公司单芯片可编程系统(SOPC)设计的综合性环境,也是适合SOPC的最全面的设计环境。
它拥有现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)设计的所有阶段的解决方案。
QuartusII设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmeddevices开发的统一工作流程。
同时,Altera的QuartusII可编程逻辑软件还属于第四代PLD开发平台。
该平台支持一个工作组环境下的设计要求,其中包括支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。
同样,QuartusII具备仿真功能,同时也支持第三方的仿真工具。
QuartusII支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块进行调用,从而解决了原理图与HDL混合输入设计的问题,并且在设计输入之后,QuartusII的编译器将给出设计输入的错误报告。
2.4.2QuartusII设计流程及注意事项
基于QuartusII的VHDL文本输入设计流程如下图所示:
图2.1QuartusII的VHDL文本输入设计流程图
由上图可以看出,对于电子设计的各个阶段、各个层次的操作都在Altera公司提供的QuartusII平台上进行编译、仿真测试,然后通过仿真时序图可以看出了此编程是否符合预想的设计功能,倘若不符,可以及早对各子模块及系统中的错误在硬件测试前发现,系统设计的效率得以提高。
在设计实验过程中需要注意以下几点:
首先,在进行编程操作时,时要注意区分信号与变量,同时对信号和变量的正确定义和应用也很重要;
其次,在创建工程时,要保证文件名和实体名完全一致,否则,编译无法完成,工程名可以与之不一致;
再次,注意结束时间的设置,最好将其设置为时间周期的15倍,否则可能会出现时序混乱的现象;
最后,仿真中,灵活的进行进制的转换,观察者可以更明显地看出来时序图的功能。
2.4.3QuartusII的设计优势应用举例
随着逻辑设计复杂性的不断增加,仅依赖于软件方式的仿真测试来了解设计系统的硬件功能已经远远不够了,而需要重复进行硬件系统测试的测试也变得更为困难。
嵌入式逻辑分析仪SignalTapII的使用就解决了这一问题。
它可以随设计文件一并下载于目标芯片中,用以捕捉目标芯片内部系统信号节点处的信息或总线上的数据流,而又不影响原硬件系统的正常工作。
嵌入式逻辑分析仪SignalTapII有很多的优点:
(1)允许对设计层次的模块的信号节点进行测试,可以使用多时钟驱动;
(2)利用SignalTapII成功的采集了FPGA内部信号的波形,不占用额外的I/O引脚;
(3)SignalTapII为硬件板级调试工具,它采集的波形是工程下载后的实时波形,方便设计者查找引起设计缺陷的原因;
(4)节约成本。
SignalTapII集成在QuartusII软件中,无需另外付费;
(5)能通过设置以确定前后触发捕捉信号信息的比例。
除此之外,应用SignalTapII还能解决各种各样的问题,如外部存储器的双向数据口的实时波形检测、驱动模块并串转换波形等。
ALTERA公司的型号为EP2C5Q208C8的CycloneⅡ系列芯片,该芯片是ALTERA推出的低价格、高容量的FPGA芯片,在实际应用中被广泛的采用的原因是其低廉的价格、优良的性能以及丰富的片上资源,这些都是其他同类产品无法相比的。
这款芯片的资源利用率最佳为85%左右,系统的核心是QuartusⅡ软件包的编程器,设计处理相当强大,芯片的利用率也可以通过设计者添加特定的约束条件来提高。
2.5实验开发系统及芯片简述
本设计采用的实验箱为LTE_EDA_02F型EDA/SOC实验开发系统,选用的芯片为EP2C5Q208C8。
关于FPGA/CPLD器件的配置:
当在QuartusⅡ中完成设计后,就应当将所设计的电路下载到CPLD芯片中,结合用户系统进行统一的调试。
针对CPLD器件不同的内部结构,Altera公司提供了不同的器件配置方式。
Altera可编程逻辑器件的配置可通过编程器、JATG接口在线编程及Altera在线配置三种方式进行。
Altera器件编程的连接硬件包括ByteBlaster并口下载电缆,ByteBlasterMV并口下载电缆,MasterBlaster串行/USB通信电缆,BitBlaster串口下载电缆。
Altera公司提供的EPC1、EPC2、EPC16和EPC144等PROM配置芯片。
ByteBlaster并口下载电缆连接示意图如下图所示:
图2.2ByteBlaster并口下载电缆连接示意图
ByteBlaster并口下载电缆提供两种下载模式:
(1)标准串行模式(AS模式)——用来产品定型后,完成对FPGA代码的固化,在下次上电后,能够自动对FPGA进行配置,使产品独立工作;
(2)JTAG模式——具有工业标准的JTAG边界扫描测试电路(符合IEEE1149.1:
1990标准),用来调试FPGA或NiosⅡCPU,多在产品开发初期使用。
第3章出租车计费系统的设计
3.1总体设计
3.1.1出租车计费器的设计要求
本设计要求设计日常生活所需要功能的基于CPLD/FPGA的出租车计费器,其设计要求:
(1)汽车行驶里程用4位数字显示,显示方式为“XXX.X”,单位为km,精确到0.1km。
(2)里程单价用2位数字表示,显示方式为“X.X”,单价为元/km,根据每天不同的时间段有两种情况:
当时间段为06:
00~23:
00时单价为1.4元/km,其他时间段内为2.0元/km。
(3)出租车遇到红灯或是紧急情况需要等候时,也相应的付费,等候单价为每30秒1元;等候时间越长,相应费用也越多。
(4)费用的计算,若为白天,出租车的起步价为6.00元,若为晚上,出租车的起步价为8.00元,当里程小于2km时,按起价计算费用,当里程大于2km时,按公式计算:
费用=里程×里程单价+等候时间×等候单价。
(5)费用的显示,用4位数字显示,显示方式为“XXX.X”,单价为元。
3.1.2总体框架设计
图3.1系统设计总框图
它由外部输入模块、控制模块和显示模块三部分组成。
控制模块是整个系统的核心,它由分频模块、控制模块、计量模块和译码显示模块构成。
(1)分频模块。
分频模块是对系统时钟频率进行分频;
(2)控制模块。
计价器控制模块主要完成对计价器状态的控制;
(3)计量模块。
计量模块完成计价、计时和计程功能;
(4)译码显示模块。
译码显示模块完成计价、计时和计程数据显示。
3.1.3程序流程图
图3.2程序流程图
3.2出租车计费器主要模块设计
3.2.1出租车总体模块设计
图3.3出租车计费器设计的顶层原理图
3.2.2车轮大小选择模块设计
不同型号的车轮,其所对应的直径不同,每行驶100m,对应的圈数也不同,车轮直径与每公里需要转过圈数对照表由下表3.1给出。
表3.1车轮直径与每千米所转圈数对应表
车轮直径(mm)
520
540
560
580
DIP开关表示
00
01
10
11
对应计费圈数
640
610
580
550
图3.4车轮大小选择模块原理框图
通过选择开关sp[1],s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖南 科技大学 基于 FPGA 出租车 计费 设计