您的位置 首页 基础

根据CPLD/FPGA的出租车计费体系

介绍了出租车计费器系统的组成及工作原理,简述了在EDA平台上用单片CPLD器件构成该数字系统的设计思想和实现过程。论述了车型调整模块、计程模块、计费模块、译码动态扫描模块等的设计方法与技巧。

摘要: 介绍了出租车计费器体系的组成及作业原理,简述了在EDA平台上用单片CPLD器材构成该数字体系的规划思维和完结进程。论说了车型调整模块、计程模块、计费模块、译码动态扫描模块等的规划办法与技巧。

关键词: CPLD/PPGA 硬件描绘言语 出租车计费器 MAX+PLUS软件 数字体系

跟着EDA技能的高速开展,电子体系的规划技能和东西发生了深入的改动,大规模可编程逻辑器材CPLD/FPGA的呈现,给规划人员带来了许多便利。运用它进行产品开发,不只成本低、周期短、牢靠性高,而且具有彻底的知识产权。本文介绍了一个以Altera公司可编程逻辑芯片EPM7128SLC84-15为操控中心、附加必定外围电路组成的出租车计费器体系。

1 体系组成

依据CPLD/FPGA的出租车计费器的组成如图1所示。各部分主要功用如下:(1)A计数器对车轮传感器送来的脉冲信号进行计数(每转一圈送一个脉冲)。不同车型的车轮直径或许不一样,经过“设置1”对车型做出挑选,以完结对不同车轮直径的车进行调整。(2)B计数器对百米脉冲进行累加,并输出实践公里数的BCD码给译码动态扫描模块。每计满500送出一个脉冲给C计数器。“设置2”完结起步公里数预制。(3)C计数器完结步长可变(即单价可调)的累加计数,每500米计费一次。“设置3”用来完结超价加费、起步价预制等。(4)译码/动态扫描将旅程与费用的数值译码后用动态扫描的办法驱动数码管。(5)数码管显现将公里数和计费金额均用四位LED数码管显现(三位整数,1位小数)。

2 功用模块规划

出租车计费器由车型调整模块、计程模块、计费模块、译码动态及扫描等模块组成,整个体系选用模块化规划,首先用VHDL编写功用模块,然后用顶层原理图将各功用模块衔接起来。

2.1 车型调整模块

出租车车型并非单一,各个车型的轮胎直径亦有所不同。据调查计算,现行出租车轮胎直径大致有四种,直径别离为520mm、540mm、560mm和580mm。若要使不同车型的出租车每行进一百米均送出一个脉冲,可经过设置“可预制分频器”的系数来完结。依据上述车轮直径计算出的分频系数别离为61、59、57和55。预制数据受两个车型设置开关操控,DIP开关状况与车轮直径对应联系如表1所示(表中“1”为高电平,“0”为低电平)。

表1 车型设置

在参数预制中,运用With_Select句子(查表法)做分频挑选:

with cartype select

typecounter=“111101”when“00”, –520mm

“111011”when“01”, –540mm

“111001”when“10”, ——560mm

“111000”when“11”, –580mm

“000000”when others;

分频器选用的是加法分频电路,其占空比可经过datal(x)进行调整,而且分频器带有“开端”/“清零”端(高电平清零)。时序仿真波形如图2所示。从图中可以看出,关于设置开关为“10”的车型,当第57个脉冲到来时,该模块oclk端从高变低,输出一低电平信号。车型调整模块(以下简称FP)封装见图4。

2.2 计程模块

计程模块是一个模为10、步长为1的加法计数器。该模块可以预制参数,使其实践计数值大于预制数值后,每500米送出一个脉冲,并将计数值送译码动态扫描模块进行显现。预制参数选用非紧缩BCD码,所以在计数器规划时有必要将二进制1010至1111六个状况跳过去。在VHDL程序中,用IF句子来完结。

if km(3 downto 0)=“1001”then km:=km+“0111”:

else km:=kin+1;

end if;

计程模块也带有“开端”/“清零”端。参数预制相同运用With_Select句子。“起步路程”和“开关设置”对应联系如表2所示。计程模块(以下简称MILE)封装见图4。

表2 起步路程设置

2.3 计费模块

计费模块是一个模为10、步长可变的加法计数器。该模块经过开关量预制步长,当超越必定预制参数时改动步长。计费模块也选用非紧缩BCD码,但因步长不为1,所以在做非紧缩BCD加法时有必要调整,不然或许导致在超越或未超越预置参数时呈现超程过错。这儿选用仿照微机的AF标志位,在其建立一个半进位标志,当累加和大于9或半进位标志为“1”时,对累加和进行调整。

