基于μC/OS-II的基站監控終端的設計與實現
摘要:為提高通信基站監控終端的可靠性和事件處理能力,本文介紹采用 16位 RISC架構嵌入式微處理器 R8800實現基站監控終端的設計。利用 Paradigm C++ 5.1集成環境編寫監控終端控制程序,實現μC/OS-II在 R8800上的移植。通過實裝調試,設計的任務程序能在硬件環境和操作系統下穩定工作,實現了監控終端對環境模擬量和開關量信息的采集,對智能電源、空調設備和通風系統的通信與控制,與區域監控中心進行遠程通信。
本文引用地址:http://www.j9360.com/article/148654.htm近年來,隨著移動通信業務的迅猛發展,尤其是 3G通信網建設的進行,通信基站的建設數量與日俱增。通信運營商對快速建站、降低基站綜合成本和運營維護成本的要求更加迫切。基站監控終端,可做到基站無人值守、遠程監控,給基站內設備提供一個穩定可靠的工作環境,能夠明顯降低運營商的維護和管理成本,具有很高的應用價值。設計基站監控系統的核心問題在于如何保證各功能模塊和監控模塊自身的正常運行,對于各種異常和故障如何及時做出準確的報警,以及面向使用者的人性化設計等方面。
1 監控終端硬件設計
1.1 功能描述基站監控終端主要有 3個要求:門禁功能(對進入基站的人員進行身份驗證)、環境控制功能(為設備提供安全合適的環境)、報警功能(對各種故障和異常及時做出報警)。
本監控終端的硬件結構如圖 1所示。基站內智能電源、空調和通風系統,通過標準數據通信接口與本監控終端傳輸設備和控制信息。智能電源能夠自動管理和切換市電和蓄電池,為站內設備提供穩定的-48V電源,空調系統使用專用的空調柜機及工業級控制模塊,可以改善站內溫濕度環境,這兩者與終端采用 RS485連接。通風系統由風機和百葉窗組成,相對空調系統而言的結構簡單,可靠性高,且較為省電,是優先使用的溫度控制手段,通風系統與終端采用 RS232連接。監控終端需要采集交直流電源電壓電流數據,溫濕度等模擬量數據,采集水浸、煙感和與門禁相關的干結點開關信號,監控終端具有本級顯示和鍵盤輸入功能。監控終端通過時隙提取設備、撥號 MODEM、外置 GSM MODEM 3種手段向區域監控中心傳送基站狀態參數和報警數據,本終端設計了與這 3種通信設備硬件接口和軟件協議。

1.2硬件設計
監控終端選擇 RDC公司的 R8800作為 CPU。R8800微控制器是 16位 RISC嵌入式微處理器,指令集與 x86兼容, R8800可以與 AM186EM相互替換,昀高工作頻率達到 40MHz。 R8800具有 1M的尋址空間, 32個 PIO管腳,7個內部中斷,6個外部中斷,3個定時器, 1個 Uart,WDT看門狗,100QFP/LQFP封裝[3]。本終端采用兩塊 128K × 8-bit Flash ROM,兩塊 128K × 8-bit Static RAM,滿足 1M的尋址空間。
利用現場可編程門陣列( FPGA)設計 CPU外設的譯碼電路,本終端采用 Xilinx XCS20芯片,該芯片具有 2萬門,160個 IO端口,具有 JTAG調試端口,芯片不必脫離線路板就可以更新設計并下載邏輯電路程序。FPGA除了對 16C554的片選、多路選擇開關、數模轉換、FLASH芯片的譯碼外,還負責鍵盤輸入、水浸、門狀態、鎖芯狀態、出門按鈕、紅外、煙感信號的干結點開關信號輸入,液晶顯示輸出,門鎖和照明的控制,與實時時鐘 HT1380的串行通信。
本終端通過兩個異步通信芯片 16C554外擴 6個收發單元, 3個 RS232端口,連接通風系統、時隙提取設備和 GSM MODEM,2個 RS485端口,連接工業空調和智能電源,還有 1個獨立的收發控制電路與撥號 MODEM接口。16C554內含 4個 16C550異步通信單元,每個單元獨立控制發送與接收,且具有 16字節 FIFO以減少中斷請求次數,波特率發生器可編程。本終端用了 6個 16C550單元,這六路通信中斷接至 R8800的六個外部中斷端口上,實現通信接收信息中斷。
表征各種環境參量的傳感器的輸出信號經過預處理輸出一系列的模擬信號,模擬信號經過多路選擇開關送給 A/D轉換芯片,A/D轉換芯片把轉換后的數據送入 FLASH芯片進行存儲。
鍵盤選用通用 4×4按鈕鍵盤,包括: 10個數字鍵、上下鍵、確認鍵、返回鍵。選擇 8279芯片作為鍵盤接口芯片,它能自動完成鍵盤的掃描輸入,能自動清除按鍵抖動,并實現多鍵同時按下的保護,減輕軟件負擔。液晶顯示器件選擇了帶有接口芯片 ST7920的圖形點陣式液晶顯示模塊 LCM12864,顯示分辨率為 128×64,它具有多種接口方式和三種顯示方式(圖形方式、文本方式及圖形和文本合成方式),內部具有字符發生器,可管理 64K顯示緩沖區及字符發生器,允許隨時訪問顯示緩沖區。
2 監控終端的軟件設計
2.1軟件任務模塊軟件部分由 R8800控制程序和 FPGA程序組成。由于篇幅的限制,本文主要討論基于 μC/OS-II的監控終端軟件設計。
本系統采用μC/OS-II面向中小型的嵌入式操作系統。采用 μC/OS-II實時系統之后,程序的結構變得非常清晰,根據程序的功能劃分出各個任務(task),系統任務示意如圖 2所示,利用μC/OS-II提供的信號量、郵箱等進行各個任務之間的同步、數據交換以及對共享資源進行保護[4]。

