- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
出租车计费器设计报告
摘 要
为了克服出租车计费系统传统设计方法的弊端,介绍了基于FPGA的出租车计费器设计的一般思路和方法。本系统是利用VHDL语言、PLD设计基于FPGA的出租车计费系统,选用ALTERA公司EPF10K10,以MAX+PLUSⅡ软件作为开发平台,设计了出租车计费器系统程序并进行了编译,功能仿真和下载。使其实现计费以及预置和模拟汽车启动、加速、停止、暂停等功能,并动态扫描显示车费数目。将计费器分成计费电路模块,数据转换模块,动态扫描模块,选择信号模块,显示模块,译码模块进行模拟仿真设计加以实现。运用顶层设计思路设计好各个底层文件对各个底层文件进行功能仿真,并用文本方法来实现顶层文件的设计,对顶层文件进行功能仿真,并把顶层文件下载到实验箱的FPGA加以硬件分析。
关键词: 出租车计费器;计数器;VHDL语言;MAX+PLUSⅡ;FPGA;
目 录
1 方案比较与选择(须详细阐述创新点或新见解) 1
2 底层文件仿真与分析 5
2.1 底层文件仿真 5
2.2 底层文件分析 5
3 顶层文件仿真与分析 8
3.1 顶层文件仿真 8
3.2 顶层文件分析 8
4硬件验证分析 9
5课程设计心得 10
Abstract 11
参考文献 12
附录(源代码)
1.方案比较与选择
方案选择对比:
方案—:
原理框图:
分析:
分频模块:假设车轮每转一圈为2米,送一个脉冲,则需要50分频(共100米),同理,若知道车轮直径,即可算出分频比
里程模块:每一百米记一次数,最大可以计999.9公里,精确到0.1公里。
取整模块:现实中出租车的精确度为0.1公里,计算价格的时候不足一公里的按一公里算,所以加了这一个模块,输出的是计算价格时的里程数。
计费模块:按行驶里程收费,起步费为7.0元,在车行3公里后再按2.2元/公里,车行9公里后按3.3元/公里,车停止不计费。
显示模块:通过动态扫描显示车费和里程数,将十进制数转化为四位十进制数(如将9999转化为四个9)以方便显示
方案二:
1.原理框图:
图表 2 方案2的原理框图
2. 分析:如(图表 2 方案2的原理框图)
(1) 计程车在不同的路程阶段都有不同的算法。每来一次时钟边沿,计程车走10米,再根据计程车费用算发算出相应的路费。再把十进制的路费和路程通过转换模块转换成四位二进制BCD码。
(2)通过一个通道选择,把要显示出来的二进制BCD码数据输入译码模块,完成了一个动态选择数码管。注意的是:通道选择的时钟CLK1要比CLK2大的很多。一般来说几千赫兹〈CLK1〈12MHZ,CLK2〈46HZ。
(3)从显示模块输出的数据通过译码模块翻译成数码管上可以显示的阿拉伯数字。
方案三:
1.原理框图:
图表 1 方案1的原理框图
2. 分析:
基于CPLD/FPGA的出租车计费器的组成如(图表 1 方案1的原理框图)所示。各部分主要功能如下:(1)A计数器对送来的脉冲信号进行计数(假定每转一圈送一个脉冲)。不同车型的车轮直径可能不一样,通过“设置1”对车型做出选择,以实现对不同车轮直径的车进行调整。(2)B计数器对百米脉冲进行累加,并输出实际公里数的BCD码给译码动态扫描模块。每计满500送出一个脉冲给C计数器。“设置2”实现起步公里数预制。(3)C计数器实现步长可变(即单价可调)的累加计数,每500米计费一次。“设置3”用来完成超价加费、起步价预制等。(4)译码/动态扫描将路程与费用的数值译码后用动态扫描的方式驱动数码管。(5)数码管显示将公里数和计费金额均用四位LED数码管显示(三位整数,1位小数)。
方案选择:方案二
1. 理由:
三个方案总体思想是一致的,都是通过(计数模块)→(转换模块)→(显示选择)→(译码模块)→(数码管的输出)的形式,但是在具体实现上有所不同。
方案一和三的路程计数方式较为繁琐,既考虑不同的车轮直径,又考虑脉冲分级。而方案二直接假定车轮大小不考虑,直接设定每次脉冲为一定的距离,我们假定是10m,这样就免去考虑车轮转了多少圈,每圈代表多少距离,使整个设计显得更加简单,容易。
根据我们组员的讨论,结合不同途径找到的资料,方案二较为容易实现,另外方案二的找到资料比较详细。我们决定选择方案二。
2.方案二的程序基本流图
图表 3 方案2的基本流图
2.底层文件仿真与分析
计费模块
计费模块分有三段仿真:1、当路程不到3公里时,收费7元(图表 4 luc300(3公里)时的仿真波形);2、当路程大于3公里时,在7元基础上,每公里加2.2元(图表 5 900luc300时的仿真
文档评论(0)