地铁闸机控制系统的设计

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:ljdoctor
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文提出了一套地铁闸机控制系統的设计方案。下位机以单片机为主控元件,辅以非接触式读写卡芯片、液晶屏、灯箱等模块,能够实现读卡,写卡,以及与上位机的通信等功能,上位机信息管理系统提供能够在显示界面内读取、修改卡内相关信息等功能。
  关键词:非接触式IC卡;射频识别;串口通信;图形用户界面;数据库
  中图分类号:TP311.1 文献标识码:A 文章编号:1009-3044(2018)21-0259-04
  Abstract:This design proposes a design scheme for a subway gate control system. The lower computer adopts single-chip microcomputer as the main control element, and is supplemented by non-contact reading and writing card chip, LCD screen, light box and other modules, which can realize the functions of reading card, writing card, and communication with upper computer.The upper computer information management system provides the functions of reading and modifying the card’s related information inside the display interface.
  Key words:contactless IC card;radio frequency identification; serial communication; graphical user interface; database
  随着全球城市的迅速发展以及人口的大量涌入,交通状况愈加紧张。地下铁道作为一种能够缓解地面交通压力的公共交通方式,近年来被广泛运用到城市建设中。地铁闸机控制系统规范行人正确、有序地进出,是地铁系统稳定运行的重要一环。
  1 闸机控制系统硬件总体结构
  1.1 IC卡结构及协议——Mifare 1 S50
  Mifare 1 S50是一种非接触式IC卡,工作频率为13.56MHZ,符合ISO14443A标准。其内部拥有天线模块,接口模块,控制模块和存储模块,均被封装在一张PVC卡片内。存储模块内部拥有16个扇区,每个扇区分为4个块。每张卡片的序列号以及制造商信息等,存放于扇区0的块0中,该块信息已固化,不能被更改,其余各个扇区的块0、块1、块2皆可用于存放数据。每个扇区的块3为控制块,共有16个,每一个块3包含了该扇区的密码字节(密钥A、密钥B)以及对该扇区中其余块0,1,2进行数据处理的存取控制权限字节。
  1.2 读卡器硬件组成
  本文所设计的非接触式IC卡读写系统主要包括单片机,非接触式读写卡芯片,高频接口,液晶屏等;辅以蜂鸣器和红绿LED灯实时反馈系统状态;拥有独立的复位按键。单片机通过控制驱动器ST7920驱动液晶屏,该系统配置有USB接口以及DC接口,支持USB供电。整个系统通过DB9接口实现与计算机间的串口通信。其中非接触式读写卡芯片是整个系统的核心。本设计选用MF RC522作为非接触式读写卡芯片,其内部主要包括模拟信号处理模块,接口模块,寄存器模块,协议处理模块,mifare密钥模块。
  2 闸机控制系统软件总体结构
  包括IC卡读写程序(入站读卡,出站读写卡),闸机终端控制程序,通信程序,后台公交计费信息管理程序。总体框架如图3所示。
  2.1 程序综述
  本设计所含程序大致组成有:
  (1)读写卡系列芯片驱动程序,包含对射频卡进行操作的所有函数,例如寻卡、防碰撞、读写卡等函数。
  (2)液晶屏程序,将存储在卡内的某些信息处理后使其显示于液晶屏上,可显示出当前站台、卡号、消费金额、余额等相关信息。
  (3)串口通信程序,用于提供信息在下位机和上位机之间的发送和接收。
  (4)图形用户界面程序,选择使用Python内置的Tkinter搭建上位机管理界面的窗口框架和内部组建组件。
  (5)数据库程序,存储卡号、余额等信息。选择使用python内置的Pymysql库,连接Mysql数据库。
  3 出入站闸机公交卡识读系统程序设计
  与乘坐普通公交汽车只需单次刷卡不同的是,乘客乘坐地铁时需要经过出、入两道闸机,这两道闸机所具有的功能并不相同,因而需要对进、出站闸机的设计不同的程序。进、出站闸机控制系统流程图如图4所示。
  3.1初始化程序
  系统初始化:设置特殊功能寄存器;设置定时器/计数器模式控制寄存器;设置定时器的初始值;设置允许接收位;启动定时器;允许定时器中断;设置发送标志位;开启总中断开关;开启串口中断;设置接收标志位。
  3.2读写卡芯片控制程序
  3.2.1寻卡
  当卡片进入到读卡器的工作范围内时,读卡器通过使用MF522命令字来发送和接收数据。读卡器向卡片发送REQALL命令以寻找天线区域内全部卡,将接收到的卡片返回的类型码存放在TagType中。
  3.2.2防碰撞
  当有一张及一张以上的IC卡进入读卡器工作范围内时,读卡器发送ANTICOLL1命令,执行防碰撞算法,依据命令的匹配条件确认卡片,将接收到的卡片返回的序列号存放在Snr中。   3.2.3选定卡片
  读卡器执行SELECT命令,选择卡片的序列号。卡片被选中后,将块0中的容量信息返回给读卡器。
  3.2.4三轮相互认证
  (1) 上述步骤成功后,读卡器指定要访问块地址所属的扇区位置,向卡片发送一个包含密码相关信息的命令。
  (2) 卡片接收到信息后,使用所要求的加密方式,加密一组随机数B,发送给读卡器。
  (3) 读卡器接收信息后,对其进行处理,连同附加上的随机数A,发送给卡片。
  (4) 卡片接收信息后,验证随机数B,若验证结果为正确,将随机数A加密后发送给读卡器,若验证结果为错误,则停止认证过程。
  (5) 读卡器接收信息,验证随机数A,若验证结果为正确,则认证成功,若验证结果为错误,则终止认证过程。
  3.2.5读余额,写进站站台代号/读进站站台代号
  本设计默认余额存放在块1的第四个字节处。读卡器利用Pcdread命令将块1信息读取并存放在数组中,再读取第四个元素,得到余额数据。与此方式类似,对于进站闸机,读卡器利用Pcdwrite命令将进站站台代码写入卡片块2的第一个字节处,用于出站时的扣费计算。对于出站闸机,读卡器使用Pcdread命令将进站站台代码读出,存放在数组中。
  3.2.6扣费
  读卡器将进站代码信息读出,用出站闸机所存储的代表当前站台的代码与之比较并处理,得到乘客的乘坐站台数D,将D代入到计算扣费金额的函数中,得到相应的消费金额,将金额存放在数组中,使用PcdValue命令对钱包地址所在块进行扣款。计算扣费金额流程图如图5所示。
  3.2.7串口通信
  建立一个数组,用于存放卡片序列号以及余额等需要发送的信息,关闭串口中断ES,发送标志位TI清零,将数组内的元素逐字节发送给SBUF寄存器,每发送一个字节后,发送标志TI位自动置1,需要继续清零,待所有信息发送完成,开启串口中断ES。
  3.3 液晶屏程序
  3.3.1液晶屏初始化
  设置通信方式;功能设置;显示状态设置;液晶屏清屏;
  3.3.2设置待机界面
  设置显示位置为1、2、4行,待机状态下显示简要的说明文字,界面如图6所示。
  3.3.3设置进站闸机显示界面
  设置显示位置为1、2、4行,在进行进站刷卡操作后,显示当前站台名称、卡号和余额,余额要进行十六进制转十进制显示,界面如图7所示。
  3.3.4设置出站闸机显示界面
  设置显示位置为1、2、3、4行,在进行出站刷卡操作后,显示当前站台名称、卡号、消费金额、余额,余额要进行十六进制转十进制显示,,界面如图8所示。
  4 灯箱
  灯箱电路的发光二极管部分由159个红色高亮度LED和101个绿色高亮度LED组成。LED灯珠驱动电路主要由六反相器和四个MOS管组成。电源电路主要由隔离电源模块和三端稳压集成电路组成。通信电路主要由低功耗RS-485收发器和两个光耦组成。电路板上具有拨码开关,能够切换自动与手动模式。两种LED点亮后如图9、图10所示。
  5 进出站信息管理系统
  该系统主要包括图形用户界面的设计以及数据库的连接
  5.1 Tkinter
  Tkinter模块是内置在python中的Tk图形用户界面的标准接口,能稳定运行在Window,Unix等大多数平台中。
  5.1.1 Tkinter组件
  本设计所运用到的Tkinter控件主要有:
  (1)Label:标签,用于显示界面内的文字,如“卡号”,“余额”等。
  (2)Button:按钮,点击后触发所设定的command,执行读卡、充值等命令。
  (3)Entry:文本输入框,其内部get()函数可以接收用户输入充值金额。
  (4)Text:文本域,用于显示刷卡后得到的卡号,余额等信息。
  (5)Combobox:下拉列表框,用于选择设备的串口号以及波特率。
  5.2 pyserial
  Pyserial模块是Python内用于开发串口的模块,支持在Windows、Linux等多平台上稳定运行,主要操作代码如下:
  5.2.1 配置串口并打开
  ser = serial.Serial(’com_number’, baud rate, timeout=n)
  5.2.2 读取数据
  line = ser.readline()
  5.3 pymysql
  Pymysql模块是Python中用于连接Mysql服务器的模块,实现对数据库的操作。本设计需要建立数据表”xinxi”,包含3列信息:cardnumber,balance,balancechange,主要操作代码如下。
  5.3.1连接数据库
  5.3.3 向数据表内插入记录
  INSERT INTO xinxi (column1,column2,column3)
  VALUES (value1,value2,value3);
  5.3.4 更新数据表现有记录
  UPDATE xinxi SET column1=value1 WHERE column2=value2;
  5.3.5 删除数据表记录
  DELECT FROM xinxi WHERE column1=value1;
  5.3.6 操作实例
  6 结论
  本文结合城市发展需要,提出了一套地铁闸机控制系统的设计。该系统设计完备,具有良好的稳定性。其设计思想在地铁闸机建设中具有较强的实用性。
  参考文献:
  [1] 周晓光.射频识别(RFID)技术原理与应用实例[M].北京:人民邮电出版社,2006.
  [2] 陈亮.地铁非接触式IC卡技术应用[J]. 济南:科技信息,2013(22).
  [3] 王愛英.智能卡技术[M].北京:清华大学出版社,2000.
  [4] 朱嘉斌.地铁IC卡读写器的设计研究[J].北京:现代城市轨道交通,2007(5).
  [5] 李淑琴,陈林,范蟠果.射频识别非接触式IC卡读卡器的设计[J].北京:计算机测量与控制,2007(3).
  [6] 陈秋彤,梁昭峰,何培重.实用型非接触式IC卡读写器的研制[J].哈尔滨:电测与仪表,2004(8).
  [7] 张凤涛.基于单片机技术的非接触式IC卡考勤机设计研究[J].郑州:河南科技,2013(1).
  [8] 林君.基于STC12C5A60S2单片机的射频读卡器设计[J].济南:科技信息,2012(35).
  [9] 黄春耀,王清辉.非接触式IC卡开放实验室管理系统下位机设计[J].龙岩:龙岩学院学报,2012(2).
  [10] 李树良, 施华莎.射频(RF)卡原理与结构[J]. 沈阳:微处理机,2013,16(9):17-19.
  【通联编辑:王力】
