📄 taxi.txt
字号:
多功能计程车计价器的设计
栏 目 树 形 导 航
| 首页 | 学习中心 | 竞赛与设计 | 下载中心 | 图片现场 | 技术留言 | 关于我们 | 本站提供 | 关注 |
您现在的位置: 奔跑的单片机 >> 竞赛与设计 >> 竞赛作品选编 >> 信息正文 用户登录 新用户注册
多功能计程车计价器的设计 热 【字体:小 大】
多功能计程车计价器的设计
作者:lintel 信息来源:本站原创 点击数:727 更新时间:2006-4-3
多功能计程车计价器的设计
摘要:
介绍了基于FPGA的多功能计程车计价器的电路设计。该设计采用了可编程逻辑器件FPGA的ASIC设计,并基于超高速硬件描述语言VHDL在Xilinx公司的SpartanⅡ系列的2sc200PQ208-5芯片上编程实现了整个系统的控制部分,整个自动控制系统由四个模块构成:秒分频模块、控制模块、计量模块和译码显示模块。该设计不仅仅实现了显示计程车计费的功能,其多功能表现在它可以通过选择键选择显示计程车累计走的总路程和乘客乘载的时间。计时、计程、计费准确可靠,应用于实际当中有较好的实用价值和较高的可行性。
关键字:
可编程逻辑器件 超高速硬件描述语言 计时 计价 计程
The design of multi-function meter of taxi
abstract :
The paper will introduce the design of multi-function meter of taxi
based on FPGA. The FPGA of Programmable Logic Devices (PLD) are used the
design is the ASIC, it is programming with VHDL in the ICs of
2sc200PQ208-5 to realize the system , the ICs is the series of SpartanⅡ of
the Xilinx Company. The auto control system is constituted of four modules
which are the frequency division modes piece 、the control modes piece、the
calculate mold piece and the piece of translation display modes .This
design can not only realized the function of normal meter ,it also can
display the diatance and time by controlling the choice key. It has good
practical value and high possibility when apply in actual.
Keywords :
PLD/FPGA VHDL time marked price log
目 录
摘 要 …………………………………………………………………………1
关键字 …………………………………………………………………………1
0引 言 …………………………………………………………………………1
一、 整体方案设计 ……………………………………………………………3
1.1 设计要求及主要技术指标 ………………………………………………3
1.2 设计方案比较 …………………………………………………………3
1.3 整体设计方案的实现 ……………………………………………………3
二、模块的设计 …………………………………………………………………4
2.1 秒分频模块 ……………………………………………………………… 4
2.1.1秒分频模块的设计思路及原理 ……………………………………………4
2.1.2 秒分频模块的仿真实现 …………………………………………………4
2.2 控制模块模块 ……………………………………………………………5
2.2.1控制分频模块的设计思路及原理 ………………………………………5
2.2.2 控制模块的仿真实现 …………………………………………………5
2.3 计量模块 …………………………………………………………………6
2.3.1计量模块的设计思路及原理 ………………………………………6
2.3.2计量模块的仿真实现 ………………………………………6
2.4 译码显示模块 ………………………………………………………………7
2.4.1译码显示模块的设计思路及原理 ………………………………………7
2.4.2 译码显示模块的仿真实现 ………………………………………7
三、 软件的制作 ……………………………………………………………7
四、 系统的测试 …………………………………………………………9
4.1 测试仪器 ………………………………………………………………9
4.2 测试方法 ………………………………………………………………9
4.1 测试结果 ………………………………………………………………9
五、 结束语 ……………………………………………………………………9
参考文献 ……………………………………………………………………9
附录 …………………………………………………………………………10
0 引言
随着我国市场经济的发展,交通也越来越便利,特别是计程车,以快捷、方便的特点早已盛行各个城市,成为城市交通的重要工具。计程车市场从90年代初的起步阶段到现在已经进入了高峰期。随着城市化水平的提高和人民生活水平的改善,计程车的服务也就显得越来越重要。因此计程车计价器也就应运而生了。本设计就是针对目前计程车计价器的问题设计的一种基于可编程逻辑器件FPGA的ASIC,并用超高速硬件描述语言VHDL编程实现的可同时显示金额、乘车时间、乘车总路程的“多功能”计价器。有较好的实用价值和较高的可行性。
一 整体方案设计
1.1 设计要求及主要技术指标
实现计程车的计价器功能。一方面实现基本功能时,包括在行程中满足3公里以内计起步价 10 元,以后以1.6元/公里计费;处于等待的状态下满足2
分钟以内计2元,以后以1.5元/分计费。另一方面多功能的实现,计价器可以根据要求显示需要的内容,可以根据选择键选择显示总费用,总行程数和总乘车时间等等。设计的主要技术指标如下:
1、计价范围: 0~910.0元
计价分辨率: 0.1元。
2、计程范围: 0~99公里
计价分辨率: 1公里。
3、计时范围: 59分59秒
计时分辨率: 1秒(<1小时)
1.2 设计方案比较
方案一:用单片机实现:通过软件编程,仿真,调试,符合要求后将程序用编程器写入到单片机芯片上。利用单片机的中断响应乘客开车或者等待的请求,进行相应的处理。利用寄存器存放计价器系统运行状态,从而可以根据整个行程的状态进行计价。
方案二:用FPGA(可编程门阵列)实现:利用硬件描述语言编程,仿真调试后下载到可编程逻辑器件(CPLD)上实现。可以对计程车整个过程进行判断、处理。整个过程完全实现了自动化和智能化。
比较而言,方案一的开发及制作成本较低,能较大程度地利用资源,但外围电路较多,调试复杂,抗干扰能力差,特别对这种计程车的计价器需要长时间不间断运作的系统,由于主要是软件运作,容易出错,造成系统不稳定。方案二将所有器件集成在一块芯片上,体积大大减小的同时还提高了稳定性,并且可应用EDA软件仿真,调试,易于进行功能扩展,外围电路较少,采用硬件逻辑电路实现,其最大的优点是稳定性好,抗干扰能力强,非常适合作为计程车的计价器系统的控制核心。基于对以上各个因素的考虑,我们觉得FPGA实现计程车的计价器的设计更设计的要求,提升设计的可行性。因此,决定选用以FPGA为核心,用VHDL编程来实现计价器的设计。
1.3 整体设计方案的实现
多功能计程车计价器的控制系统以FPGA为核心控制器。如下图
图1.3.1所示,主要分为四个模块。分别为:秒分频模块、控制模块、计量模块和译码显示模块。秒分频模块使整个系统的同步工作,把系统提供的32M的晶振频率进行分频,得到我们所需要的秒信号(便于在以后的计时中用到)。控制模块是整个系统的核心部分,对各个部分起到了调控的作用。对计程车的工作状态进行具体的定义。计量模块也是系统中一个十分重要的模块,它分为三个部分,分别为计价部分、计时部分和计程部分,是计程车计价器系统多功能实现的保证。最后一个译码显示模块作用在于把计程车的工作情况(价钱、行程数、行程时间)反馈给乘客。四个模块有机地结合在一起,实现了基于FPGA的多功能计程车计价器的设计。
秒分频模块
控制模块
计量模块
计价部分
计时部分
计程部分
显示模块
sec
图1.3.1 多功能计程车计价器结构方框图
二 模块的设计
2.1 秒分频模块
要把系统提供的频率为32MHz的晶振应用与实际中,就必须对高频率做一些处理,也就是要对它进行分频。分频为我们所期望的频率值再投于应用中。所以这里我们就应用到了分频模块。
2.1.1 秒分频模块的设计思路及原理
分频模块用于把系统提供的32M的晶振频率进行分频,所得我们所需要的固定的频率值,也就是系统中的sec信号。对它进行32M的分频。所以sec的频率为:
32M Hz/ 32M = 1Hz
也就是说分频为周期为1s的信号,且占空比为50% 。应用于系统中的计时部分,和其他应用的部分。
2.1.2 分频模块的仿真实现
由于分频系数过大,给仿真带来了一定的困难。所以仿真时,我们采用低一点的分频数来实现,其原理是相同的。如下图2.2.1所示,这里采用的是八分频,其中占空比为0.5。在程序中都可以设置需要的任意频率值和占空比值。
图2.1.1 分频模块仿真图
2.2 控制模块
控制模块对整个系统进行控制作用,支配系统的工作状态。描述了多功能计程车计价器整个工作过程的状态。它是计价器工作的核心。
2.2.1 控制模块的设计思路及原理
控制模块是整个系统设计的核心内容,描述了计价器最基本的工作状态。实现了对计程车的等待状态和行进状态工作过程的控制。等待过程中实现计时三分钟以内不变价格,以后以分钟的计价;行进过程中实现了三公里以内不变价格,以后每公里计价的功能。它是计程车计价器正常工作的保证。
2.2.2控制模块的仿真实现
控制模块中包括时间部分的控制和路程部分的控制。时间部分的控制除了可以对整个控制过程进行计时以外,还表现在计程车处于等待状态时先对前两分钟计时(此时计价2元),然后就以分钟计时(此时1.5元/分)。其仿真图如下2.2.1所示:
图2.2.1 控制模块仿真图(时间)
路程方面的控制也不仅仅是对计程车整个行进的过程的路程进行计算,控制方面的作用还表现在当计程车行进的路程在三公里以内的路程(此时计价10元)和三公里以外的路程的计算,这里以每公里为计数单位(此时计价1.6元/公里)。
图2.2.2 控制模块仿真图(路程)
2.3 计量模块
计量模块是本系统中一个十分重要的部分,是计程车计价器系统多功能实现的保证。
2.3.1 计量模块的设计思路及原理
计量模块其实在整个系统中就充当一个计算器的功能。它是计价、计时、计程功能的具体实现。具体如下,计价部分:由计程车的起步费10元加上等待过程中的计费1.5元/分,再加上行进过程中的计费1.6元/公里,然后再把计算出来的数分别以百元、十元、元、角的单位表示出来,送去显示译码模块;计时部分:是对乘客的乘车时间进行计时(包括等待的时间和行进的时间),分别以秒和分的形式送去显示译码模块,到59分59秒时自动归零;计程部分:对当前行进过程中所走的公里数进行计算,最大范围为99公里。
同样也送入译码显示模块。
2.3.2 计量模块的仿真
计量模块总共有三个部分组成,分别为计时部分、计程部分和计费部分。所以我们就用三个仿真突来表示。先来看看计时部分和计程部分的仿真图。因为他们的跳变关系就好像是一个十分频。唯一不同的地方就是当表现为计时时,它在59时就跳变,而在计程时,它就可以表示99了。基于同一原理,所以我们就用同一个仿真图来表示。
图2.3.1 计量模块的仿真(计时部分和计程部分)
计量模块中的计价部分实现的功能也不是单一的。它不仅仅要对整个过程中的价格进行汇总,为了方便显示,它还需要把所计价格转换成为及个相应位数的单个数字,从而一个一个送到七段译码显示器,进行显示。以下面的仿真图2.3.2为例。要把数135拆开,然后分别以百位、十位、各位的形式,分别输出1、3、5。
图2.3.2 计量模块的仿真(计价部分)
2.4 译码显示模块
译码显示模块是建立在内部系统和观测人之间的桥梁。通过译码显示模块,人们才能得到想要的信息。可见,它也是系统中一个必不可少的部分。
2.4.1译码显示模块的设计思路及原理
这里的译码显示模块包括四个译码器和四个七段显示数码管。用于显示需要的信息。需要说明的是它可以根据需要在价格、时间、路程三者之间互相转换。通过对输入模块的选择信号判断,而显示计程车运行的状态,比如说计价多少、走了多长时间、走了多少路程等。具体的状态转换图如下2.4.1。显示内容由一个选择键来控制,发出选择信号C,当C=‘11’时,表示显示乘车的时间;当C=‘01’时,表示显示乘车的费用;当C=‘11’时,表示显示乘车的总路程。他们之间的切换同样也是通过这个选择键、选择信号来实现的。
图2.4.1 译码显示模块的状态转换图
2.4.2译码显示模块的仿真
仿真图如下图2.4.2所示:可以看到该七段译码显示器是低电平有效的。点亮而显示相应的数据。
2.4.2译码显示模块仿真图
三 软件的制作
我们在Windows XP
的平台上,用Xilinx公司生产的Xilinx4.2的软件进行VHDL硬件描述语言编程实现控制器的功能。用来进行系统测试的是清华同方股份有限公司生产的TPG—FPGA
TPG1AC0007实验箱,选用的是saprtan2系列的xc2s200—5pq208芯片烧制.
下面介绍基于EDA软件的FPGA开发流程(VHDL是EDA软件中的一部分):
第一步:安装Xilinx4.2软件和modelsim XE 5.3d仿真软件.
第二步:在Xilinx4.2软件进行程序设计,新建一个工程,用硬件描述语言编程来完成所设计的实物功能.
第三步:综合和适配.综合过程是把软件设计的HDL描述与硬件结构挂钩,是文字描述与硬件实现的一座桥梁.综合就是将电路的高级语言(如行为描述)转换成低级的,可与FPGA的基本结构相映射的网表文件或程序.适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件.
第四步:仿真.在编程下载前必须利用软件工具对结构综合器生成的结果进行模拟测试,就是所谓的仿真.有两种不同级别的仿真测试,分别是时序仿真和功能仿真.
第五步:编程下载.把适配后生成的下载或配置文件,通过编程器向FPGA进行下载,以便进行硬件调试和验证.
第六步:硬件测试.将含有载入了设计的FPGA的硬件系统进行统一测试,以便最终验证设计项目在目标系统上的实际工作情况,以排除错误,改进设计.
从FPGA(现场可编程门阵列)的实验箱上可以知道所设计的程序是否能实现我们所要的功能,最后制作电路板做出实物.程序流程图如下图3.1.1所示。计程车启动时发出启动信号,此时计量模块中的计时部分、计价部分和计程部分同时工作。计时部分,由内部时钟对乘车的时间进行计数,同时计程部分开始计算路程,计价部分先判断计程车的状态是等待还是行进,然后分别由计时、计程部分对计价部分进行相应的控制,最后再将整个过程中的计价相加。由输入选择信号选择显示的内容,是金额、乘车时间还是乘车路程。
图3.1.1 系统程序流程图
四 系统的测试
4.1测试仪器
Xilinx公司的SpartanⅡ系列的XC2S2005PQ-208芯片
清华同方TPG-FPGA教学实验箱
4.2测试方法
首先用Xilinx公司的仿真工具Modelsim Xilinx
Edition进行对系统的仿真。功能仿真用于综合前检查设计的逻辑功能是否符合设计要求。仿真过程中可以通过观察检测设计的输入信号,输出信号以及内部信号以检测设计的逻辑功能。如果仿真都通过的话就可以进行引脚锁定,然后下载程序,烧制出功能芯片,在实验箱上可以直观的看到结果。
4.3 测试结果
从实验结果的仿真可以看出,系统完全遵照预期的结果运行符合设计要求。需要说明的是由于分频系数过大,给仿真带来了一定的困难。所以仿真时,我们采用低一点的分频数来实现,其原理是相同的。整体的仿真图如下图4.3.1。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -