在線簽名識別系統(tǒng)的數(shù)據(jù)采集和USB通信
3 USB通信及應(yīng)用程序
3.1 USB接口通信的實現(xiàn)
USB是一種快速、雙向、低價且可進行熱拔插的新型串行接口技術(shù)。能支持各種PC與外設(shè)之間的連接。目前USB有三種協(xié)議標(biāo)準(zhǔn):USB1.1、USB2.0和USB OTG。本系統(tǒng)使用USB接口的原因不光是它的速度快,而且還在于USB協(xié)議的健壯性,以及傳送數(shù)據(jù)的準(zhǔn)確性。一個USB通信系統(tǒng)包括USB硬件和固件、USB驅(qū)動程序、USB應(yīng)用軟件。本系統(tǒng)采用的是USB接口芯片(philips公司的PDIUSBDl2)加8051系列單片機的實現(xiàn)方法。
USB接口芯片PDIUSBD12符合通用串行總線USB 1.1版規(guī)范,器件中集成了SIE、FIFO存儲器收發(fā)器以及電壓調(diào)整器,PDIUSBD12符合大多數(shù)器件的分類規(guī)格,可與任何外部微控制器/微處理器實現(xiàn)高速并行接口(2 MB/s),可進行完全自治的直接內(nèi)存存取DMA操作。器件中集成了320字節(jié)的多結(jié)構(gòu)FIFO存儲器,主端點的雙緩沖配置可增加數(shù)據(jù)的吞吐量,并可輕松實現(xiàn)實時數(shù)據(jù)傳輸,在批量模式和同步模式下,該器件均可實現(xiàn)1 MB/s的數(shù)據(jù)傳輸速率。其在系統(tǒng)中的應(yīng)用電路如圖3所示。
USB固件實際上就是MCU的程序文件,編寫可采用C語言或匯編語言。它不是單純的軟件,而是軟件和硬件的結(jié)合。為了使USB得到最大的傳輸速率,PDIUSBD12的固件可以設(shè)計成完全中斷模式。當(dāng)USB處理前臺任務(wù)時,USB傳輸可以在后臺進行。USB固件從下到上依次為底層的硬件提取層,可實現(xiàn)對單片機I/O口、數(shù)據(jù)總線等硬件接口的操作;PDIUSBD12命令接口的作用是實現(xiàn)單片機對PDIUSBD12器件的操作;而其中斷服務(wù)程序則可在中斷產(chǎn)生時讀取中斷傳輸來的數(shù)據(jù),并設(shè)定事件標(biāo)志;標(biāo)準(zhǔn)請求處理程序可對USB的標(biāo)準(zhǔn)設(shè)備進行請求處理;主循環(huán)程序負(fù)責(zé)發(fā)送USB請求、處理USB總線事件和用戶功能處理等。
3.2 采集數(shù)據(jù)的傳輸格式
采集的簽名信息一般包括書寫時的橫坐標(biāo)值、縱坐標(biāo)值和壓力坐標(biāo)值,當(dāng)其通過觸摸控制器芯片后,這些模擬量將被轉(zhuǎn)化為12位數(shù)字量。其坐標(biāo)值的范圍為0~095。每次采集時,要保存這樣的三個坐標(biāo)值需要6個字節(jié)的空間。設(shè)計時可以在程序中用一個靜態(tài)數(shù)組來存放坐標(biāo)值,圖4所示是所采集數(shù)據(jù)的存儲格式。
在本簽名系統(tǒng)中,每秒鐘采集的點數(shù)對后續(xù)的簽名識別過程十分重要。點數(shù)少了會漏掉許多重要信息(如斷點信息,峰值信息等),而點采集過多又會增加傳輸?shù)臅r間,從而影響實時顯示并增加匹配算法的運算量。通過對國內(nèi)外采集系統(tǒng)的分析認(rèn)為:每秒采集200個點最為適合,即每過5 ms就采集一次坐標(biāo)值。
由于本系統(tǒng)含有簽名信息的采集過程,所以在程序設(shè)計時,應(yīng)在USB主程序中枚舉完后就采集數(shù)據(jù)并將其傳送到USB的端點緩沖器子程序,且這一過程應(yīng)該在5ms內(nèi)完成。當(dāng)主機發(fā)來接收數(shù)據(jù)的命令后,PDIUSBD12應(yīng)把數(shù)據(jù)從緩沖器中發(fā)到PC機。當(dāng)然,啟動和停止采集命令也可以通過PC機上的實時顯示應(yīng)用程序來控制,這一控制所需的通信也可通過USB來實現(xiàn)。
電容式觸摸屏相關(guān)文章:電容式觸摸屏原理
評論