第5章 智能卡应用系统
课程设计——智能卡门禁系统设计
课程训练——一卡通系统的综合应用
典型智能卡应用系统
智能卡应用系统开发的一般方法
思考题
课程设计——智能卡门禁系统设计
设计要求
1.智能卡门禁系统——门禁机模块的设计
1) 非接触式IC卡读写头部分
主要内容:读写头部分采用非接触式IC卡读写模块,由读卡器读入数据并加以保存。智能卡按常规要具有加密和数据分区存储功能,读写头的读写距离在5~10 cm左右,必须具有掉电保护、精确时间计时和显示及3~5 KB的临时数据存储功能。
2) 门禁机主控模块
主要内容:智能门禁机主控模块是智能门禁机系统的核心部分,主要包括MCU、键盘、显示、电子时钟、外部数据存储器及掉电保护和看门狗电路,有精确时间计时和显示。
2.智能卡门禁系统——系统管理模块的设计
1) 系统管理主控模块的设计
主要内容:设计门禁上层软件的主控模块,其主要实现的功能是最高权限卡对管理员和一般用户发卡,管理员对一般用户发卡。它要能对丢失的卡进行挂失,对找回的卡进行解挂,同时还要具备查找功能。
2) 系统管理的数据库管理软件的设计
主要内容:运用高级语言编程,制作数据库管理软件。它采集下位机的数据并保存,然后管理采集到的数据,具有采集、数据更新、查询统计和打印报表功能。
3.智能卡门禁系统——数据传输模块的设计
主要内容:完成中央控制电脑与门禁读写器之间的数据传输协议的设计,能实现主、从机的双向数据传输及一对一、一对多的数据传输。
总体方案
根据设计要求,整个智能卡门禁系统分为三大部分:其一是读写器部分,包括MCU、复位电路、时钟电路、显示电路、键盘、数据存储等主控模块及非接触式IC卡读写模块和电锁驱动部分;其二是中央控制电脑的软件管理系统模块;其三是中央控制电脑与读写器之间的数据传输模块。其总体方案见图。
图 非接触式IC卡门禁系统框图
非接触式IC卡门禁机的设计
系统采用Philips公司的非接触式MIFARE 1(M1)卡,以M1卡作为用户卡,以用户卡的序列号SN(全球惟一)为依据控制门的开启。因为它是一个高频卡(工作频率为 MHz),有较强的抗干扰能力,读写距离远(5~10 cm)。
首先,在发卡系统(中央控制电脑)里把用户的卡号及个人信息输入系统数据库,并将该卡号作为合法卡号下载给所有门禁机。当有一张M1卡在门禁机的有效工作范围内时,系统会自动向卡发出命令,卡接收到命令后向门禁机反馈其SN,门禁机判断收到的卡号是否合法。如果合法,则驱动电磁门锁开门并实时上传其开门记录;如果是非法卡(未经授权或已挂失的卡),则拒绝开门并上传报警信息。只有最高授权者(掌握授权密码)才可以发管理员卡,管理员必须用管理员卡方可登录发卡系统进行发卡/下传合法卡号、挂失、解挂、下传黑名单等操作。
由于采用了Philips公司的非接触式MIFARE 1卡,因此卡的读写模块也采用了以Philips公司最新推出的MIFARE读写芯片MF RC500为核心开发的ZLG500A读写模块。
门禁机模块的硬件原理图见附录B。此系统通过AT89C52对ZLG500A的控制达到对卡的读写。系统结构简单,成本较低且具有信息量大和安全保密性好等特点。外围配有RS232转RS485接口,能与PC机互连成网络,可以完成读卡、显示卡号和出入时间、身份识别、开锁以及保存和上传出入记录、下载黑名单、设置开门权限等功能。
图 非接触式IC卡门禁机总体工作流程
1.ZLG500A读写模块特性
1) 功能特性
图为ZLG500A非接触式IC卡读写模块,该模块采用最新Philips的高集成ISO 14443读卡芯片——MF RC500,能读写RC500内EEPROM,提供三线SPI接口,并具有控制线输出口,能与任何MCU接口。此外,该模块采用四层电路板设计,双面表贴,EMC性能优良;并自带无源蜂鸣器信号输出,能用软件控制输出频率及持续时间。
图 ZLG500A模块实物图
J1
J2
表 ZLG500A非接触式IC卡读写模块引脚说明
(a) J1引脚说明
(b) J2引脚说明
ZLG500A模块可方便地与任何MCU 进行接口,如图所示为ZLG500A与MCS-51单片机的典型接口。SCLK、SDATA、SS为ZLG500A与MCU相连接的控制线,分别为时钟线SCLK、数据线SDATA和片选SS。
图 ZLG500A与MCS-51单片机的接口图
2) ZLG500A三线串行读卡模块接口规范
(1) 接口原理:接口空闲时主机SS=1,SCLK=0,SDATA=0;从机SS=1,SCLK=1,SDATA=0。其中SS和DATA是双向的,而时钟线SCLK是单向的。
SCLK只能由主控制器产生,该信号必须严格遵守时序规范,否则将出现通信错误,读卡模块必须释放该线。
SS为数据发送使能,若一方有数据要发送给另一方,则该方控制SS线为低并在发送结束后将该线置高,接收数据方不得控制该线,双方必须遵守通信协议,不得同时控制该线。
SDATA为数据线,由数据发送端控制数据,接收端必须释放该线。该线在一次传输开始时还同时作为数据接收端的响应信号。
(2) 时序图:
图 ZLG500A的时序图
由图中可以看出:在SS为低的情况时,时钟和数据线上的信号才有效;且在SCLK为低时SDATA变化,在SCLK为高时SDATA应保持稳定。
以上传输中,从数据发送器请求开始至数据接收器响应的时间是不确定的,这取决于接收器内的MCU是否忙。有必要设置一个看门狗定时器对数据接收器的响应进行监视,一旦接收器响应,则MCU 必须根据数据传输的方向,严格控制以下几个时间,以确保数据传输无误:
t1——数据接收器响应至MCU 产生第一个SCLK 上升沿的时间。
t2——两个字节传输之间SCLK 低电平的持续时间。
t3——传输最后一个字节的最后一位的SCLK 信号的上升沿至SS 上升沿的时间。
tH——SCLK信号的高电平持续时间。
tL——SCLK信号的低电平持续时间。
在数据传输的方向不同时,对时间t1~t3、tH和tL都有各自不同的要求。
(3) 通信协议:MCU与ZLG500A的通信必须先由MCU发送命令和数据给ZLG500A开始,ZLG500A执行命令完毕后,将命令执行的状态和响应数据发回MCU。
开始通信前,收发双方必须处于空闲状态。首先由MCU发出SS下降沿信号,然后等待ZLG500A在SDATA线上的响应。若在50 ms内未检测到此信号,则退出本次传输;若正确响应,则MCU可将命令和数据发送出去。
然后MCU等待ZLG500A发回的状态和响应数据,即等待SS线上的下降沿信号。若在50 ms内未检测到此信号,则退出本次传输;若正确检测到SS信号,则可以接收状态和数据。
ZLG500A初始化的子程序如下:
SCLK BIT
SDATA BIT
SS BIT
RST BIT
ZLG500A:
SETB RST ;ZLG500A内部复位
LCALL DELAY_50 ms
CLR RST
LCALL DELAY_50 ms
SETB SS ;处于空闲状态
CLR SDATA
CLR SCLK
MOV 58H,#11H
MOV 59H,#11H
MOV 5AH,#11H
MOV 5BH,#11H
LCALL CONFIG ;配置
LCALL REQUEST ;发送请求
LCALL ANTICOLL ;防碰撞
;*********** IF HAVE CARD ***********
MOV A,52H
CJNE A,#04H,SA123 ;A=04表示没有卡存在
LJMP SA234
SA123:
RET
SA234:
LCALL READ_BLOCK ;从存储器中读取数据
LCALL DELAY_100 ms
MOV R2,#20
MOV R0,#58H
MOV R1,#80H
LCALL COMPARE ;进行卡号的比较和验证
REL13:
SETB FLAG
LCALL REL123
JB FLAG,REL13
RET
上述程序中,CONFIG子程序为ZLG500A的复位和配置子程序,是由MCU向ZLG500A发出的不带数据的命令程序;REQUEST子程序是MCU向ZLG500A发出的带一个字节数据的命令程序,主要是检查在有效范围内是否有卡存在;ANTICOLL子程序是防冲突操作,必须在执行了REQUEST命令后立即执行。
MCU与ZLG500A之间的通信一般遵循如下的数据格式。
MCU向ZLG500A发出的命令模式的格式如下:
INFO[0] INFO[n]
其中:SeqNr为1 Byte,表示数据交换包的序号;
Command为1 Byte,表示命令字符;
Len为1 Byte,表示数据的长度;
Data[0…N]为Len Byte,表示数据字节;
BCC为1 Byte,表示一个字节的BCC校验。
INFO[0] INFO[n]
其中:SeqNr为1 Byte,表示数据交换包的序号;
Status为1 Byte,表示状态字符;
Len为1 Byte,表示数据的长度;
Data[0…N]为Len Byte,表示数据字节;
BCC为1 Byte,表示一个字节的BCC校验。
按照上述数据格式传输编制的CONFIG、REQUEST和ANTICOLL子程序的清单如下:
; ************** CONFIG ***********************
CONFIG:
MOV 60H,#00H ;数据交换包的序号
MOV 61H,#52H ;配置命令字符代码
MOV 62H,#00H ;数据的长度为0
LCALL BCC_SUM0 ;BCC校验子程序
MOV 63H,A ;BCC_SUM
MOV A,#00H
MOV R2,#04H
MOV R0,#60H ;发送首地址
LCALL SPI_SEND
MOV R0,#30H ;接收起始地址
LCALL SPI_RCV
RET
; *************** REQUEST ***********************
REQUEST:
MOV 60H,#00H ;数据交换包的序号
MOV 61H,#41H ;请求命令字符代码
MOV 62H,#01H ;数据的长度为1
MOV 63H,#01H ;请求模式的数据mode=01H
LCALL BCC_SUM
MOV 64H,A
MOV A,#00H
MOV R2,#05H ;发送5个字节数
MOV R0,#60H ;60H到64H的数据发送
LCALL SPI_SEND
MOV R0,#40H ;接收起始地址
LCALL SPI_RCV
RET
; ************** ANTICOLL ***********************
ANTICOLL:
MOV 60H,#00 ;数据交换包的序号
MOV 61H,#42H ;防碰撞命令字符代码
MOV 62H,#01 ;数据的长度为1
MOV 63H,#00H ;数据值为0
LCALL BCC_SUM
MOV 64H,A
MOV A,#00H
MOV R2,#05H ;发送5个字节数
MOV R0,#60H ;60H到64H的数据发送
LCALL SPI_SEND
MOV R0,#50H ;存放数据
LCALL SPI_RCV
MOV A,52H
CJNE A,#04H,L0
MOV 58H,53H
MOV 59H,54H
MOV 5AH,55H
MOV 5BH,56H
MOV A,58H
XRL A,59H
XRL A,5AH
XRL A,5BH
MOV 5CH,A
MOV A,#00H
CLR
LCALL DELAY_50 ms
LCALL DELAY_50 ms
LCALL DELAY_50 ms
LCALL DELAY_50 ms
SETB
L0: RET
3) 写数据 MCU—ZLG500A
表 ZLG500A读写模块写数据步骤
传输过程中必须严格遵守以下时间要求:
t1>7 s,t2>14 s,tH>7 s,tL>9 s,t3=任意
下面是MCU向ZLG500A写入数据的子程序(为满足上述时间要求,可通过加入空操作来实现)。
SPI_SEND:
ANL P3,#0F7H ;恢复SS的输出功能,传输开始请求
DEC R0 ;发送数据的首地址
SETB SDATA
CLR SCLK
JB SDATA,$ ;SDATA仍为高,则等待
CLR SS
MOV R5,#100
DL33: MOV R6,#7DH
DL44: JB SDATA,ASDF ;MCU等待SDATA的上升沿
DJNZ R6,DL44
DJNZ R5,DL33
AJMP SPI_SEND
ASDF: ANL P1,#0FDH ;SDATA恢复输出
SENDBYTE: NOP
INC R0
NOP
NOP
MOV A,@R0
MOV R3,#8 ;设置一个字节的位数
NOP
NOP
SENDBIT: NOP
RLC A
MOV SDATA,C ;发送数据位
NOP
NOP
SETB SCLK:NOP
NOP
CLR SCLK
DJNZ R3,SENDBIT
DJNZ R2,SENDBYTE
SETB SS ;本次数据传输结束
CLR SDATA
NOP
JB SS,$
RET
4) 读数据 ZLG500A—MCU
响应信号和SCLK信号由MCU 产生,SS 信号和SDATA信号由ZLG500A产生。ZLG500A会在SS线上产生一个下降沿,发出请求数据传输的信号,等待MCU响应后本次数据传输开始。MCU将在SCLK为高时读取SDATA线上的数据,传输完毕后,ZLG500A将会在SS线上产生一个上升沿结束本次传输。读数据的具体步骤见表。
表 ZLG500A读写模块读数据步骤
传输过程中必须严格遵守以下时间要求:
t1>14 s,t2>16 s,tH>6 s,tL>6 s,t3>9 s
下面是MCU从ZLG500A读取数据的子程序(同理,为满足上述时间要求,可通过加入空操作来实现)。
SPI_RCV:
ORL P3,#08H ;SS 设置为输入
ANL P1,#0FDH ;SDATA设置为输出
DEC R0
CLR SCLK
SETB SDATA
NOP
ORL P1,#02 ;SDATA设置为输入
NOP
NOP
RCVBYTE:
MOV R3,#8
INC R0
RCVBIT:
NOP
NOP
SETB SCLK
NOP
NOP
MOV C,SDATA ;读取一位
RLC A
NOP
NOP
CLR SCLK
NOP
NOP
DJNZ R3,RCVBIT
MOV @R0,A ;读取的一个字节存入指定地址
NOP
NOP
JNB SS,RCVBYTE
ANL P1,#0FDH ;SDATA设置为输出
CLR SDATA
RET
2.门禁机主控模块
首先,我们看一下MCU部分的设计和控制的实现。图是MCU控制框图,从图中可以看出,MCU除了完成对ZLG500A读写模块的控制外,还要承担其他功能的控制,主要包括四大部分:键盘和显示部分,实时时钟和掉电保护部分,数据存储和数据传输部分,驱动控制部分。
图 门禁机控制框图
1) 键盘和显示部分
键盘和显示是一般智能化仪器仪表均须具有的功能,是人机交互最主要的方式。不同的智能仪器,随着其功能、MCU资源的占用、使用环境等各种条件的不同,可采用多种键盘和显示方案。本应用系统中,由于外围部件较多,MCU资源占用较大,为了尽可能地减少MCU I/O(输入输出)的占用,键盘的设计采用串入并出的方式,利用一片74LS164,占用MCU的四根I/O口,就可以实现16个键的全部功能。具体电路见图。
图 串行口扩展的行列式键盘
从系统监控软件的角度来看,仅仅完成键盘扫描、读取当前时刻的键盘状态是不够的,还有不少问题需要解决,否则,在操作键盘时就容易引起误操作、失控等现象。
首先是去抖动处理。按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或重复执行。最常用的一种方法是软件延时,采用此方法来避开抖动阶段,延时过程一般取10~50 ms。
其次是连击的处理。当按下某个键时,键盘处理程序便查找相应的功能号,并转到相应的功能模块程序去执行,如果这时操作者还没有释放按键,MCU就会反复执行该按键对应的功能,好像操作者在连续操作该键一样。本系统中需要按键去改变系统的实时日历,如果出现连击现象,操作者就很难设定时间。要解决连击问题,最关键的是一次按键只让它响应一次,该键不释放就不执行第二次。为此要分别检测到按键按下的时刻和释放的时刻。有两种程序结构可以解决连击的问题:一是按下键盘就执行,执行完成后等待操作者释放按键,在未释放按键前不再执行指定的功能,从而避免了一次按键重复执行的现象;二是在按键释放后再执行指定的功能,同时可以避免连击,但与前一种相比,给人一种反应迟钝的感觉。具体采用哪种结构,可根据实际情况而定。
显示器是人与计算机系统打交道所必不可少的部分,本系统要求门禁机在不打卡时具备显示当前时间,打卡时显示该卡卡号及打卡时间的功能。为此,选用了具有良好显示界面的图形点阵液晶显示器。图形点阵液晶显示器分辨率较高,且能够显示各种复杂图形,为以后的扩展留下了余地。本系统所选择的是JG19264A图形点阵液晶,图为JG19264A的结构框图,引脚说明见表。
图 JG19264A图形点阵液晶结构框图
表 JG19264A图形点阵液晶引脚说明
续表
JG19264A液晶的分辨率为192×64,该液晶的显示内核是HD61203U与HD61202U,其中一片HD61203U作为64路行驱动器,三片HD61202U组成192点列的列驱动器组。所以图形液晶显示模块的电路特性实际上是HD61203U和HD61202U组合的电路特性。
HD61203U是带有振荡器和显示时序发生器的行驱动器。它具有64路行驱动输出,它的特点在于它本身带有振荡器和时序发生器,通过外接振荡电阻电容使其上电后就以其设定的占空比系数1/N值开始行扫描工作;它可以自行完成行、列驱动时序的生成及分配,自动进行行驱动的工作;同时向列驱动器输出同步信号及显示数据驱动所需的脉冲时序,控制列驱动器HD61202U的工作,所以我们只要控制HD61203U就可以操作整个液晶模块。
HD61202U是带显示存储器的图形液晶显示列驱动控制器。它的特点是内置64×64位的显示存储器,显示屏上各像素点的显示状态与显示存储器的各位数据一一对应,显示存储器的数据直接作为图形显示驱动信号。显示数据为“1”,则表示相应的像素点显示;显示数据为“0”,则表示相应的像素点不显示。同时HD61202U配备了一套显示存储器的管理电路和与计算机的连接口电路。
HD61202U一共有七条指令,从作用上可分为两类。第一条和第二条指令为显示状态设置类;其余指令为数据读写操作指令,见表。
表 HD61202U的指令一览表
下面是各个指令的功能:
(1) 读取状态字(Status Read):状态字是计算机了解HD61202U当前状态,或是HD61202U向计算机提供其内部状态的惟一信息渠道。状态字为一个字节,其中仅有3位有效位,它们是:
BUSY:表示当前HD61202U接口控制电路的运行状态。BUSY=1,表示HD61202U正在处理计算机发来的指令或数据,此时接口电路被封锁,不能接受除读状态字外的任何操作;BUSY=0,表示HD61202U接口控制电路已处于“准备好”状态,等待计算机的访问。
ON/OFF:表示当前HD61202U的工作状态,即反映RST端的电平状态。当RST为低电平状态时,HD61202U处于复位工作状态,RESET=1;当RST为高电平状态时,HD61202U为正常工作状态,RESET=0。
在指令设置和数据读写时要注意状态字中的BUSY标志。只有在BUSY=0时,计算机对HD61202U的操作才能有效。因此计算机在每次对HD61202U操作之前,都要读出状态字判断BUSY是否为“0”。若不为“0”,则计算机需要等待,直至BUSY=0为止。计算机对HD61202U操作的流程如图所示。
图 HD61202U操作的流程
(2) 显示开关设置(Display ON/OFF):该指令设置显示
开/关触发器的状态,由此控制显示数据锁存的工作方式,从而控制显示位为开/关的控制位。当D=1为显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中ON/OFF=1。当D=0为关显示设置,显示数据锁存器被置零,显示存储器并没有被破坏,在状态字中ON/OFF=0。
(3) 显示起始行设置(Display Start Line):该指令设置了显示起始行寄存器的内容。HD61203U有64行显示的管理能力,该指令中L5~L0显示起始行的地址,取值在0~3FH (1~64行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的内容,则显示屏将呈现显示内容向上或向下平滑滚动的显示效果。
(4) 页面地址设置 (Set Page (X address) ):该指令设置了页面地址,即X地址寄存器的内容。HD61202U将显示存储分成8页,指令代码中P2~P0就是要确定当前所要选择的页面地址,取值范围为00~07H,代表显示第1~8页。该指令规定了以后的读/写操作将在哪一个页面上进行。
(5) 列地址设置(Set Y address):该指令设置了Y地址计数器的内容,C5~C0=0~3FH(1~64)代表某一页面上的某一单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加1的功能,在每一次读写数据后它将自动加1,所以在连续进行读写数据时,Y地址计数器不必每一次都设置。
页面地址的设置和列地址的设置将显示存储单元惟一地确定下来,为后来的显示数据的读写作了地址选通。
(6) 写显示数据(Write Display Data):该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后,列地址计数器自动加1。
(7) 读显示数据(Read Display Data):该操作是将HD61203U接口部分输出到寄存器内容读出,然后列地址自动加1。
本系统采用直接访问式的接口方式,就是将液晶显示模块的接口作为存储器或I/O设备直接挂在计算机总线上,计算机以访问存储器或I/O设备的方式操作液晶显示模块的工作。其具体的原理图如图所示。
图 液晶与MCU接口电路
表 液晶显示屏控制关系
另外,MCU的接液晶显示模块的R/,用来控制数据总线的数据流向;用接液晶显示模块的RS,用来区分是数据还是指令;用接液晶显示模块的,控制模块的使能;P0口(~)直接与液晶显示模块的双向数据/地址端相连。为了加强P0口的驱动能力和减少外界的干扰,该口全部外接了上拉电阻。
JG19264A的读时序图和写时序图分别如图和图所示,按照此时序编程,MCU即可实现对液晶正常的控制。
图 JG19264A读时序图
图 JG19264A写时序图
2) 实时时钟和掉电保护部分
在门禁系统中,需要实时记录出入数据(开门的卡号及其出现的时间)。若采用单片机软件计时,一方面需要占用硬件计数器资源,另一方面需要设置中断、查询等,耗费单片机的CPU资源。而在系统中采用实时时钟芯片则能很好地解决这个问题。
实时时钟采用了美国Dallas公司推出的一种高性能、低功耗、带RAM的DS1302芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压为~ V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。 DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。图为DS1302的引脚及内部结构图。
DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元RAM为一个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31 B,命令控制字为FEH(写)、FFH(读)。具体的参数见表。
图 DS1302的引脚及内部结构图
表 DS1302寄存器参数表
图 DS1302的控制字和数据读写时序
控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中;位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
DS1302的数据的写入是在控制指令字输入后的下一个SCLK时钟的上升沿,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位(位0)至高位(位7)。
DS1302是通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供了终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中置 RST为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC≥ V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。
本系统实时时钟模块电路原理图如图所示,MCU的、分别与DS1302的SCLK、I/O相连,VCC2接主电源,VCC1接后备电源,出现掉电时自动转入后备电源供电,以防时钟出现停止情况。X1、X2接外部晶振。
图 实时时钟模块电路原理图
MCU对DS1302的读写控制主要包括DS1302的初始化和读取DS1302的时间和日期,初始化过程就是给DS1302赋予初始的时间和日期,详见子程序SET1302。当实时时钟芯片被启动后,在没有接收到新的初始化指令的情况下,其内部的时钟将一直不停地运行,从而保证时间的实时性和准确性;MCU在任何时候都可以通过读取DS1302内部时间和日期寄存器中的值而获得准确的时间和日期,GET1302为时间和日期的读取子程序。
;**************************************************
;模块名称:
;功 能:实时时钟模块
;时钟芯片型号:DS1302
T_CLK Bit ;实时时钟时钟线引脚
T_IO Bit ;实时时钟数据线引脚
T_RST Bit ;实时时钟复位线引脚
;**************************************************
;子程序名:SET1302
;功 能:设置DS1302 初始时间,并启动计时
;调 用:RTInputByte
;入口参数:初始时间在:Second,Minute,Hour,Day,Month,Week,YearL(地址连续)
;返 回 值:无
;影响资源:A B R0 R1 R4 R7
;***************************************************
SET1302:
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B,#8EH ;控制寄存器
LCALL RTInputByte
MOV B,#00H ;写操作前WP=0
LCALL RTInputByte
SETB T_CLK
CLR T_RST
MOV R0,#Second
MOV R7,#7 ;秒 分 时 日 月 星期 年
MOV R1,#80H ;秒写地址
SET13021:
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B,R1 ;写秒 分 时 日 月 星期 年 地址
LCALL RTInputByte
MOV A,@R0 ;写秒数据
MOV B,A
LCALL RTInputByte
INC R0
INC R1
INC R1
SETB T_CLK
CLR T_RST
DJNZ R7,SET13021
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B,#8EH ;控制寄存器
LCALL RTInputByte
MOV B,#80H ;控制,WP=1,写保护
LCALL RTInputByte
SETB T_CLK
CLR T_RST
RET
;**************************************************
;子程序名:GET1302
;功 能:从DS1302 读时间
;调 用:RTInputByte,RTOutputByte
;入口参数:时间保存在:Second,Minute,Hour,Day,Month,Week,YearL
;返 回 值:无
;影响资源:A B R0 R1 R4 R7
;*********************************************
Get1302:
MOV R0,#Second;
MOV R7,#7
MOV R1,#81H ;秒地址
GET13021:
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B,R1 ;秒 分 时 日 月 星期 年 地址
LCALL RTInputByte
LCALL RTOutputByte
MOV @R0,A ;秒
INC R0
INC R1
INC R1
SETB T_CLK
CLR T_RST
DJNZ R7,GET13021
RET
;**************************************************
;写1302一字节 (内部子程序)
;**************************************************
RTInputByte:
MOV R4,#8
Inbit1:
MOV A,B
RRC A
MOV B,A
MOV T_IO,C
SETB T_CLK
CLR T_CLK
DJNZ R4,Inbit1
RET
;**********************************************
;读1302一字节 (内部子程序)
;***********************************************
RTOutputByte:
MOV R4,#8
Outbit1:
MOV C,T_IO
RRC A
SETB T_CLK
CLR T_CLK
DJNZ R4,Outbit1
RET
3) 门禁记录存储与传输
各门禁点的出入记录可采用实时上传或定时采集的方式从门禁机传输给中央数据库,前者对系统网络速度要求较高,当网络堵塞时有丢失数据的可能。本系统采用了出入记录暂时存储在门禁机中,每隔一段时间(例如每周一次)上传给中央数据库的方式,为此要求门禁机有一个具备一定容量的存储器,用于暂存门禁数据以及由中央数据库下载的授权卡号。门禁机存储器的容量取决于一个门禁记录的长度、系统的卡容量以及定时上传周期内最大的刷卡次数等,通常应留有一定的余量以免由于超出存储容量而丢失数据。本系统采用了AT24C256作为门禁机的存储器,其存储容量达64 KB,划分成两个区,一个区用来存储所读取的记录,另一个区用来存储上位机下载的授权卡号。门禁机存储器模块的电路原理图如图所示。
图 门禁机存储器模块的电路原理图
AT24C256是Atmel公司具有的I2C总线结构,电可擦写与编程的只读存储芯片(EEPROM)。 MCU对AT24C256的读写必须遵循I2C总线传输的时序要求,MCU向AT24C256写入和读出数据的时序和格式要求与AT24C01基本一致,在此不再赘述。
对于一个单一的读写器来讲,自身的数据存储是有限的,读写器外带的数据存储器主要作为数据的临时存储。对于大量的、需要长期保存的数据,一般是通过有线或无线,甚至网络系统传输到主控计算机中进行保存的。
非接触式IC卡门禁管理系统的设计
门禁管理系统是智能门禁系统的管理中心,它主要包括系统管理的主控模块和数据库模块。主控模块主要的功能是卡管理,即发卡。它包括最高权限卡对管理员和一般用户发卡,管理员对一般用户发卡;卡的挂失与解挂;卡查询等功能。而数据库模块的主要功能是门禁数据采集、数据更新、查询统计和报表的打印等。
一个好的门禁管理系统,应该具有下面的各项功能:
(1) 系统要有良好的人机界面以方便操作人员的操作;
(2) 由于使用的人员多和复杂性,系统要有严格的权限管理;
(3) 数据、记录的操作方便、明了、快捷;
(4) 对原始数据库的管理必须安全、方便、快捷;
(5) 方便快捷的记录查找,同时支持多种条件的查找;
(6) 上传数据能自动保存到相应的数据库中;
(7) 上传数据能长时间保存;
(8) 风格多样的打印报表功能。
图 非接触式IC卡门禁管理系统的功能结构示意图
整个系统可分为三大模块:一是系统管理主控模块,主要包括系统设置、卡片管理和授权三大部分;二是系统数据库管理模块,主要包括查询、统计、维护和打印等功能;三是通信模块,完成上位机和下位机的通信与管理。
1.门禁管理系统主控模块设计
本系统的主控模块主要由四层三大部分组成。第一部分为卡片管理,完成系统管理和卡授权、原始数据库的操作和管理等任务;第二部分为新刷卡记录,完成当天门禁记录的存储和管理,其主要作用是记录当天的人员进出情况;第三部分为旧刷卡记录,是对以前一段时间内刷卡的情况进行保存操作,其主要作用是对以前的人员进出情况做记录以便以后进行查找。主控模块的构成框图如图所示。
图 门禁管理系统主控模块的构成框图
1) 卡片管理模块
卡片管理模块主要完成最高权限发卡、权限设置、下传黑名单、查找等功能,可以对最高权限、管理员、一般用户的数据库进行管理操作。它具有对一般用户的原始数据进行查找,对不同人员的权限进行设置等功能。图为卡片管理的操作界面示意图,用户可以很方便地进行各项功能的操作。
2) 最高权限发卡模块
最高权限发卡模块主要完成对最高权限进行发卡和取消最高权限卡等功能。
3) 权限设置模块
权限设置模块主要完成给管理员和一般用户的授权,实现对不同的人员进行发卡、授权、权限的取消、修改原始数据库等功能,并能对卡进行挂失、解挂、删除等功能。图为卡片权限设置的操作界面示意图,在下拉选择框内选择管理员或最高权限,再输入相应的卡号。如果原始数据库中存在此卡号,则可对相应的权限范围进行操作和管理;若无此卡号,则操作无效。最高权限的卡能对一般用户和管理员用户进行授权操作,而管理员用户则只能对一般用户授权。
图 卡片管理的操作界面示意图
图 卡片权限设置的操作界面示意图
2.系统的数据库管理软件设计
数据库管理软件是门禁管理系统的重要组成部分,它负责数据库结构的建立、数据的录入和管理,具有采集新刷卡记录、对刷卡记录进行排序、查找、卡号统计,保存当天的刷卡记录等功能;同时要求具有对刷卡记录进行班级统计、专业统计、卡号统计、报表打印,对作废的卡进行删除等输出、统计的功能。具体功能见图。
此外,考虑到操作人员的计算机知识普遍较差,因此要求有良好的人机界面;由于该系统的使用对象多,要求有较好的权限管理;在数据处理方面要求原始数据修改简单方便,支持多条件修改;数据查询方便,支持多条件查询;在相应的权限下,删除数据方便简单,数据稳定性好;具有数据自动处理功能,尽量减少人工干预;最后能进行统计和报表的打印功能。
图 门禁管理系统数据库管理软件的功能框图
图 数据库报表生成和打印操作界面
非接触式IC卡门禁系统——数据传输模块的设计
数据传输可以有多种方式,既可以采用有线方式(如总线传输、串行传输、局域网络传输和广域网络传输等),也可以采用无线方式(如短距离无线直线传输、无线网络传输等),实际运用时可根据具体要求和条件灵活掌握。本系统中两种传输方式并存,以有线传输为主,无线传输为辅,可适应不同用户的需求。
有线传输一般采用RS485串行数据传输方式。数据信号采用差分传输方式,也称为平衡传输。它使用一对双绞线,其最大传输距离约为1219 m,最大传输速率为10 Mb/s。平衡双绞线的长度与传输速率成反比,在100 kb/s以下,才可能使用规定的最长电缆。只有在很短的距离下才能获得最高传输速率。一般100 m长的双绞线的最大传输速率仅为1 Mb/s。RS485需要两个终接电阻,其阻值要求等于传输电缆的特性阻抗,终接电阻接在传输总线的两端。在短距离传输时可不需终接电阻,即一般在300 m以下不需终接电阻。
1.无线数据传输系统的设计
在智能门禁系统中,上位机一般采用PC机进行通信和管理,下位机则为MCU控制的智能卡读写器。在上位机与下位机之间、下位机与下位机之间都可以采用无线数据传输,见图。
图 无线收发电路结构
本系统无线数据传输采用FC201B/E 的无线模块(如图所示)作为网络通信接口。FC201B/E无线数据传输模块是利用先进的单片机技术、无线射频技术和数字处理技术设计的功率较大、体积较小的模块式半双工数传电台,可实现点对点、点对多点的多级组网通信,最大可寻址4096个用户。
FC201B/E无线数据传输模块采用双锁相环及双VCO结构,数据调制采用FFSK方式,工作频率履盖20 MHz,可存储16个收、发信道,用户可根据情况配置使用或由程序控制使用。该模块采用标准RS232接口,可与任何具有RS232接口的设备相连;具有多种通信协议,包容性强;内置软件看门狗,保证电台长期可靠运行。
本系统中,FC201B/E采用透明模式通信协议(E协议)。透明模式是为用户完全自定义高层通信过程而设置的一种模式。从用户终端接收的数据不作任何处理发送到空中,对从空中接收到的数据不作任何处理转送给用户终端,数传电台只起数据传输的接续作用。
透明模式下,RS232接口的数据流控制是以电台和终端之间的控制信号CTS控制完成的。当CTS信号有效(低电平)时,表示数据发送缓冲区满或此时不能发送数据,用户终端应停止向电台传送数据;当CTS信号无效(高电平)时,表示数据发送缓冲区未满或此时可发送数据,用户终端可向电台传送数据。FC201B/E的发送数据缓冲区有效值为72 B,一般情况下,用户终端连续向电台传送72 B数据后,根据CTS信号有效与否,需要暂停发送数据。
图 URAT连接方式
1) 上位机通信软件设计
上位机是以Windows为平台,采用Microsoft推出的ActiveX技术实现与无线模块的串行通信。利用高级语言编程可以很方便地进行调用,这种方法不仅较为简单,而且非常实用。
PC机通过无线传输模块发送/接收数据的流程如图所示。上位机通过无线传输模块接收来自下位机的数据,主要是智能读卡器读取的卡号和时间,然后核查该卡号是否被授权,并将核查的结果通过无线传输模块传给下位机,同时将接收到的数据存入相应的数据库中。
图 PC机无线传输模块发送/接收数据的流程
MCU与无线传输模块之间的数据发送/接收的汇编子程序如下。
发送子程序:
SEND: MOV TMOD,#20H
MOV TL1,#0E6H
MOV TH1,#0E6H
SETB TR1
MOV SCON,#0C0H
MOV PCON,#00H ;SMOD=0
CLR TI
MOV R7,#04
MOV R0,#58H
GOUT: MOV A,@R0
MOV SBUF,A
OUT: JBC TI,END1
AJMP OUT
END1: INC R0
DJNZ R7,GOUT
RET
发送子程序首先设置定时器1工作在方式2,设置串行口工作在方式3。由于MCU采用的外部振荡频率为 MHz,因此通过设置定时器的初始值,可以使MCU的串行口以1200 b/s进行传输。其中R7中存放要传送的字节数,R0中存放要传送数据的首地址,当R7指定的字节数传输完毕后,MCU自动退出数据的发送,回到主程序。
接收子程序与发送子程序基本相同,只是R0中存放的是接收数据的首地址。
接收子程序:
RECEIVE:MOV TMOD,#20H ;设置定时器1为方式2
MOV TL1,#0E6H ;设预置值1200/ MHz
MOV TH1,#0E6H
SETB TR1 ;启动定时器1
MOV SCON,#0C0h ;设置串行口为方式3
MOV PCON,#00H ;SMOD=0
SETB REN
MOV R0,50H
IN: JBC RI,EASD
AJMP IN ;为RB8=0为数据位
EASD: MOV A,SBUF
MOV @R0,A
RET
课程训练——一卡通系统的综合应用
华深达实C3系统的功能与组成
1.系统概述
华深达实C3系统是基于目前最先进的非接触式智能卡技术、计算机技术、网络通信技术开发的一卡通应用系统。所谓“C3”,“C”意指Card,即非接触式智能卡(又称射频IC卡);“3”意指3通,即卡通、库通、网通。
卡通:在C3中,一次发卡,全系统通用,能同时实现考勤、消费、门禁、会议签到等应用,任何子系统先上或后上均不需要重新发卡。
库通:C3数据库系统,由帐套系统统一管理,各系统数据资源共享,一次性输入人员信息、一次性发卡,同时实现考勤、门禁、消费等应用,考勤和消费经过会计期间结算后,直接用于工资系统的计算。
网通:包括局域网(C/S模式)的解决方案和广域网(B/S模式)的解决方案。
华深达实C3系统将用户、卡片、读卡设备以及管理需求紧密联系在一起,用一张IC卡可实现身份识别、电子消费和人员信息管理等。可以实现门禁、考勤、消费、巡更、会议签到等多种智能卡应用,同时持卡人的各类信息可通过非接触式智能卡、终端读写设备和网络传送到控制中心服务器,管理人员可方便地通过管理系统进行实时监控和管理。华深达实C3系统可根据不同企、事业单位的需求灵活配置,具有保密性高、可靠性高、网络结构简单、数据传输能力强、应用范围广等优点。
华深达实C3系统中采用了MIFARE系列非接触式智能IC卡,具备全球惟一的32位序列号,无机械磨损,三重密码校验机制,从而保证了使用卡片的惟一性;卡内16个分区,每个分区有独立的密码保护,操作时相互不影响。此卡应用快捷、灵活、安全,非常适合企业管理多用性和安全性的要求。
2.系统组成
图 华深达实C3系统组成图
整个系统采用平台+应用的模式,即4+N:“4”为四个平台系统,包括控制台管理、人员信息管理、设备卡片管理中心、帐套管理四个系统;“N”为一个或多个应用系统,C3企业版现有考勤管理、工资管理、门禁管理、消费管理和会议签到五个应用系统,并将逐步增加更多的应用系统。一个或多个应用系统与平台系统组成一个相关的企业一卡通解决方案。
此外系统还可挂接华深达实的一控二门禁系统,可与人力资源HRMS等系统接口。
华深达实C3系统的启用与配置
1.第一次启用前的准备工作
系统成功安装后:
(1) 如果是正式用户,需将加密狗插入到USB端口,否则系统将进入演示或应急模式。在演示模式下,所有的功能都开放,但人员信息控制在五个或五个以内;在应急模式下,功能及人员数量不做限制,但每开启一个功能模块的窗口,系统将出现五次请插入加密狗的提示,应急模式主要用于加密狗丢失等情况下应急之用。在“开始”菜单的“程序”项里找到“华深达实C3企业版”→“帐套管理系统”项,建立并启用帐套。
(2) 在“开始”菜单的“程序”项里找到“华深达实C3企业版”→“C3企业版”项,或运行桌面上的快捷图标“C3企业版”启动本系统。
2.建立帐套
1) 建立帐套(数据库)
帐套管理系统是整个C3系统的数据管理器,系统安装成功后,首先要通过帐套管理系统完成数据库的建立,才能保证其他系统的正常运行。
2) 启用帐套
帐套建立成功之后,必须经过启用,用户才能正常使用。
3.第一次启用C3企业版
1) 连接数据库服务器
图 连接数据库服务器操作界面
输入正确的服务器及登录服务器的用户名和密码。服务器名、登录名及密码在安装服务器时由系统管理员设置好,客户端无需设置,必要时可与数据库服务器的管理员联系。如果数据库服务器装在本机,可单击窗口右下方的“帮助”按钮,然后再单击“确定”按钮,系统将自动填入本机服务器名及默认登录名“sa”。在第一次运行后,这些信息将记录在注册表里,以后使用无需再输入。单击“连接”按钮,出现数据库连接界面,正常情况下,该界面一闪即过,如果该界面停滞不消失,表明系统仍在寻找数据库服务器,很有可能是网络不畅通或数据库服务器名字错。这时,用户需耐心等待,几分钟后,将再次弹出“连接参数”的设置界面(正常情况下不会弹出)。
2) 选择帐套
图 系统登录界面
3) 注册开发商信息
图 C3企业版系统主界面
4.导入主页
如果是第一次使用C3系统,首先要建立系统解决方案。解决方案是由一个或多个主页组成的,系统本身自带了各应用系统的解决方案主页,在crc_files目录下,用户可直接导入,亦可自行建立。
5.设置平台系统
如果是第一次使用C3系统,应按以下顺序设置平台系统。
1) 设备卡片管理中心的持卡类型设置
售饭机可支持多种不同类型卡的消费,在建立人员信息时,必须为每个人员指定一种卡类型,卡类型的信息在此处设置。
2) 人员信息管理系统
人员信息管理系统主要完成部门数据设置、基本字段设置、人事档案建立等。只有这些信息都建立好之后,其他系统才能正常使用。
3) 控制台系统
(1) 设置客户名称:设置客户的相关信息,用户进入任何一个子系统,在窗口的标题栏和功能树的最上方,都将显示在此设定的公司中文名称。
(2) 设置会计期间:控制台系统中的会计期间设置主要完成会计期间类别的生成,系统设定会计期间的时间段维护,用户自定义会计期间的增加、删除和修改等,同时用户还可以在这里综合查看考勤、工资和售饭系统的会计期间状态,便于控制整个C3系统的结算体系。在考勤、工资、售饭各系统中分别有一个“当前会计期间设置”模块,用来设置本系统的当前会计期间的状态等信息,这里的会计期间就来自于控制台中所设置的会计期间。
(3) 会计期间分配:在C3系统中,每个人员都必须对应一个会计期间,否则无法完成考勤的结算、工资的计算等操作。
(4) 建立用户、分配权限:对于任何一个系统而言,系统的安全性无疑是最重要的,给每位操作员建立用户,并授予相应的权限,才能为系统的安全性提供保障。
4) 设备卡片管理中心的设备管理
设备卡片管理中心主要是对硬件和卡片进行操作和管理,如考勤系统的考勤机,门禁系统的门禁机,售饭系统的售饭机等。如果用户只使用工资系统,则此系统可以不予设置。该系统主要包括设备和卡片管理。
(1) 设备管理:包括添加设备和设备访问权限。
(2) 卡片操作:包括卡分段设置、卡流水号分配、初始化系统卡和发卡。
6.各系统的内在联系
平台系统设置完成之后,考勤、工资、门禁、消费、会议签到等应用系统就可以正常使用了,在这里,重点分析各系统在整个应用中的内在联系,以进一步理解一卡通的概念。
1) 工资系统与考勤、售饭系统
在C3系统中工资的计算和考勤、售饭是直接关联的。
在考勤系统中,“数据结算”模块主要就是为了和工资系统接口,其中“会计期间统计表”中所统计出的所有考勤结果将直接通过数据库传输到工资系统,工资系统根据统计结果,结合工资计算的公式,得出工资结果。
在售饭系统中,“帐户期间统计”和“其他汇总期间汇总”中所统计的数据结果可直接在工资系统中引用。
在工资系统中,“数据准备”→“项目公式设定”中的参考数据,“出勤项目”、“加班项目”、“请假项目”和“出差项目”,分别是调用了考勤系统中的自定义统计项目、加班类型、请假类型和出差类型;“售饭项目”调用了售饭系统的相关项目。
2) 工资系统和人事系统
在工资系统中,“数据准备”→“项目公式设定”模块,可通过单击菜单栏“特别”→“其他参考数据”调出“职务”等人事信息,这些是调用了人员信息管理系统中“基本设置”→“基本字段设置”中的相关数据。
3) 期间结算
在C3系统中,控制台、考勤、工资、消费都有期间结算模块,它们之间的关系是考勤系统→售饭系统→工资系统。也就是说,工资系统在进行期间结算时,会自动检测该会计期间的考勤和售饭系统是否已经结算;只有考勤和售饭系统处于已经结算状态,工资系统才能进行结算。所以在第一次启动工资、考勤和售饭系统时,就必须指明当前的会计期间,并且要相一致。
整个C3系统的所有操作都受权限系统的制约,只有经过系统管理员授权的用户才可使用给其授权的操作。
应用系统的管理
1.帐套管理系统
帐套管理系统是C3平台系统之一,是整个C3系统的数据管理器。系统安装成功后,首先要通过帐套系统完成数据库的建立,以保证其他系统的正常运行。
系统可同时建立多个帐套,帐套与帐套间相互独立,各子系统在登录时可自由选择所要连接的帐套。各系统只要连接的是同一个帐套,其数据资源就是共享的。
帐套系统提供新建、修改、删除、启用、停用帐套等操作,同时提供备份和恢复数据功能,为C3系统的数据提供安全、方便的管理。
1) 新建帐套
图 新建帐套界面
(1) 帐套编号:帐套的内部标识,具有惟一性,为数字型,不可为空。
(2) 帐套名称:显示在子系统的登录界面的帐套使用信息,具有惟一性,不可为空。
(3) 数据实体:数据库服务器上的真正数据库的名称,可自己输入,也可使用默认实体名称。
(4) 数据库种子文件:建立帐套的文件,其扩展名为AIO,默认安装在系统的当前目录下(即C:\Program Files\华深达实\C3企业版\prjDataMng3)。单击数据库种子文件输入框旁边的按钮,选择相应的AIO文件即可。
(5) 数据库安装路径:新建的数据库文件存放的位置。
输入以上的帐套信息,单击“确定”按钮,成功后提示“新帐套成功建立”。
若系统服务器上存在其他可用于C3系统的数据库实体,用户也可选中“现有”选项,在显示的数据实体列表中选择实体,再直接按“确定”按钮即可
2) 修改帐套
选中需要修改的帐套,双击之或单击工具栏的“修改”按钮,弹出修改帐套界面,修改指定项后单击“确定”按钮,系统提示修改成功,完成修改操作。
3) 删除帐套
对于一些用户不需要的帐套,甚至不再需要的数据实体,用户可通过删除帐套操作将其删除。
4) 启用帐套
帐套建立成功以后必须经过启用,用户才可使用。启动帐套模块完成新帐套和停用帐套的启用。
5) 停用帐套
对于暂时不用的帐套,用户可以通过停用帐套模块暂时停止其使用。
6) 备份数据
对于数据库软件而言,数据的安全性无疑是最重要的,数据的定期备份为数据的安全性提供了保障。
7) 恢复数据
恢复数据,顾名思义,就是将数据恢复到备份时的状态。
2.控制台管理系统
所谓“控制台”,就是起控制作用的模块,C3系统的控制台系统就是控制整个系统的一些公共信息,起到协调各模块的作用。系统目前共有9个子系统,分别完成不同的功能,各子系统之间既有功能上分工独立(例如,考勤系统就是对人员进行考勤,工资系统就是对员工进行工资计算等),又有C3系统管理上的统一(例如,统一权限控制、统一日志管理、统一用户管理及统一会计期间结算等)。控制台系统就是完成各子系统之间的统一性,使各模块之间相互协调,实现统一管理的机制。
1) 系统参数设置
(1) 客户名称设置:设置客户的信息,包括客户公司的中文名称、英文名称、地址、电话、传真等信息,将上述信息输入后单击“确定”按钮即可。
(2) 会计期间设置:C3系统目前共预留了12种会计期间类别(标识为A、B、C、D、E、F、G、H、I、G、K、L)。其中,前6种类别为系统设定的,用户不可修改;后6种是留给用户的,用户可根据自己公司的具体情况设定。在系统设定的前6种中,系统根据大部分公司的结算情况设定了3种最常用的会计期间类别:标准月期间、标准跨月期间、标准周期间。
(3) 会计期间分配:在C3系统中,每个人员必须对应一个会计期间,否则无法完成考勤、工资、消费各系统的计算和结算。
会计期间分配可分为两种情况:一种是给未分配会计期间的人员分配会计期间;另一种就是将已经分配的人员移出为其分配的会计期间,以便重新为其分配。
2) 权限控制
权限控制模块的权限只有系统管理员才有,系统管理员只有通过超级用户“System”登录,才可使用该模块。
在C3系统中,对权限的控制相当严密,在功能上控制到界面内的每一个具体操作,在范围上控制到每一类人员,为系统的安全性提供了保障。
C3系统的权限控制共分为4种:功能权限、部门权限、等级权限和报表权限。
3) 日志管理
日志管理是记录整个C3系统的操作日志,便于系统管理员查看。系统具有查询和删除功能,其中删除功能允许删除10天前的操作日志。
4) 数据呈现
数据呈现对整个软件系统来说非常重要,报表是数据呈现的一种形式,准确、全面、灵活、精美是用户的期待。C3系统采用了自行开发的自定义报表系统,使得整个系统的报表制作水平有了质的飞跃。
3.人员信息管理系统
人员信息管理系统负责整个C3系统人员信息的管理,是其他系统基本资料的来源,其中的人员、部门等信息,将会在考勤系统中做考勤处理,同样也将在工资系统中为其计算工资等。所以人员信息系统的资料是否正确、完整、合理,直接关系到其他系统处理资料的正确性。
C3系统还增加了对宿舍的管理,可根据人员基本信息自动分配宿舍,根据输入的出生日期和入职日期自动计算出人员的年龄和工龄等。人员信息还可批次修改,照片亦可批次输入。为企业的人员信息提供了智能化的管理。
人事信息管理系统包括基本设置、信息建立、宿舍管理、信息管理、信息呈现及系统管理等功能,其具体结构见图。
图 人事信息管理系统结构图
1) 部门资料设置
部门资料设置完成部门信息的建立、部门资料的修改、删除及其部门上下级级别的变动等功能。
2) 基本字段设置
人事系统建立中要录入的人员信息很多,为了输入的快捷和准确,系统提供了开窗查询界面,而开窗查询项目设置就是在基本字段设置中完成的,包括民族、人员等级、学历、专业等信息。
3) 统计字段设置
统计字段在人事系统中指的是统计报表中用到的字段项,主要是年龄段、工龄段、年资段等,在这个模块中用户可以根据自己的需要进行相应的设置。该模块可以实现增加、修改、删除等功能。
4) 奖惩类型设置
该模块完成奖惩信息的建立、修改和删除等功能。
4.设备卡片管理系统
设备卡片管理系统统一管理整个C3系统的硬件设备,包括增加设备、设备的参数、设备的权限等,同时也是发卡中心,管理着卡片的发放、回收、挂失、解挂、报损、查卡,以及卡类设置、卡分段、卡流水号分配等操作。
由于C3系统采用统一的数据库管理,因此在设备卡片管理中心添加的设备,设备用途为考勤的,将在考勤系统中出现,采集的数据也作为考勤的数据;用途为考勤门禁机的,将同时在考勤和门禁系统中出现,其采集的数据也同时作为考勤和门禁的数据;用途为POS机消费的,将在售饭系统中出现,同样,用途为会议签到器的只在会议签到系统中出现。
图 设备发卡管理系统的功能结构图
1) 设备管理
设备管理主要完成设备设置和设备访问权限浏览两大功能。
每一设备由“计算机+通信端口+设备流水号(1~255)”组成,每一设备可指定软件操作员的控制权及浏览权,有控制权的操作员可在业务系统中设置或读取设备中的数据,有浏览权的操作员可在业务系统中浏览与设备相关的资料。
在设备管理模块中可以完成设备的新增、修改、删除,还可以对指定设备的访问权限进行添加、删除、编辑、查询等,并可导出到Excel表格中。
2) 卡片管理
本模块主要是对卡片的使用进行规划和管理,使卡片资源得到合理的利用。主要包括持卡类型的设置、卡分段设置、被禁用卡名单以及卡流水号的分配等。
(1) 持卡类型设置:POS消费机将卡划分为8类(目前标准),也就是说,每一消费机可区分8类卡。对于消费系统而言,每一张卡必属这8类中的一类;对于考勤、门禁系统而言没有作用;对于整个系统而言,往往会使每一类卡对应一定级别的人员,除了表现在消费时分类,还表现在卡的颜色等。
(2) 卡分段设置:对卡流水号进行分段,使得卡流水号的分配可控,尤其适合地域上分散的集团使用。
(3) 被禁用卡名单:若想让某些卡流水号不被分配,或保留某些卡流水号以备它用,可将这些卡流水号纳入禁用范围。若不想禁用时,可将卡流水号释放出来,再分配给人员。
(4) 卡流水号分配:卡流水号的分配使得人员与卡流水号一一对应。分配卡流水号有两种方法,一种是手动分配,一种是系统自动填充。
(5) 读设备ID卡信息(限ID卡使用):如果使用的是ID卡,在ID考勤机上注册ID号后,必须在软件中读取设备中的注册信息,并指定注册ID号所对应的人员信息。
如果有多台ID设备,可通过下载信息功能将已有的人员ID卡信息下载至其他ID设备中,无需手动给每台设备注册ID卡信息。
3) 发卡器操作
在该模块中,涉及到发卡器的所有操作将在这里完成,包括发卡器参数设置、初始化系统卡、制作POS机操作员卡、用户卡的发放、回收、挂失、报损等操作。
(1) 发卡器参数:设置发卡器的有关参数,包括通信端口、同步日期和时间、发卡器屏幕显示以及显示亮度等。
(2) 初始化系统卡:在使用考勤门禁机或售饭机等硬件之前,都必须对其进行初始化操作,在操作机器时会提示出示系统卡,这些初始化系统卡的制作就在该模块中完成。
只有用系统卡初始化机器后,用该初始化系统卡所发的用户卡才能被该机器识别。
(3) POS机操作员卡:POS机有两种开机模式,一种是不需要操作员卡开机,另一种是需用操作员卡开机。设置成需用操作员卡开机后,则每次开机时等待操作员出示操作员卡,消费机识别后才能进入消费等状态,允许进行消费。这些操作员卡的制作就在本模块中完成。
操作员ID号最小为1,最大为255,也就是最多可以制作255张操作员卡;操作员名称可自行输入;操作员卡固定号是卡片固有号,在发卡时由系统自动写入。
(4) 卡片操作:本模块主要完成卡片的相关操作,包括发卡、报损、挂失、解挂、改写卡类、回收、查卡等操作。发卡可分为半自动发卡和手工发卡,对于卡状态为“发卡不成功”或“未发卡”的,可对其进行发卡操作。发卡前,首先要查询“未发卡”状态的人员信息,选择要发卡的人员,完成发卡确认操作。
对于已发出的卡可执行报损、挂失、解挂、改写卡类、回收等操作。
此外,任何状态的卡都可进行“查卡”操作。将卡片放在发卡器感应区,单击“查卡”按钮,发卡器将发出相应的“嘀”声,同时系统显示查卡结果,选择窗口上方不同的页面,可查看不同扇区的信息。
4) 其他管理
在持卡类型设置中,每种消费卡类都有相应的押金标准,押金收取、退回等在本模块中可以得到全面的管理。在C3的售饭、消费等系统中,卡片就是一个电子钱包,相当于银行卡,涉及到开户、充值(存款)、消费(取款)、挂失、销户等类似于银行的一套操作体系。为了方便管理和核算,系统也给每个用户建立了帐号。
(1) 卡押金管理:收押金的方式有两种,一种是单个收取,一种是批次收取,用户可根据实际情况自由选择。退押金的方式也有两种,一种是单个退回,一种是批次退回,用户可根据实际情况自由选择。其中:押金标准-已收押金=可收押金;已收押金-已退押金=可退押金。
(2) 帐户信息:在帐户信息中,所有帐号是在发卡时,由系统自动生成的。如果该卡同时用于多个业务系统(最多为15种),就像一张银行卡中有定期存款、活期存款等多种存款方式并存一样,则系统给每个业务系统都生成一个相应的帐号。也就是说,一个帐号是由人员、卡流水号、系统这三个基本要素组成的,缺一不可。如果一个人员有n个卡流水号(在实际使用规划中,一般一个人员对应一个卡流水号),用于n个系统(最多是15个),那么该人员的帐号数为n×n个。
5) 数据呈现
数据呈现对整个软件系统来说非常重要,报表是数据呈现的一种形式,准确、全面、灵活、精美是用户的期待。C3系统采用了自行开发的自定义报表系统,使得整个系统的报表制作水平有了质的飞跃。
应用系统的操作
1.门禁管理系统
在企业、学校中对有些区域需要限制进出,如库房、财务、办公区、同一厂区的不同车间、教室、实验室等采用非接触式智能卡门禁系统能够解决这类问题。每个员工卡也就是该员工开门的钥匙,按照预设定该员工的权限(即是否可以进入),判断该员工是否可以进某道门,由于有时限规定,因此可以限制在一周中哪些天可以进出或在一天中什么时间可以进出。例如,在晚上9点后,员工不能进入财务区域;星期六、星期日、放假期间不能进入车间或实验室等。除非得到批准,授予权限,方可进入,并且系统自动记录什么时间、什么人进入、什么时间离开,一旦出现异常,可以通过系统检索找出所有进出该区域的人员。因此门禁管理系统是企业、学校安全管理和安全防范的最好帮手。
图 门禁管理系统结构图
1) 控制台管理
如前所述,在门禁系统投入使用之前,必须首先设置相关的系统参数、会计期间,并对指定的用户及组授予权限,为门禁管理提供基本的控制台管理。
2) 人员信息管理
(1) 部门资料设置:部门资料设置界面如图所示,单击“新增”按钮,在上级部门“深圳华润达实”下新增部门“人事部”,操作界面如图所示。
图 部门资料设置界面
图 新增部门操作界面
(2) 人员信息建立:人员信息建立界面如图所示,在此建立系统的人事档案,窗口中列出了所有的人员信息,其中人员为离职状态的系统用红色标识。
图 人员信息建立界面
3) 设备管理
图 添加设备操作界面
4) 卡片管理
图 卡片操作窗口
单击窗口下方的“人员编号”右边的空白框,出现如图 所示的快速查询窗口,列出了当前为“未发卡”状态的人员信息,选择要发卡的人员“张三”,单击“确定”按钮返回,在人员编号中即显示了当前所选择人员的编号(亦可直接输入),同时窗口中也显示了该人员的资料和卡片信息。将卡片放在发卡器感应区,执行“发卡”操作,发卡器发出相应的“嘀”声,同时窗口上方卡状态由“未发卡”变为“正常”,并提示发卡成功,如图所示。
图 发卡操作界面
5) 门禁管理
这是门禁管理的核心部分,主要包括时段设置、权限和时限下载、实时监视、数据采集、下载黑名单等。
(1) 时段设置:为门禁机设定可出入的时间段。
双击时段设置,界面如图所示,窗口的左边列出了连接在本机上所有用途为门禁或考勤门禁的设备,右上方列出了所选择设备的详细信息以及当前登录用户的权限等,右下方有两个页面,分别是时段设置和时间设置。系统共提供了16个时间段(可通过窗口右边的滚动条上下查看),选择在线状态的门禁机,在时段设置页面中输入相应的时段,单击“下载”按钮,如图所示,系统同时弹出“信息报告”窗口,表示下载成功。
图 时间段设置操作界面
(2) 权限和时限下载:为人员设定权限和时限,并把这些设置下载到门禁机,从而起到控制人员出入的作用。
双击“权限和时限”,界面如图所示,窗口左边有三个页面,分别显示设备、部门和人员;右上方显示所选中设备的详细信息以及当前登录用户的权限;右下方有三个页面,分别是权限时限下载、权限时限查询和相关信息。
在“人员”页面中选择相应的人员“李平”,在“设备”页面中选择相应的在线门禁机“13#门禁机”,在窗口右下方的“权限时限下载”页面中,选择“权限下载”,选择“有权”,单击“下载权限时限”按钮,如图所示。
图 权限下载界面
图 时限下载界面
(3) 门禁与实时监视:启动实时监视,只要有人员通过,系统就立即显示该人员的详细信息,如果没有信息与该人员对应,系统会发出警告,提示有人非法入侵,从而起到一定的监视作用。
用“张三”的卡在“13#门禁机”上刷卡,卡机显示此卡无权限,不予通行。而用“李平”的卡在“13#门禁机”上刷卡,卡机予以通行并将人员数据上传,如图所示。
图 实时监控界面
(4) 卡片挂失与黑名单下载:卡丢失后应及时到卡管理中心挂失,卡片一经挂失,其卡流水号被列入各业务系统的黑名单中,导致卡片不可用。
选择要挂失且卡状态为“正常”的记录,执行“挂失”操作,系统询问是否继续,选择“是”即可,输入密码4680,单击“确定”按钮,挂失操作成功,同时卡状态由“正常”变为“挂失”,如图所示。但此时用“李平”卡仍然可以在“13#门禁机”上刷卡通行。
卡片挂失后,与该卡片对应的人员名单称之为黑名单。如果该卡片只是在“设备卡片管理中心”挂失,并没有将其下载到门禁机,那么有拾到者拿这张卡片刷卡,也可以进出自如,这就存在一定的安全隐患。必须将黑名单下载到门禁机,则在没有解挂之前,该卡片是无权限和时限的,也就是不能正常刷卡,从而消除了安全隐患。
首先读取黑名单,每次开启界面,系统自动检测“设备卡片管理中心”挂失的卡片,并将名单显示在黑名单信息中;然后执行下载,选择全部设备,单击工具栏的“下载”按钮,系统询问是否继续,如图所示,选择“是”,执行下载。此时再用“李平”卡在“13#门禁机”上刷卡将不予通行。
图 卡片挂失界面
图 黑名单下载界面
(5) 卡片解挂:丢失的卡片挂失后又找回,经解挂操作后可正常使用。
重新进入权限时限设置界面,选择要解挂且卡状态为“挂失”的记录,执行“解挂”操作,系统询问是否继续,选择“是”即可,输入密码4680,单击“确定”按钮,解挂操作成功,同时卡状态由“挂失”变为“正常”。
(6) 数据采集:人员出入打卡的数据暂存在门禁机中,经过数据采集(操作界面见图),门禁机中的记录被清空,同时原有的记录被生成门禁的出入数据。如果该设备用途为考勤门禁机,则同时生成考勤的打卡数据,可在考勤系统中的“数据准备”→“打卡数据”模块中查看,系统可根据这些记录进行相应的数据处理。
图 数据采集界面
(7) 查看出入数据:经过数据采集,系统生成出入数据,在本模块可以查看所采集的出入数据。
双击“出入数据”,弹出查看出入数据界面。窗口中有三个页面,分别显示原始正常数据、原始异常数据和门禁数据(需查询后才有具体数据)。可以设置各种查询条件来查询相关信息,例如查询某个时间段、某个人(卡号)的出入情况等。
2.考勤管理系统
考勤管理系统是C3企业版应用模块之一,结合考勤门禁机,采用最先进的非接触式IC卡,实现考勤的智能化管理。
各企、事业单位有自己不同的考勤制度,为此,一个好的考勤系统应能够全面、灵活地处理各方面的考勤因素,如工作方式、周休日、节假日、加班、请假、出差、调班、轮休、计时等。
图为考勤管理系统的功能结构图,整个功能包含参数设定、排班设定、假期设定、数据处理、数据呈现及数据结算等六大功能。
图 考勤管理系统结构图
C3考勤管理系统在排班方面精确到了每人每天,具有5级排班组合,并可套用设定好的排班规律,且排班时使用万年历,使得排班灵活、轻松、方便。系统还首次引用了“班包”概念,将多个基本班次集合成一个班包,有效地解决了模糊班次的处理问题。独特的72小时(昨天、今天、明天)时间坐标,使得跨天班、跨天打卡等以前比较棘手的问题变得相当简单,也使得分析速度有了很大的提高。国内首创的“智能卡会计期间”概念,使得考勤数据在结算后,实现了与工资系统的无缝结合。
C3考勤管理系统内嵌的自定义报表系统实际上是一个功能强大的中文报表制作系统,它使得报表的制作不再单是开发人员的事,技术服务人员甚至用户都可以制作精美的报表。
3.工资管理系统
工资管理系统既可独立使用,也可与C3考勤和售饭系统结合使用,直接引用结算后的考勤结果和售饭项目,设定有关的工资计算公式,系统自动根据所设定的公式计算出工资结果,从而节省了大量的人力资源,提高了工作效率。工资管理系统的结构图如图所示。
图 工资管理系统的结构图
工资类别和项目由用户自定义,增加了可操作性和灵活性,并且每个人员可分配多个工资类别,每个工资类别可设定是否参与扣税。支持多种币别并存的工资计算模式,系统根据汇率自动换算,并计算出相应的工资、代扣税等。现金发薪可自定义货币面额,系统自动生成分钱清单,从而解决了零钱不够用的问题。银行代发薪,根据银行提供的接口数据格式,设定相应的公式,系统自动生成银行接口数据,实现与银行的无缝结合。内嵌的自定义报表系统不但为工资单的设计提供了强大的功能,还可实现工资单的套打。
4.售饭管理系统
企业在运行中通常要为员工提供食宿,采用电子钱包的非接触式智能卡消费管理后,由于在交易过程中没有假现金的交换,不但可以避免在交易过程中出现的财务黑洞,而且便于统计每餐、每日、每月消费总额,对食堂的运营情况及时掌握。对于已承包给其他人的食堂,则可准确统计出就餐的员工人数,避免在按月按固定人数付款时造成的资金消费;同样也可规定只有上班员工才可以吃免费餐,不上班员工不能吃免费餐,而每餐只能吃一次,每天只能吃三次等种种适合企业的消费管理制度。
C3售饭管理系统将所有发卡员工资料统一使用,根据职位不同,使用不同的卡类,便可实现在不同岗位的各种补贴发放。消费结算系统,采用可以按照指定的要求,按月、按日、按餐、按消费机、按分组进行统计查询,并且可以和工资系统接口,对个人应付帐款从工资中直接扣除。系统具有多种收费方式:零售模式、编号模式、充值模式、限次模式、限时模式等。
图 售饭管理系统的结构图
5.会议签到管理系统
会议签到管理系统为企、事业单位会议的召开和签到提供了智能化的管理。使用会议签到系统管理会议,代替了传统的手工签到和人工统计。使用者将会议的有关信息和参数设置输入完成后,与会者只需在进场时刷卡,再经过会议签到系统的数据分析,在会议召开前几分钟,即可统计出应到人数、实到人数、缺席人数等数据结果,并打印出相关报表,准确、方便、快捷、高效。
图 会议签到管理系统的结构图
6.自定义报表系统
严格地讲,自定义报表系统并不是C3系统的一个独立的子系统,它是内嵌入整个C3系统,用来制作报表的一个工具。所谓的“自定义”,就是用户可根据自己的需求设计相关的报表,自定义报表系统为用户提供了一种自己随意设计报表的工具,避免了以前死报表的弊端,实现了活报表的强大优势。
典型智能卡应用系统
“城市一卡通”公用事业智能卡应用系统解决方案
1.公用事业“城市一卡通”的发展概况
公用事业采用IC卡收费管理,实施“城市一卡通”项目,在许多国内城市已经进行了试点,并逐渐得到了管理部门和广大用户的认可。“城市一卡通”包括纵向应用和横向应用的一卡通含义。纵向应用一卡通解决地区分割的某个行业一卡通的问题,比如公共交通行业;横向应用一卡通实现同一地区不同行业的一卡多用。目前,城市一卡通的试点主要侧重于公共交通的收费管理。随着城市一卡通事业的不断发展,公用事业水、气、热等行业均将纳入城市一卡通。
2.卡片选型、应用分类和应用规划
IC卡是实施城市一卡通的重要信息载体,IC卡的选型和应用规划是项目能否成功的关键技术环节。
1) 卡片选型
IC卡根据内部芯片结构和功能的不同,分为存储器卡(包括逻辑加密卡)和微处理器卡(即CPU卡)。
存储器卡内部芯片只是一个存储器,最多增加一个逻辑电路保护。应用于一卡通项目存在如下技术隐患:
(1) 安全性较差,卡内数据很容易被修改和伪造。
(2) 读写可靠性较差,卡自身无法知道卡内的数据读写和存储是否正确,在用户插拔卡不规范或其他不确定因素下,可能造成数据混乱。
(3) 可兼容性和可扩展性较差。
从国际IC卡技术发展趋势看,非智能IC卡技术已趋于萎缩,而智能卡技术应用正处于方兴未艾之际。因此,一卡通系统在产品设计上应跟上国际形势的发展。
智能卡芯片具备微型电脑的软、硬件配置:CPU、RAM、ROM、EEPROM、操作系统(COS),同时还具有用于信息安全保护的加密器、随机数发生器以及物理攻击自毁电路。而非智能卡的芯片上只是一个简单的存储器逻辑电路。因此,从可靠性、安全性和智能性来讲,智能卡具有天生的优势。
2) 应用分类
智能卡在“城市一卡通”应用系统中按功能不同分为如下应用类型卡片:
(1) 中央级总控卡:由国家有关主管部门领导生成,存储IC卡应用总控密钥。
(2) 部级主密钥卡:由中央总控卡和相应业务密钥代码生成部级业务主密钥,如公交行业消费主密钥、TAC主密钥、应用维护主密钥等。
(3) 城市主密钥卡:由部级主密钥卡和各地区行政编号生成各地区的城市主密钥卡。
(4) 城市总控卡:存储由各城市主管领导生成的地方总控密钥。
(5) 城市密钥母卡:存储由城市主密钥卡和城市总控卡生成的城市应用主密钥。
(6) ISAM卡:即充值权限认证卡,嵌入POS机内,用于城市各充值销售网点的充值授权和认证。
(7) ESAM卡(或ESAM模块):即安全模块,安置在表具终端内,用于存储表具运营参数,并实现用户卡和表具交易的安全认证和信息交换的安全保护。
(8) 用户卡:发放给城市居民用户,作为用户充值和消费的电子信息介质。
3) 用户卡应用规划
智能卡的一个重要技术特征是能够通过统一技术规划实现一卡多用的技术功能。
在用户卡设计上,可以进行不同的应用分区,并对不同的应用分区定义独立行业的应用名称。不同应用分区存储不同的应用信息,并建立不同的密钥安全系统,使得卡内不同应用分区独立受控于不同的应用提供方,保证各个应用提供方的利益互不干涉。“城市一卡通”公用事业应用系统用户卡规划如图所示。
图 用户卡一卡多用分区规划示意图
3.系统结构和组成
图 “城市一卡通”公用事业应用系统结构示意图
1) 密钥管理子系统
密钥管理子系统完成整个系统各种密钥的生成、分配、装载和更新功能。通过密钥管理子系统,使管理部门能够对整个系统进行安全布控,从而实现整个系统运行置于管理部门的安全控管之下,消除了研制、生产单位对系统安全构成的威胁。这样,从根本上保护了应用管理部门的利益不受侵害。
密钥管理子系统通过逐级发卡初始化实现密钥生成、分配、装载。各城市首先由主管领导生成城市总控卡,并结合全国发放的城市主密钥卡生成城市密钥母卡。由城市密钥母卡生成并装载ISAM卡、ESAM模块和用户卡密钥。
密钥管理系统的目标功能包括:
(1) 实施对整个系统的安全布控和监控;
(2) 实现对系统的管理权限分割和分配;
(3) 抵御外界安全攻击,防范系统崩溃;
(4) 实现开发人员和生产厂家的安全脱钩;
(5) 保证应用系统正常的安全运营;
(6) 保护应用提供方的利益不受侵犯。
密钥管理系统必须能够保证:
(1) 密钥生成只受控于应用提供方;
(2) 开发人员和生产厂家不能掌握应用密钥;
(3) 密钥调制和生成过程必须是安全的;
(4) 密钥的装载过程必须是安全的;
(5) 密钥的存储必须是安全的;
(6) 某个个体密钥被侦破不能造成系统崩溃;
(7) 密钥的工作必须是安全的;
(8) 密钥的更新必须是安全的。
2) 发卡和充值管理子系统
发卡和充值管理子系统实现对空白用户卡的开户发卡,并完成对用户卡的充值功能。
发卡和充值管理子系统安装在发卡和充值代理网点,应用管理部门通过配备ISAM卡授权代理网点进行发卡和充值。
网点进行发卡或充值时,发卡和充值管理子系统使用ISAM卡对用户卡进行身份合法认证,并对用户卡发卡或充值操作进行权限认证。认证通过后才能有权限往用户卡写入相应的开户信息或进行充值交易处理,如图所示。
图 发卡和充值管理子系统
在进行充值交易前,开户发卡和充值管理子系统自动读入用户卡内的抄表数据,存入相应的数据库,供应用管理部门进行数据统计和分析。
应用管理部门同时可以把某些卡表的运行设置参数在充值时写入用户卡,通过用户卡插入卡表终端时自动更新卡表的某些运行设置参数。
3) 用户信息管理子系统
用户信息管理子系统实现对用户进行开户登记,并完成对用户的登记信息进行各种查询、统计、报表生成和打印等功能。
登记信息管理功能包括:开户登记、开户单打印、登记修改、用户冻结、用户注销、登记查询、统计和报表生成等。
用户信息管理子系统必须根据应用管理部门的具体业务需求进行设计。
4) 业务信息管理子系统
业务信息管理子系统实现对应用管理部门日常运营的管理,并通过和代理银行联网实现数据共享。一方面,为银行代理网点提供用户开户信息,作为网点开户和充值依据;另一方面,银行把充值交易明细以及抄表数据传送给应用管理部门,供业务管理部门分析统计。具体设计必须在对应用管理部门进行详细的系统调研和需求分析后,才能确定设计方案。
5) 用户卡和表具终端
根据国家有关部门(建设事业IC卡管理技术)的要求,表具内部必须安装安全模块——ESAM模块,而且用户卡和表具交易流程必须符合交易规范。
安全模块(ESAM模块)是一种具有特殊密钥管理功能和特殊封装形式的智能卡,其内核芯片和智能卡芯片一样。安全模块的内部功能结构如图所示。
图 安全模块的内部功能结构示意图
4.系统建设规划
(1) 建立统一的技术管理规范和平台;
(2) 建立相应的业务管理规范和模式;
(3) 制定相应的政策和法规;
(4) 符合国内外行业标准或应用规范;
(5) 建立安全体系结构和密钥管理系统;
(6) 实现一卡多用,保证城市一卡通;
(7) 建立完善的应用业务信息管理系统;
(8) 实现和银行业务管理系统的联网;
(9) 建立完善的售后服务管理系统;
(10) 保证系统具有较高的安全性和可靠性;
(11) 能够提供较好的可扩展性和可维护性。
“一卡通”在数字社区中的应用
1.社区“一卡通”的基本要求
为使社区管理科学化、规范化、智能化,为业主提供更加周到细致的服务,社区管理“一卡通”要求系统具有以下功能:
(1) IC卡既要有银行卡功能,也要有社区功能;
(2) 具有IC卡门禁系统;
(3) 具有IC卡停车场收费系统;
(4) 具有IC卡会所消费系统
(5) 具有社区巴士消费功能;
(6) 具有会员积分管理功能;
(7) 具有保安巡更管理功能;
(8) 各种产品具有网络功能;
(9) 所有数据应通过网络交互;
(10) 系统应具有扩展性,为以后几个社区之间的互联互通做准备。
图 社区一卡通系统功能示意图
2.系统结构
社区一卡通系统结构主要包含三大部分。一是社区内部局域网结构,社区内部的门禁系统、停车场系统、会所消费系统等都直接由社区内部局域网进行管理,实现资源共享、数据实时传输和实时控制;二是外部网络结构,社区局域网与外部网络的连接是采用专用网关,有拓展内部局域网的功能,使内部局域网与外部广域网成为一体;三是社区内部远程数据传输结构,用于社区内分布较散,数据传输量不大的功能模块,例如社区巴士、移动消费POS等采用了简单的RS485/RS232串行数据传输结构,以满足多层次的需求。
图 社区一卡通系统的结构图
3.系统软件功能
图 社区一卡通系统软件功能结构图
1) 发卡管理系统
IC卡的发行由发卡机和IC卡的发行管理软件来实现,操作一般在控制中心电脑上完成。发卡管理系统用于实现IC卡个人信息、消费权限等管理。其中包括人员信息录入、挂失及黑名单管理、续卡和补卡、IC卡数据查询等功能。
IC卡没有发行前是空卡,不能使用,必须经过系统发卡才能使用。发行后的IC卡便可根据权限用于开门、考勤、消费、进出停车场、图书借阅等操作。一张卡可实现多种功能,即“一卡通”。
数字社区IC卡分为管理卡和社区卡。管理卡提供给各类IC卡终端操作员使用,社区卡提供给业主使用。
社区卡有主卡和副卡之分,每户有一张主卡和多个副卡。主卡由银行发行,再到社区管理中心初始化,这样主卡既可在社区内使用(如门禁、停车场、会所消费等),也可在社区外使用(即保留银行卡的功能),真正实现了一卡多用的功能;副卡由社区发行,主要提供给业主的亲属,发行副卡时系统会确认与业主的关系,并将该卡与主卡建立内部联系,副卡的所有消费金额都自动登记到主卡的银行帐号上,使资金管理简易而到位。
2) 社区消费系统
用于社区内商务中心、娱乐中心、餐厅、停车场等收费场所,实现IC卡持有者及外来的非持卡用户的收费,减少不必要的现金流动。
社区消费系统由IC卡消费/收费终端(POS)、管理主机、IC卡读写器、通信网络和管理软件组成。移动POS机(巴士、活动积分等)采用脱机方式,通过数据采集器实现POS机与主机数据的上传和下载,固定POS机(会所消费等)采用联网方式,由管理主机实时汇总各消费点的消费数据并通过网络下传POS中的消费数据。
图 社区消费系统示意图
3) IC卡门禁系统
IC卡门禁采用了先进的计算机技术、智能卡技术、精密机械制造技术等,并采用IC卡作为房门开启的钥匙,提高了房门的安全性和可靠性,是未来门锁控制的发展方向。与普通门锁相比,IC卡门禁系统具有安全性高、一卡多锁、一锁多卡、一卡多用、存储刷卡记录、非法卡操作报警、遗失补发等特点。IC卡门禁系统采用联网工作方式。 联网方式可实时监控每个单元门的状态,下发IC卡卡号、提取刷卡记录等功能。
图 门禁系统示意图
4) IC卡家庭管理系统
家庭物业管理系统主要是为小区居民提供以IC卡为依托,针对家庭日常消费和保安的管理系统。家庭IC卡物业管理系统的设计以安全为核心,简便易用为目标,为小区的居民提供了安全、周到的服务。家庭IC卡物业管理系统包括IC卡取电、IC卡取水、IC卡取煤气、IC卡支付有线电视费、可视门铃和闭路电视监控等功能。
建立小区家庭IC卡物业管理系统,首先要在小区设立一个收费中心。该中心负责向小区居民发放储值IC卡,用户可根据自己的需求购买一定量的储值卡。当此储值卡中还有余额时,用户就可以使用电、水、煤气和有线电视,否则就不允许使用,必须到收费中心对其IC卡重新充值,才能使用。采用这种方式有以下优点:
(1) IC卡取电、IC卡取水、IC卡取煤气、IC卡支付有线电视费用。
(2) 用户可一次多购买一些电费、水费、煤气费和有线电视费,避免了以前的每月单独结算,可节约大量的时间。
(3) 水、电、煤气和有线电视收费管理人员不必亲自到居民家中进行收费,既减轻了收费管理人员的负担,又可以避免出现有坏人假扮收费人员进行违法犯罪活动的可能,使居民更有安全感。
(4) 可提高小区收费管理的工作效率和自动化程度。
小区居民家中安装IC卡控制的数字式电表、数字式水表、数字式煤气表和IC卡控制有线电视加扰器。这些表或加扰器都有一个IC卡读写控制器。当在该控制器的读写头中插入从小区收费中心购买的IC储值卡后,如果卡中的储值为零,则不能使用电、水、煤气和接收有线电视,用户需到小区收费中心重新充值后,才能使用。
IC卡控制的电表、水表和煤气表实际上是利用IC卡控制器中的微处理器读取IC卡中的剩余金额的,剩余金额为零,电表则控制继电器或水表和煤气表控制阀门,使用户不能使用水、电和煤气。IC卡控制的有线电视加扰器也是同样的道理,如果读取IC卡中的剩余金额为零,则对电视信号加扰,用户就不能正常收看电视节目。
5) 巡更子系统
巡逻时,传统签名簿的签到形式容易出现冒签或补签的问题。在查核签到时比较费时费力,对于失盗、失职分析难度较大。随着非接触式IC卡的出现,便自然地产生了感应巡更系统。这一系统的推出对社会的安定起到了极其重要的作用。感应式巡更分为在线式巡更和离散式巡更两种。
在线式巡更系统: 每个巡更点放置一个读卡机,通过电缆直接连至控制管理中心电脑(原理上和门禁相同)。每个巡更点均设有时钟,储存巡更记录达3200条以上。巡更时只要巡更员将巡更卡(感应式IC卡)靠近巡更点,读卡机便自动记录巡更员编号、时间、地点等信息。控制管理中心随时可以了解巡更员的巡更情况。
图 巡更系统示意图
6) 停车场管理子系统
图 停车场管理系统结构图
当车辆检测器(埋于地下)检测到出入车辆时,读卡机自动寻卡,自动鉴别并拒绝接受非法IC卡,而对合法卡显示停车时间、计费并控制道闸开启,控制信号采用光电隔离传输,抗干扰能力强。道闸栏杆机起落速度快,免砸车、免尾随,车辆出入反应时间(从来车到道闸升至最高)不大于5 s,其中视觉识别 s,IC卡识别小于 s,综合识别1 s,道闸动作1 s。可以手动、自动、遥控三种方式控制道闸。
PC机管理系统支持租用式停车、储值卡停车和临时停车等方式的自动控制、计费和显示;随机现金核对,随机各种报表统计,并可完成误操作报表统计。对于多出口、多入口的停车场实行网络管理,开放式系统结构,容易升级和系统增容。
7) 资金结算
社区“一卡通”的一个显著特点就是,最大限度地减少了现金的流量和管理成本。对每个持卡消费者的消费情况,系统都自动记录在数据库里。每隔一定时间产生资金结算数据,并上传至银行,银行处理后将结果返回,系统根据处理结果再进行处理,对不符合消费规定的持卡消费者,系统自动将该卡作为黑名单处理,使该卡没有消费权限。
与银行资金结算有多种方式,这里采用了批量代扣费清算方式。
批量代扣费清算方式是由物业公司将联名卡通过IC芯片消费的数据传给银行,银行通过批量代收付费方式批量从客户联名卡的磁条帐户中扣收。
采用该方式有以下优点:
① 清算方式简单、便于操作,银行批量代收付费清算是一项比较成熟的资金结算方式,安全、可靠。
② 有利于节约成本费用,无须安装其他系统网络传送清算数据,节省了费用开支。
③ 有利于联名卡的推广和宣传,两卡(磁条卡、IC卡)合一帐户使用,客户无须对IC芯片预先充值即可使用,真正实现了“一卡通”。
在数字社区实施“一卡通”工程,提高了办事效率,减少了人力资源的浪费,避免了诸多人为因素的干预,加强了对人、财、物有序及有效的监控管理,提高了资源的共享利用率,使数字社区走向了科学化、智能化管理的良好途径。
智能卡在数字移动通信系统中的应用
1.SIM卡概述
所谓SIM卡,是指数字移动通信中的用户识别模块,是CPU卡的一种,符合IC卡国际标准ISO/IEC 7816的要求。其应用形式多为嵌入式,尺寸为25 mm×15 mm,触点尺寸与卡片式IC卡相同。
SIM卡是数字移动通信系统用户进网登记的凭证。在SIM卡中,包含有用户识别信息、辅助业务信息、短消息、移动信息和无线电资源信息等。在数字移动通信系统中,通过对SIM卡的物理接口、逻辑接口的明确定义,来完成与移动终端的连接和信息交换,同时在SIM卡内部进行用户信息存储,执行鉴权算法和产生加密密钥等工作。只有插入SIM卡后,移动终端才能进网。用户以PIN码向SIM卡证实其使用权。
1) SIM卡的基本组成及电性能要求
SIM卡是带微处理器的IC卡,卡内的集成电路由CPU、工作存储器RAM、程序存储器ROM、用户数据存储器EEPROM和串行通信单元五个模块组成。
SIM卡符合国际标准ISO/IEC 7816的要求。SIM卡共有八个或六个触点,通过这些触点与移动终端(手机)接口,并获取SIM卡电路工作所需的电源。SIM卡的电流消耗少于10 mA。
SIM卡的时钟频率通常由移动终端提供,它在指定时间内运行鉴权过程时至少需要13/4 MHz的时钟频率,其他情况下,使用时钟频率最小为13/8 MHz。
SIM卡的I/O输入输出传输波特率为1/372。
为使SIM卡能正常工作,其各触点的电性能以及电源开/关时的电性能均需符合ISO/IEC 7816的规定。当电源开启时,SIM卡有两种状态:工作方式和休闲方式。在工作方式时完成与手机之间的信息传输;在休闲方式时,SIM卡将保留所有的相关数据,并支持内部休眠、指令休眠和时钟休眠三种休眠方式。
2) SIM卡的功能
在数字移动通信系统中,SIM卡具有以下几种功能。
(1) 存储用户相关数据:SIM卡存储的数据可分为四类。第一类是固定存放的数据,这类数据在ME(Mobile Equipment)被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI)、鉴权密钥(KI)等;第二类是暂时存放的有关网络的数据,如位置区域识别码(LAI)、移动用户暂时识别码(TMSI)、禁止接入的公共电话网代码等;第三类是相关的业务代码,如个人识别码(PIN)、解锁码(PUK)、计费费率等;第四类是电话号码簿,是手机用户随时输入的电话号码。
(2) 用户PIN的操作和管理:SIM卡本身是通过PIN码来保护的,PIN是一个4~8位的个人密码,只有当用户输入正确的PIN码时,SIM卡才能被启用,移动终端才能对SIM卡进行存取,也只有PIN认证通过后,用户才能上网通话。
(3) 用户身份鉴权:确认用户接入进网是否合法。鉴权过程是在网络和SIM卡之间进行的,而鉴权时间一般是在移动终端登记入网和呼叫时。鉴权开始时,网络产生一个128 bit的随机数RAND,经无线电控制信道传送到移动台,SIM卡依据卡中的密钥KI和算法A3,对接收到的RAND计算出应答信号SRES,并将结果发回网络端。而网络端在鉴权中心查明该用户的密钥KI,用同样的RAND和算法A3算出SRES,并与收到的SRES进行比较,若一致,鉴权通过,否则鉴权失败,接续终止。由于使用了每次接续都不相同的随机函数RAND,用户密钥KI不直接在无线信道中传送,因此这样既可达到鉴权的目的,又不易泄露用户的固有密钥,确保了用户的合法使用权。
(4) 保密算法和密钥:SIM卡中最敏感的数据是保密算法A3、A8、密钥KI、PIN、PUK和用户密钥Kc。A3、A8算法是在生产SIM卡时写入的,无法读出。PIN码可由用户在手机上自己设定,PUK码由运营者持有,Kc是在加密过程中由KI导出的。
3) SIM卡的预处理和个人化
合法的SIM卡必须经过严格的管理步骤才能得以实现。SIM卡在制造厂家出厂时即应写入该卡的序列号(用于惟一识别SIM卡的)、操作系统码、特定的数据及保密密钥,以便进行个人化处理。这些信息一旦装入,就不能再更改,也就是说,不能再进行其他的初始化工作。
在SIM卡的预个人化阶段,先将芯片的EEPROM格式化,建立目录结构,开辟GSM应用数据文件,以便由网络经营部门将GSM业务相关的数据写入这些特定的文件中。在预个人化阶段存储的信息如下:国际移动台识别码IMSI、鉴权密钥KI、个人识别码PIN、PIN码显示使能、PIN码出错计数、预个人化数据、SIM卡状态、个人消闭锁密钥PUK、重新个人化密钥。
在SIM卡的个人化阶段,将一些特定的信息(如用户相关信息、个人化数据和用户访问等级控制)写入SIM卡。在预个人化阶段和个人化阶段,写入何种数据是由网络经营者确定的。SIM卡在进行个人化处理后,数据文件的访问是由SIM卡软件控制的,这种控制与规定的保密规则相符。
4) SIM卡的使用
在GSM系统中,移动终端出厂后是不能直接使用的,用户必须在网络经营部门注册得到一张用户识别模块SIM卡,它是持卡用户在电信局的代表。
当要启动GSM移动电话进行通信时,接通电源后机器会提示用户插入SIM卡,当用户将SIM卡插入GSM终端的卡片读取器后,通信终端会提示输入长度为4~8位数的PIN码(除非不用PIN码)。用户输入PIN后,按“#”键即启动了对PIN的校验。
若输入的PIN正确,移动终端就可以对SIM卡进行存取,读出相关的数据,而且可以接入进网。每次呼叫结束或者移动终端正常关闭时,所有的临时数据都会从移动终端传送到SIM卡中。以后开、关移动终端都要进行PIN校验。通信过程中,从移动终端取出SIM卡会终止当时的通信,而且还可能破坏用户数据。
如果输入的PIN不正确,用户还可以再输入两次。输入出错时会显示出错信息,出错三次后SIM卡将被闭锁。用户要再次访问网络,必须先消除SIM卡的闭锁。
消除SIM卡的闭锁,可使用正确的八位码个人消闭锁密钥(PUK),用户能否知道PUK是由网络经营者的SIM卡管理规程确定的。如果输入的PUK出错超过10次,SIM卡将永久闭锁,各个网络操作员可以决定该SIM卡能否被替换或用管理规程激活。
用户PIN码可以任意修改,但在输入新的PIN前,要先输入原来的PIN,这样,即使用户移动终端或SIM卡遗失或被盗,只要用户的PIN码没有泄漏,用户移动终端和SIM卡就无法被盗用。
2.SIM卡在移动电子商务中的应用
1) 移动电子商务中的SIM卡技术
(1) STK(SIM卡工具套件)卡技术:移动电子商务的实现就要借助于大容量的STK卡。STK是SIM Tool Kit的英文缩写,即“用户识别应用开发工具”。它包含一组指令用于手机与SIM卡的交互,这样可以使SIM卡运行卡内的小应用程序,实现增值服务的目的。在这种SIM卡中,用户的网络身份认证仍然是一个最基本最主要的功能,而在容量比原来扩展几倍的EEPROM空间里,就可以安装实现各种目的的小应用程序,比如个人银行帐务管理,可以进行网上信息交互的微浏览器等。另外还可以在SIM卡中加载支持电子商务所必需的各种算法(如RSA或其他算法),实现在卡片内的数字签名、数据加密操作。
STK卡与普通SIM卡的区别在于,在STK卡中固化了应用程序,通过软件激活提供给用户一个文字菜单界面,这个文字菜单界面允许用户通过简单的按键操作就可实现信息检索,甚至交易。例如,终端用户想查询天气预报,在没有STK增值服务的情况下,用户需要手动编辑短消息“TQ 010”,再将短消息发送到168服务平台。这样用户需要记住“TQ”是天气预报的命令代码和168服务平台号。事实上命令代码有很多,如“GP”代表股票查询、“HF”代表电话费查询等。因此要用户将所有的命令代码记住是不现实的,也是很不方便的。STK通过固化在卡中的程序,提供给用户“天气预报”等菜单提示,这样用户只需要输入想要查询地区的长途区号即可查询到天气情况,从而使用户不必记忆命令代码和服务平台号,达到方便用户的目的。
STK卡所遵循的标准()与过去的SIM卡标准()有所不同。它在原来的标准之外,又专门定义了一套手机与卡片应用之间的接口协议,通过这个协议,用户可以在手机上浏览各个应用,并进行选择。SIM卡接受用户的选择后,进行相应的处理反馈给用户。在目前的情况下,最终的处理结果会由手机以短消息的方式发给网络。网络在处理完用户的请求后,再把处理结果通过短消息发送到用户的手机上。随着GPRS技术的出现,已经实现了更快速的数据传输, 速率可以达到115 kb/s, 而目前的传输速率只有 kb/s,如果过渡到3 G,传输速率更可达到几百kb/s,这样通过手机可以比较顺畅地访问互联网。将各种应用放在STK卡中,就不必依赖WAP手机了。
STK增值服务的实现基础是GSM的短消息。因此,只要是GSM网络覆盖到的地方,就可以提供文字信息服务,服务范围广大;而且文字短消息价格便宜,仅在成功传递时才收费,并且不包含漫游费。基于上述原因STK卡用户数猛增,该商业模式现正趋于成熟。
尽管STK对SIM卡的使用方法进行了标准化,但是各个制造商仍旧使用自己的开发工具为自选的芯片掩膜,因此引入开放的SIM卡开发平台的需求呼声日渐高涨。
由Gemplus和Schlumberger于1997年建立的JavaCard论坛的目的即是为智能卡制定一项基于Java编程语言的标准,ETSI(欧洲电信标准协会)已在其规程中增加了有关JavaCard互操作的内容。 GSM SIM卡采用JavaCard API 在保证安全的同时提供开放的SIM开发,使得STK可以在不同制造商的SIM卡上运行并得以建立空中管理SIM应用程序(applet)下载。在开发过程中,软件开发商可采用开放的开发工具,开发出与Java兼容的SIM卡应用程序。1999年JavaCard 2.标准即能实现STK的应用程序在不同厂家的SIM卡上运行。可以说,取消编制SIM卡的专用方法极大地丰富了服务的形式,并加快了更新换代的速度。
(2) OTA空中下载技术:该技术可以赋予STK卡以更大的灵活性,它是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。 当用户得到SIM卡后,里边已经装载了某些应用,但如果运营商希望卡片在已经发给用户后,可修改某个应用或增加新的应用,则可以使用这种技术来实现。
目前市场运作情况最好、对网络资源要求最低、操作最简单方便、执行速度最快的OTA下载方式,是直接利用数据短信打包的动态STK菜单下载的。
动态STK菜单下载的实现借助于STK功能和短消息通道。支持空中下载的STK SIM卡以人—机接口界面供用户发起下载申请。网络服务器则根据用户请求,以短消息的形式将相应的服务下载数据透明地传递给用户的STK SIM卡,由SIM卡对下载内容进行重新组织和存储,实现相应的STK卡菜单管理。这种方式在原理和实现上都显得比较简单,同时使数据处理速度得到了很大的提高。
直接利用数据短信打包的动态STK菜单下载技术是将菜单打包后一次性地下载到SIM卡中,由于不需要频繁地与网络进行交互,因此不仅减轻了网络后台服务器的压力,使服务器的设计变得简捷,还可减轻短消息的传输压力。同时,交互的减少以及下载过程的简化,也使得SIM卡处理能力的瓶颈大大降低。
(3) 双卡手机:这种产品在智能卡技术最发达的欧洲也是刚刚兴起。顾名思义,双卡手机就是可以插入两张智能卡,一张就是SIM卡,另一张可以是用户常用的银行卡或其他金融卡。它的工作原理是SIM卡仍然用来认证用户身份,但添加了可以完成数字签名及加密的功能。通过SIM卡加密,用户可以将操作自己银行卡的请求发给银行,银行确认无误后,完成用户指定的操作,并将处理结果传给用户手机,这些处理请求可以是余额查询、资金转帐、修改帐户密码等。用户用这张银行卡就可以消费。所以说,将来只带一部手机和一张银行卡就能通行无阻。
2) SIM卡增值服务应用案例——移动报关
目前,向海关进行货物申报的过程为先由要进行申报的单位将海关所需要的全部申报材料递交到海关,由海关对所有的材料进行审核,如果有问题,海关会将材料退回给报关单位,由报关单位重新准备后再提交到海关。在申报材料中,必须要有申报单位领导的签字。如果申报材料有问题,就需要领导进行多次确认再签字,过程非常繁琐。如果借助于带RSA算法的SIM卡,则可以简化许多中间环节,使整个报关过程变得快捷方便,不但可以使海关迅速处理大量的报关业务,也极大地方便了报关单位。
图 移动报关工作流程图
首先将报关服务这项应用下装到SIM卡里,在手机每次开机注册过程中,手机动态地将此项业务添加到手机的功能菜单中。用户选择了报关服务时,如果需要用户输入数据,则SIM卡会给出提示信息,在用户输入之后,SIM卡将用户指定操作的命令码和输入的相关数据按指定协议打包,再将此数据包以短消息的形式发送给网络。在这里,命令码并没有规定格式,只需短消息中心可以正确地解读命令码,所以只要SIM卡和短消息中心约定了命令代码格式即可。
图 移动报关系统结构图
(1) 报关数据服务器:可以位于海关,也可以位于网络运营商。双方之间通过专线或其他连接方式进行数据通信。
(2) 网络运营商:作为数据交换的中心,连接数据服务器和短消息中心。
(3) 短消息中心:与SIM卡进行数据通信的平台,将报关数据以短消息的形式发送到SIM卡中,由卡片对数据进行处理;同时接收SIM卡通过手机发送的数据,再将数据传送给报关数据服务器。
(4) 手机:接收短消息中心发送的数据,写入SIM卡;将SIM卡要发送的数据以短消息的形式发回短消息中心。手机必须支持SIM Tool Kit功能。
(5) SIM卡:可以存储手机接收到的报关数据,并在手机上显示。利用支持RSA的算法,完成数字签名,并组成短消息通过手机再发送。
智能卡应用系统开发的一般方法
图 应用系统开发的一般流程图
确定任务
如同任何一个新产品设计一样,智能卡应用系统研制过程也是以确定目标系统的任务开始的。在着手系统设计前,必须确定系统的应用对象、应用范围、应用环境、应用条件及技术指标,这是系统设计的依据和出发点,它是贯穿于系统设计全过程的。
一般系统建设方案由项目分析、总体方案、技术方案、实施方案、运行方案五大部分组成,以系统项目的分析、规划、设计、实施、运行为主线,从网络构架、硬件设备、卡片设计、协议选择、软件设计、安全控制等各个环节进行系统设计和充分论证。
总体设计
一般而言,任务和技术指标确定以后,下一步便是调研阶段。这个阶段的任务是通过调查研究和查阅资料来完成系统的总体设计。
1.系统设计原则
1) 先进性
智能卡应用系统的建设要立足于当今世界先进且有发展前途的技术,由此实现的系统能随着未来信息技术的发展而不断平滑升级,如一卡通系统中网络通信采用了国际流行的TCP/IP协议,服务器采用了微软公司的NT操作系统,数据库采用的是微软公司的SQL ,前端应用程序使用Delphi,Visual C++开发而成。
2) 实用性
智能卡应用系统应充分体现各类管理的模式和特点,各应用系统的开发,应做到功能完善、使用方便、切合实际、运作高效。
3) 安全性
智能卡应用系统采取服务器上安装防火墙软件、网络数据库备份、管理人员分级按权限操作、实时更新黑名单等多种有效措施,确保了整个系统的安全性。
4) 稳定可靠性
系统网络采用联机/脱网互备份型设计,确保系统的稳定可靠运行。在相关网络部件出现故障的情况下,系统会自动进入脱网状态运行,所有的数据将会保存在各个终端中。一旦网络恢复,所有数据将会自动回送至系统管理中心。
所有终端均具有智能判别和智能诊断功能。即使在脱网状态下,各个终端也均可根据从卡中读出的数据进行智能判断并执行相应的操作。
5) 扩展性
智能卡应用系统在容量和功能上不仅能满足目前用户的需求,而且也易于扩展以保障用户今后的扩容和升级,如系统可以灵活增设信息点,利用Web查询支持模块和Internet网,实现远程快速查询。
2.系统规划与设备选择
系统规划时既要考虑技术的先进性、前瞻性,也要考虑现有的资源和条件的充分利用。在系统开发时,还应考虑是否有现成的开发工具或开发平台。因为开发工具的优劣,往往是产品研制周期长短的决定性因素。
设备选择不仅要考虑成本、可靠性和先进性,还要考虑到设备的通用性、使用的普遍性及市场的货源供应,设计者只能在市场上提供的设备中挑选。在研制任务重、时间短的情况下,应选择最熟悉的机型,这样可以缩短研制的时间。
3.硬件和软件的功能划分
一般来说,硬件和软件具有一定的互换性。有些由硬件实现的功能也可以由软件来完成,反之亦然。多用硬件完成一些功能,可以提高工作速率,但增加了硬件成本;若用软件代替某些硬件的功能,可使硬件成本降低,但软件的工作量增加了。总体设计时,必须在硬件和软件之间权衡。
硬件配置
智能卡应用系统要根据实际工程需要以及实施主体的经济能力来考虑其硬件配置。这主要涉及:智能卡品种的选择,卡数据结构的设计,智能卡读写机具的选择与设计,网络结构的选择与设计等。其中,智能卡是智能卡技术的核心,它的性能和成本对智能卡技术的推广和使用起着举足轻重的作用。在此,我们主要讨论智能卡品种的选择。
对智能卡品种的选择主要需要考虑以下几个方面:卡芯片类型、卡与读写器的接口方式、卡的存储容量、安全性要求、综合价格因素等。
1.卡芯片类型及安全性要求的选择
如前所述,智能卡属于半导体卡,采用微电子技术进行信息的存储、处理。按照其内嵌芯片,智能卡可以分为存储器卡、逻辑加密卡、CPU卡和超级智能卡。
1) 存储器卡(Memory Card)
存储器卡内嵌芯片相当于普通串行EEPROM存储器,有些芯片还增加了特定区域的写保护功能,这类卡信息存储方便、使用简单、价格便宜,很多场合可替代磁卡,且卡容量从1 KB~4 MB的各种容量规格品种一应俱全,但由于其本身不具备信息保密功能,因此,存储器卡只能用于无保密性要求的应用场合。
2) 逻辑加密卡(Security Card)
逻辑加密卡内嵌芯片在存储区外增加了控制逻辑,在访问存储区之前需要核对密码,只有密码正确,才能进行存取操作。这类IC卡保密性较好,价格适中,可选品种丰富,开发使用简单、方便,主要针对一般密级的需要。就目前非金融领域的应用统计来看,逻辑加密卡占据了绝大部分的市场。
3) CPU卡(Smart Card)
CPU卡内嵌芯片相当于一个特殊类型的单片机,内部除了带有控制器、存储器、时序控制逻辑等外,还带有算法单元和操作系统。由于CPU卡有存储容量大,处理能力强,信息存储安全等特性,因此,它被广泛用于信息安全性要求特别高的场合。但卡片、卡机及其系统开发成本目前仍较高,是金融领域或其他复杂应用系统的主要选择对象。
4) 超级智能卡
在卡上具有MPU和存储器,并装有键盘、液晶显示器和电源,有的卡上还具有指纹识别装置等。
2.卡接口方式的选择
按照数据读写方式,智能卡又可分为接触式IC卡和非接触式IC卡两类。对于要求快速通过或存取频繁,可靠性要求特别高的场合,一般可选择非接触式IC卡。而接触式IC卡的特点是品种多,可选范围大,卡片和卡机的价格都大大低于非接触式IC卡,并且使用中无辐射干扰问题,安全保密性较好。
随着IC卡技术的发展,目前已有双界面卡问世,但这种新型卡的成本及其配套机具成本都还较高。
3.卡存储容量的选择
在选择卡容量时主要需要考虑卡内需要存储的总信息量、分区结构的要求以及可能的变化余量等三个方面。 至于带CPU的智能卡,则需要分别设计卡内ROM、 RAM和EEPROM的容量。 ROM容量取决于卡操作系统COS的大小或卡监控程序及固化在ROM中的一些常用软件库的大小;RAM主要用于存放CPU运算的中间结果以及与外部接口交换信息的信息缓存;EEPROM则为用户存储器。
一般来说,存储容量越大,卡片的价格就越高,而EEPROM存储器容量的大小对卡片价格的影响最大。值得注意的是,在选择卡片容量时,要尽可能对所需要存储的信息进行优化筛选,采用各种编码方式和代码压缩技术来处理卡上记录,这样做既可以压缩存储空间,又可以增加卡信息的保密性,从而使卡片的性价比更高。
4.卡片价格的综合因素
从总体上来看,影响IC卡价格的主要因素有以下几个方面:
(1)1μm以下的大工业半导体制造技术的突破和稳定生产能力的发展。
(2) 实际IC卡芯片应用市场的需求对生产规模的限制。
(3) 法国Innovatron集团的专利费用。
实际应用中,影响IC卡价格的因素还包括卡片种类、卡片容量、定货数量、交货时间、表面印刷要求及运输费用等。
随着半导体制造技术的快速发展和IC卡应用领域的不断扩大,卡芯片成本及卡生产规模效益使IC卡成本得以迅速下降。因此,选择IC卡时,既要考虑当前发生的成本承受能力,也要注意到IC卡价格的可能变化,寻求最大的实惠。
此外,在1981年美国一家公司提出了光卡概念,从而丰富了卡片式数据存储方式。光卡(Optical Card)由半导体激光材料组成,能够储存记录并再生大量信息。光卡记录格式目前有两种:Canon型和Delta型。这两种格式均已被国际标准化组织接收为国际标准。光卡具有体积小、便于随身携带、数据安全可靠、容量大、抗干扰性强、不易更改、保密性好和相对价格便宜等优点。
软件体系架构
智能卡应用系统软件一般由以下几大模块组成:
(1) 设备通信模块:用于各控制主机与其所控制设备之间的通信;
(2) 网络通信模块:用于各模块之间在网络上的数据通信,基于TCP/IP协议和Socket机制。
(3) 中心数据库:储存智能卡应用系统所有的数据表;
(4) 本地数据库:储存本工作站所需的数据表;
(5) 数据库操作模块:对数据库数据进行输入、修改、查询、镜像保存等操作;
(6) 查询支持模块:支持网络查询的模块。
Microsoft SQL Server是Windows NT操作系统中分页式的客户/服务器技术,这种高级的数据库平台,在现有的网络中,提供了系列的事务解决方案,其特点是:
(1) 高性能的设计:可达到最大2 GB(版可达到4 GB)的内存和若干TB的硬盘,完全优化的32位结构用以均等Windows NT。
(2) 可伸缩的对称服务器结构:通过动态地在处理器之间平衡用户的工作量,保证了单处理器或多处理器硬件的高等级的伸缩性。
(3) 系统管理:利用Windows NT上的SQL Server的图形化工具,只需少量的工作、可在本地或远程计算机上进行安装、配置和管理。
(4) 分布式处理:远程的存储程序提供了一个透明的、分布式的服务器到服务器的通信机制,并应用了两个阶段提交协议。
(5) 数据完整性:系统出现故障时,自动地前翻后翻恢复,自动地死锁检查和处理。
(6) 高可用性:数据库镜像保存了数据库或事务处理日志的映像。在线备份使系统不致中断。
(7) 开放的数据库连接:适用ODBC的客户机与SQL Server或其他常用数据库通信。
(8) 网络集成:可以平滑地操作通用的网络和协议及多种主机。系统复杂程度低,为所有的管理服务提供了一个32位窗口用户界面,即SQL Windows NT Enterprise Manager,还把管理工具、服务和组成模块集成到了核心产品中,降低了系统的复杂程度。
(9) 更大程度的自我管理:使远程SQL Server可以在更大程度上实现自我管理。这个功能是用于内核(调度、事件/警报、复制)相互作用的服务实现的,可对这些服务编程,以实现自动的、无人看守功能。
(10) 良好的工具:为数据库管理人员(DBA)提供很好的工具,使他们的管理从被动转为主动。通过一个全面的事件/警报处理模式,允许管理人员为某些特定情况和某些困难情况(如数据库日志将满)定义修正性动作,这些动作可以由事件和警报触发。
SQL Server 是微软数据库产品的一个新版本,它的重要革新和领先的领域包括:
(1) 从手提电脑到企业服务器的大范围内,都拥有100%兼容性的同样代码;
(2) 用许多新向导来简化管理;
(3) 动态内存和动态空间管理的自动配置和调整功能;
(4) 集成了OLAP SERVICES(在线分析处理应用)功能;
(5) 集成了数据转换服务(DTS)功能;
(6) 集成了文本搜索(English Query)功能;
(7) 多种复制方式(业务复制、快照复制和合并复制)的选择;
(8) 通过OLE DB对不同种类的数据实现分布式查询功能;
(9) 数据仓库框架成为解决元数据问题的第一个综合方法;
(10) 与NT Server,Microsoft Office、BackOffice家族的最佳集成;
(11) 第一个提供多服务器管理以适应大量服务器应用的数据库;
(12) 全局数据存取(Universal Data Access)策略实现了对大量信息资源的高性能访问。
因此,目前大多数智能卡应用系统采用微软公司的SQL Server 作为系统的数据库平台。
Windows NT的主要特点如下:
(1) 提供与Windows 类似的操作界面,管理起来十分方便。
(2) 与硬件平台无关,可支持Intel、Alpha、MIPS、Power PC等多种平台。
(3) 可伸缩性强,支持TCP/IP、SPX/IPX、NetBEUI等各种网络协议。
(4) 内置安全机制,控制用户、组等访问权限,可达C2级安全性。
(5) 支持FAT、NTFS等多种文件系统,其中NTFS具有高可靠性的特点。
(6) 支持多线率、多处理器硬件结构。
Windwos NT的一些关键特征包括对主要系统的访问被动态平衡和平均分配在任何可利用的CPU上;并且NT对磁盘与网络I/O进行专门优化,极大地提高了I/O能力;NT中的虚拟内存管理能力也相当强,用户程序不可能破坏系统的进程空间。
Windows NT是一个强壮高容错能力的操作系统,具体体现在:
(1) 可恢复的文件系统;
(2) 磁盘在线备份;
(3) 磁盘阵列RAID5支持;
(4) C2级安全性。
系统安装调试
系统安装调试是整个系统的最后一步,也是最复杂、最困难的一步。即使是在局部环境下调试好的模块,在加入到整个系统中时,都有可能出现问题,整个系统规划的是否合理、选用设备的通用性和兼容性如何,都可在此得到验证。
一般情况,首先把每个局部功能模块在实际环境下调试通过,然后将各功能模块分别与控制中心的总控制系统连接调试,在没有问题的情况下,最后进行合并联调。系统调试完成后要经过一段时间的试运行,在没有问题的情况下才能交付用户使用。
思 考 题
什么是“一卡通”?
请说出下述各卡应采用何种IC卡较为合适:电子钱包卡(现金卡)、信用卡、身份证卡、病历卡、电话卡、门锁卡、加油预付费卡、公交卡。
什么是黑名单?其作用何在?
请写出公交卡一次使用过程中,读写器的工作流程。
请设计一个非接触式IC卡考勤机,并画出其硬件电路框图,说明各组成部件的功能。
作为智能一卡通系统的管理员,应如何从制度上保证系统的安全性?
什么是SIM卡?SIM卡的主要功能有哪些?
STK卡是如何实现电信增值服务的?
调查电费计费卡的发行商的需求,并据此设计IC卡电表。画出其硬件电路框图,并说明各组成部件的功能。
一个现代化的校园一卡通系统应具备哪些功能模块?系统硬件应配置哪些主要设备?