摘 要: 以射頻卡識別技術和嵌入式Internet技術為重點,研究開發了一種多功能網絡化的安防嵌入式系統。系統可單機或聯網運行,通過對卡的操作實現身份認證、收費、考勤及門禁等功能,并可用一卡實現多種功能,具有廣闊的應用前景。
關鍵詞: 安防嵌入式系統 單片機 非接觸式IC卡 嵌入式Internet 一卡通
非接觸式IC智能射頻卡具有無電源、免接觸、高度的安全保密性及實現“一卡通”等優點[1],應用前景廣闊。現有的安防系統多數利用RS-232和RS-485串行通信進行聯網,需專門布線,成本高,傳輸距離近,聯網范圍和數量都受到限制。本文將先進的射頻卡辨識技術[1]和嵌入式Internet技術[2][3]應用于安防系統中。該系統的設計保留了現有系統的優點,擴展了對非接觸式IC卡的處理及利用互聯網傳輸數據的能力,建立了運行、監視、控制三位一體的安防系統,推動了安防產品的智能化和網絡化。
1 系統整體設計
本文所設計的現代安防辨識系統結構框圖如圖1所示。整個系統分為3層:上位機(PC端)、下位主機(簡稱主機)和下位子機(簡稱子機)。上位機通過以太網與主機通信,主機則通過RS-485網絡與子機連接。
上位機用于監控和數據收集,主要作用是對下位機(與子機的通信通過主機)進行參數設定、運行狀態監控和數據收集。
主機和子機在結構上完全相同,運行時主機直接與上位機通信,子機則通過主機間接受控于上位機。主機和子機(統稱為下位機)是安防系統的操作前端,實現對各類卡數據的處理,然后將處理結果暫存在內部RAM中,主機讀取子機的數據。主機中暫存本身及所連接的所有子機的數據,當上位機下發數據上傳命令時,主機就將內存中的數據上傳給上位機。
下位機是作為主機還是子機運行,以及運行中的其他參數,如工作模式、機號、時間和波特率等,可以通過上位機設定,也可以通過下位機自身單獨設定。
非接觸可讀寫IC卡的卡片本身可以存儲數據,下位機可單獨對所存儲的數據進行操作,一般不必和上位機的數據庫進行通信,這與操作條碼、磁卡、EM卡等卡片不同;同時下位機把每次操作的結果記錄下來,定時上傳給上位機的數據庫進行備份或做其他處理。
2 下位機與上位機的硬軟件設計
2.1 下位機的設計
下位機(包括主機和子機)是安防系統的前端處理設備,實現安防系統的主要功能,因此設計效果直接影響整個安防系統的性能。
2.1.1 下位機的硬件設計
下位機的硬件結構框圖如圖2所示,由主CPU模塊、卡處理模塊、上網模塊、以及外存儲器、鍵盤、顯示、通信等部分組成。
主CPU模塊是整個下位機的核心,實現對各種辨識數據的處理及復雜的TCP/IP協議。本系統中選用了SST公司的89E564RD單片機,完全與51系列單片機兼容,具有“在應用中編程”(In-Application Programming)功能,有利于程序的運行調試和系統的升級。由于數據總線上的外部器件較多,并且考慮到系統的擴展和升級,在硬件設計中使用了74HC245總線驅動器和138地址譯碼器,并擴展了1片并行接口芯片8255。
系統的外存儲器是1片128KB的SRAM628128和1片2KB的24C16。24C16與89E564RD按I2C總線協議進行數據傳輸,占用2根信號線,主要用于存放管理卡號、系統密碼、工作模式、IP地址、網關地址以及其他可配置的信息。在系統中上位機從下位機讀取數據一般采用定時讀取方式。由于下位機在沒有上傳數據以前需要暫存大量數據,同時以太網數據包的收發以及實現復雜的TCP/IP處理也需要占用大量的內存空間,因此在系統中用了1片SRAM628128以擴展存儲容量。為了防止SRAM628128突然掉電丟失數據,在設計中為其外接了1塊3.6V的后備電池,以提高存儲的可靠性。
卡處理模塊的功能相對獨立,單獨使用了一個微處理器來進行卡操作。上網模塊可實現10BASE-T以太網數據傳輸。卡處理模塊和上網模塊是本系統中的重點。
2.1.2 下位機的軟件設計
下位機程序基本流程如圖3所示。程序開始對系統硬、軟件進行初始化,初始化包括讀取工作模式、設定串行通信的波特率、初始化鍵盤、顯示及復位上網模塊等。完成初始化后,程序進入循環處理。卡處理程序根據系統的功能設定來使卡操作模塊完成相應的功能。
根據初始化時的設定,下位機可作為主機或子機使用,只有主機才可以與上位機通過以太網或專用的RS-232網絡通信,并在沒有上位機命令時掃描子機,子機只能通過RS-485端口與主機通信。
整個程序采用結構化設計,結構簡單,便于移植和擴充。
2.2 上位機監控軟件設計
監控軟件實現PC機對下位機或卡處理模塊的監視和控制。本系統的PC機監控軟件主要有2個獨立的部分:上位機通過專用網絡(RS-232或RS-485)與下位機進行通信的監控軟件;當卡處理模塊獨立使用時,PC機對卡處理模塊的監控軟件。
系統的上位機與下位機進行通信的監控軟件主要是下發命令參數、上傳命令的執行結果及上傳下位機內存中的數據等。
3 卡處理模塊和上網模塊的設計
3.1 卡處理模塊的設計
卡處理模塊根據接收的命令完成對各類卡片的操作,其中最主要的是卡號的讀取。對于可讀寫卡,還包括卡上數據的讀寫、值的加減、密碼的驗證與修改等,并將處理結果送給主CPU或上位PC機。
3.1.1 卡片的選擇
非接觸式IC卡的優點:可靠性高、安全性好、操作使用方便、能應用于不同的系統,并可一卡多用(一卡通),用戶可根據不同的應用設定不同的密碼和訪問條件,而卡的各種應用之間相互獨立,互不影響。選擇Philips公司生產的Mifare系列卡作為系統的主要辨識卡。對于其他仍在廣泛使用的卡片,系統中有相應的接口進行接收和處理。
3.1.2 卡處理模塊的硬件電路設計
卡處理模塊硬件電路結構圖如圖4所示。其核心部分由一個控制用微處理器和一個Mifare基站芯片組成。其他輔助電路包括天線模塊、RS-232通信電路、復位電路、LED狀態顯示和蜂鳴器驅動電路等。
控制用微處理器選用ATMEL公司的AT89C52單片機,該單片機具有省電的空閑(IDLE)模式和掉電(POWER-DOWN)模式,適合嵌入式系統的設計和應用。Mifare基站電路的核心是Philips公司的讀寫卡專用芯片MF RC500。RC500符合ISO14443A標準,外接天線后讀卡距離可達到10cm。天線模塊完成RC500與卡片的數據交換,它是一個LC諧振電路,工作于13.56MHz,天線的性能直接影響讀卡的距離和靈敏度。為增加讀寫器模塊的通用性,使其可獨立工作,模塊設計時還增加了串行通信和ABA信號輸入口。
3.1.3 卡處理模塊的軟件設計
卡處理模塊的工作過程:(1)接收上位主CPU或PC機的命令。(2)根據命令對RC500進行操作實現對卡的處理并返回處理結果。(3)將處理結果回送到上位主CPU或PC機。其流程圖如圖5所示。
在程序的初始化部分,主要對RC500進行基本的工作配置,設定串口通信的波特率以及復位聲光信號等。
為節省電能消耗,程序中設置了省電模式。省電模式包括RC500的掉電模式和單片機本身的空閑模式。任何被激活的中斷(包括內部中斷和外部中斷)都可使微處理器退出空閑模式。實驗證明,在空閑模式下,整個讀寫器比正常工作模式節省電流可達90%,這對于手持式讀寫器等利用電池供電的場合具有重要意義。
對所接收命令的執行是程序的重點部分,微處理器對卡的所有操作都是通過RC500來完成的,而RC500對卡片的操作是通過天線發送一些指令代碼來完成。微處理器獲取正確的卡片數據后,按一定格式上傳給上位機或主CPU,并驅動聲光信號提示操作正確。若沒有獲得正確的數據或在規定的時間內RC500沒有返回數據,則驅動相應的聲光信號指示操作錯誤,同時回送相應的錯誤碼。
3.2 上網模塊的設計
3.2.1 上網模塊的硬件電路設計
上網模塊的硬件電路框圖如圖6所示。電路中的主要部件是RTL8019AS以太網控制器,由主CPU對其進行控制實現上網,能滿足安防系統數據遠程傳輸的要求。RTL8019AS內置了10BASE-T收發器,因此采用10BASE-T布線標準通過雙絞線進行以太網通信。
3.2.2 上網模塊的軟件設計
上網模塊的軟件設計的關鍵是如何實現單片機接收和發送具有以太網協議格式的數據包。最通常的以太網系統是采用IEEE802.3標準的10BASE-T,它的傳輸速率可達10Mbps,使用雙絞線連接,采用CSMA/CD協議控制連接的設備爭用線路。程序對RTL8019AS的操作主要包括芯片初始化、發送和接收以太網數據三部分。
RTL8109AS的初始化程序主要包括對芯片的復位和參數初始化。芯片的復位是通過網卡的RSTDRV引腳進行復位。芯片正確復位后,對其相關內部寄存器進行初始化設置,使網卡正常工作。內部寄存器中最重要的是命令寄存器CR。CR主要用于選擇寄存器頁、啟動或停止遠程DMA操作以及執行命令;然后對芯片的物理地址進行設置。此時的網絡模塊就能正確發送和接收數據包了。
數據的發送過程包括3個步驟:數據包的封裝、通過遠程DMA將數據包送到數據發送緩沖區以及通過RTL8019AS的本地DMA將數據送入FIFO進行發送。
數據接收可以采用中斷或寄存器標志的方式。本系統中使用查詢寄存器的方式。單片機掃描發送緩沖區的讀指針BNRY和寫指針CURR,當BNRY不等于CURR-1時,表明RTL8019AS收到一個以太網數據包。此時單片機啟動遠程DMA讀取數據并進行處理。
4 系統調試與應用
按照上述設計制作的現代安防辨識系統,其系統調試過程與調試結果為:(1)給下位機確定一個IP地址,該IP地址應與實驗的局域網的IP在同一范圍內且與其他計算機的IP地址不沖突。本系統用于測試的局域網的IP地址為 192.168.x.x,網關為192.168.0.1,下位機的IP地址設置為192.168.0.6。(2)將下位機接入局域網,并在下位機的內存中存入16個卡號。(3)打開局域網內的任意一臺計算機,啟動IE并在地址欄內輸入http://192.168.0.6/即可看到系統主頁。(4)輸入一個錯誤的密碼,點擊發送按鈕,下位機返回密碼錯誤提示頁面。(5)點擊“重新輸入密碼”,系統再次回到主頁面(這次輸入正確的密碼并發送)。系統將內存中的數據按表格的形式在上位機中顯示出來。頁面中的數據后10位為卡號,每條數據以字母“K”開頭,后面是機號和刷卡時間。
本系統進行了全面的調試和驗證,并已投入實際應用。結果表明系統運行可靠、功能完備、效果良好。
5 結束語
本文介紹的智能化、網絡化的現代安防辨識系統,涉及射頻識別、數據采集與處理、嵌入式Internet及串行通信等方面的技術,其中以射頻識別和嵌入式Internet為重點,實現了安防系統中對非接觸式IC卡的操作處理和單片機控制網絡芯片通過互聯網傳輸數據,推動了安防系統網絡化、智能化的進程。
參考文獻
1 Sakamura K.Radio Frequency Identification and Noncontact smart cards.IEEE Micro,2001;21(6)
2 Agranat I D.Engineering Web Technologies for Embedded Applications.IEEE Internet Computing,1998;2(3)
3 Lee K B,Schneeman R D.Internet-based Distributed Measurement and Control Applications.IEEE Instrumentation & Measurement Magazine,1999;2(2)
4 Riihijarvi J,Mahonen P,Saaranen M J et al.Providing Network Connectivity for Small Appliances:a Functionally Minimized Embedded Web Server.IEEE Communications Magazine,2001;39(10)
5 張連明,霍迎輝.嵌入式系統的設計與開發.國外電子元器件,2004;(1)
6 魯士文.計算機網絡協議和實現技術.北京:清華大學出版社,2000
7 趙海.嵌入式Internet——21世紀的一場信息技術革命.北京:清華大學出版社,2001
8 曹宇,魏豐,胡士毅.用51單片機控制RTL8019實現以太網通訊.電子技術應用,2003;29(1)