在線(xiàn)簽名識別系統的數據采集和USB通信

發(fā)布時(shí)間:2010-6-22 14:49    發(fā)布者:我芯依舊
在當今的信息化社會(huì ),計算機及其網(wǎng)絡(luò )技術(shù)正不斷地改變著(zhù)我們的生活;ヂ(lián)網(wǎng)技術(shù)雖然使信息的發(fā)布和傳遞更加方便,但在信息技術(shù)帶來(lái)好處的背后也存在著(zhù)一些問(wèn)題,其中信息安全就是一個(gè)方面,而身份鑒別技術(shù)是信息安全技術(shù)研究領(lǐng)域中的一個(gè)重要方向,傳統的身份鑒別如證件、口令等都不能適應目前信息化的需要,這時(shí),在線(xiàn)簽名識別技術(shù)就孕育而生了。過(guò)去的簽名識別技術(shù)采用的是離線(xiàn)靜態(tài)識別方式,即只是對筆跡的形態(tài)特征進(jìn)行識別,而在線(xiàn)簽名識別系統除了可對筆跡的形態(tài)進(jìn)行識別外,還能利用更多的簽名信息(如在線(xiàn)書(shū)寫(xiě)時(shí)的壓力信息,角度信息等)來(lái)進(jìn)一步增加識別的準確度。

目前國內對于在線(xiàn)簽名識別系統的研究還處于起步階段,現在僅僅只對簽名波形的各種匹配算法進(jìn)行了一定的研究,而對于在線(xiàn)簽名識別系統的設計還沒(méi)有一個(gè)比較完善的方案。簽名采集系統的關(guān)鍵是采集數據的精確性和采集設備與PC機之間的通信,只有把這兩部分做好了,才可能保證數據傳輸的準確性和實(shí)時(shí)性。本文介紹的系統在采集方面使用12位ADS7846芯片來(lái)實(shí)現高精度、高速的12位數據采集和AD轉換;在通信方面則采用USB接口。由于USB協(xié)議本身的健壯性可保證簽名數據的無(wú)差錯高速傳輸,所以本系統的解決方案具有很大的現實(shí)意義。

1 系統總體設計方案

本系統包括手寫(xiě)輸入設備、顯示沒(méi)備、信息處理設備、信息傳輸設備以及與之相配套的軟件。在整個(gè)系統中,手寫(xiě)輸入設備有四線(xiàn)電阻觸摸屏和觸摸屏控制器,其中觸摸屏控制器應能夠采集所書(shū)寫(xiě)的橫縱坐標和壓力坐標的模擬量,并通過(guò)AD將其轉化為12位數字信息,然后把這些信息通過(guò)觸摸屏控制器的串行口傳送給處理設備。本系統采用Atmel公司比較經(jīng)濟實(shí)用的AT89S52單片機。通過(guò)單片機將采集到的信息處理后送給顯示系統顯示,然后將信息通過(guò)USB接口實(shí)時(shí)發(fā)送給計算機,以使簽名信息能夠在計算機上實(shí)時(shí)顯示。本系統的結構框圖如圖1所示。


2 數據采集模塊

2.1 觸摸屏及其控制器

簽名信息主要是通過(guò)觸摸屏來(lái)獲得的,觸摸屏的種類(lèi)大致可分為紅外式觸摸屏、電容式觸摸屏、聲表面波式觸摸屏和電阻式觸摸屏。其中電阻式觸摸屏比較適合用來(lái)進(jìn)行數據采集。電阻式觸摸屏以一層玻璃作為基層,上面涂有一層透明氧化金屬(ITO氧化銦)導電層,再蓋有一層玻璃或是外表面經(jīng)過(guò)硬化處理的光滑塑料層,它的內表面則涂有一層ITO導電層,塑料層與導電層之間有許多細小的透明隔離點(diǎn)對兩導電層進(jìn)行隔離絕緣。每當有筆或是手指按下時(shí),兩個(gè)導電層就相互接觸,從而形成回路。

ADS7846是美國B(niǎo)urr-Brown公司推出的新一代電阻式觸摸屏專(zhuān)用控制器。ADS7846是典型的逐步逼近寄存器型A/D變換器,其結構以電容再分布為基礎。芯片包含有取樣/保持功能。ADS7846的引腳與以前的ADS7843的引腳完全兼容,只是增加了片內溫度測量、觸摸壓力測量和電池電壓測量三個(gè)功能。ADS7846工作時(shí),有時(shí)可能需要一個(gè)外部參考(VREF引腳),其中外部參考電壓范圍為1V~+VCC,通過(guò)它可以直接設定A/D輸入通道的輸入范圍,而其平均基準輸入電流則取決于變換速率。

2.2 MCU與ADS7846的接口

