主頁(http://www.www.xzhtuan.com):基于ARM嵌入式的遠程監(jiān)控系統(tǒng)設計
基于arm 內核的嵌入式系統(tǒng)在遠程監(jiān)控報警系統(tǒng)中的設計實現(xiàn)與應用。核心部分主要包 括 arm 嵌入式平臺設計及 μC-OS 嵌入式實時操作系統(tǒng)移植;人機交互界面 μCGUI 的設計與實現(xiàn);遠程通 訊及自動報警等;系統(tǒng)的設計還考慮到了擴展性和通用性以及與其他監(jiān)控設備無縫連接等問題。 1 引言 監(jiān)控系統(tǒng)現(xiàn)已成為現(xiàn)代化生產、生活中不可缺少的重要組成部分。目前,監(jiān)控系列產品 種類繁多,大部分廣泛應用于交通、醫(yī)院、銀行、家居、學校等安防領域。 隨著嵌入式系統(tǒng)的出現(xiàn),尤其是基于 arm 內核芯片的嵌入式系統(tǒng)的出現(xiàn),使得監(jiān)控系統(tǒng)的應用領域更為廣泛。本文設計的遠程監(jiān)控報警系統(tǒng)除了作為安防功能外,還可以應用于 以下領域:通訊領域:遠程通訊、視頻會議和視頻點播、證券、遠程教育等。醫(yī)療領域:病 房監(jiān)護、遠程診斷等。工業(yè)領域:遠程設備診斷、維護、維修,遠程生產監(jiān)控等。家用領域:家用電器遠程維護;電、氣、火等重大事故自動報警等。 2 系統(tǒng)設計 2.1系統(tǒng)組成 本文設計的遠程監(jiān)控系統(tǒng)主要由中心控制器、數(shù)據(jù)終端、傳感器模塊、通訊模塊、接口模塊等幾部分組成。系統(tǒng)組成圖(如圖 1)。 
2.2中心控制器 系統(tǒng)核心負責數(shù)據(jù)采集判斷處理。為了提高系統(tǒng)工作效率,這里使用的是三星公司的 S3C2410芯片作為處理器。S3C2410 芯片是一款高性價比的 ARM 芯片,非常適合作手機、PDA 等手持設備。主要特性包括: arm920T 內核,最高工作頻率 203MHz,LCD 控制器:可直接驅動真彩液晶屏,最高支持 2048×1024 真彩液晶屏,2 個 USB Host端口,1 個USB Device端口,支持 Nand flash 啟動模式,SD 卡接口,UART、IIC、SPI、IIS 等多種類 型串行接口, 4 通道DMA。 本文的監(jiān)控系統(tǒng)的 CPU 核心部分使用的是標準的 SO-DIMM200 金手指接口,便于后期 維護和升級。如果該監(jiān)控系統(tǒng)的使用環(huán)境較為苛刻,可以將 CPU替換為S3C2440芯片。 S3C2440完全兼容S3C2410全部特性(注意:芯片引腳不完全兼容)。與S3C2410芯片相比,S3C2440的性能更為優(yōu)越:最高工作頻率可達500MHz,內部集成CMOS攝像頭接口,但價格較昂貴。 2.3數(shù)據(jù)終端 數(shù)據(jù)終端的主要功能是對監(jiān)控數(shù)據(jù)進行分析、處理,及時將數(shù)據(jù)匯報給監(jiān)控人員。同時,監(jiān)控人員可以根據(jù)現(xiàn)場情況,使用數(shù)據(jù)終端對監(jiān)控的設備進行遠程控制。數(shù)據(jù)終端最大優(yōu)勢 就是安全、可靠、便于攜帶。一般情況下為了節(jié)約成本,可以將手機、PDA 等移動通訊設 備作為數(shù)據(jù)終端使用。但是如果作為對高危環(huán)境或精密儀器的監(jiān)控系統(tǒng),數(shù)據(jù)終端需要專業(yè) 定制。這里使用的是中心控制器的作為數(shù)據(jù)終端,即中心控制器既作為數(shù)據(jù)采集發(fā)送中心,也可數(shù)據(jù)接收處理中心使用。
2.4通訊模塊 通訊模塊主要負責遠程數(shù)據(jù)通訊。帶有 RS232/485、GPRS、CDMA 等一種或多種通訊 方式。需要根據(jù)現(xiàn)場環(huán)境和用戶需要進行定制。通訊模塊與控制器通過接口總線連接,連接 方式為 TTL/RS232/RS485 等。 2.5傳感器模塊 傳感器模塊的主要功能是感知外部環(huán)境,對外部環(huán)境進行實時監(jiān)測。由人體紅外傳感器、 振動傳感器、超聲波傳感器、可燃氣體傳感器、溫度傳感器、濕度傳感器等一種或多種傳感 器組成。可根據(jù)現(xiàn)場監(jiān)測環(huán)境不同進行定制。 2.6接口模塊 接口模塊主要作為系統(tǒng)擴展功能使用,將控制器的 A/D 轉換、I2C、SPI 等多種接口進行 外部擴展。接口模塊沒有特定的功能,但可以根據(jù)需要與其他設備連接,例如可以與工業(yè)儀 器儀表或設備連接,實時對儀器或設備進行監(jiān)控。 接口模塊雖然不是監(jiān)控系統(tǒng)的主要部分,但是對于整個系統(tǒng)來說卻是不可缺少。因為本文的監(jiān)控系統(tǒng)主要考慮到了系統(tǒng)的可擴展性和與其它系統(tǒng)無縫連接。通過接口模塊可以很方 便的對監(jiān)控系統(tǒng)進行升級,并且可以實現(xiàn)與其他系統(tǒng)或設備的無縫連接。這也是本系統(tǒng)區(qū)優(yōu) 于其他監(jiān)控系統(tǒng)的主要功能。 3 軟件設計 3.1工作軟件 系統(tǒng)的軟件設計較為復雜,這里只給出了整個工作軟件流程(如圖 2)。
 3.2操作系統(tǒng)移植 S3C2410 芯片支持多種嵌入式操作系統(tǒng),如 WINCE、uCLinux 等。但考慮到監(jiān)控系統(tǒng) 的實時性要求,這里使用的是 μC/OS-II 嵌入式實時操作系統(tǒng)。μC/OS-II 是一個源碼公開、可 移植、可固化、可裁剪、占先式的實時多任務操作系統(tǒng)。其絕大部分源碼是用 ANSI C 寫的。 整個嵌入式系統(tǒng)分為兩大層:硬件層和軟件層。這里主要研究軟件層的架構。軟件層主 要分為四個部分:實時操作系統(tǒng)內核,與處理器相關部分,與應用程序相關部分,用戶的應用程序。移植 μC/OS-II 系統(tǒng)需要修改的文件有:應用程序相關文件: OS_CFG.HINCLUDE.H; 處理器相關文件: OS_CPU.H、 OS_CPU_A.ASM、OS_CPU_C.C。 3.2.1 與處理器相關的代碼 這是移植中最關鍵的部分。內核將應用系統(tǒng)和底層硬件有機的結合成一個實時系統(tǒng),要 使同一個內核能適用于不同的硬件體系,就需要在內核和硬件之間有一個中間層,這就是與 處理器相關的代碼。處理器不同。這部分代碼也不同。我們在移植時需要自己移植這部分代 碼。
a)OS_CPU.H 包括了用#define 定義的與處理器相關的常量,宏和類型定義,有系統(tǒng)數(shù)據(jù)類型定義,棧 增長方向定義,關中斷和開中斷定義,系統(tǒng)軟中斷的定義等等。 b)OS_CPU_A.ASM 這部分需要對處理器的寄存器進行操作,所以必須用匯編語言來編寫。包括四個子函數(shù): OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。OSStartHighRdy()在多任務 系統(tǒng)啟動函數(shù) OSStart()中調用。完成的功能是:設置系統(tǒng)運行標志位 OSRunning = TRUE; 將就緒表中最高優(yōu)先級任務的棧指針 Load 到 SP 中,并強制中斷返回。這樣就緒的最高優(yōu)先 級任務就如同從中斷里返回到運行態(tài)一樣,使得整個系統(tǒng)得以運轉。OSCtxSw()在任務級任 務切換函數(shù)中調用的。任務級切換是通過 SWI 或者 TRAP 人為制造的中斷來實現(xiàn)的。ISR 的向 量地址必須指向 OSCtxSw()。這一中斷完成的功能:保存任務的環(huán)境變量(主要是寄存器的值, 通過入棧來實現(xiàn)),將當前 SP 存入任務 TCB 中,載入就緒最高優(yōu)先級任務的 SP,恢復就緒最高 優(yōu)先級任務的環(huán)境變量,中斷返回。這樣就完成了任務級的切換。
(中國集群通信網(wǎng) | 責任編輯:陳曉亮) |