摘要:高校食堂传统的纸质餐票、现金或基于接触式
IC卡技术的消费支付方式存在服务效率不高、便捷性差、管理成本高、卡片易损坏等诸多弊端。为了克服这些弊端,研究将CAN总线技术和非接触式智能卡技术结合起来,提出一种基于CAN总线的高校食堂刷卡系统的设计方案,并完成下位机发卡节点和刷卡节点的软硬件设计,以及上位机管理软件的开发,实现安全、可靠、便捷的发卡和刷卡以及用户信息管理。
引言
在如今的高校食堂,由于学生数量庞大,流动性频繁,传统的纸质餐票、现金或基于接触式IC卡技术的消费支付方式存在服务效率不高、便捷性差、管理成本高、卡片易损坏等诸多弊端。高校食堂消费作为学校后勤服务的重要组成部分,如果仍沿用以前传统的消费方式,将动用大量的人力物力,而且管理上会出现很多繁琐的事务,这样不利于高校更好地为广大师生服务以及学校的管理。为了解决这一问题,如今,越来越多的高校采用智能卡技术和网络技术相结合来构建学校的食堂刷卡系统。
非接触式智能卡技术和CAN总线技术都是当今世界科技迅猛发展的产物。智能卡技术广泛的应用于各行业,特别是公共交通、无线通信、身份识别、金融交易和安全防卫等行业;而CAN总线在可靠性、实时性和灵活性方面都有突出的优点。如果将非接触式IC卡技术和CAN总线技术2种热点技术结合起来,开发一套基于CAN总线的高校食堂刷卡系统,对优化广大师生的生活,提高高校食堂管理水平和服务质量,将具有很好的促进作用。
1、系统总体设计
1.1系统设计原则
根据设计的背景以及系统的设计任务和要求,该系统在研究和设计过程中要遵循4个方面的原则:安全性、可靠性、易用性、易维护性。
1.2系统主要技术方案选择
本系统设计需要首先确定的主要技术方案有:通信总线的选择、卡片的选择、卡读写操作技术方案的选择。通过充分的比较论证,本系统采用CAN总线来构建系统网络,选用Philips公司设计的MifarelS50非接触式IC卡作为高校食堂刷卡系统的信息载体,为了提高系统的可靠性、稳定性和兼容性,本系统采用购买北京易火眼公司的YHY502ATG射频卡读写模块来对射频卡进行读写操作。
1.3系统设计主要器件选择
根据市场情况、开发工具和设计的实际需要,本系统的发卡节点和刷卡节点均选用单片机AT89S52作为主控芯片。考虑到SJA1000支持CAN2.0A/B协议,而PCA82C250可以支持110个CAN节点,并且在国内市场上Philips的产品型号比较多,购买方便,所以选用Philips公司的SJA1000作为CAN控制器以及PCA82C250作为CAN总线收发器。
1.4系统整体结构
根据系统设计所确定的技术方案,系统整体结构如图1所示。
1.5系统功能模块划分
根据系统设计的功能任务和要求,可把本系统划分为3大功能模块:发卡模块、刷卡模块和系统上位机模块,如图2所示。
2、系统硬件电路设计
2.1硬件总体设计方案
高校食堂刷卡系统硬件部分分为发卡机和刷卡机,根据系统功能模块划分,系统硬件电路具体由7部分构成:AT89S52zui小系统外围电路、射频卡读写模块YHY502ATG电路、串口通信电路、CAN总线通信电路、LCD12864显示电路、键盘输入电路和报警提示电路。系统硬件电路组成如图3所示。
2.2射频卡读/写模块电路设计
YHY502ATG射频卡读/写模块与微控制器之间的通信通过I2C总线实现,可参考YHY502ATG的技术应用手册来设计应用电路。YHY502ATG读写模块提供一组对卡操作的通信协议,不必考虑底层通信数据的处理,不过必须遵守这些通信协议,并根据设计需要在控制端修改相应程序即可。
2.3串口通信接口电路设计
设计采用9芯的RS232C接口实现下位机与上位机之间的通信,AT89S52本身带有一个全双工UART串行通道,在硬件电路设计中,为了使AT89S52单片机的输入输出TTL电平与PC机配置的RS232C标准串行接口二者的电气规范一致,本系统采用MAX232芯片实现AT89S52与PC机的RS232C标准接口电平之间的转换。
2.4CAN总线接口电路设计
系统采用CAN通信控制器SJA1000和CAN收发器PCA82C250设计CAN总线节点接口电路。在硬件电路设计时,总线末端的2个120Ω电阻,对于匹配总线阻抗起着非常重要的作用。如果忽略掉它们,会使数据通信的抗*力及可靠性大大降低,甚至无法通信。
2.5键盘输入电路设计
键盘电路用来接收用户刷卡消费输入的金额,所以一个稳定、占用系统资源少的人机对话通道非常重要。传统的键盘电路设计,不管是独立式键盘还是矩阵式键盘,都非常浪费微控制器的端口资源,而且还需要人为进行去抖动处理,且抗*力差。为了克服上述弊端,本系统采用广州周立功单片机发展有限公司自行设计的一款数码管显示驱动及键盘扫描管理芯片ZLG7290来设计键盘电路。
2.6液晶显示模块电路设计
液晶显示模块电路用来提示用户刷卡消费的信息,为了使系统人机交互界面友好,液晶显示模块电路采用长沙太阳人公司生产的SMG12864G3-ZK型液晶来设计。为了节约单片机的I/O资源,液晶模块采用串行接口方式。
2.7系统复位电路设计
为了使单片机AT89S52和CAN控制器SJA1000同时复位,本系统采用IMP708复位芯片设计复位电路。IMP708为微处理监控芯片,具有系统复位、掉电复位、手动复位、“看门狗”、定时输出、电源电压监测、具有不同复位电压等特点。该芯片功耗低、使用简单、价格低廉、可靠性高,应用十分广泛。
3、系统软件设计
本系统的软件设计分为上位机和下位机2部分。下位机软件设计需要完成系统发卡节点和刷卡节点软件的开发,针对各节点要完成的功能及要求,展开具体的分析、绘制程序流程图、设计各功能模块软件程序。上位机监控程序的开发是本系统的一个难点和重点,主要实现上位机和下位机之间的通信、对发卡节点的命令操作、注册用户、消费信息实时管理、用户数据管理等功能。
3.1发卡节点程序设计
发卡节点主要完成用户的充值、串口通信等操作,结合硬件电路设计,为了实现各模块的功能,发卡节点的软件总体设计流程如图4所示。
3.2刷卡节点程序设计
刷卡节点主要完成的功能有读卡序列号、读钱包、扣款、过程液晶显示、CAN总线发送消费结算信息给上位机。根据节点的硬件电路和设计的功能要求,刷卡节点程序总体设计的流程如图5所示。
3.3上位机程序设计
上位机程序的设计采用VisualC++6.0MFC编程技术来实现,需要实现用户信息的注册或注销、卡充值、卡扣款、用户信息查询和修改等功能,同时建立与数据库的连接能将用户消费结算信息实时更新并储存到数据库中。系统上位机串口通信程序采用的是ActiveX控件MSComm进行编程,数据库编程采用ADO技术,使用数据库管理软件SQLServer2000。根据系统的设计任务和要求,上位机软件功能框图如图6所示。
4、结语
系统成功的实现了上位机与下位机之间的软硬件调试,运行稳定,效果良好。系统操作能对用户进行注册或注销、用户信息查询以及卡充值、卡扣款,并能将用户的消费结算信息实时更新至数据库中。本设计实现了安全、可靠、便捷的发卡和刷卡,达到了预期效果。