地铁自动售票机
一、设计背景和概述
目前,为了解决城市交通日益拥挤的难题,全国各大城市都开始地铁项目的建设。城市与城际轨道交通的建设也成为近年国家投资的重点项目。自动售检票系统就是用来解决轨道交通系统各个终端设备协同工作的平台,主要负责自动售票、自动检票、人工售票、结账与清算等工作,该系统由以下几块组成:中央计算机系统;车站计算机系统;自动售票机;自动检票机;自动加值机;人工售补票机;编码分拣机;自动查询机;紧急按钮及双电源设备以及其他辅助设备。
二、设计目的和功能
城市地铁本身就是对于拥挤的城市交通而缓解出现的,而且地铁站一般都设在地下比较狭小的空间,设立多个票务供应点是不合理,于是自动售票机的出现就成为了必然。既节约了空间,也节约了时间,操作相应的方便了许多,就算是老人和幼童一般也可以自己购买。
自动售票机是AFC 系统的重要组成部分,也是主要的终端设备之一,主要的功能就是实现无人自动售票。
1.自动售票系统可对单价为2元,3元,4元,5元四种票售票。
2.能够选择买1-2张
3.有1元,5元,10元,20元四个投币口。当投入的钱币与选择的票款相等时,送出车票;若投
入的钱币不够,1分钟后,退出钱币,无票送出;若投入的钱币超过票款,能自动找零。三、设计仪器和设备
Microsoft Windows XP Embedded系统 Modlesim软件 QuartueII软件
四、系统方案
4.1 系统的硬件组成
该自动售票系统由以下主要模块组成:主控单元、乘客显示器与触摸屏、L E D状态显示器、票卡读卡器、硬币模块、纸币接收模块、单程票售票模块、凭条打印机、不间断电源。此外本系统还预留有银行卡购票功能。
自动售票系统主要业务如下:(1 )标准功能:现金(硬币、纸币)支付;单程票发售;硬币找零;语音提示;后台管理功能。(2 )可选功能:视频广告(无声);储值卡现金充值;银行卡购票、纸币找零。
4.2 系统的总体框架结构
地铁自动售票系统大致可以分为四个功能模块:车票选择模块、钱币处理模块、余额计算模块、显示功能模块。
4.2.1.系统总体框图如下
1)车票选择模块。当自动售票机通电时,表示一次投币售票过程开始;乘客正常购买车票操作失误包括改变购买意向或不再购买,按rd按钮重新进入初始状态;在初始状态pri和qua生效时,顾客可以根据自己的需要,选择其中一种车票(只限一种)和票数,进入下一模块。
2)钱币处理模块。表示投入的钱币是1元,5元、10元,20元的coin_1,coin_5、coin_10,coin_20
生效,记录所投钱币总额。
3)余额计算模块。当投人钱币总额大于或等于车票价格,并且按确认键后出票并找零;若投入钱币总额小于车票价格,售票机不出票,并退出所投钱币,进入初始状态。
4)显示功能模块。此模块根据输入提供的数据,用数码管来显示选择的是所选票面额、购买的票数、投入的钱币额及找赎的钱额。
4.2.3功能模块代码如下:
模块代码如下:
module top(pri_3,pri_4,pri_5,pri_6,qua_1,qua_2,coin_1,
coin_5,coin_10,coin_20,
rd,finish,clk1,clk2,outw,outz,act_1,act);
Input pri_3,pri_4,pri_5,pri_6,qua_1,
qua_2,coin_1,coin_5,coin_10,
coin_20,rd,clk1,clk2,finish;
output act_1;
output[3:0] act;
output[5:0] outw;
output[6:0] outz;
wire act_1;
wire[3:0] act;
wire[5:0] outw;
wire[6:0] outz;
wire[3:0] w1,w2,w3,w5,w6,w7,w8,w10;
wire[2:0] w9;
wire[4:0] w4;
Xuanpiao x1(.pri_3(pri_3),.pri_4(pri_4),
.pri_5(pri_5),.pri_6(pri_6),
.qua_1(qua_1),.qua_2(qua_2),.clk(clk1),
.rd(rd),.pri(w2),.qua(w3),.cost(w1));
Toubi t1(.coin_1(coin_1),.coin_5(coin_5),
.coin_10(coin_10),.coin_20(coin_20),
.clk(clk1),.rd(rd) ,.coinh(w5),
.coinl(w6),.coin(w4));
zhaoling z1(.pri_in(w2),.cost_in(w1),.coin_in(w4),
.finish(finish),.clk(clk1),.rd(rd),.act(act),
.act_1(act_1),.rest(),.restl(w8),.resth(w7));
counter6 c1(.clk2(clk2),.out(w9));
select6_1 s1(.out(w10),.in0(w2),.in1(w3),.in2(w5),
.in3(w6),.in4(w7),.in5(w8),.sel(w9));
weixuan w(.din(w9),.out(outw));
zixing z(.din(w10),.out(outz));
endmodule
4.3 系统主要硬件模块的功能
4.3.1主控单元
主控单元采用的是M O X A 嵌入式计算机V 2 4 0 1 -X P E ,该型号采用全密闭无风扇结构,低功耗、散热效果好、性能可靠稳定,适用于轨道交通行业。主控单元的主要功能就是运行A F C 系统自动售票业务软件,协调T V M 系统各个模块的工作以及与S C 进行交互。
4.3.2 乘客显示器与触摸屏
乘客显示器与触摸屏主要用于T V M 与用户(乘客)的可视化交互,方便乘客完成购票、充值等需求。该系统的乘客显示器的视角为:垂直范围为±4 5 °,水平范围为±6 5 °。其安装考虑到了人体功能学,各类乘客都能够方便的操作。
4.3.3 硬币出来模块处理
硬币处理模块由硬币机芯、硬币暂存器、换向器、出币器和硬币钱箱等组成,主要功能包括:硬币的接收
与硬币识别、硬币找零。乘客将硬币从投币口投入,经过硬币识别器进行真假识别,真币被接收,假币退出。
4.3.4 纸币接收模块
纸币接收模块由纸币接收结构、纸币暂存器、纸币钱箱、纸币识别器组成,主要功能包括:纸币的接收与纸币识别。乘客使用纸币购票时,将纸币投入进钞口,经过纸币识别器进行真假识别,真币被接收,假币退出。一笔交易结束之后,纸币被送入纸币钱箱。
4.3.5 票卡读卡器
票卡读卡器是自动售票系统的核心模块之一,完成所有的票卡业务,根据系统提供的交易规则,产生各种交易数据。
4.3.6 单程票发售模块
单程票发售模块的主要业务功能包括:完成单程票的票卡发售;当票箱票卡数量不足时进行补票操作,即加票业务;在运营结束后结账之时进行票卡回收操作,即清票。
4.3.7 LED 状态显示器
L E D 状态显示器安装在T V M 前面板顶部,主要功能是显示T V M 当前的运行状态,一般要求3 0 m 可见,让排队在后面的乘客也能随时了解T V M 的工作状态。
4.3.8 不间断电源
不间断电源U P S 的主要功能:将T V M 系统供电与外界隔离,并给T V M 系统各个模块提
供电源;在市电断开的情况下提供系统电源,保证T V M 系统正常工作一段时间,用于保存最后一笔交易数据。
五、系统软件设计
5.1系统开发平台
Microsoft Windows XP Embedded 操作系统是WindowsXP Professional的组件化版本,能够快速开发最可靠、功能最全的嵌入式设备。因为与Windows XP Professional基于同样的代码,Windows XP Embedded允许开发人员只选择他们需要的特性来构建定制的、小内存体积占用的设备。
5.2 软件系统架构
(1
完成
无硬件环境的演示和开发。
(2 )增加了终端监控模块。主要功能是维护和管理自动售票机系统中各个模块运行状态和远程升级各
模块。
5.3 各个子模块的分析
5.3.1 车票选择模块
车票选择模块是指对商品进行选择与购买。车票分为票价2元,3元,4元,5元,共4种车票,乘客可
以选择所要购买的票数(1张票,2张票)。
5.3.2 钱币处理模块
coin为投币数值计数器,以1元为单位进
行计算。该模块入口参数coin1(投入1元)coin5(投入5元钱),coin10(投入10元钱),coin20(投入20
元)
5.3.3 余额计算模块
余额计算模块主要完成出票找零操作。通过所投钱币总额coin和应付总额cost计算找赎余额,然后
用发光二极管点亮表示出票和找零。钱数不够票价的,退出所投钱币数。
该余额计算模块的源程序如下:
module zhaoling(pri_in,cost_in,coin_in,finish,clk,rd,
act,act_1,rest,restl,resth);
input[3:0] pri_in,cost_in;
input[4:0] coin_in;
input clk,finish,rd;
output[3:0] act,restl,resth;
output[4:0] rest;
output act_1;
reg[3:0] act,restl,resth;
reg[4:0] rest;
reg act_1;
/*initial
begin
act=4'b0000;
act_1=0;
rest=0;
resth=0;
restl=0;
end*/
/*always@(!rd) //清零
begin
act=4'b0000;
act_1=0;
rest=0;
resth=0;
restl=0;
end*/
always@(posedge clk or negedge rd)
begin
if(!rd)
begin
act=4'b0000;
act_1=0;
rest=0;
resth=0;
restl=0;
end
else if(finish)
begin
if(coin_in==cost_in) //投币总额等于总票价
begin
act_1=0;
rest=0;
resth=0;
restl=0;
if(pri_in==3)
act=4'b0001; //出3元票
else if(pri_in==4)
act=4'b0010; //出4元票
else if(pri_in==5)
act=4'b0100; //出5元票
else if(pri_in==6)
act=4'b1000; //出6元票
end
else if(coin_in>cost_in) //投币总额大于总票价
begin
act_1=1;
rest=coin_in-cost_in; // 余额总价
restl=rest%10; // 余额总价个位数字
resth=(rest-restl)/10; // 余额总价十位数字 if(pri_in==3)
act=4'b0001;
else if(pri_in==4)
act=4'b0010;
else if(pri_in==5)
act=4'b0100;
else if(pri_in==6)
act=4'b1000;
end
else if(coin_in begin act=4'b0000; //不出票 act_1=1; rest=coin_in; //退钱 end end end endmodule 5.3.4显示功能模块 显示功能模块主要完成显示乘客选的票价、票数、投入钱数及找赎余额。实验系统主板上,每次只能点亮一个数码管,如果显示这些数据,必须要用扫描的方式使得所需数码管依次点亮,选择较高的扫描频率,利用人眼的视觉暂留效果,视觉上可让数码管一起点亮。 5.4 用户界面 用户界面分为前面板的乘客操作界面和后台的维护界面,实现乘客操作界面可视化配置。后台维护界面采用液晶显示器和触摸屏结合操作方式,更具人性化和灵活性。这两大界面都基于新需求设计开发界面显示模块,能提供更为灵活多样的显示方式,从而适应未来不断变化的人机交互需求。 六、参考文献 [1] 丁耿,卢曙光,刘乐.多线运营时AFC系统的票务运作[J].都市快轨交通,2007,(1) [2] 李春梅,牛国柱,周建平,等.非接触式智能筹码发售模块机构设计[J].制造业自动化,2009,(12) [3] 符翔,丁耿.AFC系统网络规划中终端设备IP地址的分配[J].城市公用事业,2008,(5) [4] 骆海瑛,丁耿.AFC系统中银行卡转账充值的技术实现[J].都市快轨交通,2008,(4) [5] 张宁,何铁军,王健.轨道交通自动售检票系统互换性研究[J].城市轨道交通研究,2007,(11) [6] 方锦煌.提高地铁自动售检票系统设备的技术性能[J].城市轨道交通研究,2007,(9) [7] 丁耿,赵宇.深圳地铁自动售检票系统储值票发行方案的探讨[J].城市轨道交通研究,2007,(4) 七、系统改进方向及设计总结 6.1 系统改进方向 可以对此地铁自动售票系统进行改进和扩展,在此提出以下几点改进方向: 1)完善钱币不足一分钟后自动退出钱币的功能。 2)根据乘客提供的起点站和终点站,自动判定票价。 3)增加投币的币种,比如50元、100元等。 4)投币过程增加对钱币验证真伪的模块。 5)此系统的选择票价、选择票数、投币过程存在顺序问题,以后可以将系统改进,让这些过程可以任意颠倒。 6.2 设计总结 本文主要论述了采用自顶向下的模块化设计方法,设计制作一个地铁自动售票控制系统。在此设计过程中,也遇到诸多困难和技术问题,如编写硬件描述语言不能像软件一样,其中存在着时序逻辑。通过本次工程设计,了解到EDA技术等基础知识,及Modlesim和Quartue II软件的使用,能够正确掌握数字系统的模块划分、并能自如应用硬件描述语言描述各模块功能,以实现系统设计。 这也是在脱离老师的教导下,第一次完成的一项设计,感觉有很大不足与缺陷,但是有很多的收获,从中要也学习到了许多自己探索到的知识,这个过程也是难能可贵的。