基于Verilog HDL设计的出租车计价器.docx
- 文档编号:248619
- 上传时间:2022-10-07
- 格式:DOCX
- 页数:27
- 大小:259.88KB
基于Verilog HDL设计的出租车计价器.docx
《基于Verilog HDL设计的出租车计价器.docx》由会员分享,可在线阅读,更多相关《基于Verilog HDL设计的出租车计价器.docx(27页珍藏版)》请在冰豆网上搜索。
西华大学课程设计说明书
题
专
目:
业:
出租车计价器
信息工程
年
级:
2009级
学
生:
潘帅
学
号:
33200908020****
指导教师:
林竞力
完成日期:
2012年6月6日
摘要:
本文介绍了一种采用可编程逻辑器件(FPGA/CPLD)进行出租车计费器的设计思想以及实现方法。
本设计实现了出租车计费器所需的一些基本功能,计费金额包括起步价、里程计费、等待计时计费等。
该设计采用模块化设计,在QuartusII9.0软件平台下,采用VerilogHDL硬件描述语言描述和模拟仿真了分频模块、计程模块、计费模块、计时模块,译码以及动态扫描显示模块,完成了出租车计费器仿真设计和硬件电路的实现。
关键词:
FPGA,出租车计费器,Quartus,VerilogHDL
Abstract:
Thisarticledescribesthedesignideasandmethodsofthetaximeter,throughtheprogrammablelogicdevice(FPGA/CPLD).Thedesignofataximetertoachievetherequiredbasicfunctions,Thetotalofbillingincludedthestartingprice,metered,andwaitfortimebilling.ThroughtheQuartusII9.0SoftwarePlatform,UsingVerilogHDLlanguagecompletedthedescriptionandsimulationoffrequencymodule,themetermodule,Billingmodule,timingmodules,decoding,dynamicscanningdisplaymodule.IT
Ithascompletedthetaximetersimulationandthehardwarecircuit.
Keywords:
FPGA,Taximeter,Quartus,VerilogHDL
目 录
1.前 言 1
2.总体方案设计 2
2.1设计要求 2
2.2方案论证与选择 2
2.3设计思想及原理 3
3.单元模块设计 5
3.1分频模块 5
3.1.1计数器分频模块 5
3.1.2计数器分频模块仿真结果 5
3.1.3数码管分频模块 6
3.2计程模块 6
3.2.1计程模块电路 6
3.2.2计程模块仿真结果 7
3.3计时模块 7
3.3.1计时模块电路 7
3.3.2计时模块的仿真结果 7
3.4控制模块 8
3.4.1控制模块电路 8
3.4.2计时模块的仿真结果 9
3.5计费模块 10
3.5.1控制模块电路 10
3.5.2计费模块的仿真结果 10
2.6数码管显示模块 11
4.整体顶层模块设计 12
4.1整体顶层模块电路 12
5.系统功能仿真及调试 13
5.1系统仿真及调试 13
6.总结与体会 16
致 谢 17
参考文献 17
附录A:
单元模块VerilogHDL源代码 18
A.1计数器的分频模块VerilogHDL源代码 18
A.2数码管的分频模块VerilogHDL源代码 18
A.3计程模块VerilogHDL源代码 19
A.4计时模块VerilogHDL源代码 20
A.5控制模块VerilogHDL源代码 21
A.6计费模块VerilogHDL源代码 21
A.7数码管显示模块VerilogHDL源代码 21
A.8整体顶层模块VerilogHDL源代码 23
附录B:
整体顶层电路图 24
1.前 言
随着出租车行业的发展,对出租车计费器的要求也越来越高。
最近几年出租车行业发展迅速,在全国有几千万家出租车公司。
因此出租车计费器市场是庞大的。
而出租车计费器成为不可缺少的一部分。
出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。
国内出租车计价器已经经历了4个阶段的发展。
从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器,以及FPGA计价器.出租车计价器计费是否准确,运数据的管理是否方便都是人们最关注的。
该计价器能实现按时间和里程综合计算车价,能显示时间、里程、单价、总车价等相关信息显示。
信息社会的现代电子产品,性能越来越高,复杂度越来越大,更新步伐也越来越快。
实现这种进步的主要原因就是微电子技术和电子技术的发展。
而电子技术的发展后者的核心就是电子设计自动化技术。
EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子CAD通用软件包,它根据硬件描述语言HDL完成的设计文件,自动完成逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
没有EDA技术的支持,想要完成超大规模集成电路的设计制造是不可想象的;反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。
本设计采用VerilogHDL语言来设计实现出租车计费系统,具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用潜力。
源程序经ALTERA的QuartusII9.0软件调试优化,通过下载到特定芯片后,可应用于实际的出租车计费系统中。
本次课程设计巩固和运用了所学课程,通过理论联系实际,提高了分析、解决技术实际问题的独立工作能力,通过对一个出租车计费器的设计,进一步熟悉了数字电路系统设计、制作与调试的方法和步骤。
2.总体方案设计
2.1设计要求
该出租车计价器实现功能:
1、行程≤4公里,且等待累计时间≤2分钟,起步费为8.0元。
2、行程4公里外,以每公里1.0元,等待累计时间2分钟外,以每分钟以1.0元计费。
3、能显示行驶公里数、等待累计时间和最后的总费用。
4、能通过修改程序来对计费要求实现改变。
用VerilogHDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路,各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。
2.2方案论证与选择
电源电路及
保护电路
金额
显示
单价显示
里程传感器
移位寄存器电路
方案一:
采用数字电路控制,其原理图如图1-1所示。
采用传感器件,输出脉冲信号,经过放大整形最为移位寄存器的脉冲,实现计价,但是考虑到这中电路性能不够稳定,故障率高,如要做到很精确多功能则其规模较大,难调试。
而且电路不实用。
图2-1数字电路方案
方案二:
采用单片机控制,通过单片机作为主控器,利用1602字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,以下是方案三的系统流程图,本方案主要通过软硬结合可以很容易实现要求,其灵活性也还不错,成本也不高。
方案原理图如下图所示:
图2-2单片机控制方案
方案三:
采用EDA技术,根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块计量模块、译码和动态扫描显示模块,其系统框图如图1-3所示:
时钟信号
分频器
计费
复位信号
计程脉冲
控制器
计程
译码及显示
计时脉冲
计时
图2-3PFGA控制方案
方案总结:
通过各个方案的比较,首先数字电路控制不实用,不重点考虑,单片机方案虽有较大的活动空间,能实现所要求的功能而且能在很大的程度上扩展功能,虽然还可以方便的对系统进行升级,但考虑到单片机方案软件设计调试较为繁琐,最大限制还是在与本课程设计是利用EDA技术实现,另一方面采用可编程逻辑器件设计,外围电路简单,模块话设计方便原理清晰,灵活性强,并且完成和扩展附加功能性强。
综上,本设计采用方案三。
2.3设计思想及原理
出租车的一般计费过程为:
出租车载客后,启动计费器,整个系统开始运行,里程计数器和时间计数器从0开始计数,费用计数器从8开始计算。
再根据行驶里程或停止等待的时间按以上的标准计费。
若在行驶状态,则计程器开始加计数,当路程超过四公里后,计费器以每公里1元累加。
若出租车停止等待状态,则计时器开始加计数,当时间超过两分钟后,
计费器以每分钟1元累加。
出租车到达目的地停止后,停止计费器,显示总费用。
根据课程设计要求计价器可根据车轮转数计算路程,车轮每转一圈送一个脉冲波,假设每转一圈为2米,车轮每转一圈送一个脉冲波(可用传感器检测送出脉冲),本设计为了好模
拟仿真假设的是车轮转动100圈才产生一个脉冲,即是一个脉冲是代表200米,则经过5分频器后是每1Km送一个脉冲到里程计算模块,这样方便在软件里面仿真观察,若要下载到实物应用中去,通过实际车轮周长自己设置不同的分频电路来达到产生任意精度的计程距离模块。
其主要原理框图如图1-3所示。
而当车停止的时候通过分频模块产生秒脉冲,通过计时要求来产生计费,本设计重点就在计费控制模式模块和计费模块这两大模块的设计,则根据出租车计费器的工作过程,其主要原理框图如图1-3所示。
本系统采用分层次、分模块的方式设计,其本系统组成框图如下所示。
其中行驶路程计数模块、等待时间计数模块和计费模块,用来统计路程、等待时间和总费用,控制模块是用来控制计费模块,数码管显示模块用来显示行驶的公里数、等待累计时间和总费用等信息。
3.单元模块设计
本系统采用层次化、模块化的设计方法,设计顺序为自下向上。
首先实现系统框图中的各子模块,然后由顶层模块调用各子模块来完成整个系统。
为了便于在数码管里显示,这里的路程、时间和费用计数器均用十六进制表示。
3.1分频模块
将时钟信号进行分频,分出的频率供后面的计程模块和计时模块用,以及后面的数码显示扫描模块都会用到。
3.1.1计数器分频模块
此模块的功能是对总的时钟进行分频,分出的频率是让计数器用的,因为总的时钟是50M的。
设计该模块的时候用了一个32位的计数器,当计数器计到25_000000的时候产生时钟。
在仿真的时候为了快速的方便观察,设计了一个5分频的电路。
在此时假设车轮每转一圈为
2米,则转动100圈送一个脉冲,即是200米,则在经5分频后,每1Km送一个脉冲到里程计算模块。
同理,若知道车轮直径,即可算出分频比来设置合理的分频电路,当下载到实物时还是用的是2HZ的时钟
图3-1计数器的分频模块
3.1.2计数器分频模块仿真结果
图3-2计数器的分频模块功能仿真
从波形可以看出当reset为低电平的时候clk为零,当reset为高电平的时候clk的高
电平占了clk_50M的5个周期,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Verilog HDL设计的出租车计价器.doc 基于 Verilog HDL 设计 出租车 计价器 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)