其他文献
高血压是心血管疾病发病、致病和死亡的重要危险因素之一。特别是原发性高血压是一种没有明显自觉症状,仅以血压持续超过18.67/12.00kPa为特征的慢性病。多数病人没有疾病的主观
实施产学合作是高等职业教育的办学方向,也是提高办学水平,创建办学特色的有效途径。建立稳定、持续的产学合作运行机制,必须立足于“区域融合、校企互动”,运用市场化模式,充分调
摘要:随着Android手机的普及和研究者对其在日常生活中功能的拓展挖掘,Android手机的功能已经不再是单纯用于通话,而渐渐渗透到人们日常生活的各个方面。该文以运动监测作为切入点,利用Android平台提供的传感器接口,设计了一款基于Android平台传感器技术的运动监测应用,从而实现计步,俯卧撑计数等运动数据记录功能。  关键词:Android;传感器技术;运动监测  中图分类号:TP311
语文学科在传统的教育体系下得到的重视程度还不足其他学科,随着中国回归国际舞台的需要,民族自信和文化自信得到了越来越多的关注,而语文学科也重新得到了重视。写作通过考
在小学语文教育中加强阅读教学是对学生阅读欣赏能力的培养,同时也是为学生语文学习打下坚实的基础的重要途径。采用问题教学法不仅能够激发学生对阅读内容的兴趣,同时还能引
在21世纪经济全球化的环境下,物流产业也随之成为了新的经济增长点,同时物流活动也必然会带来相应的物流成本,所以对物流成本的管理及控制就成了一个主要任务.长期以来,物流
在阎良区两所农村高中抽取了被试325名学生,采用“临床症状自评量表(SCL—90)”对每一位被试进行施测。该量表由躯体化,强迫症状,人际关系敏感,抑郁,焦虑,敌对,恐怖,偏执,精
改革开放使我国经济增长、效率提升、社会进一步发展,但众多社会结构性问题日益突出,领域分化、阶层分化、收入差距拉大,整合社会各要素之间相互影响,促成一定程度的和谐性,从而维
摘要:该文针对目前餐饮行业点餐机制不完善这个问题进行了深入研究,设计出了适合现代餐饮行业要求的个性化桌面点餐系统。重点介绍了系统的框架设计和关键技术的实现,并总结了系统的创新点。该软件较好地改善了餐饮行业中点餐机制上的弊端,从而促进餐饮行业的发展,节省劳动力,提高工作效率。  关键词:管理系统;桌面点餐;设计  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)04-
目前我国的教育水平发展到了新的阶段,从过去的应试教育,变为了如今的素质教育,更加强调了学生的综合素质的培养。在其中,小学阶段是学生成长的重要阶段,也是基础阶段。而小