if datal(3 downto 0)>9 or datal(4)=‘1’then

datal(3 downto 0):=datal(3 downto 0)+“0110”;

datal(8 downto 5):=datal(8 downto 5)+1;

end if;

其间,data(4)为半进位标志。“起步价格”和“超价加费”设置参数别离如表3和表4所示。计费模块(以下简称MONEY)封装见图4。

表3 起步价格设置

表4 超价加费设置

2.4 显现模块

显现模块由七段LED数码管译码和动态扫描显现两部分组成。

2.4.1 七段LED数码管译码

本次规划选用的是共阴极七段数码管,依据16进制数和七段显现段码表的对应联系,用VHDL的With_Select或When_Else句子可便利完结它们的译码。

2.4.2 动态扫描显现

动态扫描是运用人眼的视觉暂留原理,只需扫描频率不小于24Hz,人眼就感觉不到显现器的闪耀。本体系24Hz的扫描脉冲由相应的外围电路供给。动态扫描电路规划的关键在于位选信号要与显现的数据在时序上一一对应,因而电路中有必要供给同步脉冲信号。这儿选用八进制计数器供给同步脉冲,VHDL程序段如下:

cIkl_label:PROCESS(scp)

BEGIN

IF scp’vent and scp=‘1’THEN count=count+1;

END IF;

END PROCESS clkl_label;

显现数据的挑选由计数器操控,VHDL程序段如下:

temp=counterl when count=“000”else...

counter4 when count=“011”else

milel when count=“100”else...

mile4 when count=“111”;

位选信号时序仿真如图3所示。从时序仿真图和上述程序可以看出,位选信号和要显现的数据完结了同步。

动态扫描电路中小数点的显现无法在译码电路中完结。因为小数点的方位是固定的,因而可由计数器供给的同步信号发生另一信号操控DP。VHDL程序完结如下:

if (count:“101”or count=“001”)then data(0)=‘1’;

else data(0)=‘0’;

end if;

显现模块(以下简称SHOW)封装见图4。此模块中应用了两个进程,在进程内程序次序履行,其间第一个进程触发第二个进程。

3 体系归纳

3.1 模块联调

各个功用子模块规划完结后,运用MAXPLUSⅡ的图形修改器(Graphic Editor)将各功用子模块(.sym)进行衔接。因为MILE模块中存在毛刺,故不能直接与后级相连,经过对输出脉冲信号加门电路延时,再与原始信号相“与”的办法即可消除毛刺。体系顶层原理图如图4所示。

芯片管脚界说可以直接用修改.pin文件或在Floor—Plan Editor下进行。完结管脚界说后挑选器材(EPM7128S%&&&&&%84—15),编译后生成.sof、.pof及陈述文件.rpt。检查陈述文件可得到器材管脚的运用状况及器材内部资源的运用状况。经过替换恰当的器材使其资源配置抵达最优。挑选器材的一般原则是体系所运用的资源不要超越器材资源的80%,若超越90%,体系功耗将增大,作业不安稳。从本次规划器材部分陈述中得知:输入、输出管脚各用16只,芯片资源运用率仅为51%,具有较大的扩展空间。

3.2 硬件规划说明

本次规划的出租车计费器计数脉冲CP来自车轮转速传感器(干簧管),脉冲经器材内部整形后送计数器;动态扫描脉冲由外围电路给出;体系运用整流、滤波、降压后的出租车电源供电;因为CPLD/FPGA的驱动才能有限,为了增强数码管的亮度,进步体系的牢靠性,规划中在LED驱动和位驱动上别离添加了电流驱动器材ULN2803和2SCl015。

现场实验标明:该计费器完结了按预制参数主动计费(最大计费金额为999.9元)、主动计程(最大计程公里数为999.9公里)等功用;可以完结起步价、每公里收费、车型及加费路程的参数预制(如:起步价5.00元;3公里后,1.20元/公里;计费超越15.00元,每公里加收50%的车费等),且预置参数可调规模大。因为选用了CPLD/FPGA大规模可编程逻辑器材,整机功耗小、抗干扰才能强、体系安稳、作业牢靠、晋级便利。别的,依据实践需要,体系可便利地添加以下功用:①经过芯片内部编程添加时钟功用(器材内部资源满足),既可为司机和乘客供给便利,又能为夜间行车主动调整收费规范供给参阅;②用CPLD/FPGA的输出引线操控语音芯片,可向乘客宣布问候语、提示乘客告知司机所要抵达的地址、报出应收缴的费用等

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/192783.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部