一种应用于驾照考试的新型手持考试终端系统的设计与研究
2020-07-04郭大路刘如春郑明伟王妮娜
郭大路 刘如春 郑明伟 王妮娜
摘 要:近年来,随着我国经济以及汽车行业的飞速发展,居民对汽车需求逐步增加。如何降低汽车驾驶执照考试压力,公正、公平、高效的完成驾考任务是迫切需要解决的问题。本文设计一种融合了射频IC和指纹识别的新型驾考设备,主要应用于驾驶员考试,主要功能是确认考生身份和上传并存储考生成绩,并且能够有效避免在考试过程中出现替考现象和提高考试效率。
关键词:驾驶员考试;手持终端;身份证;指纹采集;人机界面
1 总体设计思路
如今指纹识别已趋于成熟,许多电子商品增加了指纹识别的功能,比如笔记本电脑、手机指纹锁、防盗门指纹锁等,指纹识别正逐渐走入人们的日常生活。而我国最新的二代居民身份证内部嵌有13.56MHz非接触IC卡,该芯片具有存储容量大、较高的安全性等特点,并且采用特定的加密算法,进一步提升了信息的安全等级,增强了防伪功能,便于各用证部门使用计算机网络核查。
本设计主要采用主控制器外扩六个模块键盘电路选取5IO驱动20键;液晶模块采用三线串行控制,可以有效优化系统资源;语音模块使用1线串行控制,可以任意播放220段语音;射频卡读卡模块使用通用异步收发器0;指纹采集模块选择了通用异步收发器1;无线模块选择通用异步收发器2。
LM3S1138采用的是32位Cortex-M3v7M架构,数据和指令总线分开,解决了访问瓶颈的问题,内部集成了64K单周期Flash和16K的SRAM。
2 功能模块
2.1 键盘电路
键盘使用n个GPIO的情况下,接按键个数的计算公式num=n*(n-1)+n=n*n个,其中需要n个二极管n个上拉电阻。仅使用5个GPIO接20键,需5个二极管即可。采用轮询的办法,在PF0送1时,轮流检测S1(PF4),S2(PF1),S3(PF2),S4(PF3),若有一口为高电平,进入30ms去抖,若该端口仍为高,则有键按下,直到该键松开,返回键值。
2.2 带字库液晶显示器
CA12232K是一种内置ST7920控制驱动器的122*32图形点阵液晶显示器。本设计多为静态显示,采用了三线串行方式控制,接线简单,调试方便。该控制器可以显示中文字形,将16位元资料写入DDRAM,范围为A1A1H—F7FEH,即汉字内码。
2.3 语音模块
语音模块采用WTW510-16,内部是采用WT588D+16Mflash存储器。在6k采样频率下可以播放516秒,在1.8k采样频率下可以播放170秒,性价比较高。本设计需要随机播放任意段录音,采用一线串口控制最为合适,在具体应用时仅需要一根GPIO控制线,借助USB链接线将语音信息下载到FLASH存储器内部。VCC必须在2.8V-3.5V之间,作为存储器的电源。
2.4 身份证ID读取模块
身份证ID信息读取,选用了双龙电子开发的读取模块,该模块可有效读取二代身份证内的ID信息。使用UART与控制器通讯,固定波特率115200Bps,能够满足规定好的通讯协议就可以控制设备正常运行。信息读取模块和通讯控制器之间采用命令应答模式。正常状态下模块处在休眠,在接收到由上位机发出的指令后,转换为执行命令的工作状态。模块命令执行完毕,准备好执行结果送主控制器。控制器取走命令结果后,模块再次进入空闲状态。
(1)控制器发送命令给模块
数据结构:数据头+长度+长度校验+命令代码+等待延时+【命令参数】+校验和
HEAD+LENGTH+LEN CHK+COMMAND+WAITTIME+PARAMETER+CHECKSUM
(2)控制器接收命令执行结果
数据结构:数据头+长度+长度校验+命令代码+执行状态+【数据】+校验和
HEAD+LENGTH+ LEN CHK +COMMAND+STATUS+[DATA]+ CHECKSUM
(3)数据校验方式
采用带进位的字节累加和取反的方法计算的方式来验证数据是否准确。参加校验和运算的数据是数据帧中除了“HEAD”,“LENGTH”,“LEN CHK”以外的所有数据。校验和的初始值为“0”。
2.5 指纹采集模块
MRB200指纹采集模块采用异步串行接口进行通讯,具有极高的准确度。认假率(False Acceptance Rate)是百万分之一,拒真率(False Rejection Rate)是万分之一。
异步串行接口的技术参数为:19200bps(缺省)、无效验位、一个起始位、一个停止位。
(1)命令(CMD)基本格式:
第1字节为头标识(HEAD),固定为0xFE;
第2字节为设备号(CH),一般为0x00;
第3字节为命令代码(CODE),用来放命令代码;
第4、5字节为参数代码;
第6字节为辅助参数代码;
第7字节为效验和(CHK),用于存放第2字节至第6字节之异或值;
第8字节为尾标识(END) ,固定为0xFD;
(2)应答(ACK)一般为8个或以上字节组成,基本格式:
第1字节为头标识(Head) ,固定为0xFE;
第2字节为设备号(CH),一般为0x00H;
第3字节为应答代码(CODE),用来放应答代码;
第4、5字节为参数代码;
第6字节为应答参数代码;
第7字节为效验和(CHK),用于存放第2字节至第6字节之异或值;
第8字节为尾标识(END),固定为0xFD;
通过该模块可完成考生指纹信息的录入以及考试中采集对比核查工作。
2.6 无线模块与上位机之间通讯
无线收发模块采用SRWF-508,使用UART通讯,9600波特率,其有效信息传输距离可达两公里以上。还可以通过设置跳线,选择8个信道,相当于扩展了一个无限的串口。
3 软件流程
主程序主要分三部分:设备信息输入,考生身份验证,成绩上传。
考试工作人员通过键盘将所需信息输入设备找那个,程序设置标志寄存器。输入信息包括:设备号(用于多机身份验证)、是否使用指纹、考试的车型、考试具体项目。
确定考试工作人员身份时,设备需要得到考官的身份证信息(身份证ID或身份证号码)。如果使用一代身份证,则需要手动输入18位身份证号码;使用二代身份证,只需刷一下身份证,听到“滴”声后,读卡成功。得到身份证信息后,发送上位机验证考官是否存在,如果存在,考试开始;不存在,则一直循环直到考官被確认。
考生身份验证:首先将考生的身份证号或者考试准考证号与设备中的信息进行比对,确保考生具有考试资格。之后对考生进行指纹录入,并与设备指纹库中信息进行比对,检验考生是否具有考试资格。两项信息均核查比对无误,考生方可进入考试环节。
成绩上传:在各项考试结束后,考试工作人员可将考生所得成绩录入设备,并由考生确认成绩进行保存。便于后期成绩核查。完成成绩保存后,便可进入下一名考生考试环节。
4 结语
本方案主要用于驾驶员考试中的道路驾驶项目,也可以用于没有联网的场地考试项目。主要目的就是解决考试前的考生身份验证和考生成绩的上传。本方案所使用的串行三线驱动液晶屏,键盘电路,一线串行控制语音播放,都是非常节约资源的方式并且便于用户调试。程序调试主要工作量在通信协议调试和语音显示的同步,需要通过延时进行语音和显示的同步。经调试完毕,设备获得了良好的人机界面,初次接触该终端的考官也能应用自如,几乎不需要参考使用说明书。综上所述,本设计具有较高的实际应用价值。
参考文献
[1]广州双龙电子.SL-13.56M SFID专用射频模块使用说明[Z].2016.
[2]广州周立功单片机发展有限公司.Stellaris外设驱动库用户指南[Z].2018.