简易地铁自动售票系统设计方案

合集下载

城市轨道交通自动售卖系统设计与实现

城市轨道交通自动售卖系统设计与实现

城市轨道交通自动售卖系统设计与实现随着城市化进程加快,城市人口不断增加,交通问题也日益凸显。

目前,城市轨道交通自动售卖系统成为解决城市拥堵问题的重要方式之一。

本文将介绍城市轨道交通自动售卖系统的设计与实现。

一、设计原则城市轨道交通自动售卖系统的设计应该遵循以下原则:(1)便利性。

系统设计应该优先考虑用户的便利性,使用户能够简单、快速地完成购票、查询等操作。

(2)信息安全。

系统设计应该保障用户个人信息安全,避免信息泄露给第三方。

(3)稳定性。

系统应该具有高可靠性和高稳定性,保证用户能够顺利完成购票等操作。

(4)可扩展性。

系统应该具有可扩展性,随着城市轨道交通的发展,能够方便地扩展新的功能。

二、系统实现城市轨道交通自动售卖系统的实现包括硬件设备和软件开发两部分。

(1)硬件设备城市轨道交通自动售卖系统的硬件设备主要包括售票机、自助取票机、智能闸机和管理服务器等。

售票机:售票机是城市轨道交通自动售卖系统的核心设备之一,用户可以在售票机上完成购票、查询等操作。

售票机应该具有触摸屏、打印机、读卡器等基本设备。

自助取票机:自助取票机是方便用户取票的设备,用户可以通过自助取票机取到购票时的电子票或者纸质票。

智能闸机:智能闸机是为了控制车站人员进出站而设立的,它能够对进出站的人员进行验证,防止不合法人员进出站。

管理服务器:管理服务器是为了对系统进行统一管理而设立的,它能够管理各个硬件设备的运行状态以及用户信息等。

(2)软件开发城市轨道交通自动售卖系统的软件开发主要包括界面设计、通信模块和数据库设计等。

界面设计:界面设计是城市轨道交通自动售卖系统的重要组成部分,好的界面设计能够提升用户的使用体验,使用户更加快速、简单地完成购票、查询等操作。

通信模块:通信模块是城市轨道交通自动售卖系统和城市轨道交通公司、手机APP等其他系统之间的桥梁,它能够将数据传递给其他系统或者接收其他系统传递过来的数据。

数据库设计:数据库设计是城市轨道交通自动售卖系统的关键部分,它能够对用户购票、查询等信息进行保存和查询。

C++实现地铁自动售票系统程序设计

C++实现地铁自动售票系统程序设计

C++实现地铁⾃动售票系统程序设计本⽂实例为⼤家分享了C++实现地铁⾃动售票系统的具体代码,供⼤家参考,具体内容如下题⽬描述:地铁是当今城市较为流⾏的⼀种铁路运输的形式,地铁能避免城市地⾯拥挤,充分利⽤空间,具有运量⼤、准时、正点率较其他公交⾼、速度快等优点。

请设计⼀个简易的、带菜单的地铁⾃动售票机系统。

功能需求:(1)设计⼀个地铁路线类Router,包含路线编号,途中的各个站点。

(2)设计⼀个地图类Map,可以显⽰所有可以乘坐的地铁站名,以及线路信息。

(3)根据⽤户输⼊的起点和终点和⼈次信息,可以⾃动计算应付⾦额;根据⽤户输⼊的⾦额,计算找零信息。

