《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于S3C2440的智能考试管理系统设计
基于S3C2440的智能考试管理系统设计
2014年微型机与应用第18期
叶晓晶,赖松林,章 杰,陆培民
福州大学 物理与信息工程学院 微纳器件与太阳能电池研究所,福建 福州 350108
摘要: 为了适应现代化考试管理的需要,降低考务人员工作量,并使工作效率得以提高,实现智能化操作、减少出错率的目的,提出了一种基于S3C2440的智能考试管理系统,该系统可在脱机状态下使用指纹识别技术进行身份验证,自动打印出考生考试信息和准考证号码的条形码,从而防止考生信息误填,方便考务人员操作。对所设计的系统进行实际环境测试,其测试结果达到了设计目标。
Abstract:
Key words :

  摘  要: 为了适应现代化考试管理的需要,降低考务人员工作量,并使工作效率得以提高,实现智能化操作、减少出错率的目的,提出了一种基于S3C2440的智能考试管理系统,该系统可在脱机状态下使用指纹识别技术进行身份验证,自动打印出考生考试信息和准考证号码的条形码,从而防止考生信息误填,方便考务人员操作。对所设计的系统进行实际环境测试,其测试结果达到了设计目标。

  关键词: 考试管理;指纹识别;条形码

0 引言

  随着人们生活水平提高,教育问题得到广泛关注,不管是学校还是社会都开设了不同类型的考试来检验一个人的能力和学习程度。目前大部分的考试管理还是采用较原始的人工方式,在验证考生身份时容易出现错误,并出现代考等现象,这样不仅降低考务人员工作效率,还破坏了考试的公平性[1]。而考试过程中有些考生容易填错准考证等考试信息,让录入成绩变得困难。本文针对以上问题,设计出一个集智能控制和身份验证等功能为一体的智能考试管理系统,含有上位机和考试管理手持器。

1 总体设计方案

  本系统由多节点的考试管理手持器和系统服务器组成,手持器的使用主要针对监考老师、考生和巡考人员三个对象。其系统框架图如图1所示。

001.jpg

  考试管理手持器包括嵌入式主控制器、指纹识别模块、条形码打印模块。嵌入式主控制以S3C2440嵌入式ARM处理器为核心,外接两片SDRAM和两片NandFlash,采用DM9000网卡与服务器进行网络通信,可自适应10/100 Mb/s网络,并外接可触摸电阻屏进行人机界面交互;DSP指纹模块和微型条码模块作为从设备,由嵌入式主设备通过串口发送相关命令分别对其进行控制。

  系统服务器设计为并发通信服务器,可支持多客户端网络连接,主要提供数据服务,管理相应的考试信息,实现客户端下载、上传、查询等数据交互。系统服务器和终端手持器的网络通信通过Socket编程完成,网络通信采用TCP/IP协议。

2 考试管理器手持器设计

  考试管理手持器可作为系统的一个节点,在联网情况下可与教务处服务器进行网络通信,下载和上传所在考场信息。在脱机状态下可对考生进行指纹验证、统计签到人数。

  设计上,以ARM平台为硬件基础,在其之上采用Linux操作系统,内核版本为Linux 2.6.32.2,在Qt集成开发环境中进行GUI界面设计和程序编写,所用类库为Qt-4.6.3。其中,考生信息、配置信息等相关数据的存储和查询需要用到数据库,数据库采用SQLite3,该数据库是一种用于嵌入式的低资源消耗、高运行速度的轻型数据库。

  2.1 指纹识别模块

  由于指纹具有唯一、终身不变的特点,因此本系统中使用指纹识别技术验证身份,从而防止代考现象的发生[2-3]。系统选择了TFS-E12指纹模块,它不仅体积小,而且识别率高。TFS-E12指纹模块由主控板和光学采集头组成,主控板以DSP处理器为核心,处理来自光学采集头的指纹图像信息,其串口通信命令格式如表1所示。

