劉春林 楊暉
摘 要: 為了解決傳統安防系統存在的低可靠、成本高、不利于系統集成的缺點,提出一種基于ARM平臺的智能安防系統設計方案。設計以Cortex?A8為控制器的前端設備,采用LPC11C14為控制器、ZICM2410為ZigBee射頻模塊、SC16IS752為SPI轉UART模塊的終端設備。系統采用Linux 3.0.8內核、Android 4.0版本文件系統、Arm?none?linux?gnueabi?gcc工具鏈、Eclipse開發工具對前端和終端設備的軟件流程進行設計。系統測試結果表明,該系統可以正確、實時地采集各項安防數據,實現了用戶出入的有效監控,且在采集數據超出正常范圍時發出警報。
關鍵詞: 安防系統; Cortex?A8; Cortex?M0; ZigBee
中圖分類號: TN948.64?34; TP277 文獻標識碼: A 文章編號: 1004?373X(2016)24?0075?04
Design and implementation of intelligent security system based on ARM platform
LIU Chunlin, YANG Hui
(School of Information Engineering, Kaili University, Kaili 556011, China)
Abstract: In order to solve the problems of low reliability, high cost and poor system integration of the traditional security system, a new design scheme of intelligent security system based on ARM platform is proposed. A front?end equipment taking Cortex?A8 as the controller, as well as a terminal equipment taking LPC11C14 as controller, ZICM2410 as the ZigBee RF module and SC16IS752 as UART module converted through SPI are designed. The Linux3.0.8 kernel, Android4.0 version file system, Arm?none?linux?gnueabi?gcc tool chain, Eclipse development tool are used in the system to carried out the design of the software flow of the front end and the terminal equipment. The system test results show that the system can collect all kinds of security data in real time correctly, realize the effective monitoring of user access, and raise the alarm while the collected data is beyond the normal range.
Keywords: security system; Cortex?A8; Cortex?M0; ZigBee
智能安防系統主要是利用計算機、無線通信技術通過網絡化的管理,使得工作和生活更加輕松、安全。近年來,智能安防系統正在由數字化、網絡化向智能化方向發展[1?3]。其通過物聯網、圖像識別處理、無線傳感器傳輸等技術實現智能安防系統事前預警、事中處理、事后能及時取證的全自動智能監控[4]。上述系統集成可利用ARM平臺實現,其不僅能實時地采集安防區域的數據,同時具有成本低、可靠性高和便于系統集成的優點。
1 系統總體設計
本文的安防系統利用Cortex_M0采集房間信息,Cortex_A8作為中央監控服務器設備。
1.1 系統功能圖
Cortex?A8是一款高性能、高效率的ARMV7應用處理器。Cortex?M0是一款尺寸小、性能高的ARM應用處理器。Android界面顯示(Cortex?A8)來自于Cortex?m0模擬量,并可對Cortex?M0進行控制或操作。基于Cortex?A8和Cortex?M0的系統功能圖,如圖1所示。
1.2 系統功能描述
系統采用Linux 3.0.8內核、Android 4.0版本文件系統、Arm?none?linux?gnueabi?gcc工具鏈、Eclipse開發工具[5?6],系統功能描述如表1所示。
2 前端數據中心
程序的線程定義如表2 所示,所用類定義如表3所示。前端數據中心Cortex?A8程序設計首先啟動主界面,跳轉到從界面顯示設備的詳細采集信息,控制線程完成用戶對設備的操作,在應用層、FrameWork層、JNL層處理,最終由ZigBee網絡發送數據并通過數據處理進程完成數據的處理與校驗。其程序設計流程圖見圖2。
3 前端Cortex?A8模塊設計
3.1 Cortex?A8 Android Application層數據流分析
3.1.1 NEWNODE新節點加入
終端設備開啟,通過ZigBee發送新節點數據給前端設備,再由讀線程讀取并對數據進行校驗,判斷是否合法。若數據無誤,查詢該節點鏈表中是否存在,不存在則寫入鏈表并新建節點。新節點加入處理流程圖,如圖3所示。
3.1.2 NODEINFO節點信息更新
在節點存在的情況下,更新鏈表信息并判斷是否進入節點從界面,若是則更新數據。節點信息更新處理流程圖,如圖4所示。
3.1.3 RFID,用戶出入
用戶持RFID卡出入時,從界面判斷是否在鏈表信息,若是則更新數據。用戶出入處理流程圖如圖5所示。
3.2 傳輸數據格式設計
數據包頭:終端設備向前端設備發送數據包頭為0xAA, 前端設備向終端設備發送數據包頭為0x55。設備號:終端設備號(房間號)。
數據類型:0x01是終端設備房間開啟監控;0x02是溫濕度、感光度類型數據;0x30是LED_ON(開燈);0x31是LED_OFF(關燈);0x32是Fan_ON(開風扇);0x33是Fan_OFF(關風扇);0x34是Nixietube_ON(開數碼管);0x35是Nixietube_OFF(關數碼管);0x36是BEEP_ON(開蜂鳴器);0x37是BEEP_OFF(關蜂鳴器);0x04是RFID卡類數據。
數據長度:數據域的字節數,校驗為crc16校驗。
4 終端Cortex?M0模塊設計
Cortex?M0主要采集溫濕度、光感度以及出入刷卡等信息,并將信息上傳至Cortex?A8。再由Cortex?A8發出指令通知Cortex?M0作處理操作??刂菩酒x擇NXP的LPC11C14。其是ARM Cortex?M0系列處理器,能夠勝任終端數據采集的重任[7?10]。Cortex?M0與Cortex?A8之間通信采用ZigBee模塊,整體方案如圖6所示。
4.1 Cortex?M0工作流程
系統上電初始化,啟動定時器、配置各個I/O端口、初始化SPI端口。Cortex?M0工作流程,如圖7所示。
4.2 功能模塊描述
4.2.1 溫濕度傳感器DHT11
DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度傳感器,其具有成本低、性能穩定、抗干擾能力強等優點。其與Cortex?M0的連接如圖8所示,其中上拉電阻R30是為了保證在總線空閑時,其狀態為高電平。
4.2.2 ZigBee通信模塊
ZigBee模塊選用ZICM2410,其與Cortex?M0之間是通過SC16IS752轉換芯片進行連接的,如圖9所示。對于ZICM2410模塊,由于其使用方便,文中只需對數據接口進行讀寫即可,對于網絡配置,可參照其操作手冊。
4.2.3 SC16IS752使用及操作流程
SC16IS752是一款SPI/I2C轉UART通信芯片,實際使用選擇SPI轉UART通信模式。在該模式下,自身只能作為從機,Cortex?M0為主機。Cortex?M0的ZigBee接收中斷程序流程,如圖10所示。系統上電初始化SPI端口,SPI數據發送和接收流程圖如圖11所示。
RFID讀卡模塊通過SPI0端口與Cortex?M0通信,其中斷引腳與Cortex?M0 I/O 端口連接。讀取I/O端口電平,即可判斷刷卡情況。RFID讀卡流程如圖12所示。
5 系統測試
打開Cortex?A8設備,啟動程序,打開Cortex?M0設備,程序檢測到設備并添加。系統界面當前溫度25 ℃,濕度21%RH,光感值187,模擬用戶52443b78使用磁卡對Cortex?M0進行刷卡出入操作。若采集的數據值超出正常范圍時,可激活LED顯示或蜂鳴器報警,系統信息界面如圖13所示。
6 結 語
本文設計一種基于ARM平臺的智能安防系統方案,系統由前端設備Cortex?A8和終端設備Cortex?M0組成,對系統的軟件流程進行了詳細設計,同時對終端硬件進行了描述。最終,通過運行測試結果表明,該系統能實時采集數據和監控刷卡,并具有成本低、性能高、可移植性強等優點。
參考文獻
[1] 戴敏,王宜懷,潘啟勇.基于Zigbee技術的智能家居系統設計[J].計算機測量與控制,2013,21(3):706?708.
[2] 葉青.一種智能家居系統解決方案及部分模擬實現[D].昆明:昆明理工大學,2008.
[3] 閻莉.探討智能家居系統設計與實現途徑[J].包裝工程,2014(22):49?52.
[4] 趙水昌.嵌入式車載監控系統終端的設計與開發[D].大連:大連理工大學,2006.
[5] 陳剛.Eclipse從入門到精通[M].2版.北京:清華大學出版社,2007.
[6] 孫更新,邵長恒,賓晟.Android從入門到精通[M].北京:電子工業出版社,2011.
[7] SLOSS Andrew N, SYMES Dominic, WRIGHT Chris.ARM嵌入式系統開發:軟件設計與優化[M].沈建華,譯.北京:北京航空航天大學出版社,2005.
[8] 滿莎,楊恢先,彭友,等.基于ARM9的嵌入式無線智能家居網關設計[J].計算機應用,2010,30(9):2541?2544.
[9] 韓玉文.基于ARM9的嵌入式無線智能家庭網關的設計[D].大連:大連海事大學,2012.
[10] 高靜,王福豹,段渭軍.面向智能家居的嵌入式傳感網網關的研究與設計[J].現代電子技術,2011,34(4):19?22.