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