系統設計了開機任務,中斷服務,用戶任務。
(1)開機任務( TaskStart)。系統進行自檢,按程序規定的流程檢測所有設備是否正常工作。自檢成功后,命令系統進入主程序啟動多任務環境,運行所有默認系統任務和用戶任務。開機任務完成后進行自我刪除。
(2)中斷服務程序( Inttask0~Inttask5)。中斷服務程序主要是 R8800響應 16C554串口擴展芯片的接收信息的中斷請求,進入相應的處理程序(幀接受任務 TaskUart0Receive~ TaskUart5Receive),首先對幀信息的完整性與正確性做出判斷,對接收到的命令幀進行判斷,調用系統相應模塊或任務,并回應主叫命令 (幀處理任務 TaskUart0Handle~ TaskUart5Handle)。
(3)用戶任務。該軟件系統擁有 16個任務,數據處理和鍵盤處理任務通過判斷后進行任務切換。主要用戶任務如下:
A.鍵盤掃描任務 (TaskUser0_KeyBoard),采用任務循環,對鍵盤信息(鍵盤由 FPGA進行掃描,將鍵盤信息存在 FPGA的 RAM中)進行動態掃描,當得到新的合法掃描碼時,就向鍵盤郵箱(KeyBoardMailbox)發送帶有鍵盤掃描碼信息的消息。
B.數據采集任務( TaskUser1_DataCollection),采用任務循環,數據采集任務包括模擬量和干結點開關量的數據采集,模擬量的采集由 FPGA譯碼控制,將模數轉換數據存入 Flash,開關量的采集由 FPGA負責采集,也存入 Flash中。CPU將 Flash中的模擬量和開關量數據進行分析處理,在模擬量數據處理上采用去極值求平均法去噪,即對一個檢測點采集多個值去掉昀大值和昀小值然后求平均,這個平均值就作為該點的數據值,對數字量也采用多采集幾次的方法增加可靠性。這樣可以消除突發脈沖、隨機噪聲的干擾,從而進一步提高了系統的抗干擾性和穩定性。
C.溫度控制任務( TaskUser2_TemperatureControl),根據數據采集任務中獲得室內外的溫度狀況,在兼顧考慮節能等要求的情況下,決定控制環境的策略(采用通風系統還是空調系統,還是兩者都采用)。
D.門禁控制任務( TaskUser3_DoorGuard),根據數字量(門磁、鎖芯和紅外傳感器)信號,如果同時有門磁告警和紅外告警判定為人員入侵,啟動報警任務進行報警。
E.報警任務( TaskUser4_Alarm),從通信、數據采集任務和門禁控制任務等處獲得系統的異常和故障情況,及時調用幀發送任務向監控中心和維護人員報警,報警信息包括基站識別號、告警類型及屬性值、告警時間等。
此外,還有中斷服務程序中提到的幀處理任務,幀發送任務,鍵盤處理任務,顯示任務,查詢任務(供查詢歷史數據),設置任務(設置系統運行參數)。
2.2 Paradigm C++集成環境下程序的編寫 監控終端軟件基于μC/OS-II嵌入式操作系統,由上述各程序模塊組成,在 Paradigm C++
5.1集成環境下編譯和調試通過( Paradigm C++是美國 Devtools公司開發的 80x86集成開發環境)。Paradigm C++ IDE帶有可視化助理 (Visual Assist)的編輯器(Editor)、編譯器 (Compiler/Assembler)、連接工具 (Linker)、定位器 (Locater)、Lint工具和集成調試器(Integrated debugger)。Paradigm的集成調試器屏蔽了硬件特殊性,提供了一個標準的軟件接口,主機上的 Paradigm調試器通過 RS232串口與本終端目標板建立通信連接,進行軟件調試 [5][6]。
通常移植μC/OS-II需要注意的兩點問題:
(1)與硬件有關問題,由于 R8800與 x86指令兼容,所以 μC/OS-II的移植根據參考文獻 4和 R8800說明文檔編寫與處理器相關的代碼,系統采用 40MHz的晶振,由于定時器與時鐘節拍有關,修改定時器相關的設置。
(2)與編譯器有關問題,由于 Paradigm C++集成開發環境包括的編譯器和匯編器與 Borland兼容,所以 μC/OS-II移植代碼基本與參考文獻 4一致。
3 結束語
本基站監控終端是基于 16位微處理器和實時操作系統 μC/OS-II的設計,在可靠性和對事件的處理能力、特別是通信能力上明顯優于八位機處理系統。在實驗中,實現了區域監控中心對基站設備運行狀態和環境參量的監控。監控終端能夠記錄和存儲相關的重要數據,顯示運行情況。實現了集成化、智能化、網絡化的集中監控,實現了基站的無人值守,節約了人力資源成本。
評論