005.jpg

  其中,CMD为命令类型,用于区别指纹的采集、识别等操作,P1、P2、P3为命令参数,Q1、Q2、Q3为应答参数,CHK为校验位,0xF5为起始和终止结束位。在软件设计上,通过打开Linux操作系统的串口设备文件发送8 B命令,可完成对指纹的采集和识别等功能,通过对应答命令中应答参数的解析判断操作结果,并通过GUI界面反馈。

  在指纹录入阶段,通过指纹采集头采集的指纹图像进行处理后指纹特征值的提取,并将其转变成二进制数据保存在服务器中[4]。指纹签到的实现,需要考试管理手持器先通过网络下载对应考场的所有考生信息;或者通过Socket编程来实现,之后下载所有待比对考生的指纹特征值到指纹模块,进而进行指纹比对。根据对指纹模块应答参数的解析,在考试管理手持器上的数据库文件里完成对签到信息的统计和记录,并通过Socket编程将签到结果通过网络上传至服务器。其软件设计流程图如图2所示。

002.jpg

  2.2 条形码打印模块

  与一般的考试管理系统相比,本文加入了条形码打印技术,在考试过程中使用,能够防止考生信息误填。在考生成绩录入时,可直接扫描条形码提高考务人员工作效率。本文选择了微型热敏打印模块,其具有体积小、打印速度快、噪音小等特点。该微型热敏打印模块以STM32F103为控制芯片,控制打印头完成各种打印功能,对外UART接口所提供的指令集为ESC/POS指令。考生信息打印的软件设计,主要是在嵌入式Linux操作系统上调用open函数打开串口设备文件,通过write函数写入ESC/POC操作指令设置字体大小、行距等相关信息并选择是否进行条形码打印,之后写入要打印的字符数据,打印出带有考生信息的条形码。

  该微型热敏打印模块支持的汉字编码为GBK,而考试管理手持器上运行的Linux操作系统其采用的汉字编码为UTF-8,在打印之前需要编码转换。UTF-8是一种变长的编码方式,是Unicode编码值的一种表现形式,它可以使用1~4 B表示一个符号,根据不同的符号而变化字节长度。因此在编码转换的软件设计中,对于每个汉字,先根据UTF-8编码方式计算出Unicode编码值,再采用查表法,最终完成UTF-8编码到GBK编码的转换,编码转换流程图如图3所示。

003.jpg

3 服务器设计

  本文所设计的系统服务器为高并发通信服务器,运行在Fedora 9操作系统上,模拟教务处数据服务器,负责对考生考试信息、用户认证信息等相关数据的存储和查询。软件设计上,采用多线程技术,完成对多客户端的并发连接和数据查询,其设计框图如图4所示。

004.jpg

  每个客户端线程通过对应连接一个网络终端考试管理手持器,将接收到的客户端数据解包后放入共享内存A。工作线程池由一定数目的工作线程构成,从共享内存A获取待处理数据并解析,根据解析结果完成对数据库的操作,实现对考生信息的查询、下载以及用户身份的信息验证等,最后将数据打包后放入共享内存B,由数据发送线程统一发送。

4 结论

  本文设计一种针对三种用户类别的智能考试管理系统。不同的情况中对应的用户都能够通过使用考试管理手持器实现对应考试中的功能。为了检验系统的可靠性,共模拟10个考场进行测试,其测试结果如表2所示。

006.jpg

  分析表2可以得出,该系统在模拟不同的考场情况下都能运行良好,同时指纹误识率(FAR)以及指纹拒真率(FRR)都较低,系统效率高,与其他考试管理系统对比有明显的优势[1,5-6]。

  对所设计的系统进行实际环境的测试,结果显示各项指标均能达到预期效果,能满足考试管理高效率、安全性、智能化等需求。本文所设计的考试管理系统可适用于英语四六级考试、计算机等级考试等。

  参考文献

  [1] 薛亚许,陈金玉.学校指纹考勤系统的设计与实现[J].微型机与应用,2011,30(1):90-93.

  [2] 吴贤平.基于校园网身份管理的指纹考勤系统的设计与实现[J].制造业自动化,2011,33(24):141-144.

  [3] 胡小虹,李见为,刘元兵,等.基于DSP的指纹识别模块设计与实现[J].重庆大学学报(自然科学版),2004,27(9):26-28,44.

  [4] 傅磊,史延东,李飞,等.一种新型指纹识别系统的设计与实现[J].电子技术应用,2010,36(2):16-18.

  [5] 张惠茹.学生网上考试系统的设计与实现[J].微型机与应用,2013,32(4):6-8.

  [6] 周丽莉.基于B/S结构的等级考试管理系统[J].计算机工程,2005,31(z1):195-197.


此内容为AET网站原创,未经授权禁止转载。