当前位置:首页 > 电源 > 数字电源
[导读]摘要:出租车计费系统大多利用单片机进行控制,较易被改装,且故障率较高。针对这一问题,设计了一种基于FPGA的出租车计费系统,可模拟汽车行驶、暂停等待,停止等过程,并可同时显示金额、乘车总路程。设计采用层次

摘要:出租车计费系统大多利用单片机进行控制,较易被改装,且故障率较高。针对这一问题,设计了一种基于FPGA的出租车计费系统,可模拟汽车行驶、暂停等待,停止等过程,并可同时显示金额、乘车总路程。设计采用层次化设计方法,用VHDL语言进行编程,开发软件为MAX+plusⅡ。经测试,波形与仿真结果都满足设计要求。
关键词:出租车计费系统;VHDL语言;MAX+PLUSⅡ;FPGA

0 引言
    随着城市化水平的提高和人民生活水平的改善,出租车的服务显得越来越重要。因此出租车计费器也就应运而生了。出租车计费器是一种专用的计量仪器,它安装在出租车上,指示出载客路程数,以及乘客应付费用的总数。
    出租车计价系统较多的是利用单片机进行控制,但较易被私自改装,且故障率相对较高,且不易升级;而FPGA具有高密度、可编程及有强大的软件支持等特点,所以设计的产品具有功能强、可靠性高、易于修改等特点。
    本文正是基于FPGA,设计了一种出租车的计费系统,它可以直观地显示出租车行驶的里程和乘客应付的费用。

1 系统功能设计
    所设计的计价器的计费标准为:车在行驶3 km以内,只收起步价9.0元;车行驶超过3 km后,按每公里2元计费。行驶路程达到或超过9 km后,车费按每公里3.0元开始计费。车遇红灯或中途暂停时,每3分钟计0.5元。若停止(rst)则车费清零,等待下一次计费的开始。要求能够显示里程数和乘客应付的费用,其中里程数精确到0.01 km,乘客应付的费用精确到0.1元,显示范围为:里程为0~99.99公里,费用为0~999.9元。

2 系统设计方案
    基于FPGA的出租车计费系统的组成如图1所示。由外部输入、FPGA控制部分以及数码显示三部分组成。其中FPGA部分又由分频模块、计价模块、BCD转换模块以及动态译码扫描模块组成;外部输入包括启动按键(start)、暂停按键(pause)、停止按键(stop即rst)以及两个脉冲信号(分别是每20 m一个脉冲的路程脉冲信号pulse和32 MHz的工作脉冲信号clk32M)。显示模块用8个LED数码管分别显示行驶里程和车费,行驶里程显示2位整数和2位小数,车费显示3位整数和1位小数。



3 各模块设计
    设计FPGA控制部分,包括控制计价模块,BCD转换模块,动态扫描译码模块以及分频模块。采用混合设计的方法,各子部分用VHDL编程,顶层部分用原理图进行设计。
3.1 控制计价模块(jijia)
    控制计价模块由里程计费模块、等待计费模块、总价模块组成。
    里程计费模块,主要对传感器公里脉冲信号pulse计数(20m一个脉冲),计算出租车本次交易行驶的路程以及里程费用。每数到50个pulse为1 km,总路程由lucheng端输出。在3 km内时,里程车费cf1为9元不变,当超过3 km时,p=1,开始里程费用计数,当计费停止,即start端口置“0”或出租车停止行驶,即rst端口置“0”时,相关数据复位,清零。
    等待计费模块,在3 km之后(p=1),每当pause=1时,则开始计时,当秒脉冲数到180个时(即3分钟),此时等待车费cf2加5,表示车费加0.5元。
    总价模块是将里程计费和等待计费相加,计算出总费用,从chefei端输出。
3.2 BCD转换模块(zhuanhuan)
    该模块将计费模块的车费和路程转换成4位十进制数,便于数码管显示。输入口acf,bcf分别为总路程数的输入口和总费用的输入口,两者都是二进制码进行十进制编码计数,通过该编码器生成BCD码,输出口分别以BCD码表示个,十,百,千位的数据。Aclk是工作脉冲,即32MHz。
3.3 动态扫描模块(dtxianshi)
    该模块由动态扫描模块以及译码模块组成。动态扫描模块,该模块利用视觉暂留效应,采用动态扫描电路,将8进制转换后的路程数和车费的4位十进制数显示在数码管上,节约了硬件资源和能源。该模块经过8进制扫描模块将路程和车费轮流显示出来。端口d是选通地址码的输入端口,A1,A2,A3,A4,B1,B2,B3,B4分别是个,十,百,千位的数值输入端口。根据输入的地址码,模块每次只有一位数字向后传输到输出口q,同时输出小数点的显示控制信号(dp),使路程显示为00.00公里,费用显示为000.0元。
    译码模块,该模块把0-9的BCD码译成数码管显示码,输入端口q输入扫描模块选出要显示的BCD码,译成数码管的显示码由g[6..0]输出。本设计中数码管是共阴数码管。
3.4 分频模块(fenp)
    本设计中输入的系统时钟为32 MHz,进行分频,再对数码管的地址进行扫描。输入端口rse为出租车停运信号输入端口,当出租车停止时,该模块停止工作,清零。当出租车行驶时对输入的32 MHz脉冲信号进行分频,分别从输出端口cp1得到秒脉冲,cp32得到32 Hz工作脉冲。[!--empirenews.page--]
3.5 整体电路
    将各个模块按照输入输出关系连接,顶层电路原理图如图2所示。g[6…0]为七段显示码输出,通过动态扫描依次控制8个数码管的显示,dp为小数点位。



4 系统仿真验证
    用MAX+plusⅡ软件对各个子模块及顶层原理图进行了时序仿真,仿真波形如图3所示。


    控制计价模块仿真图如图3所示。由图3(a)可得,当reset=1,start=1,且pause=0时,表示出租车处于行驶状态,此时路程开始递增,当不超过3 km时,车费为5A即90,起步价9.0元。由图3(b)可得,当超过3 km后,车费每行驶1 km加20(即2元)。由图3(c)可得,当reset= 1,start=1,且pause=1时,出租车处于等待状态,此时路程不再递增,而时间递增,当时间达到3分钟时,车费加5(即0.5元)。
    顶层电路的仿真图如图4所示。从图中可以看出,随着输入的变化,从g[6…0]输出了共阴的数码管显示编码,dp也在对应的数码管处,输出高电平点亮小数点。
    综上分析,本设计的软件仿真结果正确,与设计要求相符。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