基于ADS7846的在线动态签名认证的数据采集和预处理

发布时间:2010-10-26 12:31    发布者:techshare
关键词: ADS7846 , 动态签名 , 认证 , 数据采集 , 在线
由于触摸屏输入方便,轻薄便于携带等优点,现在越来越多的电子产品用触摸屏作为人机界面的输入设备。在动态签名认证中,亦采用触摸屏作为输入设备对笔迹进行数据采集。本文主要从触摸屏工作原理、ADS7846的工作方式以及单片机89S51对ADS7846的控制等方面来分析如何实现三维数据的采集。

系统主要由四线电阻式触摸屏,触摸屏控制器ADS7846,单片机89S51以及相应软件程序组成。系统框图如图所示:



图1. 系统电路框图

一、四线电阻式触摸屏

电阻触摸屏是采用是使用电阻模拟量技术。它以一层玻璃作为基层,上面涂有一层透明氧化金属(ITO氧化铟)导电层,上面在盖有一层玻璃或是外表面硬化处理的光滑的塑料层,它的内表面也涂有一层ITO导电层,他们之间有许多细小的的透明隔离点把两导电层隔开绝缘,每当有笔或是手指按下时,两导电层就相互接触,从而形成了回路。如图2所示。  



图2.触摸屏的触摸示意图

导电层的两端都涂有一条银胶,称为该工作面的一对电极,上下两个导电层一个是水平方向,一个是竖直方向,分别用来测量X和Y的坐标位置,在水平面上的电极称为X+电极和X-电极,在竖直平面的电极称为Y+电极和Y-电极。如图3所示,工作时,两个电极根据测量需要提供参考电压或是作为测量端对接触点的位置进行测量,当测量接触点X坐标的时候,导电层上的X+电极和X-电极分别接上参考电压和地,Y电极不加电压,那么X电极间会形成均匀的电压分布,用Y+电极作为测量点,得到的电压值通过A/D转换,就可对应的判断出接触点的X坐标。Y坐标亦是类似,只需改成对Y电极加电压而X电极不加电压即可。  




图3.触摸屏的内部结构示意图

X坐标和Y坐标的计算公式为:  



二、触摸屏控制芯片ADS7846

ADS7846是BURN-BROWN公司生产的专门用于四线电阻触摸屏数模转换芯片。内部有一个多通道的模拟开关组成的测量电路网络和12位的A/D转换器。工作时,7846根据数据输入口DIN收到不同的命令字打开相应的开关通道,并接受返回的模拟电压,通过A/D转换得出对应的数字量,再通过DOUT传回单片机。表1是命令字每一位的具体含义。  



表1 ADS7846的控制命令字

S是开始标志位,只有S位为高时7846才开始接收命令字,A0,A1,A2是通道选择,根据测量的需要而改变,具体所对应的选择见表2。MODE选择是8位还是12位的A/D转换,根据实际要求在此选择了12位的A/D转换, 是工作方式选择位, 7846有两种工作方式,一种是单端输入,一种是差分输入,在需要进行压力测量的时候,必须使用差分输入的工作模式,PD1和PD0则是用来控制内部参考电压和模数转换器的开关。  



表2 差分模式下的测量通道选择  

三  单片机AT89S51以及与ADS7846的数据通信

1.AT89S51 AT89S51是ATMEL公司新推出的89C51的升级产品,全面兼容89C51,而且与89C51相比,新增加了以下几个主要功能:1。可以通过数据下载线进行在线编程下载,使程序的写入更加方便简洁2。工作晶振可以达到33M,提高了运行速度3。新增了看门狗电路,提高了电路的抗干扰性。

2.AT89S51与ADS7846的通信 AT89S51与ADS7846的通信主要通过单片机的I/O口与7846的CLK、CS、DOUT、DIN、BUSY五个管脚进行,CLK是7846的工作脉冲,CS是7846的片选信号,DOUT是数据输出,DIN是数据输入,BUSY是转换判断位。当系统工作时,单片机首先通过片选信号选中7846,再通过DIN向7846发送命令控制字数据,并通过CLK管脚配以相应的时序脉冲,当BUSY位被置位后就通过DOUT数据输出口获取12位转换结果。

由于要求系统能采集包括X坐标、Y坐标和压力在内的三维数据,所以,先送打开测量X通道的命令字,返回得到的数字值即为X坐标,再送打开测量Y通道的命令字,得到的值为Y坐标。再依次得到Z1,Z2的值,通过转换公式  






图4 程序流程图

在此值得一提是,Z1、Z2仍然是转换后得12位的A/D转换的数字值,但通过转换公式得到的Z值实际上是接触点间两层ITO氧化膜的电阻值大小。这样就完成了在某一个时刻的三维信息采集。根据实际要求,利用定时器设定采样时间为10ms,既一秒种采样100个点。采集的数据通过usb接口送到pc机保存,以供后续匹配处理。同时,采集的数据可以通过液晶显示屏显示,以便我们书写时观察。  






五、数据的预处理

在数据采集的过程中,有许多因素影响数据的准确性,所以必须对数据做一些相应的预处理,以保证采集的数据的准确性。主要有以下几种因素:

1.书写抖动造成的漏点

在进行数据采集时会在连续的数据中出现零值点,出现零值点有两种可能:一种是正常书写时笔划的改变造成的,另一种就是由于触摸屏不够平整或是书写时的抖动造成笔迹的间断而造成的,区别的方法主要是看间断时间也就是零值连续出现的个数,一般抖动造成的间断时间小于设定的采样时间10ms,所以,抖动产生的零值在两个有效数据中间只能出现一个,可以认为是无效零值,而出现两个以上的连续零值便可以认为是笔划的改变而生成的有效零值而不作处理,当判断出某个零值为无效零值后,对其进行线性内插来弥补数据的丢失,即




图5 处理前的数据波形





图6 处理后的数据波形

由于书写者书写时的停顿,造成在在某一点多次重复采集,显然在后续的匹配中会与样本数据产生很大的误差,所以有必要删除重复的数据,每当判断出前后两个点的X坐标和Y坐标均相同的时候,就可以断定它们为重复点,则将后一个点删除,再用后续的点依次补上。这样保证了采集的数据能够真实的反映笔迹信息。

3.书写位置的校准

书写者每次书写时起笔的点不一定相同,这样,每次书写采样的结果都与样本模板里的采样值都有一个恒定的差别,因此有必要进行书写位置的校准,处理的方法是把采集到的第一个数据的X坐标和Y坐标与样本数据里第一个数据的X坐标和Y坐标作比较,公式分别  
 


以上是对数据进行预处理的几种方法,预处理可以为后续笔迹的匹配提供提供更加准确的数据,并减轻匹配的运算量,因此预处理是笔迹匹配认证前的重要步骤,它的好坏将直接影响认证的精度。
本文地址:https://www.eechina.com/thread-34431-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表