程序设计:1234567891011 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40#include <iostream>#include <vector>using namespace std;class Router {private:string port[100];//经过站点int id;//路线编号int count=0; //站点数⽬public:void setId(int i) {id=i;}void addPort(string name) {port[count]=name;count++;}void getPort() {int i=0;for(i=0; i<count; i++) {cout<<"第"<<i+1<<"站:"; cout<<port[i];cout<<endl;}}int check(string u,string v) {42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 for(int i=0; i<count; i++) {if(port[i]==u) {for(int j=0; j<count; j++) {if(port[j]==v) {// u vreturn((i-j)>=0)?(i-j):(j-i);}}}}return0;}};class Map {private:vector<Router> r;//路线图public:double charge=2;//每站价格void setCharge(double ch) {charge=ch;}void init() {Router temp1;temp1.setId(1);temp1.addPort("west");temp1.addPort("mid1");temp1.addPort("south");r.push_back(temp1);Router temp2;temp2.setId(2);temp2.addPort("south");temp2.addPort("mid2");temp2.addPort("east");r.push_back(temp2);Router temp3;temp3.setId(3);temp3.addPort("east");temp3.addPort("mid3");temp3.addPort("north");r.push_back(temp3);Router temp4;temp4.setId(4);temp4.addPort("north");temp4.addPort("mid4");temp4.addPort("west");r.push_back(temp4);}int buy(string start, string end) {int count=r.size();int d=0;for(int i=0; i<count; i++) {Router temp=r[i];d=temp.check(start,end);if(d>0) {cout<<"您需要乘坐"<<i+1<<"号线"<<endl; return d;}}104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 }void show() {int count=r.size();cout<<"本市地铁线路图如下:"<<endl;for(int i=0; i<count; i++) {cout<<i+1<<"号线:"<<endl<<endl;Router temp=r[i];temp.getPort();cout<<endl<<endl;}}};void menu() {int m;Map map;map.init();while(1) {cout<<endl<<endl<<endl;cout<<"----------欢迎来到地铁售票系统-----------"<<endl; cout<<"----------1、路线查询-----------"<<endl;cout<<"----------2、购票-----------"<<endl;cin>>m;if(m==1) {map.show();} else if(m==2) {cout<<"请输⼊起点:"<<endl;string s;cin>>s;cout<<"请输⼊终点:"<<endl;string e;cin>>e;cout<<"请输⼊⼈数:"<<endl;int c;cin>>c;int d=map.buy(s,e);if(d>0) {double rs=(double)c*(double)d*map.charge;cout<<"您需要⽀付的费⽤为:";cout<<rs<<endl;cout<<"请输⼊您⽀付的⾦额:";double in=0;cin>>in;if(in>=rs) {cout<<"购票成功!"<<endl;cout<<"找零:"<<in-rs<<"元"<<endl;} else{cout<<"⾦额不⾜,购票失败!";}} else{cout<<"抱歉,请选择其他交通!";}}}}int main() {menu();return0;}165166167程序运⾏演⽰:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

地铁自动售票机系统设计

地铁自动售票机系统设计

关键词 : 自动 售检 票 ; 站 计 算 机 ; 车 自动 售 票 机 ; 程 票 发 售 ; 间 断 电源 ; 工 售 补 票机 单 不 人 中 图分 类 号 : P U2 T3 9
De ino t c e n ig Ma hn y t m sg f Me r t k t oi Ve dn c ie S se
的终 端设 备 之一 , 要 的功 能就 是 实 现无 人 自动 售票 。 主
单 票 票块 鬈翟 程售 模 幌
系统 组 成 框 图如 图 1 示 。 所
热 敏 凭 条 扣 印机 带 自动 切 纸 , 打 印 多 联 能 小 间 断 电 源 市 电断 开 后 能 提 供5m i 系 统 供 电 . n的
主 控 单 兀
各 大 城 市都 开 始地 铁 项 目的建 设 。 市 与 城 际 轨 道 交 城 通 的建 设 也成 为近 年 国 家投 资 的重点 项 目。 F ( A C 自动
售 检 票 ) 统 就 是用 来解 决轨 道 交 通 系统 各 个 终端 设 系
技 术 要 求
MOX 4 1XP N2 0 1 G,G内l 、 A V2 0 一 E: 7 . 1 6 仔 以
数 量
备 协 同 工作 的半 台, 主要 负 责 A动 售 票 、 自动 检 票 、 人 工 售 票 、 账 与 清算 等 工 作 , 系 统 由 以下J 块 组成 : 结 该 L C ( C 中央 计算机 系统 )S ( ; C 车站 计算机 系统 )T M ( ;V 自 动售 票机 )A ; GM ( 自动 检票 机 )AVM ( ; 自动加 值 机 ) ;
下面 详 细介 绍 自动 售 票机 T M 的组 成 、 V 主要模 块
的功 能 以及 TVM 的工 作流程 。