設計時(shí)應將ADS7846的X+,Y+,X-,Y-分別與觸摸屏的X+,Y+。X-,Y-一一對應,而將ADS7846的CS,DCLK,DIN,DOUT,BUSY分別對應AT89S52的P2.1~P2.5腳。系統工作時(shí),單片機先將P2.1置成低電平以選中ADS7846。然后再向ADS7846發(fā)送測量X坐標的命令控制字。圖2所示是本系統中MCU與ADS7846的接口電路。


3 USB通信及應用程序

3.1 USB接口通信的實(shí)現

USB是一種快速、雙向、低價(jià)且可進(jìn)行熱拔插的新型串行接口技術(shù)。能支持各種PC與外設之間的連接。目前USB有三種協(xié)議標準:USB1.1、USB2.0和USB OTG。本系統使用USB接口的原因不光是它的速度快,而且還在于USB協(xié)議的健壯性,以及傳送數據的準確性。一個(gè)USB通信系統包括USB硬件和固件、USB驅動(dòng)程序、USB應用軟件。本系統采用的是USB接口芯片(philips公司的PDIUSBDl2)加8051系列單片機的實(shí)現方法。

USB接口芯片PDIUSBD12符合通用串行總線(xiàn)USB 1.1版規范,器件中集成了SIE、FIFO存儲器收發(fā)器以及電壓調整器,PDIUSBD12符合大多數器件的分類(lèi)規格,可與任何外部微控制器/微處理器實(shí)現高速并行接口(2 MB/s),可進(jìn)行完全自治的直接內存存取DMA操作。器件中集成了320字節的多結構FIFO存儲器,主端點(diǎn)的雙緩沖配置可增加數據的吞吐量,并可輕松實(shí)現實(shí)時(shí)數據傳輸,在批量模式和同步模式下,該器件均可實(shí)現1 MB/s的數據傳輸速率。其在系統中的應用電路如圖3所示。


USB固件實(shí)際上就是MCU的程序文件,編寫(xiě)可采用C語(yǔ)言或匯編語(yǔ)言。它不是單純的軟件,而是軟件和硬件的結合。為了使USB得到最大的傳輸速率,PDIUSBD12的固件可以設計成完全中斷模式。當USB處理前臺任務(wù)時(shí),USB傳輸可以在后臺進(jìn)行。USB固件從下到上依次為底層的硬件提取層,可實(shí)現對單片機I/O口、數據總線(xiàn)等硬件接口的操作;PDIUSBD12命令接口的作用是實(shí)現單片機對PDIUSBD12器件的操作;而其中斷服務(wù)程序則可在中斷產(chǎn)生時(shí)讀取中斷傳輸來(lái)的數據,并設定事件標志;標準請求處理程序可對USB的標準設備進(jìn)行請求處理;主循環(huán)程序負責發(fā)送USB請求、處理USB總線(xiàn)事件和用戶(hù)功能處理等。

3.2 采集數據的傳輸格式

采集的簽名信息一般包括書(shū)寫(xiě)時(shí)的橫坐標值、縱坐標值和壓力坐標值,當其通過(guò)觸摸控制器芯片后,這些模擬量將被轉化為12位數字量。其坐標值的范圍為0~095。每次采集時(shí),要保存這樣的三個(gè)坐標值需要6個(gè)字節的空間。設計時(shí)可以在程序中用一個(gè)靜態(tài)數組來(lái)存放坐標值,圖4所示是所采集數據的存儲格式。


在本簽名系統中,每秒鐘采集的點(diǎn)數對后續的簽名識別過(guò)程十分重要。點(diǎn)數少了會(huì )漏掉許多重要信息(如斷點(diǎn)信息,峰值信息等),而點(diǎn)采集過(guò)多又會(huì )增加傳輸的時(shí)間,從而影響實(shí)時(shí)顯示并增加匹配算法的運算量。通過(guò)對國內外采集系統的分析認為:每秒采集200個(gè)點(diǎn)最為適合,即每過(guò)5 ms就采集一次坐標值。

由于本系統含有簽名信息的采集過(guò)程,所以在程序設計時(shí),應在USB主程序中枚舉完后就采集數據并將其傳送到USB的端點(diǎn)緩沖器子程序,且這一過(guò)程應該在5ms內完成。當主機發(fā)來(lái)接收數據的命令后,PDIUSBD12應把數據從緩沖器中發(fā)到PC機。當然,啟動(dòng)和停止采集命令也可以通過(guò)PC機上的實(shí)時(shí)顯示應用程序來(lái)控制,這一控制所需的通信也可通過(guò)USB來(lái)實(shí)現。

3.3 上位機應用程序編寫(xiě)

