1、 引言
隨著計算機技術和網絡技術的迅猛發展,門禁管理系統不斷朝著集成化、智能化、網絡化與分布式的方向發展。近年來,世界范圍內以太網環境的基本形成突破了傳統通信方式的時空限制和地域障礙,使得基于網絡環境的門禁管理系統的設計和開發成為未來門禁系統發展的重要方向。在門禁系統中引入 TCP/IP技術,不僅可滿足人們對出入控制系統日趨復雜的要求,同時也使遠程和大范圍門禁控制的系統組建成為可能。
2 、uIP0.9協議棧概述
uIP0.9是一個適用于 8/16位機上的小型嵌入式 TCP/IP協議棧, 簡單易用、資源占用少是它的設計特點。它去掉了許多全功能協議棧中不常用的功能,而保留了網絡通信中所必要的協議機制。開放的代碼使開發者可以完整地了解這個協議棧,并能夠根據應用要求作一定程度的修改,將其移植到實際的嵌入式系統中。
其設計重點放在 IP、ICMP和 TCP協議的實現上,它將這三個模塊合為一個有機的整體,而將 UDP和 ARP協議實現作為可選模塊。uIP0.9的體系結構如圖 1所示。
uIP0.9處于網絡通信的中間層,其上層協議在這里被稱之為應用層,而下層為網絡設備驅動。為了節省資源占用,簡化應用接口,uIP0.9在內部實現上作了特殊的處理:
① 注意各模塊的融合,減少處理函數的個數和調用次數,提高代碼復用率,以減少 ROM占用。
② 基于單一全局數組的收發數據緩沖區,不支持內存動態分配,由應用層負責處理收發的數據。
③ 基于事件驅動的應用程序接口,各并發連接采用輪循處理,僅當網絡事件發生時, 由uIP0.9內核喚起應用程序處理。這樣, uIP0.9用戶只須關注特定應用就可以了。傳統的 TCP/IP實現一般要基于多任務處理環境,而大多數 8位機系統不具備這個條件。
④ 應用程序主動參與部分協議棧功能的實現(如 TCP的重發機制,數據包分段和流量控制),由 uIP0.9 內核設置重發事件,應用程序重新生成數據提交發送,免去了大量內部緩存的占用。基于事件驅動的應用接口使得這些實現較為簡單。
在 uIP0.9中,基于速度、代碼效率和堆棧使用等方面的考慮,大部分接口函數是通過宏定義的方式來使用 uIP0.9提供一系列函數,完全可以被看作一個代碼庫。圖 2描述了 uIP0.9、系統底層和應用程序三者之間的關系。
uIP0.9提供了兩個函數給系統底層: uIP_Input(),uIP _Periodic()。應用程序向 uIP0.9提供一個調用函數 uIP_Appcall (),在網絡事件或計時事件發生時進行調用。同時, uIP0.9向
應用程序提供了一些與協議棧相關的接口函數,應用程序根據接口函數提供的信息或者狀態,執行相應的操作。如圖 2所示, uIP_Appcall ()是一個用戶定義的函數,唯一對應著一個應用。由于 uIP0.9的特殊性,該函數必須協助完成一些 TCP/IP層的功能,如重傳等。 uIP_Input(),uIP_Periodic()實質上是使用參數不同,前者在網絡設備接收到新數據時調用,后者則是對定時器事件的響應,周期執行。
uIP0.9不同于其它的 TCP/IP協議棧,它的某些網絡層的功能需要應用程序的介入才能完成,如重傳機制、確定最大傳輸單元等。需要重傳時,由應用程序重新生成數據,以減小存儲器使用;在協商確定最大傳輸段單元 MSS后,由應用程序保證發送數據塊的大小不超過該值。
uIP0.9實現了 TCP/IP協議棧中的四個基本協議: ARP、TCP、IP以及 ICMP協議。解析協議 ARP完成 IP和 MAC的對應,以完成數據包的物理交付。 IP層代碼有兩個責任:確信數據包頭文件的正確性和依據 TCP、ICMP區分數據包的類型。在 IP層沒有進行分段和重組,只是由 9個簡單的 if語句組成 IP層代碼。
3、 嵌入式數據庫
數據庫是整個管理系統的核心。實時監控、卡片及人事信息管理等,都離不開系統數據庫,人員的進出記錄以及進出權限和通行時間也都記載在數據庫中。嵌入式數據庫指的是隨機存貯器 RAM中的數據結構及數據信息,它在系統運行過程中不斷地刷新,其內容直接反映了門禁節點的運行狀況。本系統包括兩類數據庫: A.系統數據庫,主要對硬件的設定,包括控制器類型、讀卡機、門、報警輸入、報警輸出、通訊格式及參數。 B.持卡人信息,包括持卡人個人信息,每日與每周時間區,節假日,出入組,防反潛,有效期限等。
4、門禁系統的硬件設計
門禁控制器的硬件框圖如圖 3所示,本系統的控制核心采用 ATmega128微處理器,網絡部分電路由 RTL8019AS微型網關芯片和 RJ45組成,負責收發數據包、地址解析、沖突檢測等網絡通信功能。網絡設備驅動即通過 RTL8019AS的驅動實現,主要包括三部分:完成網卡芯片的上電初始化、數據的發送和以太網數據的接收。選擇 ATmega128的一個定時器來為TCP/IP協議中與時間有關的事件定時。
系統的編程接口可與計算機的串口連接,計算機可通過該端口向控制器下載 BIOS和程序。系統還包括信號檢測、輸入、輸出、RS232/485總線通信,分別實現讀卡、報警信號檢測、開門、通信等功能。
門禁控制器的各種配置信息:日編程、周編程、節假日編程、卡定義信息、讀卡器定義信息,以及刷卡記錄和報警信息都要存儲在本地控制器中,因此 RAM空間的擴展顯得尤為重要,本系統擴展了62256。系統設計時還采用了備份電池供電,從而保證門禁控制器卡號、日編程、周編程等信息永久存儲在存儲器內而不受掉電的影響,另外使用了實時時鐘芯片DS1302,DS1302具有秒、分、小時、日、月、星期、年的計時功能,避免突然掉電時對時鐘的修改。
5 、結束語
在當今網絡發展日新月異的時代,消費者需要的智能化產品都要求具備更好的網絡功能,這樣就更容易實現局域網內部控制或利用成熟的因特網技術實現遠程控制,并能夠在特定條件下,升級產品的預存指令集,實現功能的更新。隨著整個安防行業朝網絡化發展,門禁控制器也要普及網絡化。本文創新點在于將 ATmega128 應用在嵌入式門禁控制系統中,移植了小型嵌入式 TCP/IP協議棧uIP0.9,使系統能夠順利地接入以太網,具有很高的使用價值和很強的可操作性。
責任編輯:gt
評論
查看更多