關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于ADS7846簽名認證的數據采集和預處理

基于ADS7846簽名認證的數據采集和預處理

作者: 時間:2008-08-22 來源:網絡 收藏

  摘要:在線動態(tài)簽名認證越來截止多地運用于各種領域,尤其適用于銀行金融系統以及個人身份識別等,而作為在線簽名認證的基礎—筆跡的數據以及預處理,對后續(xù)認證的準確性尤為重要。本文著重介紹觸摸屏的工作原理以及如何利用AT89S51、觸摸屏和ADS7846,實現對在線筆跡,包括壓力在內的三維,并對采集的數據進行預處理。

  關鍵詞:AT89C51 ADS7846 動態(tài)簽名 預處理

  由于觸摸屏輸入方便、輕薄、便于攜帶等優(yōu)點,越來越多的電子產品用觸摸屏作為人機界面的輸入設備。在動態(tài)簽名認證中,亦采用觸摸屏作為輸入設備對筆跡進行。本文主要從觸摸屏工作原理、ADS7846的工作方式以及單片機89S51對ADS7846的控制等方面,分析如何實現三維數據的采集。

  系統主要由四線電阻式觸摸屏、ADS7846、單片機89S51以及相應軟件程序組成。系統框圖如圖1所示。

  1 四線電阻式觸摸屏

  是采用電阻模擬量技術。它是一層玻璃作為基層,上面涂有一層透明氧化金屬(ITO氧化銦)導電層,再蓋有一層玻璃或是外表面硬化處理的光滑的塑料層;內表面也涂有一層ITO導電層。它們之間有許多細小的透明隔離點把兩導電層隔開絕緣,每當有筆或是手指按下時,兩導電層就相互接觸。而形成電路,如圖2所示。

  導電層的兩端都涂有一條銀膠,稱為該工作面的一對。上下兩個導電層一個是水平方向,一個是豎直方向,分別用來測量X和Y的坐標位置。在水平面上的稱為X+和X-電極,在豎直平面的電極稱為Y+電極和Y-電極,如圖3所示。工作時,兩個電極根據測量需要提供參考電壓或是作為測量端對接觸點的位置進行測量。當測量接觸點X坐標的時候,導電層上的X+電極和X-電極分別上參考電壓和地;Y電極不加電壓,那么X電極間會形成均勻的,用Y+電極作為測量點,得到的電壓值通過A/D轉換,就可對應地判斷出接觸點的X坐標。Y坐標亦是類似,只需改成對Y電極加電壓而X電極不加電壓即可。

  X坐標和Y坐標的計算公式為

  

  其中VREF為加在ADS7846內部A/D轉換器上的參考電壓,可以接VCC作為參考電壓。

  測量觸摸壓力的原理與ITO(氧化銦)材料的自身特性有關。ITO導電膜的電導率公式為ρ=ρ0(1+3λ0/d)(d為導電膜的厚度),即ITO電導率和ITO導電膜的厚度成反比。觸摸的壓力越大,接觸點的ITO導電膜就越薄,相應的電導率就大、電阻越小。所以,觸摸壓力的測量實質是測量接觸ITO導電膜的電阻值。

  

  2 觸摸屏控制芯片ADS7846

  ADS7846是公司生產的專門用于四線數模轉換芯片,內部有一個多通道的模擬開關組成的測量電路網絡和12位的A/D轉換器。工作時,ADS7846根據數據輸入口DIN收到不同的命令字打開相應的開關通道,并接受返回的模擬電壓,通過A/D轉換得出對應的數字量,再通過DOUT傳回單片機。

  S是開始標志位,只有S位為高時ADS7846才開始接收命令字。A0、A1、A2是通道選擇,根據測量的需要而改變,MODE選擇是8位還是12位的A/D轉換,根據實際要求在此選擇了12位的A/D轉換。SER/DFR是工作方式選擇位。ADS7846有兩種工作方式:一種是單端輸入,一種是差分輸入。在需要進行壓力測量的時候,必須使用差分輸入的工作模式。PD1和PD0是用來控制內部參考電壓和模數轉換器的開關。

  3 單片機AT89S51與ADS7846的數據通信

 ?。?) AT89S51

  AT89S51是Atmel公司新推出的89C51的升級產品,全面兼容89C51。與89C51相比,新增加了以下幾個主要功能:①可以通過數據下載線進行在線編程下載,使程序的寫入更加方便簡捷;②工作晶振可以達到33MHz,提高了運行速度;③新增了看門狗電路,提高了電路的抗干擾性。

 ?。?)AT89S51與ADS7846的通信

  AT89S51與ADS7846的通信主要通過單片機的I/O口與ADS7846的CLK、CS、DOUT、DIN、BUSY五個引腳進行。CLK是ADS7846的工作脈沖,CS是ADS7846的片選信號,DOUT是數據輸出,DIN是數據輸入,BUSY是轉換判斷位。當系統工作時,單片機首先通過片選信號選中ADS7846,再通過DIN向ADS7846發(fā)送命令控制字數據,并通過CLK引腳配以相應的時序脈沖。BUSY位被后,通過DOUT數據輸出口獲取12位轉換結果。

  由于要求系統能采集包括X坐標、Y坐標和壓力在內的三維數據,所以,先送打開測量X通道的命令字,返回得到的數字值即為X坐標,再送打開測量Y通道的命令字,得到的值為Y坐標。再依次得到Z1、Z2的值,通過轉換公式

  可計算出RTOUCH也就是壓力Z的值。其中Rx是X軸電阻值大小,與觸摸屏的性能參數有關;是開始得到的X坐標值。

  程序流程如圖4所示。

  值得一提的是,Z1、Z2仍然是轉換后的12位A/D轉換的數字值,但通過轉換公式得到的Z值實際上是接觸點間兩層ITO氧化膜的電阻值大小。這樣就完成了在某一個時刻的三維信息采集。根據實際要求,利用定時器設定采樣的時間為10ms,即1s采樣100個點。采集的數據通過USB接口送到PC機保存,以供后續(xù)匹配處理。同時,采集的數據可以通過液晶屏顯示,以便書寫時觀察。

  

  4 觸摸屏的初始化標定

  由于觸摸屏的一些邊緣部分是無效的觸摸區(qū)域,所以,實際轉換出來的X坐標和Y坐標并不是從0到4095的,因此要進行初始化標定,通過轉換公式使其在0到4095整個區(qū)間線性化。X坐標值的轉換公式為X=(X-Xmin)4096/(Xmax-Xmin),其中Xmax和Xmin分別是觸摸屏有效觸摸區(qū)域X方向的最大值和最小值。同理,X坐標值所對應的轉換公式為Y=(Y-Ymin) 4096/(Ymax-Ymin),其中Ymax和Ymin分別是觸摸屏有效觸摸區(qū)域Y方向的最大值和最小值。壓力值表示的是電阻值大小,并不能直接地反映壓力的大小,所以,根據實際需要,將其轉換成與壓力大小相對應的0到256級壓力值。轉換公式為Z=(Zmax-Z) 256/(Zmax-Zmin),其中Zmax和Zmin分別為書寫筆與觸摸屏接觸時的最大電阻值和最小電阻值。

  實驗數據顯示,所用觸摸屏的Xmax和Xmin分別為3860和180,Ymax和Ymin分別為3690和440,Zmax和Zmin分別為540和350。由于每塊觸摸屏和書寫筆的物理特性都不盡相同,所以每當更換觸摸屏或是書與筆的時候,系統都要進行重新初始化示定的工作。

  

  5 數據的預處理

  在數據采集的過程中,有許多因素影響數據的準確性,所以必須對數據作一些相應的預處理,以保證采集數據的準確性。

 ?。?)書寫抖動造成的漏點

  在進行數據采集時,會在連續(xù)的數據中出現零值點。出現零值點有兩種可能:一種是正常書寫筆劃的改變造成的,另一種就是由于觸摸屏不夠平整或是書寫時的抖動造成筆跡的間斷而造成的。區(qū)別的方法主要是看間斷時間也就是零值連續(xù)出現的個數。一般抖動造成的間斷時間小于設定的采樣時間10ms,所以,抖動產生的零值在兩個有效數據中間只能出現1個,可以認為是無效零值;而出現兩個以上的連續(xù)零值便可以認為是筆劃的改變而生成的有效零值而不作處理。當判斷出某個零值為無效零值后,對其進行線性內插來彌補數據的丟失,即an=(an+1+an-1)/2。其中an是無效零值點,an-1和an+1分別是an的前面和后面的一個有效值。圖5分別是處理前和處理后的波形。

 ?。?)重復采集點的去除

  由于書寫者書寫時的停頓,造成在某一點多次重復采集,顯然在后續(xù)的匹配會與樣本數據產生很大的誤差,所以有必要刪除重復的數據。每當判斷出前后兩個點X坐標和Y坐標均相同的時候,就可以斷定它們?yōu)橹貜忘c,則將后一個點刪除,再用后續(xù)的點依次補上。這


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