简单轻轨自动售票系统设计

简单轻轨自动售票系统设计

摘要:本文介绍了一种基于电子设计自动化eda技术的一个简单轻轨自动售票系统的设计方案,给出了轻轨售票系统的大致介绍、各个子模块的功能介绍以及对各个子模块进行了相应的系统仿真,并且绘制出了相应的仿真波形图。

关键词:轻轨;自动售票系统;自动化1引言在介绍轻轨售票系统以前,我们先来了解一下什么是轻轨。

轻轨交通起源于20世纪70年代的法国、比利时和中、北欧的一些城市。

它与地铁相似,但是,其容量和体积都相对地铁来说比较小。

轻轨在城市的中心地段可以在地下行驶,在城市的边缘地段可以上高架,在城乡结合的区域则可以直接在地面行驶。

为了解决城市道路之间的交通堵塞问题,各城市开始修建了轻轨,便于人们的出行。

自动售票系统是轻轨的重要组成部分,它主要就是实现无人售票的功能,同时使乘客轻松完成买票的过程。

下面就详细介绍一个简单自动售票系统的大概框架设计以及各个子模块的功能。

2总体架构该自动售票系统主要由监视系统、报站液晶屏、触摸键盘、语音提示模块、显示器、钱币自动找零模块构成。

其中,监视系统主要起到监督售票系统的作用,避免售票系统出现故障的状况。

报站液晶屏的主要功能是对每个站点进行报站,提醒乘客能及时下车。

触摸键盘与语音提示模块可以连在一起,即输入乘客的起始地点以及最后需要到达的地点、输入需要购买车票的张数,最后语音提示模块会报出价格,方便乘客投币。

在这里,触摸屏和语音提示的设计使系统更加的人性化,方便人们的识别和选择,给乘客带来了便利。

本系统还设计了自动纠错系统,如果乘客不小心输入了错误的地点以及错误的车票张数,那么乘客可以通过控制触摸屏按键让系统自动清零,重新输入。

在各个子模块功能介绍的最后还介绍了钱币自动找零模块的设计,如果钱币投入不足的时候,系统等待再次投币,拒绝售票;如果钱币价格刚好达到要求,那么出售车票;如果钱币价格超出车票价格的范围,那么系统自动找零。

本系统的仿真过程由verilog语言来完成。

3各子模块功能 3.1选择乘车区间首先,报站液晶屏自动显示并且报出站点的名称,紧接着乘客上下车,选择乘车区间。

便捷智慧地铁系统设计方案

便捷智慧地铁系统设计方案

便捷智慧地铁系统设计方案智慧地铁系统是一种利用现代科技手段,提升地铁运营效率、改善出行体验的系统。

该系统通过智能化技术,包括物联网、人工智能、大数据等,实现地铁列车和站点的智能管理、用户信息的实时互动以及运营数据的监测和优化,从而为乘客提供更便捷、安全、舒适的出行环境。

以下是一个简要的便捷智慧地铁系统设计方案。

一、车站自助服务设施1. 智能自助售票和充值设备:通过自助售票和充值设备,乘客可以方便地购买车票和充值电子卡,减少人工售票压力。

2. 可视化导航系统:在车站设置导航屏幕,显示乘客所需的出行信息,包括到站时间、列车运行状态、乘车路线等,方便乘客快速找到目的地,并提供实时交通状况的预警信息。

二、列车智能管理系统1. 智能安检设备:在地铁列车上配备智能安检设备,可以快速准确进行安全检查,提高安全性和效率。

2. 视频监控系统:安装视频监控设备,实时监测列车运行状态和车厢内的情况,及时发现异常情况,保障乘客安全。

3. 无线传感器网络:通过无线传感器网络,获取列车的温度、湿度、气压等参数,对车辆进行实时监测和预警,提高列车的运行安全性。

三、用户互动系统1. 手机APP:开发一款移动应用程序,可以提供实时到站时间、乘车路线规划、列车运行状态、站内设施等信息,方便乘客快速出行。

2. 人脸识别系统:通过人脸识别技术,实现乘客身份的自动识别和刷码支付,提高乘客进出站的便利性和效率。

