在當今的信息化社會,計算機及其網絡技術正不斷地改變著我們的生活。互聯網技術雖然使信息的發布和傳遞更加方便,但在信息技術帶來好處的背后也存在著一些問題,其中信息安全就是一個方面,而身份鑒別技術是信息安全技術研究領域中的一個重要方向,傳統的身份鑒別如證件、口令等都不能適應目前信息化的需要,這時,在線簽名識別技術就孕育而生了。過去的簽名識別技術采用的是離線靜態識別方式,即只是對筆跡的形態特征進行識別,而在線簽名識別系統除了可對筆跡的形態進行識別外,還能利用更多的簽名信息(如在線書寫時的壓力信息,角度信息等)來進一步增加識別的準確度。
目前國內對于在線簽名識別系統的研究還處于起步階段,現在僅僅只對簽名波形的各種匹配算法進行了一定的研究,而對于在線簽名識別系統的設計還沒有一個比較完善的方案。簽名采集系統的關鍵是采集數據的精確性和采集設備與PC機之間的通信,只有把這兩部分做好了,才可能保證數據傳輸的準確性和實時性。本文介紹的系統在采集方面使用12位ADS7846芯片來實現高精度、高速的12位數據采集和AD轉換;在通信方面則采用USB接口。由于USB協議本身的健壯性可保證簽名數據的無差錯高速傳輸,所以本系統的解決方案具有很大的現實意義。
1 系統總體設計方案
本系統包括手寫輸入設備、顯示沒備、信息處理設備、信息傳輸設備以及與之相配套的軟件。在整個系統中,手寫輸入設備有四線電阻式觸摸屏和觸摸屏控制器,其中觸摸屏控制器應能夠采集所書寫的橫縱坐標和壓力坐標的模擬量,并通過AD將其轉化為12位數字信息,然后把這些信息通過觸摸屏控制器的串行口傳送給處理設備。本系統采用Atmel公司比較經濟實用的AT89S52單片機。通過單片機將采集到的信息處理后送給顯示系統顯示,然后將信息通過USB接口實時發送給計算機,以使簽名信息能夠在計算機上實時顯示。本系統的結構框圖如圖1所示。
2 數據采集模塊
2.1 觸摸屏及其控制器
簽名信息主要是通過觸摸屏來獲得的,觸摸屏的種類大致可分為紅外式觸摸屏、電容式觸摸屏、聲表面波式觸摸屏和電阻式觸摸屏。其中電阻式觸摸屏比較適合用來進行數據采集。電阻式觸摸屏以一層玻璃作為基層,上面涂有一層透明氧化金屬(ITO氧化銦)導電層,再蓋有一層玻璃或是外表面經過硬化處理的光滑塑料層,它的內表面則涂有一層ITO導電層,塑料層與導電層之間有許多細小的透明隔離點對兩導電層進行隔離絕緣。每當有筆或是手指按下時,兩個導電層就相互接觸,從而形成回路。
ADS7846是美國Burr-Brown公司推出的新一代電阻式觸摸屏專用控制器。ADS7846是典型的逐步逼近寄存器型A/D變換器,其結構以電容再分布為基礎。芯片包含有取樣/保持功能。ADS7846的引腳與以前的ADS7843的引腳完全兼容,只是增加了片內溫度測量、觸摸壓力測量和電池電壓測量三個功能。ADS7846工作時,有時可能需要一個外部參考(VREF引腳),其中外部參考電壓范圍為1V~+VCC,通過它可以直接設定A/D輸入通道的輸入范圍,而其平均基準輸入電流則取決于變換速率。
2.2 MCU與ADS7846的接口
設計時應將ADS7846的X+,Y+,X-,Y-分別與觸摸屏的X+,Y+。X-,Y-一一對應,而將ADS7846的CS,DCLK,DIN,DOUT,BUSY分別對應AT89S52的P2.1~P2.5腳。系統工作時,單片機先將P2.1置成低電平以選中ADS7846。然后再向ADS7846發送測量X坐標的命令控制字。圖2所示是本系統中MCU與ADS7846的接口電路。
3 USB通信及應用程序
3.1 USB接口通信的實現
USB是一種快速、雙向、低價且可進行熱拔插的新型串行接口技術。能支持各種PC與外設之間的連接。目前USB有三種協議標準:USB1.1、USB2.0和USB OTG。本系統使用USB接口的原因不光是它的速度快,而且還在于USB協議的健壯性,以及傳送數據的準確性。一個USB通信系統包括USB硬件和固件、USB驅動程序、USB應用軟件。本系統采用的是USB接口芯片(philips公司的PDIUSBDl2)加8051系列單片機的實現方法。
USB接口芯片PDIUSBD12符合通用串行總線USB 1.1版規范,器件中集成了SIE、FIFO存儲器收發器以及電壓調整器,PDIUSBD12符合大多數器件的分類規格,可與任何外部微控制器/微處理器實現高速并行接口(2 MB/s),可進行完全自治的直接內存存取DMA操作。器件中集成了320字節的多結構FIFO存儲器,主端點的雙緩沖配置可增加數據的吞吐量,并可輕松實現實時數據傳輸,在批量模式和同步模式下,該器件均可實現1 MB/s的數據傳輸速率。其在系統中的應用電路如圖3所示。
USB固件實際上就是MCU的程序文件,編寫可采用C語言或匯編語言。它不是單純的軟件,而是軟件和硬件的結合。為了使USB得到最大的傳輸速率,PDIUSBD12的固件可以設計成完全中斷模式。當USB處理前臺任務時,USB傳輸可以在后臺進行。USB固件從下到上依次為底層的硬件提取層,可實現對單片機I/O口、數據總線等硬件接口的操作;PDIUSBD12命令接口的作用是實現單片機對PDIUSBD12器件的操作;而其中斷服務程序則可在中斷產生時讀取中斷傳輸來的數據,并設定事件標志;標準請求處理程序可對USB的標準設備進行請求處理;主循環程序負責發送USB請求、處理USB總線事件和用戶功能處理等。
3.2 采集數據的傳輸格式
采集的簽名信息一般包括書寫時的橫坐標值、縱坐標值和壓力坐標值,當其通過觸摸控制器芯片后,這些模擬量將被轉化為12位數字量。其坐標值的范圍為0~095。每次采集時,要保存這樣的三個坐標值需要6個字節的空間。設計時可以在程序中用一個靜態數組來存放坐標值,圖4所示是所采集數據的存儲格式。
在本簽名系統中,每秒鐘采集的點數對后續的簽名識別過程十分重要。點數少了會漏掉許多重要信息(如斷點信息,峰值信息等),而點采集過多又會增加傳輸的時間,從而影響實時顯示并增加匹配算法的運算量。通過對國內外采集系統的分析認為:每秒采集200個點最為適合,即每過5 ms就采集一次坐標值。
由于本系統含有簽名信息的采集過程,所以在程序設計時,應在USB主程序中枚舉完后就采集數據并將其傳送到USB的端點緩沖器子程序,且這一過程應該在5ms內完成。當主機發來接收數據的命令后,PDIUSBD12應把數據從緩沖器中發到PC機。當然,啟動和停止采集命令也可以通過PC機上的實時顯示應用程序來控制,這一控制所需的通信也可通過USB來實現。
3.3 上位機應用程序編寫
USB應用程序可采用VB編寫,設計時把對USB的訪問做成動態鏈接庫,這樣可以節省程序、提高程序運行效率。實際上,只需要告訴VB系統動態鏈接庫文件(DLL)的定位信息和聲明讀寫USB端口的接口函數,就可以對USB端口進行操作。而在VB中若要訪問動態鏈接庫函數則必須把定位信息和函數聲明放在一個后綴為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中可以用定時器控件來同步接收數據,也可以設置定時器的Interval屬性,即觸發定時器的間隔時間。當每次觸發時間到達時,就可從USB接口接收數據。
簽名的實時顯示分為采集坐標的實時顯示和簽名筆跡的實時顯示,其中采集坐標顯示包含橫縱坐標和壓力坐標的顯示。
簽名坐標的實時顯示可以用TextBox文本框控件來實現,但要用一個轉換函數Str ()負責把采集到的整型數據轉換為字符串類型,這樣就可以直接在文本框顯示了。
簽名筆跡的實時顯示稍微復雜一點,其實現方法是采用畫線函數法,即當知道了兩個點時就可以根據這兩個點畫線。每采集并接收到一個點時,就執行一次畫線函數,以把當前的點和前一個點相連。這樣,當你簽名的時候,畫線函數就會把你的書寫筆跡呈現出來。
在進行畫線時還要考慮干擾問題。由于液晶顯示對簽名采集芯片有一定的影響,因而可能造成采集數據的抖動,有時候還會出現非點(即本次采集到的值與前次和后一次的采集值相差較大),本設計雖然在系統硬件上做了一些抗干擾措施(比如加裝濾波電容等),但效果不是很明顯。
后經實驗發現,通過軟件去抖方法可以實現筆跡的平滑顯示。具體去抖可從以下兩個方面實現:第一是把兩點之間的連線改為每四個點連一次,并把采集到的四個點的坐標值取平均值,從而緩解坐標值的抖動;第二是設定一個域值,當兩個點之間的坐標絕對值之差不在該域值范圍內時,即判定該點為非點,而不對該坐標值進行任何操作,直接舍棄。通過以上兩個方面的措施可以去掉大多數的非點和抖動點,使曲線變得更加平滑。
圖5所顯示的是抗干擾處理前后所采集到的簽名,圖中箭頭處即為受干擾的筆劃。
簽名筆跡實時顯示的算法流程圖如圖6所示。
圖7給出了VB應用程序下的實時顯示界面。
4 結束語
本在線簽名系統使用ADS7846實現了高速和高精度的數據采集,該芯片不僅能采集簽名的橫縱坐標,還能采集壓力坐標,從而豐富了在線簽名系統的動態簽名信息,為以后的簽名識別提供了更多的判斷依據。本在線簽名識別系統中采用USB接口來解決動態信息的采集設備和計算機之間的數據通信具有一定的現實意義。該方案可以準確實時地將采集到的簽名數據傳送到計算機。經測試,本系統傳輸信息的速度大于1Mbps,能夠很好的滿足系統的要求;同時由VB編寫的人機界面還可實現簽名的再現。
責任編輯:gt
-
單片機
+關注
關注
6032文章
44516瀏覽量
633031 -
usb
+關注
關注
60文章
7896瀏覽量
263989 -
數據采集
+關注
關注
38文章
5906瀏覽量
113518
發布評論請先 登錄
相關推薦
評論