基于二代身份证的门禁考勤系统的设计 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

基于二代身份证的门禁考勤系统的设计

来源:中国一卡通网  作者:程玉娟 姚健东 王宜怀  发布时间:2012-10-11 09:36:20  字体:[ ]

关键字:门禁  考勤  射频模块  

摘   要:系统以飞思卡尔推出的内部集成网络模块的MCF52233微控制器为基础, 通过射频模块( RFID)读取ID(二代身份证) 中的序列号, 同时实现门禁和考勤功能, 并具有“脱机”和“联机”两种工作模式。该系统现已进入实际应用阶段。


  刷卡信息上传程序主要是将刷卡的信息上传到服务器方入库, 以备查询使用。上传的信息主要包含刷卡时间和ID 序列号。如果每刷一条信息就写入F lash, 则必定对F lash要进行频繁的擦写, 这样会降低系统的效率。为了提高系统效率, 采用临时缓冲区的方法, 只有当刷卡记录满一页, 才写入到Flash中。图5所示为刷卡信息上传流程图。 



  图5 刷卡信息上传流程图

  3. 2 服务器方软件设计

  服务器方软件主要实现以下的功能: ID序列号采集功能,对门禁控制器的操作, 人员信息和刷卡信息的数据库操作功能。

  ID序列号采集功能是采集ID序列号并保存到服务器的数据库上。

  门禁控制器的操作主要有以下几个方面: 门禁控制器系统时间的设置、人员信息的下载、配置参数的下载和刷卡记录的上传等。

  人员信息的数据库操作主要包括: 人员信息的添加、修改、查询和删除操作。

  刷卡信息的数据库操作主要包括:刷卡记录的查询和删除操作。

  3. 3 服务器方数据库设计

  本系统的服务器方数据库主要包含以下两个表: 人员信息表和刷卡信息表。

  人员信息表用于保存人员的基本信息, 必需包含字段: 人员编号、姓名、性别、ID序列号, 其中人员编号是主键, 用于唯一标识每条记录。各字段的长度如下: 人员编号10字节, 姓名10 字节, 性别1字节, ID序列号16字节。

  刷卡信息表用于保存刷卡信息。刷卡记录通过以下方式获得: 服务器读取门禁控制器中的刷卡信息(仅包含ID序列号和刷卡时间), 根据ID序列号查询人员信息表, 获得人员编号和姓名,然后同刷卡时间一并存入到刷卡信息表中。刷卡信息表包含以下字段: 人员编号10字节, 姓名10字节, 刷卡时间(日期型)。

  4 设计要点的讨论

  4. 1 F lash分配设计

  M CF52233是Co ldFire 的一款芯片, 其可寻址4GB 的地址空间, 地址范围为0x00000000 ~ 0xFFFFFFFF。该芯片具有256KB的F lash和32KB的SRAM, 其Flash存储器的地址范围是0x00000000~ 0x0003FFFF[3] 。本系统的Flash 存储器划分为5大部分: 程序区域、门禁控制器配置区域、ID索引表区域、ID 序列号区域和刷卡记录信息区域, 具体的划分如表1所示。

  表1 Flash区域划分 

  ID 索引表每项为8字节, 分别存放每组的起始地址和结束地址; 每个ID序列号为16个字节, 存放8字节的ID 号和预留8字节; 每条刷卡记录信息为16个字节, 存放8 字节的刷卡时间和8字节的ID序列号。

  4. 2 ID序列号查询过程

  为了能够在MCF52233的Flash中快速查找到匹配的ID序列号, 作者对几种常用的查询方法进行比较, 发现异或和累加和取模的查询效率比较高。通过高端软件模拟大量数据, 计算标准差偏移程度, 最终得到累加和取模的效率更高。因此, 本系统采用累加和取模的方法得到该ID序列号的特征值, 在Flash中把ID序列号分为两部分存储: ID索引表和ID序列号表。ID索引表中存储的是模相同的ID 序列号在Flash中的起始地址和结束地址。图6所示为查询ID序列号的详细执行过程。 



  图6 ID序列号的查询流程图

  ID序列号查询过程调用以下函数:

  u int8 SelectID( u int8 personID[ ], u int8 n leng th)

  其功能为: 根据给定的ID 序列号, 查询Flash的ID序列号表中是否存在该ID序列号。参数personID为要查询的ID序列号数组; n length为ID序列号的字节数。

  SelectID内部又调用以下两个函数:

  ( 1) u int8 FetchIDGroupAddressFrom IDIndex ( uint8 nIndexVa lue, uint32* pH eadAddr, u int32* pEndAddr)。

  其功能为: 根据ID序列号的特征值取得该ID序列号所在分组的首末地址。参数nIndexValue 为ID 序列号的特征值;pH eadAddr为ID 序列号所在分组的首地址; pEndAddr为ID 序列号所在分组的末地址。

  ( 2) uin t8 Se lec tIDFrom IDGroup( uin t8* pH eadlAddr, u int8* pEndAddr, u int8 pe rsonID[ ], u int8 nLeng th)。

  其功能为在ID序列号分组中查询是否存在指定的ID序列号。参数pH ead lAddr为ID分组的首地址; pEndAddr为ID分组的末地址; personID为要查询的ID 序列号的数组; leng th 为ID序列号的字节数。

  5 结束语

  本系统采用全国统一发行的第二代身份证作为RFID识别的电子标签, 集成了以太网和USB 接口, 具有“脱机”和“联机”两种工作状态, 同时具有门禁和考勤的功能。本系统经半年的实际使用表明能够在现场高效、稳定地运行。本文对局域网内的嵌入式系统应用、现有只读卡系统的升级换代以及二代身份证的应用扩展具有参考价值。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