歡迎您光臨本站 登入註冊首頁

基於ADS7846在線動態簽名認證系統

admin @ 2014-03-19 , reply:0

概述

名稱:基於ADS7846在線動態簽名認證系統摘要:本文著重介紹如何利用AT89S51、觸摸屏和觸摸屏控制器ADS7846實現在線動態簽名的三維數據採集和預處理。由於觸摸屏輸入方便,輕薄便於攜帶等優點,……
名稱:基於ADS7846在線動態簽名認證系統
摘要:本文著重介紹如何利用 AT89S51、觸摸屏和觸摸屏控制器 ADS7846實現在線動態簽名的三維數據採集和預處理。
由於觸摸屏輸入方便,輕薄便於攜帶等優點,現在越來越多的電子產品用觸摸屏作為人機界面的輸入設備。在動態簽名認證中,亦採用觸摸屏作為輸入設備對筆跡進行數據採集。
系統主要由四線電阻式觸摸屏,觸摸屏控制器 ADS7846,單片機 89S51組成。系統框圖如圖 1所示。
四線電阻式觸摸屏
電阻觸摸屏是採用電阻模擬量技術。它以一層玻璃作為基層,上面塗有一層透明氧化金屬 (ITO氧化銦 )導電層,上面再蓋有一層玻璃或是外表面硬化處理的光滑的塑料層,它的內表面也塗有一層 ITO導電層,他們之間有許多細小的的透明隔離點把兩導電層隔開絕緣,每當有筆或是手指按下時,兩導電層就相互接觸,從而形成了迴路 (圖 2)。
導電層的兩端都塗有一條銀膠,稱為該工作面的一對電極,上下兩個導電層一個是水平方向,一個是豎直方向,分別用來測量 X和 Y的坐標位置,在水平面上的電極稱為 X+電極和 X-電極,在豎直平面的電極稱為 Y+電極和 Y-電極。工作時,兩個電極根據測量需要提供參考電壓或是作為測量端對接觸點的位置進行測量,當測量接觸點 X坐標的時候,導電層上的 X+電極和 X-電極分別接上參考電壓和地, Y電極不加電壓,那麼 X電極間會形成均勻的電壓分佈,用 Y+電極作為測量點,得到的電壓值通過 A/D轉換,就可對應的判斷出接觸點的 X坐標。 Y坐標亦是類似,只需改成對 Y電極加電壓而 X電極不加電壓即可。
測量觸摸的壓力的原理是和 ITO(氧化銦 )材料的自身特性有關, ITO導電膜的電導率公式為 r=r0(1+l0/d),其中 d為導電膜的厚度,所以 ITO電導率和 ITO導電膜的厚度成反比,所以當觸摸的壓力越大,接觸點的 ITO導電膜就越薄,所以相應的電導率就大,電阻就越小,所以,觸摸壓力的測量實質是測量接觸 ITO導電膜的電阻值。
ADS7846與 AT89S51的通信
ADS7846是 BURN-BROWN公司生產的專門用於四線電阻觸摸屏數模轉換晶元。內部有一個多通道的模擬開關組成的測量電路網路和 12位的 A/D轉換器。工作時, 7846根據數據輸入口 DIN收到不同的命令字打開相應的開關通道,並接受返回的模擬電壓,通過 A/D轉換得出對應的數字量,再通過 DOUT傳回單片機。
AT89S51是 ATMEL公司新推出的 89C51的升級產品。
AT89S51與 ADS7846的通信主要通過單片機的 I/O口與 7846的 CLK、 CS、 DOUT、 DIN、 BUSY五個引腳進行。當系統工作時,單片機首先通過片選信號選中 7846,再通過 DIN向 7846發送命令控制字數據,並通過 CLK引腳配以相應的時序脈衝,當 BUSY位被置位后就通過 DOUT數據輸出口獲取 12位轉換結果。
由於要求系統能採集包括 X坐標、 Y坐標和壓力在內的三維數據,所以,先送打開測量 X通道的命令字,返回得到的數字值即為 X坐標,再送打開測量 Y通道的命令字,得到的值為 Y坐標。再依次得到 Z1, Z2的值,通過轉換公式
RTOUCH
就可計算出 RTOUCH也就是壓力 Z的值 (其中 RX-plant是 x軸電阻值大小,跟觸摸屏的性能參數有關, X-Position即是開始得到的 X坐標值 )。
在此值得一提是, Z1、 Z2仍然是轉換后得 12位的 A/D轉換的數字值,但通過轉換公式得到的 Z值實際上是接觸點間兩層 ITO氧化膜的電阻值大校這樣就完成了在某一個時刻的三維信息採集。根據實際要求,利用定時器設定採樣時間為 10ms。採集的數據通過 USB介面送到 PC機保存,以供後續匹配處理。同時,採集的數據可以通過液晶顯示屏顯示,以便書寫時觀察。