四、运营数据监测与优化系统1. 大数据分析:利用大数据技术对乘客出行数据进行分析,如热门出行时段、热门目的地等,以便优化车次调度和列车运营计划。

2. 运营监控中心:建立一个运营监控中心,通过监控中心的运营数据分析和预测,进行智能化调度和判断,提高地铁运营的效率和准确性。

3. 故障预警系统:通过数据监测和分析,可以实时监测地铁设备的运行状态,预测故障风险,及时采取维修措施,提高地铁的运行稳定性。

总结:便捷智慧地铁系统的设计方案主要包括车站自助服务设施、列车智能管理系统、用户互动系统以及运营数据监测与优化系统等方面的内容。

城市轨道交通站点自动售票系统设计研究

城市轨道交通站点自动售票系统设计研究

城市轨道交通站点自动售票系统设计研究近年来,随着城市化的不断发展以及人们生活水平的提高,轨道交通系统在城市交通中扮演着越来越重要的角色。

随着人口的不断增加和出行方式的变化,传统的售票方式已经难以满足人们的需求。

在此背景下,城市轨道交通站点自动售票系统的设计研究变得愈发重要。

本文将从系统的需求分析、技术实现以及用户体验等角度,探讨城市轨道交通站点自动售票系统的设计研究。

一、需求分析首先,我们需要对城市轨道交通站点自动售票系统的需求进行分析。

根据市民的意见调查和乘客的需求反馈,系统需要满足以下几点:1. 实现快速方便的购票功能传统的售票方式通常需要等待较长时间才能完成购票,而自动售票系统应该可以实现快速方便的购票功能,从而提高乘客的满意度。

2. 保障支付安全随着支付技术的不断发展,支付安全性也成为了一个不可忽略的问题。

在自动售票系统中,如何保障支付的安全性成为了一个必要的要求。

3. 提供多种支付方式由于市面上支付方式的不断多样化,自动售票系统也应该提供多种支付方式,包括现金、移动支付等多种支付方式,满足不同乘客的支付需求。

4. 具备操作简单的特点作为公共交通工具,自动售票系统应该具备操作简单的特点。

在乘客一次或多次购票之后,通过接触比较可以快速熟练的使用自动售票系统,这不仅可以提高购票的效率,也能减少乘客的不适感和较差的体验。

二、技术实现了解了需求之后,我们需要考虑如何实现自动售票系统,这需要对技术进行仔细的分析:1. 终端设备终端设备是自动售票系统的重要组成部分,终端设备一般会采用触摸屏幕和读取设备,可以根据乘客的操作反馈,完成相应的购票功能。

2. 支付系统支付系统是自动售票系统的核心,它的安全性和稳定性将对整个系统的运行产生重要影响,因此,支付系统必须具备较高的安全性和运行稳定性,以确保消费者的支付信息不会泄露和发生故障。

3. 软件设计自动售票系统的软件设计需要考虑使用者的习惯,使其操作简单易行,同时,还需要考虑如何实现和维护软件系统的安全性。

城市轨道交通自动售检票系统设计方案分析

城市轨道交通自动售检票系统设计方案分析

城市轨道交通自动售检票系统设计方案分析摘要城市轨道交通自动售检票系统设计对于轨道交通发展有重要的作用。

本文在进行研究的过程中,为确保自动售检票系统设计具有研究价值,本文提出一种基于云平台的AFC系统,探讨系统功能设计、框架设计、控制中心设计以及云平台设计方案,总结方案设计的具体内容以及要点,旨在优化自动售检票系统设计方案。

关键词:城市;轨道交通;自动检票系统;设计方案城市轨道交通建设是当前我国城市交通体系建设的重点工作。

目前,我国正在大力推广轨道交通工程。

尤其是北京,上海以及重庆等大型城市,正在全力打造城市轨道交通线路。

轨道交通建设极大程度上促进了城市交通体系优化,有利于解决城市交通压力大的问题,同时也能够舒缓地面交通压力。

近些年我国进行轨道交通体系建设过程中,不仅非常重视工程建设,同时也重视内部系统的完善。

