1 引言 隨著社會經濟的發展和人民生活水平的不斷提高.同時引發入室搶劫、盜竊等暴力事件頻頻發生.不法分子的作案手段也是越來越向高科技化、高智能化發展。同時,智能家居內部的安防系統通常價格不低.因此必須有一種價格適中且工作穩定的智能安防系統來最大限度的減小損失。本文主要針對前述現象設計基于ARM技術的智能安防系統,該系統主要采用ARM系列芯片中的LPC2210嵌入式微處理器.選用可同時處理多任務的ucos-Ⅱ操作系統。 2 系統的總體設計方案 系統的總體設計體系圖如圖1所示.本系統主要由物業管理中心機、公用電話網、以太網、RS485網、室內嵌入式安防控制器、報警檢測和可視對講設備組成。其中485網構成室內網絡,以太網和公用電話網構成外部通信網。整個系統分防盜、防災報警和可視對講三大部分。其中防盜部分主要防盜報警、緊急呼救系統等;防災部分主要包括防火災發生、防煤氣(可燃氣體)泄露。系統一旦有任何異常情況發生,則通過485網將預先設計好的指令發送到嵌入式安防控制器上,控制器對接收到的指令進行解析同時自身發出警戒信號然后可以通過公用電話網遠程報警給用戶,也可以通過以太網遠程報警給物管中心報警.同時物業管理中心的主機將會記錄下這些信息;可視對講部分包括門口機、電控門、監視、監聽設備等,主要完成對來訪客人的身份確認和電控門的控制,以及與小區對講主機、小區大門對講主機進行對講等功能。 圖1 系統總體設計體系圖 3 系統的硬件設計 LPC2210是基于支持實時仿真和嵌入式跟蹤的16/32位ARM7TDMI-STM CPU.并帶有16kB嵌入式RAM,1個128位寬度的外部存儲器接口和1個獨特的加速器架構,使得32位代碼可在最大時鐘頻率下運行。同時,對代碼規模有嚴格控制的應用.可選用16位Thumb TM模式和32位的ARM模式,ThumbTM下可減少代碼30%,而性能的損失卻很小。系統的結構圖如圖2所示。 圖2 系統結構框圖 3.1 系統時鐘與復位電路 系統時鐘使用11Mhz基準品振,連接LPC2100的X1和X2管腳。由于ARM芯片的高速、低功耗、低電壓導致其噪聲容限低。對電源的紋波、瞬態響應性能等方面要求更高,本系統采用帶I2C存儲器的電源監控芯片GAT1025JI-30以提高系統的可靠性。 3.2 JTAG接口電路與存儲器接口電路 采用ARM公司提供的標準20腳JTAG防真調試接口。本系統擴展了2MB的NOR FLASH(SST39VF160)、8MBPSRAM(MT45W4MW 16)、16MB的NAND FLASH(K9F2808UOC)與一片帶I2C的E2PROM存儲器(CAT1025)。 3.3 LED與A/D接口 分別采用P2.28-P2.33作為前端探測器的信號指示,其中亮表示有警情,否則,燈滅。LPC2210具有4路lO位的A/D轉換器.其參考電壓為3.3V。 3.4 以太網接口電路 本系統設計以RTL8019AS芯片為核心的以太網接口電路.以16位總線的方式對RTL8019AS進行訪問. 3.5 電話接口電路 選用接收發送集成芯片MT8880.MT8880是MITEL公司推出的DTMF發送接收器,分為振鈴檢測與模擬摘機電路、雙音多頻接收與發送電路. 3.6 485接口電路 通過LPC2210的UART口實現,具體電路如圖3。在系統中選用SP3485來擴展RS485電路.SP3485是+3.3v低功耗半雙工收發器件,完全滿足RS 485標準的要求。這一芯片與SP485管腳完全兼容,并同時滿足工業標準。SP3485的RE與DE腳與LPC2214的P0.10連接。當P0.10管腳為高電平時允許DI腳上的數據發送,DI腳與LPC2214的UARTI輸出腳P0.8TXD連接。當P0.10管腳為低電平時.允許RD腳讀取485線上的數據。RD腳與LPC2214的UARTI輸入腳P0.9RXD連接。圖中兩個電阻R3、R4為偏置電阻.用于保證無連接的SP485芯片處于空閑狀態,提供網絡失效保護,以提高RS485節點與網絡的可靠性。DWl、DW2是用來保護RS485總線的,避免RS485總線在受外界干擾時(雷擊、浪涌)產生的高壓,損壞RS485收發器。 圖3 485接口電路 4 系統軟件設計 本系統的軟件設計主要包括ARM的應用程序設計和ucos-Ⅱ操作系統的移值。ARM的應用程序按照系統所要實現的功能。整個系統被劃分為幾個并行存在的任務,主要包括報警檢測、電話報警、LED顯示、485應用程序等,應用程序采用ANSI C語言編寫。由于占先式操作系統塒任務的調度是按優先權的高低進行的,將系統的所有任務按其優先級從高到低順序排列依次是:報警檢測、LED顯示、通信、數據分析等,由于多個任務可能會出現對共享資源的同時操作。從而造成數據的破壞或丟失,為了防止數據的破壞或丟失,出現使用信息出現互斥操作現 圖4 系統主流程圖 ucos-Ⅱ操作系統主要是協調LPC2210對程序的任務管理和調度.ucos-Ⅱ是源碼公開的著名實時內核。是一個完整的、可移植的、可固化、可裁剪的占先式實時多任務內核,主要使用ANSI C語言編寫程序,使用ADS編譯和調試程序。操作系統的移植既是使實時內核在其他的微處理器或微控制器卜運行。因為ucos-Ⅱ大部分代碼是用C語言編寫的,所以其移植性較好,但是部分代碼是用匯編編寫的。ucos-Ⅱ的結構及與硬件的關系圖見圖5。 ucos-Ⅱ的移植需要滿足下面五個條件: * 處理器的C編譯器能產生可重入型代碼。 * 用c語言就可以打開和關閉中斷。 * 處理器支持中斷。并且能產生定時中斷(通常在10至100Hz之M)。 * 處理器支持能夠容納一定量數據(可能是幾千字節)的硬件堆棧。 * 處理器有將堆棧指針和其它CPU寄存器讀出和存儲到堆棧或內存中的指令。 ucos-Ⅱ的移植工作。主要與三個文件相關:處理器相關c文件(OS_CPU.H,os_CPU C.C)和匯編文件(OS_CPU_A.s)文件,其中在OS_CPU.H中需要針對處理器的字長重新定義一系列數據類型、設置常量來標志堆棧增長方向及聲明用于開關中斷和任務切換的宏。在OS_CPU C.C中需要對任務堆棧初始化,主要涉及到任務初始化時的一個堆棧設計,也就是在堆棧增長方向上如何定義每個需要保存的寄存器位置。OS_CPU_A.S主要涉及4個匯編語言.其中函數OSStartHighRdy()在OSStart()多任務啟動之后.負責從最高優先級任務的TCB控制塊中獲得該任務的堆棧指針sp,通過sp依次將CPU現場恢復,這時系統就將控制權交給用戶創建的該任務進程,直到該任務被阻塞或者被其他更高優先級的任務搶占;OSCtxsw()實現任務級的任務切換,它是當任務因為被阻塞而主動請求CPU調度時被執行.由于此時的任務切換都是在非異常模式下進行的,因此區別于中斷級別的任務切換,它的工作是先將當前任務的cpu現場保存到該任務堆棧中然后獲得最高優先級任務的堆棧指針,從該堆棧中恢復此任務的CPU現場.使之繼續執行。這樣就完成了一次任務切換;OSIntCtxSw()實現中斷級的任務切換.它是在時鐘中斷ISR(中斷服務例程)中發現有高優先級任務等待的時鐘信號到來,則需要在中斷退出后并不返回被中斷任務.而是直接調度就緒的高優先級任務執行。這樣做的目的主要是能夠盡快地讓高優先級的任務得到響應,保證系統的實時性能;OSTicklSR()是時鐘中斷處理函數,它的主要任務是負責處理時鐘中斷,調用系統實現的OSTimeTick函數,如果有等待時鐘信號的高優先級任務,則需要在中斷級別上調度其執行。完成上述工作以后,UCOS一Ⅱ就可以正常運行在ARM處理器了。 圖5 ucos-Ⅱ的結構及與硬件的關系圖 5 結語 安防系統就是運用科技手段與犯罪作斗爭。是人防和物防系統的延續和發展,可以提高迅速處置非法闖入、破壞、盜竊等突發事件的能力,起到預防和延遲警情的發生.安防系統采用的技術設備、措施等都蘊含著較高的科技水平.本文提出采用嵌入式ARM技術和ucos一Ⅱ操作系統作為新一代安防控制系統的新架構.它具有功能強大、價格合適、運行穩定可靠、抗干擾性強、實時性較強、網絡功能強大的特點,預計是新型安防控制系統的發展方向。隨著嵌入式硬件平臺的不斷發展。其程序可以很方便地向其他性能更好、價格更合適的硬件平臺移植,并且可以配置更加強大的功能組件。 本文作者創新點:采用ARM系列芯片中的LPC2210嵌入式微處理器,選用可同時處理多任務的uCOS-Ⅱ操作系統.完成家居安防的控制,本系統將有效消除家居的安全隱患。并在警情不可避免發生時,能實現快速響應,及時通知報警的功能。最大限度降低危害的發生率,大大提高家居生活的質量與智能化水平。 項目經濟效益:每套系統節約成本4000元左右。 作者:汪海燕 來源:《微計算機信息》(嵌入式與SOC)2009年第7-2期 |