摘要:根据停车场智能化管理的需要提出了系统设计思想。系统硬件设备由入口设备、出口设备和发卡设备组成,论述了它们的硬件电路设计和软件设计,并重点讨论了IC卡读写的硬、软件设计。
随着国民经济飞速发展.城市汽车数量剧增,停车难问题愈来愈凸现,在增加停车场数量的同时,提高停车场的智能化管理是解决这个问题的关键。本设计开发的自动计时停车收费系统,以非接触IC卡技术为基础.实现了停车场收费管理现代化,它具有效率高、管理科学、安全可靠等特点。
1系统整体设计
整个系统硬件设备由停车场人口设备、停车场出口设备和发卡设备三部分组成。人口设备和出口设备位于停车场人口和出口单机工作,而发卡设备位于管理中心,由上位机控制。三部分设备的硬件设计和主要功能如表1所示。
表1设备硬件组成与功能
设备硬件组成与功能
硬件组成上,发卡设备直接由上位机控制,所以无需键盘、LCD模块等硬件,出口设备包含人口设备和发卡设备所有的硬件,它们的设计只需在出口设备硬件基础上去掉相应模块,所以在后面的硬件设计介绍中以出口设备为代表三种设备的不同功能由软件编程实现,出口程序经过精简和简单的修改可得到人口设备程序,所以在软件设计中主要讨论了出口设备和发卡设备的程序流程。在整个系统中,非接触IC卡是三部分硬件设备相互联系的桥梁,非接触IC卡的读写程序设计是系统实现的关键,本文将重点讨论。
2IC卡卡内存储空间的分配
本设计使用PHILIPS公司的MF1IC卡,卡内集成1KB的E2PROM,并划分为16个可独立使用的扇区,每个扇区又分为4个16字节的存储块,每个扇区的第4个存储块保存该扇区的密码和访问控制,IC卡中的16个扇区可用于16个不同系统中。本设计使用扇区2,具体存储空间划分:块0的低4个字节存储用户序列号,块1存放存储用户余额,块2低7个字节存放停车起始时间块3存放两套6字节密码和4宁节访问控制。
3硬件设计
3.1出口设备硬件结构
出口设备硬件结构如图1所示.AT89C55单片机作为控制器,它片内集成20KB的程序存储器,满足本设计对程序存储器容量的要求:ZLG7289芯片外接4×4的键盘;DS1302为停车计时提供准确时钟;LCD液晶显示各种信息,如按键信息、时间和停车费用等:AT24C256存储用户结算信息:通过RS-232I亍上位机通信:通过ZLG500对IC卡进行读写操作:MCU通过P1.7端口向挡车闸电机控制器发送开关车闸信号。为充分利用单片机有限的端口,外围设备多采用了具有I2C接口f如AT2,4C256、DS1302)和SPI接1:3(如ZLG7289、ZLG500)的器件。
图1出口设备硬件示意图
3.2非接触IC卡读写模块ZLG500
ZLG500负责对非接触IC卡的读写操作。需外接PCB天线。ZLG500模块连接电路如图2所示.传输启动端SS接MCU的外部中断O,MCU和ZLG500之问发送数据,首先由发送方将SS拉低并且在发送结束后将SS拉高,本设计中MCU以下降沿中断触发的方式接收ZLG500发送的数据.并将外部中断O设置为最高优先级,保证第一时间接收到IC卡数据。SCLK为SPI接口的时钟线,总是由MCU产生。SDATA为双向数据线,在数据传输开始前,由数据发送方将SDATA拉低,数据接收方同意接收数据则将SDATA拉高,作为接收响应信号,之后SDATA作为数据传送线。模块自带看门狗,复位端RST可悬空或接低电平。CTRL和BZ接发光二极管和蜂呜。
图2ZLG500模块电路连接图
3.3AT24C256存储器存储空间划分
采用具有32KB存储容量AT24C256存储收费结算信息。存储空间划分:第1、2字节为出口设备号,第3、4个字节为已打卡数量,第5到第8个字节为收费总金额,后面为用户数据区,每位用户数据由13字节组成.包括4字节用户序列号和2字节消费金额(BCD码1.最多记录5460个用户数据。
3.4LCD显示
采用SMG12864液晶显示模块,可显示4行8列共32个16×16的汉字。它自带2个KS0108B和1个KS0107B显示驱动控制器.2个KS0108B分别控制左右两个半屏64×64)像素点的显示.KS0107B作为64行的行驱动控制。液晶模块采用直接控制方式.P2.2和P2.3分别接CS1和CS2用于左右半屏控制器的片选,RS(接P2.O)为内部功能寄存器选择,R/W(接P2.1)为读写控制信号.P2.7接LCD驱动器的使能端E。
3.5键盘设计
键盘接口电路采用ZLG7289芯片.其按键有效输出端,KEY)接MCU的INT1./KEY在有效按键时为低电平,平时为高电平。EY的下降沿触发按键中断之后,MCU根据ZLG7289发送的键值进行相应处理。设计按键有:数字键0-9、”.”、”功能”、”退出”、”退格”、”确定”。
4软件设计
软件设计采用了模块化设计方法.首先设计出设备外围各硬件的驱动程序,将各硬件的驱动函数声明在相应头文件(.h文件)中,然后在主程序中包含这些头文件,按系统功能需要调用各个模块的驱动函数。限于篇幅,本文只详细讨论了主程序流程和读写卡程序。
4.1主程序
4.1.1出口设备主程序流程
(1)启动后对LCD、E2pROM、ZLG500和时钟等初始化;
(2)读取当前时间、LCD显示待机界面;
(3)等待射频IC卡的请求、按键请求或串13通信请求。有任一种请求则进入相应处理程序,并且处理程序返回之前。屏蔽其它两种请求。①IC卡请求,验证用户IC合法性,若为非法卡.则放弃IC卡请求,若为合法卡,从DS1302和IC卡中获取当前时间和停车起始时间,计算出停车费用,从IC卡获取用户余额。若判断消费金额超过用户余额则蜂呜报警并在LCD中提示。否则将扣除消费金额并将余额写入IC卡中,最后将用户序列号和消费金额存储到AT24C256中,上位机根据存储器中用户消费金额更新用户余额。②按键请求.”功能”键被按下会中断触发按键处理程序,液晶显示”请输入密码”,正确输入密码后,在液晶中显示各种功能,如”设置时间”、”查询总金额”、”记录个数”等,按数字键选择相应功能,按”退出”键可以退到上一层操作界面,按”确定”键可确认输入,”退格”键取消前一步输入。③串口通信请求,出口设备与上位机连接时.根据上位机命令.可进行存储器数据上传、设置设备时间等操作。
(4)向挡车闸电机控制器发出开关信号。
4.1.2发卡设备主程序流程
开机后对读写卡模块和串口进行初始化.然后等待上位机命令:
(1)若为”发新卡命令”.接着接收上位机发来的新用户数据,当在有效范围内检测到合法卡时将数据写入IC卡内扇区2
中相应位置中:
(2)若为”充值命令”,将有效范围内IC卡的用户信息传给上位机,然后等待上位机发来”写卡命令”:
(3)收到”写卡命令”,紧接着接收上位机发送的数据,然后将接收到的数据写入IC卡中。
4.2读写IC卡模块通信协议与程序设计
4.21MCU与ZLG500之间的通信协议
MCU与ZLG500之间的通信接图3所示的数据格式进行。
图3MCU与ZLG500之间通信的数据格式
数据块各字段描述如下:
①SeqNr:数据交换包的序号;
②Co
该文观点仅代表作者,本站仅提供信息存储空间服务,转载请注明出处。若需了解详细的安防行业方案,或有其它建议反馈,欢迎联系我们。