如,研究发现,我国轨道交通体系正在进行智能化改造,包括应用城市轨道交通自动售检票系统设计应用,自动系统的应用使轨道交通服务更加便利。

1.城市轨道交通自动售检票系统设计方案分析城市轨道交通自动售检票是现代地铁交通建设中应用的重要系统,该系统的设计应用有利于提升轨道交通服务。

当前,我国各大城市都在研究自动售检票系统的设计,保证设计达到最佳效果。

以下是本文结合城市轨道交通自动售检票系统方案设计进行分析。

(1)系统功能设计分析城市轨道交通自动售检票系统的功能需求设计非常关键,对于系统应用有重要的作用。

通过设计研究发现,根据现代地铁交通自动售检票设计研究发现,系统总体功能主要包括票务线上管理以及票务运行管理等两方面内容:①线上票务系统是指自动售检票系统能够与线上办公形成结合,从而使需求者能够利用线上了解票务相关信息,其主要功能设计包括线路查询、车票处理、黑名单管理以及预付值管理等多项功能,为乘坐者提供线上服务,使其出行更加便利。

②站内管理系统的设计应用也非常关键。

主要包括票务管理、车票库存管理、薄车票售卖和检票统计等功能。

地铁自动售检票系统方案设计

地铁自动售检票系统方案设计

