-1-
基于嵌入式 TCP/IP的在线签名数据采集系统
王晓锋, 郑建彬
武汉理工大学信息工程学院,湖北武汉(430070)
摘 要:在线签名识别在银行金融系统及个人身份识别等领域正引起广泛关注。笔迹信息
的采集是在线签名识别算法的基础,设计了一种基于嵌入式 TCP/IP的在线签名数据采集系
统,该系统以 C8051F020 SOC单片机为核心,实现了在线签名数据的实时采集,并在有限
的单片机资源基础上移植嵌入式 TCP/IP 协议栈,通过以太网接入 Internet,将采集到的签
名信息准确及时地上传到远程认证服务器。
关键词:在线签名,数据采集,TCP/IP,C8051F020,RTL8019AS
中图法分类号: TP274+.2 文献标识码:A
1. 引言
信息化是未来发展的方向,作为生物特征识别之一的动态签名认证技术由于被接受程
度高、使用方便、设备成本低等一系列优点而拥有广泛的应用前景。手写签名识别是国际
上被公认的一种更容易被大众接受的身份证明方式,也是目前计算机模式识别领域的前沿
课题,这项技术直到近两三年才在美国和日本取得突破。签名识别分为离线签名识别和在
线签名识别两种,早期的离线签名识别主要是通过各种手段将以前所写的笔迹信息转化为
图象信息输入计算机进行分析和鉴定。而在线签名识别则是实时采集书写者的签名信息,
除了采集签名坐标、方向等静态信息,还可以采集到书写压力、书写速度等信息。显然在
线签名识别可利用信息量更多,准确性更高,不容易伪造[1]。
在线签名识别系统一般采用 C/S 结构来实现基于网络的异地认证。信息采集端与认证
端分离,当需要认证时,用户在配备手写板的网络终端上签名,网络终端将实时采集到的
签名信息保存并在液晶屏上显示,然后通过网络接口将数据传给远程服务器进行认证。作
为信息采集端,要求硬件系统不仅要实时采集书写者的签名信息,而且要配置网络接口来
实现签名数据远程高速传输。由于在嵌入式设备中以太网和 TCP/IP 已成为最通用的网络接
口,笔者即是设计了一种基于以太网接口的签名数据实时采集系统。该系统采用高速采集
控制芯片 ADS7846 进行在线签名数据的实时采集,并通过 TCP/IP 通信将签名信息上传到
远程认证服务器。
2. 硬件设计
系统框图
硬件系统主要由数据采集模块、液晶显示模块、以太网接口模块和微控制器 C8051F020
组成。系统结构如图 1 所示,C8051F020 单片机是完全集成的混合信号系统级芯片(SoC) ,
具有与 8051 兼容的高速 CIP-51 内核,与 MCS-51 指令集完全兼容,片内集成了数据采集和
控制系统中常用的模拟、数字外设及其他功能部件;内置 FLASH 程序存储器、内部 RAM
等[2]。
-2-
图 1 系统结构图
数据采集模块
硬件系统采用电阻式触摸屏以及触摸屏控制器 ADS7846 来获取签名信息,与
C8051F020 的连接如图 2 所示。ADS7846 是一种四线式触摸屏的控制器,目前广泛应用于电
阻式触摸屏输入系统中,其主要功能是分时向触摸屏 X、Y 电极对施加电压,并把测量电极
上的电压信号转换为相应触摸点的 X 、Y 坐标以及压力值。内部有一个多通道的模拟开关
组成的测量电路网络和 12 位的 A/ D 转换器。工作时,ADS7846 根据数据输入口收到不同
的命令字打开相应的开关通道,并接收返回的模拟电压,通过 A/ D 转换得出对应的数字量,
再通过 SPI 总线传回单片机[3]。
图 2 触摸屏接口连接图
显示模块
显示模块主要功能是即时在液晶显示屏上显示签名者的笔迹。本系统采用了深圳显能
公司生产的带触摸屏的黑白液晶屏 SG320240-16 ,分辨率为 320X240。当单片机接收到笔迹
的 X 、Y 坐标后,根据对触点坐标的分析,触点测量值转换为液晶屏上对应的像素坐标,坐标
值按照下面公式标定:
3201 •−
−=
MINMAX
MIN
XX
XX
X (1)
2401 •−
−=
MINMAX
MIN
YY
YY
Y (2)
式中,( X ,Y )为触点坐标值,( MAXX , MAXY )和( MINX , MINY )分别为触摸屏
上最大、最小坐标点测量值,( 1X , 1Y )为触点在液晶屏的象素点坐标。经过处理的像
素点坐标送给液晶屏控制器 ,使签名者的笔迹在液晶显示屏上能够即时地显示出来。
以太网接口模块
C8051F020 与 RTL8019AS 的连接如图 3 所示,RTL8019AS 是 Realtek 公司生产的一
种高度集成的全面支持 标准的以太网控制器。它主要实现向上层提供逻辑接口,
帧发送和帧接收的功能。发送时把要发送的数据加上 MAC 地址和 CRC 校验构成帧;接
-3-
收时把帧拆开、执行地址识别和 CRC 校验,并具有帧顺序控制、差错控制和流控制等功能
[4]。
RTL8019AS 有 A0-A19 共 20 根地址线,默认地址范围为 300H-31FH,所以地址线
SA19-SA5 是固定不变的,本设计中只把 SA0-SA7 接到单片机的总线上,SA8,SA9 接高
电平,SA10 到 SA19 都接低电平。单片机通过外部存储器接口对 RTL8019AS 的寄存器进
行访问。RTL8019AS 的输入输出地址共有 32 个,地址偏移量为 00H-1FH,分别与上述的
300H-31FH 对应。其中 00H-0FH 共 16 个地址,为寄存器地址,18H-1FH 共 8 个地址,为
复位端口,用于给 RTL8019AS 复位。
RTL8019AS 内置了 10BASE-T 收发器,所以网络接口的电路比较简单, 外接一个带隔
离变压器的 RJ45 座子 HR901170A ,TPIN + -为接收线,TPOUT + -为发送线,分别与
HR901170A 的 RX+ - , TX +-端相连,通过双绞线接入以太网。
图 3 以太网接口连接图
3. 软件设计
嵌入式 TCP/IP 协议栈
由于单片机系统中内外存储空间非常有限,加载完整的 TCP/IP 协议栈会占用大量系
统资源,在实现上将带来一定的难度。而在某些需要较小的通信信息量且通信环境较好的情
况下,对传统 TCP/ IP 协议在不违背协议标准的前提下加以改进,使其实时性得到提高,占用
的存储空间减少,从而满足嵌入式应用的要求。这种用于嵌入式系统联网的 TCP/ IP 就称为
嵌入式 TCP/ IP ,其主要特点是实时性、简单性和灵活性。嵌入式 TCP/ IP 协议的实现按不
同层次开发,每一层分别负责不同的通信功能。参照标准的 TCP/ IP 协议族的层次的划分[5],
其嵌入式 TCP/ IP 协议的层次结构如图 4 所示。
图 4 嵌入式 TCP/ IP 协议的层次结构
-4-
链路层 主要处理对 RTL8019AS 芯片的驱动, 包括芯片的初始化,MAC 帧的发送和
接收三部分功能。RTL8019AS 的初始化主要是设置所需的寄存器状态,建立网络接口收发
的条件。并实现 ARP 协议对地址进行解析。
网络层 主要处理数据包在网络中的活动。该层中主要实现 IP 协议和 ICMP 协议。
由于现有的网络一般都支持以太网,IP 协议可以不考虑 IP 数据包的分片和重装,同时路由、
分片、重装等功能也可以裁减掉。
传输层 主要为通讯双方的应用程序提供端到端的通讯。为了保证签名数据的可靠上
传到远程服务器,在本设计中传输层实现的是 TCP 协议。在发送数据包时采用“发送—停
止—等待—确认—发送”的方式,不实现滑动窗口协议。由于每次只接收冲和发送一个包,接
受一个包处理一个包,那么流量控制和拥塞控制也不需要考虑。
应用层 主要处理来自远端客户端的数据请求。
系统程序设计
系统程序采用 C51 语言编写,编译环境为 ,使用基于优先级的占先式多任务
嵌入式操作系统,即总是让进入就绪态的诸任务中优先级最高的那个任务先运行,任务调
度用查询法完成。将签名点数据的采集、以太网数据帧的到来、TCP 帧重发、ARP 帧的
重发、更新 ARP 缓存等事件按优先级排列。本系统通过一个 16 比特长的信号量来表示各
种事件的状态,每一个比特位对应一个事件,若该事件发生,则修改信号量的相应比特位。
在主程序中按事件的优先级通过查询该信号量的各比特位来判断事件是否发生,若事件发
生, 则调用相对应的事件处理程序。系统运行流程如图 5 所示。
图 5 系统程序流程
采集数据的传输格式
-5-
对采集模块,ADS7846 采集的每一个触摸点包括书写时的横坐标值、纵坐标值和压力
值,其数据结构表示如下:
typedef struct {
unsigned int x ; // 横坐标值
unsigned int y ; // 纵坐标值
unsigned int pressure ; // 压力值
unsigned char n ; // 点数
} SIGNATURE;
SIGNATURE xdata point[200];
系统给ADS7846 限定的采样时间为5 ms ,即1 s 采样200 个点。当定时器5 ms 中断时,
置位信号量相应位。系统查询信号量后调用采集子函数,并将采集到的签名数据送液晶屏显
示以及保存在XRAM中。由于存储器容量有限,数组只保存最近的200个点。当客户端有数
据请求时,即将XRAM中的数据拷贝到发送缓冲区,调用协议栈中的发送子函数逐层打包发
送出去。
4. 系统测试及实验结果
本系统测试环境为标准 10M 局域网,TCP 连接以采集板为服务器端,一装有 WINXP
系统的 PC 机为接收数据的客户端。客户端首先要和服务器端建立 TCP 连接,然后再请求
发送数据。接收到的签名数据经过去零点及飞点等预处理过程后,在客户端以文件的形式
保存下来,供后续的识别算法调用。
客户端的应用程序是基于 Windows 环境下的 Visual C++ 平台来开发的。调用 VC
自带的 Socket 函数来实现 TCP 报文的发送和接收,系统双方设定每采集 10 个点送一次,
即客户端每隔 50ms 发送一次数据请求。TCP 端口号固定为 4000,服务器端的 IP 地址设定
为 。实验中提取每个签名点中的 x,y 坐标值,调用画线函数实现了签名笔迹的
再现。实验结果显示如图 6 所示。
图 6 客户端应用程序界面
5. 结论
基于嵌入式TCP/IP的数据采集系统能够较好地采集到签名者笔迹的三维信息。TCP/IP
协议栈保证了签名数据的无差错远程传输,通过以太网又实现签名信息的高速传输,为基于
异地认证的在线签名识别系统提供了比较好的解决方案。
-6-
参考文献
[1] 赖锌,郑建彬.在线签名识别系统的USB通信和预处理[J].微计算机信息,2007,1-1
[2] 张迎新,雷文,姚静波.C8051F系列SOC单片机原理及应用[M]. 北京:国防工业出版社,
[3] RTL8019AS Realtek Full-Duplex Ethernet Controller with Plug and Play Function. REALTEK
SEMI-CONDUCTOR CO., LTD. 2000: 3-25
[4] Douglas . 用TCP/IP进行网际互连第一卷:原理、协议和体系结构(第3版)[M]. 北京:电子工
业出版社,
On-line Signature Data Acquisition System Based On the
Embedded TCP/IP
Wang Xiaofeng, Zheng Jianbin
wuhan university of technology, Wuhan (430070)
Abstract
On-line signature verification is attracting extensive focus in the fields of banks, financial systems
and personal identify verification. Handwriting data acquisition is the base of the arithmetic of on-line
signature verification. It designs a data acquisition system of on-line signature based on the embedded
TCP/IP. The system takes C8051F020 MCU as core, has realized real-time data acquisition of on-line
signature, and transplants the embedded TCP/IP protocol stack based on the limited MCU resources.
Accessed to the internet over the Ethernet, the accurate signature information will be uploaded to the
remote authentication server in time.
Keywords: on-line signature; data acquisition; TCP/IP; C8051F020; RTL8019AS
作者简介:
王晓锋(1983- ),男,湖北黄梅人,武汉理工大学信息工程学院硕士研究生,研究方向为信
号处理与信息安全;
郑建彬,男,武汉理工大学信息工程学院教授。