USB應用程序可采用VB編寫(xiě),設計時(shí)把對USB的訪(fǎng)問(wèn)做成動(dòng)態(tài)鏈接庫,這樣可以節省程序、提高程序運行效率。實(shí)際上,只需要告訴VB系統動(dòng)態(tài)鏈接庫文件(DLL)的定位信息和聲明讀寫(xiě)USB端口的接口函數,就可以對USB端口進(jìn)行操作。而在VB中若要訪(fǎng)問(wèn)動(dòng)態(tài)鏈接庫函數則必須把定位信息和函數聲明放在一個(gè)后綴為bas的模塊中。模塊中的聲明代碼如下:

Public Declare Function ReadData Lib " C:\WINDOWS\system32\EasyUSB.dll " - (ByVal pipenum As Integer,recbuffer As Byte,ByVal ilen AsInteger,ByVal waittime As Integer)As Integer

在VB中可以用定時(shí)器控件來(lái)同步接收數據,也可以設置定時(shí)器的Interval屬性,即觸發(fā)定時(shí)器的間隔時(shí)間。當每次觸發(fā)時(shí)間到達時(shí),就可從USB接口接收數據。

簽名的實(shí)時(shí)顯示分為采集坐標的實(shí)時(shí)顯示和簽名筆跡的實(shí)時(shí)顯示,其中采集坐標顯示包含橫縱坐標和壓力坐標的顯示。

簽名坐標的實(shí)時(shí)顯示可以用TextBox文本框控件來(lái)實(shí)現,但要用一個(gè)轉換函數Str ()負責把采集到的整型數據轉換為字符串類(lèi)型,這樣就可以直接在文本框顯示了。

簽名筆跡的實(shí)時(shí)顯示稍微復雜一點(diǎn),其實(shí)現方法是采用畫(huà)線(xiàn)函數法,即當知道了兩個(gè)點(diǎn)時(shí)就可以根據這兩個(gè)點(diǎn)畫(huà)線(xiàn)。每采集并接收到一個(gè)點(diǎn)時(shí),就執行一次畫(huà)線(xiàn)函數,以把當前的點(diǎn)和前一個(gè)點(diǎn)相連。這樣,當你簽名的時(shí)候,畫(huà)線(xiàn)函數就會(huì )把你的書(shū)寫(xiě)筆跡呈現出來(lái)。
在進(jìn)行畫(huà)線(xiàn)時(shí)還要考慮干擾問(wèn)題。由于液晶顯示對簽名采集芯片有一定的影響,因而可能造成采集數據的抖動(dòng),有時(shí)候還會(huì )出現非點(diǎn)(即本次采集到的值與前次和后一次的采集值相差較大),本設計雖然在系統硬件上做了一些抗干擾措施(比如加裝濾波電容等),但效果不是很明顯。
后經(jīng)實(shí)驗發(fā)現,通過(guò)軟件去抖方法可以實(shí)現筆跡的平滑顯示。具體去抖可從以下兩個(gè)方面實(shí)現:第一是把兩點(diǎn)之間的連線(xiàn)改為每四個(gè)點(diǎn)連一次,并把采集到的四個(gè)點(diǎn)的坐標值取平均值,從而緩解坐標值的抖動(dòng);第二是設定一個(gè)域值,當兩個(gè)點(diǎn)之間的坐標絕對值之差不在該域值范圍內時(shí),即判定該點(diǎn)為非點(diǎn),而不對該坐標值進(jìn)行任何操作,直接舍棄。通過(guò)以上兩個(gè)方面的措施可以去掉大多數的非點(diǎn)和抖動(dòng)點(diǎn),使曲線(xiàn)變得更加平滑。

圖5所顯示的是抗干擾處理前后所采集到的簽名,圖中箭頭處即為受干擾的筆劃。

簽名筆跡實(shí)時(shí)顯示的算法流程圖如圖6所示。


圖7給出了VB應用程序下的實(shí)時(shí)顯示界面。


4 結束語(yǔ)

本在線(xiàn)簽名系統使用ADS7846實(shí)現了高速和高精度的數據采集,該芯片不僅能采集簽名的橫縱坐標,還能采集壓力坐標,從而豐富了在線(xiàn)簽名系統的動(dòng)態(tài)簽名信息,為以后的簽名識別提供了更多的判斷依據。本在線(xiàn)簽名識別系統中采用USB接口來(lái)解決動(dòng)態(tài)信息的采集設備和計算機之間的數據通信具有一定的現實(shí)意義。該方案可以準確實(shí)時(shí)地將采集到的簽名數據傳送到計算機。經(jīng)測試,本系統傳輸信息的速度大于1Mbps,能夠很好的滿(mǎn)足系統的要求;同時(shí)由VB編寫(xiě)的人機界面還可實(shí)現簽名的再現。
本文地址:http://selenalain.com/thread-13440-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页