圖 1系統電路框圖

圖 2觸摸屏的觸摸示意圖

圖 3處理前的數據波形

圖 4處理后的數據波形
觸摸屏的初始化標定
由於觸摸屏的一些邊緣部分是無效的觸摸區域,所以,實際轉換出來的 X坐標和 Y坐標並不是從 0到 4095的,因此要進行初始化標定,通過轉換公式使其在 0到 4095整個區間線性化, X坐標值的轉換公式為 X=(X-Xmin)× 4095/(Xmax-Xmin),其中 Xmax和 Xmin分別是觸摸屏有效觸摸區域 X方向的最大值和最小值。同理, Y坐標值所對應的轉換公式為 Y=(Y-Ymin)× 4095/(Ymax-Ymin),其中 Ymax和 Ymin分別是觸摸屏有效觸摸區域 Y方向的最大值和最小值。壓力值表示的是電阻值大小,並不能直觀的反映壓力的大小,所以,根據實際需要,將其轉換成與壓力大小相對應的 0到 256級壓力值。轉換公式為 Z=(Zmax-Z)× 256/(Zmax-Zmin),其中 Zmax和 Zmin分別為書寫筆與觸摸屏接觸時的最大電阻值和最小電阻值。
實驗數據顯示所用觸摸屏的特性參數分別為: Xmax和 Xmin分別為 3860和 180; Zmax和 Zmin分別為 3690和 440,和分別為 540和 350。由於每塊觸摸屏和書寫筆的物理特性都不盡相同,所以,每當更換觸摸屏或是書寫筆的時候系統都要進行重新初始化標定的工作。
數據的預處理
在數據採集的過程中,有許多因素影響數據的準確性,所以必須對數據做一些相應的預處理,以保證採集的數據的準確性。主要有以下幾種因素:
書寫抖動造成的漏點
在進行數據採集時會在連續的數據中出現零值點,出現零值點有兩種可能:一種是正常書寫時筆劃的改變造成的,另一種就是由於觸摸屏不夠平整或是書寫時的抖動造成筆跡的間斷而造成的,區別的方法主要是看間斷時間也就是零值連續出現的個數,一般抖動造成的間斷時間小於設定的採樣時間 10ms,所以,抖動產生的零值在兩個有效數據中間只能出現一個,可以認為是無效零值,而出現兩個以上的連續零值便可以認為是筆劃的改變而生成的有效零值而不作處理,當判斷出某個零值為無效零值后,對其進行線性內插來彌補數據的丟失,即 an=(an+1+an-1)/2,其中 an是無效零值點 ,an-1和 an+1分別是 an的前面和後面的一個有效值。圖 3和圖 4分別是處理前和處理后的波形。
重複採集點的去除
由於書寫者書寫時的停頓,造成在在某一點多次重複採集,顯然在後續的匹配中會與樣本數據產生很大的誤差,所以有必要刪除重複的數據,每當判斷出前後兩個點的 X坐標和 Y坐標均相同的時候,就可以斷定它們為重複點,則將后一個點刪除,再用後續的點依次補上。這樣保證了採集的數據能夠真實的反映筆跡信息。
書寫位置的校準
書寫者每次書寫時起筆的點不一定相同,這樣,每次書寫採樣的結果都與樣本模板里的採樣值都有一個恆定的差別,因此有必要進行書寫位置的校準,處理的方法是把採集到的第一個數據的 X坐標和 Y坐標與樣本數據里第一個數據的 X坐標和 Y坐標作比較,公式分別為 DX=(X1-X』 1), DY=(Y1-Y』 1),其中 X1和 Y1分別是採樣數據的第一個點的 X坐標值和 Y坐標值, X』 1和 Y』 1則是樣本數據里的第一個點的 X坐標值和 Y坐標值, DX和 DY則為採樣的數據與樣本數據在 X方向和 Y方向的偏移值。所以,校準公式為: Xn=Xn+DX, Yn=Yn+DY。
以上是對數據進行預處理的幾種方法,預處理可以為後續筆跡的匹配提供更加準確的數據,並減輕匹配的運算量,因此預處理是筆跡匹配認證前的重要步驟,它的好壞將直接影響認證的精度。

[admin via 研發互助社區 ] 基於ADS7846在線動態簽名認證系統已經有2132次圍觀

http://cocdig.com/docs/show-post-40297.html