基于單片機的遠程指紋采集終端的設計
在網(wǎng)絡層,由于系統(tǒng)要求能夠在Intranet進行通信,因此系統(tǒng)要實現(xiàn)IP協(xié)議。同時,為了能夠測試系統(tǒng)與網(wǎng)絡的連接,系統(tǒng)實現(xiàn)了ICMP協(xié)議中的Ping應答協(xié)議。
在傳輸層,TCP為2臺主機提供面向連接的、可靠的、無重復的雙向數(shù)據(jù)流傳輸服務,但其實現(xiàn)對系統(tǒng)資源的耗費非常大。而UDP的實現(xiàn)比較簡單,它在嵌人式應用場合可以很好的應用??紤]到系統(tǒng)的簡化及速度的要求,采用UDP協(xié)議,為了確保UDP數(shù)據(jù)的到達,在應用程序中采用了重復發(fā)送、回復確認的方式來保證數(shù)據(jù)的正確性。
在應用層,由于本嵌入式系統(tǒng)無HTTP,F(xiàn)TP等應用,所以其中的協(xié)議無需實現(xiàn)。
3.2.2 TCP/IP協(xié)議實現(xiàn)
首先對協(xié)議中使用的公共數(shù)據(jù)結構進行定義:如MAC地址格式、IP地址格式、系統(tǒng)的地址配置、緩沖區(qū)格式及大小。其中MAC,IP地址格式都是固定的,系統(tǒng)的配置用于確定系統(tǒng)的IP地址及端口以及MAC地址值。由于系統(tǒng)中傳送的數(shù)據(jù)較大,必須定義用于傳送數(shù)據(jù)的緩沖區(qū),長度為1 500 B,而接收的數(shù)據(jù)十分簡單,因此無需緩沖區(qū)。
其次,定義ARP數(shù)據(jù)幀頭結構及ARP高速緩沖表,數(shù)據(jù)幀必須根據(jù)標準定義,高速緩沖表至少要含有IP地址及相對應的MAC地址2項。由于本系統(tǒng)連接的對象只有數(shù)據(jù)服務器,因此,在系統(tǒng)初始化建立連接時填入ARP緩沖表信息,而不必實現(xiàn)定時更新。
接著,根據(jù)以太網(wǎng)標準定義IP及ICMP數(shù)據(jù)幀格式。網(wǎng)絡層的的主要工作有:對上一層傳下來的數(shù)據(jù)包,加上IP首部和IP校驗和,發(fā)往下一層;以及對下一層傳上來的數(shù)據(jù)包,進行校驗和檢查,若正確去掉IP首部,送往上一層;對收到的ICMP的回顯請求包,按照格式組裝1個ICMP的回顯應答包并發(fā)送,以便于響應服務器的PING程序。
最后,根據(jù)標準定義UDP數(shù)據(jù)幀格式。這一層的主要工作有:對應用層傳下來的數(shù)據(jù)包,加上UDP首部和UDP校驗和,發(fā)往下一層。以及對下一層傳上來的數(shù)據(jù)包,進行校驗和檢查,若正確去掉UDP首部,提出數(shù)據(jù)送給應用層。
3.3 數(shù)據(jù)通信的實現(xiàn)
根據(jù)系統(tǒng)上傳數(shù)據(jù)量大而接收數(shù)據(jù)量很小的特點,加之單片機的處理速度有限,系統(tǒng)將數(shù)據(jù)傳送程序放人到主程序中進行調(diào)用,而接收數(shù)據(jù)采用中斷方式。
當本地系統(tǒng)有數(shù)據(jù)要發(fā)送時,首先在傳輸層將數(shù)據(jù)加上UDP首部,再調(diào)用網(wǎng)絡層函數(shù)給其加IP首部,然后到鏈路層從ARP表中查詢MAC地址,填入相應位置,并發(fā)給網(wǎng)絡驅(qū)動程序傳到以太網(wǎng)上。
當收到網(wǎng)絡中斷就讀取數(shù)據(jù),根據(jù)包的種類分別傳給ARP或IP協(xié)議,由每一層自行處理數(shù)據(jù),最后調(diào)用顯示程序顯示接收到的識別結果。
4 結 語
系統(tǒng)針對目前嵌人式指紋識別設備存儲量小、處理速率慢的現(xiàn)狀,采用高性能51系統(tǒng)單片機作為處理核心與MBF200連接并工作于MCU模式下,設計實現(xiàn)了一款高性的網(wǎng)絡指紋采集識別終端。系統(tǒng)利用數(shù)據(jù)處理服務器海量存儲及處理速度高,可實現(xiàn)快速復雜匹配算法的優(yōu)點。系統(tǒng)采集速率高,識別性能好。系統(tǒng)可廣泛應用于各類企業(yè)考勤應用。
評論