基于μC/OS-II的基站監(jiān)控終端
近年來(lái),隨著移動(dòng)通信業(yè)務(wù)的迅猛發(fā)展,尤其是 3G通信網(wǎng)建設(shè)的進(jìn)行,通信基站的建設(shè)數(shù)量與日俱增。通信運(yùn)營(yíng)商對(duì)快速建站、降低基站綜合成本和運(yùn)營(yíng)維護(hù)成本的要求更加迫切?;颈O(jiān)控終端,可做到基站無(wú)人值守、遠(yuǎn)程監(jiān)控,給基站內(nèi)設(shè)備提供一個(gè)穩(wěn)定可靠的工作環(huán)境,能夠明顯降低運(yùn)營(yíng)商的維護(hù)和管理成本,具有很高的應(yīng)用價(jià)值。設(shè)計(jì)基站監(jiān)控系統(tǒng)的核心問題在于如何保證各功能模塊和監(jiān)控模塊自身的正常運(yùn)行,對(duì)于各種異常和故障如何及時(shí)做出準(zhǔn)確的報(bào)警,以及面向使用者的人性化設(shè)計(jì)等方面。
本文引用地址:http://m.butianyuan.cn/article/201609/305165.htm1 監(jiān)控終端硬件設(shè)計(jì)
1.1 功能描述基站監(jiān)控終端主要有 3個(gè)要求:門禁功能(對(duì)進(jìn)入基站的人員進(jìn)行身份驗(yàn)證)、環(huán)境控制功能(為設(shè)備提供安全合適的環(huán)境)、報(bào)警功能(對(duì)各種故障和異常及時(shí)做出報(bào)警)。
本監(jiān)控終端的硬件結(jié)構(gòu)如圖 1所示?;緝?nèi)智能電源、空調(diào)和通風(fēng)系統(tǒng),通過標(biāo)準(zhǔn)數(shù)據(jù)通信接口與本監(jiān)控終端傳輸設(shè)備和控制信息。智能電源能夠自動(dòng)管理和切換市電和蓄電池,為站內(nèi)設(shè)備提供穩(wěn)定的-48V電源,空調(diào)系統(tǒng)使用專用的空調(diào)柜機(jī)及工業(yè)級(jí)控制模塊,可以改善站內(nèi)溫濕度環(huán)境,這兩者與終端采用 RS485連接。通風(fēng)系統(tǒng)由風(fēng)機(jī)和百葉窗組成,相對(duì)空調(diào)系統(tǒng)而言的結(jié)構(gòu)簡(jiǎn)單,可靠性高,且較為省電,是優(yōu)先使用的溫度控制手段,通風(fēng)系統(tǒng)與終端采用 RS232連接。監(jiān)控終端需要采集交直流電源電壓電流數(shù)據(jù),溫濕度等模擬量數(shù)據(jù),采集水浸、煙感和與門禁相關(guān)的干結(jié)點(diǎn)開關(guān)信號(hào),監(jiān)控終端具有本級(jí)顯示和鍵盤輸入功能。監(jiān)控終端通過時(shí)隙提取設(shè)備、撥號(hào) MODEM、外置 GSM MODEM 3種手段向區(qū)域監(jiān)控中心傳送基站狀態(tài)參數(shù)和報(bào)警數(shù)據(jù),本終端設(shè)計(jì)了與這 3種通信設(shè)備硬件接口和軟件協(xié)議。
1.2硬件設(shè)計(jì)
監(jiān)控終端選擇 RDC公司的 R8800作為 CPU。R8800微控制器是 16位 RISC嵌入式微處理器,指令集與 x86兼容, R8800可以與 AM186EM相互替換,昀高工作頻率達(dá)到 40MHz。 R8800具有 1M的尋址空間, 32個(gè) PIO管腳,7個(gè)內(nèi)部中斷,6個(gè)外部中斷,3個(gè)定時(shí)器, 1個(gè) Uart,WDT看門狗,100QFP/LQFP封裝[3]。本終端采用兩塊 128K × 8-bit Flash ROM,兩塊 128K × 8-bit Static RAM,滿足 1M的尋址空間。
利用現(xiàn)場(chǎng)可編程門陣列( FPGA)設(shè)計(jì) CPU外設(shè)的譯碼電路,本終端采用 Xilinx XCS20芯片,該芯片具有 2萬(wàn)門,160個(gè) IO端口,具有 JTAG調(diào)試端口,芯片不必脫離線路板就可以更新設(shè)計(jì)并下載邏輯電路程序。FPGA除了對(duì) 16C554的片選、多路選擇開關(guān)、數(shù)模轉(zhuǎn)換、FLASH芯片的譯碼外,還負(fù)責(zé)鍵盤輸入、水浸、門狀態(tài)、鎖芯狀態(tài)、出門按鈕、紅外、煙感信號(hào)的干結(jié)點(diǎn)開關(guān)信號(hào)輸入,液晶顯示輸出,門鎖和照明的控制,與實(shí)時(shí)時(shí)鐘 HT1380的串行通信。
本終端通過兩個(gè)異步通信芯片 16C554外擴(kuò) 6個(gè)收發(fā)單元, 3個(gè) RS232端口,連接通風(fēng)系統(tǒng)、時(shí)隙提取設(shè)備和 GSM MODEM,2個(gè) RS485端口,連接工業(yè)空調(diào)和智能電源,還有 1個(gè)獨(dú)立的收發(fā)控制電路與撥號(hào) MODEM接口。16C554內(nèi)含 4個(gè) 16C550異步通信單元,每個(gè)單元獨(dú)立控制發(fā)送與接收,且具有 16字節(jié) FIFO以減少中斷請(qǐng)求次數(shù),波特率發(fā)生器可編程。本終端用了 6個(gè) 16C550單元,這六路通信中斷接至 R8800的六個(gè)外部中斷端口上,實(shí)現(xiàn)通信接收信息中斷。
表征各種環(huán)境參量的傳感器的輸出信號(hào)經(jīng)過預(yù)處理輸出一系列的模擬信號(hào),模擬信號(hào)經(jīng)過多路選擇開關(guān)送給 A/D轉(zhuǎn)換芯片,A/D轉(zhuǎn)換芯片把轉(zhuǎn)換后的數(shù)據(jù)送入 FLASH芯片進(jìn)行存儲(chǔ)。
鍵盤選用通用 4×4按鈕鍵盤,包括: 10個(gè)數(shù)字鍵、上下鍵、確認(rèn)鍵、返回鍵。選擇 8279芯片作為鍵盤接口芯片,它能自動(dòng)完成鍵盤的掃描輸入,能自動(dòng)清除按鍵抖動(dòng),并實(shí)現(xiàn)多鍵同時(shí)按下的保護(hù),減輕軟件負(fù)擔(dān)。液晶顯示器件選擇了帶有接口芯片 ST7920的圖形點(diǎn)陣式液晶顯示模塊 LCM12864,顯示分辨率為 128×64,它具有多種接口方式和三種顯示方式(圖形方式、文本方式及圖形和文本合成方式),內(nèi)部具有字符發(fā)生器,可管理 64K顯示緩沖區(qū)及字符發(fā)生器,允許隨時(shí)訪問顯示緩沖區(qū)。
2 監(jiān)控終端的軟件設(shè)計(jì)
2.1軟件任務(wù)模塊軟件部分由 R8800控制程序和 FPGA程序組成。由于篇幅的限制,本文主要討論基于 μC/OS-II的監(jiān)控終端軟件設(shè)計(jì)。
本系統(tǒng)采用μC/OS-II面向中小型的嵌入式操作系統(tǒng)。采用 μC/OS-II實(shí)時(shí)系統(tǒng)之后,程序的結(jié)構(gòu)變得非常清晰,根據(jù)程序的功能劃分出各個(gè)任務(wù)(task),系統(tǒng)任務(wù)示意如圖 2所示,利用μC/OS-II提供的信號(hào)量、郵箱等進(jìn)行各個(gè)任務(wù)之間的同步、數(shù)據(jù)交換以及對(duì)共享資源進(jìn)行保護(hù)[4]。
系統(tǒng)設(shè)計(jì)了開機(jī)任務(wù),中斷服務(wù),用戶任務(wù)。
(1)開機(jī)任務(wù)( TaskStart)。系統(tǒng)進(jìn)行自檢,按程序規(guī)定的流程檢測(cè)所有設(shè)備是否正常工作。自檢成功后,命令系統(tǒng)進(jìn)入主程序啟動(dòng)多任務(wù)環(huán)境,運(yùn)行所有默認(rèn)系統(tǒng)任務(wù)和用戶任務(wù)。開機(jī)任務(wù)完成后進(jìn)行自我刪除。
(2)中斷服務(wù)程序( Inttask0~I(xiàn)nttask5)。中斷服務(wù)程序主要是 R8800響應(yīng) 16C554串口擴(kuò)展芯片的接收信息的中斷請(qǐng)求,進(jìn)入相應(yīng)的處理程序(幀接受任務(wù) TaskUart0Receive~ TaskUart5Receive),首先對(duì)幀信息的完整性與正確性做出判斷,對(duì)接收到的命令幀進(jìn)行判斷,調(diào)用系統(tǒng)相應(yīng)模塊或任務(wù),并回應(yīng)主叫命令 (幀處理任務(wù) TaskUart0Handle~ TaskUart5Handle)。
(3)用戶任務(wù)。該軟件系統(tǒng)擁有 16個(gè)任務(wù),數(shù)據(jù)處理和鍵盤處理任務(wù)通過判斷后進(jìn)行任務(wù)切換。主要用戶任務(wù)如下:
A.鍵盤掃描任務(wù) (TaskUser0_KeyBoard),采用任務(wù)循環(huán),對(duì)鍵盤信息(鍵盤由 FPGA進(jìn)行掃描,將鍵盤信息存在 FPGA的 RAM中)進(jìn)行動(dòng)態(tài)掃描,當(dāng)?shù)玫叫碌暮戏⊕呙璐a時(shí),就向鍵盤郵箱(KeyBoardMailbox)發(fā)送帶有鍵盤掃描碼信息的消息。
B.數(shù)據(jù)采集任務(wù)( TaskUser1_DataCollection),采用任務(wù)循環(huán),數(shù)據(jù)采集任務(wù)包括模擬量和干結(jié)點(diǎn)開關(guān)量的數(shù)據(jù)采集,模擬量的采集由 FPGA譯碼控制,將模數(shù)轉(zhuǎn)換數(shù)據(jù)存入 Flash,開關(guān)量的采集由 FPGA負(fù)責(zé)采集,也存入 Flash中。CPU將 Flash中的模擬量和開關(guān)量數(shù)據(jù)進(jìn)行分析處理,在模擬量數(shù)據(jù)處理上采用去極值求平均法去噪,即對(duì)一個(gè)檢測(cè)點(diǎn)采集多個(gè)值去掉昀大值和昀小值然后求平均,這個(gè)平均值就作為該點(diǎn)的數(shù)據(jù)值,對(duì)數(shù)字量也采用多采集幾次的方法增加可靠性。這樣可以消除突發(fā)脈沖、隨機(jī)噪聲的干擾,從而進(jìn)一步提高了系統(tǒng)的抗干擾性和穩(wěn)定性。
評(píng)論