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