地铁自动售检票系统方案设计(总4页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March培训总结交通工程学院郭江静随着我国国民经济的飞速发展和人民生活水平的不断提高,人们的出行也更为频繁,城市轨道交通作为一种重要而且方便的出行方式为越来越多的人们接受和选择。

城市轨道交通同样也面临着增加运能、提高服务质量、提高竞争能力的迫切需求。

自动售检票系统作为轨道交通系统中时刻与出行人群交流的一项重要工具,也面临这巨大的挑战,而自动售票机是自动售检票系统终端设备中内部部件最多且各部件之间关联最为复杂的设备。

自动售票机实现了旅客购票自助化,大大降低了由人工售票带来的人力消耗,避免了人工操作引起的不必要的错误。

我国城市轨道交通车站的自动售检票设备,最初是来自外国,近年来我国已进行了大量的开发研制工作,提出了多种形式的产品,技术水平也在不断提高。

国内轨道交通AFC系统的发展经历了从无到有的过程。

自动售检票系统(AFC)是基于计算机、通信、网络和自动控制等技术,实现轨道交通售票、检票、计费、收费、统计、清分和管理等全过程的自动化系统。

由于AFC系统需要承载所有轨道交通的运营财务数据,并与城市公交卡、银行系统等多个系统互联,因此,AFC系统也成为轨道交通中的准财务系统,与运营收入息息相关,是轨道交通收益的主要来源随着城市人口的不断上涨,轨道运输将成为大、中城市最方便快捷的交通手段,国内许多城市已经完成了地铁/轻轨的蓝图规划,为了适应其发展要求,如何利用先进的电子化技术创造一个安全、方便、快捷的收费环境已成为当前的迫切需要。

为此我们提供了一个采用非接触式IC卡作为储值卡支付手段,以计算机系统为信息处理方法并结合先进的电子通信、网络等技术设计的现代化信息管理系统,使地铁/轻轨售检票工作实现全过程的电子化、自动化、网络化综合管理。

一方面,它可以大量减少地铁/轻轨票务管理人员、提高地铁/轻轨系统的运行效率和效益、使乘车收费更趋合理、减少逃票情况的发生、减少现金流通、堵塞人工售/检票过程中的各种漏洞和弊端、避免售票“找零”的繁琐、方便乘客、提高收费速度、增加客流分析预测的能力、合理地调配车辆,提高了运营公司的经营管理水平;另一方面,它可以自动处理轨道管理信息,准确结算,为轨道的内部管理为城市交通发展提供科学依据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Clk:in std_logic; -- 系统时钟
Cancelkey: in std_logic; -- 取消操作键
Style: in std_logic_vector(2 downto 0); -- 车票种类
Tnum:in std_logic_vector(2 downto 0); -- 所购票数
c)客人一次只能选择一个车票种类。3种票类型用3位二进制向量编码表示,即001表示选择2元车票,010表示选择2元车票,100选择2元车票。实验之前设计的是3种票类型用2位二进制码表示,因为考虑到仿真及下载到实验板模拟的方便,遂将之改为3位,使之每一个类型用一个按键控制。
d)票机的进币口可识别三种纸币,仿照c)中模式,拟用长度为3的二进制表示。乘客可以连续多次投入钱币,并且可以以任意顺序投入。纸币最多可以投入27元。
--Limition : None
--System : Vhdl9.0
--Soft : Quartus2-9.0
--Author : ChenDawen
--Revision : Version 1.0 ,2012-10-31
--------------------------------------------
应用VHDL设计状态机的具体步骤如下:
(1)根据系统要求确定状态数量、状态转移的条件和各状态输出信号的赋值,并画出状态转移图;
(2)按照状态转移图编写状态机的VHDL设计程序;
(3)利用EDA工具对状态机的功能进行仿真验证。
经过综合比较,决定采用状态机来实现本系统的设计,这样不仅思路很清楚而且可读性也非常强.利用状态机实现售票功能。
b). 选择车票种类
图8
选择车票种类,style=“100“代表买单价为6元的车票,系统进入第二个状态state=00010,Selticket,等待选择购票数量状态,6个数码管显示600000;
c). 选择车票数量
图9
选择车票数量,Tnum=“100“代表购票 3,系统进入第三个状态state=00100,Inputmoney,等待放入钱币状态,MoneyInputAlarm=‘1‘代表钱币不足,6个数码管显示630000;
就运行速度而言,状态机状态变换周期只有一个时钟周期,而且,由于在每一状态中,状态机可以完成许多并行的运算和控制操作,所以,一个完整的控制程序,即使由多个并行的状态机构成,其状态数也是十分有限的。因此有理由认为,由状态机构成的硬件系统比CPU所能完成同样功能的软件系统的工作速度要高出两个数量级。
就可靠性而言,状态机的优势也是十分明显的。首先是由于状态机的设计中能使用各种无懈可击的容错技术;其次是当状态机进入非法状态并从中跳出所耗的时间十分短暂,通常只有2个时钟周期,约数十个ns,尚不足以对系统的运行构成损害.
f). 第三次投入钱币
图12
第三次投入钱币,Money=“010“代表投入5元,钱币足够(6*3=18<5+10+5=20),判断Castmoney>Totalmoney,MoneyInputAlarm=‘0‘代表钱币已足,系统进入第四个状态, state=01000,Ticketout,出票状态;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity SubwayAutoTicketSellSystem is
port(
Restart:in std_logic; -- 系统复位信号
Rebuy:in std_logic; --开始购票操作
f)系统能够复位。
提高要求:
将投币种类增加为1元、5元和10元三种。
二、系统设计
2、设计思路
a)购买车票时,乘客按“开始购票”按钮开始购票;
接着,选择车票的种类,即单价,分2元、4元、6元;
选择购票数量,一次购票数限制在3以,选择1、2、3;
然后,进入投币阶段,投入钱币,投入的钱币设计为1元、5元、10元币种;
无论与基于VHDL的其它设计方案相比,还是与可完成相似功能的CPU相比,状态机都有其难以逾越的优越性,它主要表现在以下几方面:
由于状态机的结构模式相对简单,设计方案相对固定,特别是可以定义符号化枚举类型的状态,这一切都为VHDL综合器尽可能发挥其强大的优化功能提供了有利条件。而且,性能良好的综合器都具备许多可控或不可控的专 门用于优化状态机的功能。
有限状态机(Finite State Machine,简称FSM)是指输出向量不仅依赖于当前输入向量,也依赖于过去输入向量序列的电路.一个有限状态机电路由寄存器逻辑(时序逻辑)和组合逻辑组成. 有限状态机是数字逻辑电路以及数字系统的重要组成部分,尤其应用于数字系统核心部件的设计,以实现高效率高可靠性的逻辑控制。
d). 投入钱币
图10
投入钱币,Money=”010”代表投入 5元,钱币不足,系统依旧停留在第三个状态state=00100,MoneyInputAlarm=‘1‘代表钱币不足,6个数码管显示630500,等待放入钱币;
e). 第二次投入钱币
图11
第二次投入钱币,Money=”100”代表投入10元,但钱币依旧不足(6*3=18>5+10=15),判断Castmoney<Totalmoney,系统依旧停留在第三个状态state=00100,MoneyInputAlarm=’1’代表钱币不足,6个数码管显示631500,等待放入钱币;
一般有限状态机的VHDL组成:
说明部分:
主要是设计者使用TYPE语句定义新的数据类型,如:
TYPEstatesIS(st0, st1, st2, st3, st4, st5);
SIGNALpresent_state, next_state: states;
主控时序逻辑部分:
任务是负责状态机运转和在外部时钟驱动下实现部状态转换的进程。时序进程的实质是一组触发器,因此,该进程中往往也包括一些清零或置位的输入控制信号,如Reset信号。
Money: in std_logic_vector(2 downto 0); --投币口
MoneyInputAlarm:out std_logic; -- 投币不足报警信号
Tout:out std_logic; -- 出票
Mout:out std_logic_vector(1 downto 0); -- 余额找出
i).再次购买
图13
之后, Rebuy=‘1‘,代表再次购票,进入第一个状态state=00001,系统数据清零,Selstyle,等待选择票种状态,6个数码管显示000000;
j). 取消操作
图14
在c),d),e)之后,如果想取消交易,cancelkey=’1’,系统进入找零状态,如,在d)之后取消,自动找零,Mout[1]=‘1‘代表检测到restmoney>5,找出一5元的纸币,找零结束,6个数码管显示630505;
e)用5位二进制数表示5个状态,分别是
状态
程序标示
代表状态
00001
Selstyle
等待选择票种状态
00010
Selticket
等待选择购票数量状态
00100
Inputmoney
等待放入钱币状态
01000
Ticketout
出票状态
10000
Givechagne
找零状态
3、系统总体框图
图1
图2
图3
图4
g). 系统自动出票
系统自动出票,Tout=‘1‘显示在3个周期代表出票3,系统进入第五个状态, state=10000,Givechagne,找零状态。
h). 系统自动找零
系统自动找零,Mout[0]=’1’持续两个周期代表检测restmoney>1,依次找出21元的纸币,找零结束,6个数码管显示632032,State=”10000”代表状态停留在找零阶段。
简易地铁自动售票系统设计方案
设计制作一个简易地铁自动售票系统。
基本要求:
a)地铁票价统一为每两元,只能投入币值为五元的人民币进行购票。
b)能够开机自检,检验显示器件正常。
c)通过按键开关BTN输入购票数和投入的人民币数并恰当显示相应信息。
d)设置适当的声音提示或显示提示表示取票和找零。
e)一次购票成功后系统能够恰当地转入下一次购票等待状态。
主控组合逻辑部分:
任务是根据状态机外部输入的状态控制信号(包括来自外部的和状态机部的非进程的信号)和当前的状态值current_state来确定下一状态next_state的取值容,以及对外部或对部其他进程输出控制信号的容。
辅助逻辑部分:
辅助逻辑部分主要是用于配合状态机的主控组合逻辑和主控时序逻辑进行工作,以完善和提高系统的性能。
图5
图6
4、分模块设计
经过分析,本地铁自动售票系统的设计需要实现以下几项主要功能:票种选择,票数选择, 投币处理,出票及余额找零.
本系统可以采用模块化设计和有限状态机的设计方案来实现。
采用模块化设计方法即从整个系统的功能出发,将系统的整体逐步分解为若干个子系统和模块,然后用VHDL语言对各个模块进行编程,最后形成顶层文件,在QuartusⅡ环境下进行编译与仿真,检查所编程序是否运行正确。如果出现错误,需要进行修改,直到完全通过为止。
当投入的钱币达到所需金额时,系统进入出票以及找零状态,售票机自动出票,并自动找出余额;
然后,再次点击“开始购票”进行另一次购票。
b)选择出站口或投币过程中,乘客都可以按“取消”按钮取消该次交易。选择出站口的过程中,若按“取消”按钮,则售票机直接进入到找零状态;投币过程中,若按“取消”,则售票机将乘客已经投入的钱币全部退出,即进入找零状态,。
相关文档
最新文档