賈澤莘
(1.廣西大學(xué)計(jì)算機(jī)與電子信息學(xué)院;2.廣西廣播電視技術(shù)中心)
隨著廣西整省區(qū)600多座鄉(xiāng)鎮(zhèn)無(wú)線發(fā)射臺(tái)站的大規(guī)模建設(shè),無(wú)線覆蓋延伸到了鄉(xiāng)鎮(zhèn)一級(jí),極大的滿足了廣大人民群眾對(duì)收聽(tīng)收看廣播電視的需求,要管理數(shù)量如此眾多的臺(tái)站,智能遠(yuǎn)程監(jiān)控系統(tǒng)顯得尤為必要,而其中監(jiān)控設(shè)備的電源管里又是遠(yuǎn)程監(jiān)控系統(tǒng)不可或缺的一環(huán),它對(duì)遠(yuǎn)程監(jiān)控系統(tǒng)穩(wěn)定運(yùn)行起到了重要的作用,本文利用自主研發(fā)的OEM設(shè)備-電源復(fù)位器進(jìn)行二次開(kāi)發(fā),將鄉(xiāng)鎮(zhèn)臺(tái)站監(jiān)控設(shè)備的電源監(jiān)測(cè)信息統(tǒng)一回傳至監(jiān)控中心實(shí)現(xiàn)統(tǒng)一管理。
結(jié)合以往臺(tái)站運(yùn)行中的相關(guān)經(jīng)驗(yàn),部分監(jiān)控設(shè)備如主控電腦、3G路由器、采集器、交換機(jī)、音視頻服務(wù)器等設(shè)備在長(zhǎng)時(shí)間運(yùn)行后容易出現(xiàn)死機(jī)現(xiàn)象,一般只需斷電重啟設(shè)備即可恢復(fù)正常,如果維護(hù)人員到臺(tái)站只為了按電源開(kāi)關(guān)顯得人工、時(shí)間成本太高,同時(shí)UPS又是保證臺(tái)站意外斷電后監(jiān)控平臺(tái)不完全失去臺(tái)站控制權(quán)的重要基礎(chǔ),所以本系統(tǒng)的主要實(shí)現(xiàn)的功能是在不依賴臺(tái)站主控電腦運(yùn)行的情況下,將臺(tái)站主要監(jiān)控設(shè)備的電源接入電源復(fù)位器,同時(shí)利用電源復(fù)位器232串口連接UPS通信口,通過(guò)光纖網(wǎng)絡(luò)回傳至監(jiān)控中心,達(dá)到在值班平臺(tái)就能能遠(yuǎn)程統(tǒng)一管理鄉(xiāng)鎮(zhèn)臺(tái)站監(jiān)控設(shè)備電源和臺(tái)站UPS狀態(tài)的目的。整體系統(tǒng)架構(gòu)如圖1。
原版電源復(fù)位器硬件已具備了電源通斷功能,要實(shí)現(xiàn)統(tǒng)一管理系統(tǒng)的功能則需要在在其基礎(chǔ)上重新編程和改進(jìn)硬件,以保證功能性和穩(wěn)定性,主要做以下幾點(diǎn)改動(dòng):
2.2.1.1 遠(yuǎn)程升級(jí)
遠(yuǎn)程升級(jí)是提高設(shè)備易維護(hù)、功能擴(kuò)展的有效手段,例如不用維護(hù)人員到臺(tái)站現(xiàn)場(chǎng)升級(jí),新型號(hào)UPS納入管理時(shí)只需更新通信協(xié)議等等,本次遠(yuǎn)程升級(jí)功能主要是采用AVR單片機(jī)自身的BootLoader編程技術(shù)來(lái)實(shí)現(xiàn),BootLoader程序是一種引導(dǎo)程序,可以對(duì)應(yīng)用程序flash區(qū)進(jìn)行重新編程,從而達(dá)到升級(jí)的目的,首先在熔絲中配置單片機(jī)復(fù)位后首先進(jìn)入BootLoader引導(dǎo)區(qū),在引導(dǎo)程序中接收網(wǎng)口數(shù)據(jù),并將升級(jí)數(shù)據(jù)寫(xiě)入到指定的應(yīng)用程序區(qū),最后進(jìn)行校驗(yàn),完成升級(jí)過(guò)程,程序流程如圖2。
圖1 系統(tǒng)架構(gòu)
圖2 BootLoader遠(yuǎn)程升級(jí)流程圖
2.2.1.2 串口防護(hù)
根據(jù)遠(yuǎn)程監(jiān)控系統(tǒng)多年運(yùn)行的經(jīng)驗(yàn)積累,oem設(shè)備中串口芯片相對(duì)容易損壞,主要由靜電、浪涌、雷電、熱拔插等等原因造成,最終導(dǎo)致串口通信異常,本系統(tǒng)中因?yàn)樯婕暗経PS的232協(xié)議通信,為保證整個(gè)系統(tǒng)的穩(wěn)定性,減少維護(hù)量,有必要對(duì)串口電路進(jìn)行重新設(shè)計(jì),復(fù)位器原版電路中232串口采用的是美信(MAXIM)公司的MAX3232芯片,該芯片本身不具備電源隔離和信號(hào)隔離功能,易受外界因素影響,本次設(shè)計(jì)選型為廣州致遠(yuǎn)RSM232串口芯片,其主要特點(diǎn)是集成了隔離電路,同時(shí)具了電源隔離,電氣隔離功能,隔離電壓可達(dá)2500VDC,ESD保護(hù)也達(dá)到8kv,完全滿足EIA/TIA-232E和ITU-T V28的標(biāo)準(zhǔn)。另外為提高串口抗干擾和防沖擊能力,在接口電路還增加由磁珠、瞬態(tài)抑制二極管、限流電阻等元器件組成的防護(hù)電路,保證整個(gè)串口電路的穩(wěn)定性,整個(gè)串口電路升級(jí)的原理圖如圖3。
2.2.1.3 UPS數(shù)據(jù)讀取
鄉(xiāng)鎮(zhèn)臺(tái)站的UPS均預(yù)留了RS-232作為通信端口,默認(rèn)波特率為2400bps,同時(shí)廠家也提供了相應(yīng)的協(xié)議文檔,但因?yàn)閁PS電源的通信方式為主從式,即上位機(jī)發(fā)送命令至UPS的監(jiān)控單元,UPS內(nèi)的監(jiān)控單元在接收到上位機(jī)的請(qǐng)求命令后,才對(duì)命令進(jìn)行判斷并作出響應(yīng),因此為了實(shí)時(shí)獲取UPS狀態(tài)參數(shù),需要編寫(xiě)程序通過(guò)電源復(fù)位器串口定時(shí)發(fā)送查詢命令,然后將從UPS串口回傳的數(shù)據(jù)分析處理,來(lái)作出數(shù)據(jù)有效性和通信時(shí)效性的判斷,最終將數(shù)據(jù)轉(zhuǎn)換后保存至專用數(shù)據(jù)緩沖區(qū),供其他函數(shù)調(diào)用回傳至監(jiān)控中心服務(wù)器,具體流程圖見(jiàn)圖4。
2.2.1.4 數(shù)據(jù)主動(dòng)上報(bào)
因鄉(xiāng)鎮(zhèn)臺(tái)站數(shù)量眾多,而且還在不斷的建設(shè)當(dāng)中,同時(shí)每個(gè)臺(tái)站中還存在有數(shù)量眾多的網(wǎng)絡(luò)設(shè)備,所以為了方便統(tǒng)一管理,作為本系統(tǒng)核心的電源復(fù)位器必須增加主動(dòng)上報(bào)數(shù)據(jù)的功能,一是可以回傳設(shè)備基本信息用于客戶端呈現(xiàn)、告警分析、數(shù)據(jù)庫(kù)記錄等,二是起到心跳包作用檢查設(shè)備是否在線, 三是上位機(jī)無(wú)需增加線程來(lái)頻繁主動(dòng)訪問(wèn)眾多設(shè)備,減輕中心服務(wù)器資源占用,四是可以做到向多個(gè)IP回傳,可受多IP控制,不依賴于某臺(tái)特定設(shè)備比如主控電腦等運(yùn)行,實(shí)現(xiàn)主動(dòng)上報(bào)的主要編程工作是對(duì)服務(wù)器IP進(jìn)行地址解析,然后按協(xié)議規(guī)范對(duì)數(shù)據(jù)進(jìn)行收集調(diào)用,接著進(jìn)行對(duì)UDP幀包進(jìn)行填充,最后由enc28j60以太網(wǎng)控制器將數(shù)據(jù)通過(guò)RJ45網(wǎng)口發(fā)送至網(wǎng)絡(luò)。
圖3 串口接口電路
圖4 UPS數(shù)據(jù)讀取流程圖
為讓監(jiān)控中心值班平臺(tái)能夠直觀的監(jiān)控全區(qū)鄉(xiāng)鎮(zhèn)臺(tái)站監(jiān)控設(shè)備電源狀態(tài)信息,需在中心服務(wù)器端開(kāi)發(fā)專門(mén)的程序?qū)嫶蟮纳蠄?bào)數(shù)據(jù)進(jìn)行分析處理,本次上位機(jī)程序開(kāi)發(fā)環(huán)境為微軟Visual Studio 2010可視化開(kāi)發(fā)平臺(tái),編程語(yǔ)言為C#,數(shù)據(jù)庫(kù)方面則選擇了可伸縮性好、集成度高的關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng)—SQL Server 2008,實(shí)現(xiàn)的功能主要是對(duì)復(fù)位器上報(bào)數(shù)據(jù)做分析呈現(xiàn),如復(fù)位器端口狀態(tài)、UPS電壓、頻率,同時(shí)對(duì)一些緊急告警信息進(jìn)行提示,如市電電壓低、電池電壓低、旁路等等,除了顯示和告警之外還提供了控制功能,如遠(yuǎn)程重啟設(shè)備,開(kāi)關(guān)UPS,網(wǎng)絡(luò)參數(shù)重新配置下發(fā)等,程序編譯后的界面如圖5所示。
在遠(yuǎn)程監(jiān)控系統(tǒng)中,監(jiān)控設(shè)備電源復(fù)位重啟是一項(xiàng)非常實(shí)用的操作,能解決大部分設(shè)備因不穩(wěn)定而死機(jī)問(wèn)題,同時(shí)UPS是整個(gè)監(jiān)控系統(tǒng)穩(wěn)定運(yùn)行的基礎(chǔ),必須建立起一套可靠的管理系統(tǒng),集中統(tǒng)一監(jiān)控,本文基于電源復(fù)位器的鄉(xiāng)鎮(zhèn)臺(tái)站監(jiān)控設(shè)備電源管理系統(tǒng),是利用了電源復(fù)位器原有硬件進(jìn)行二次開(kāi)發(fā),并將其作為串口服務(wù)器將UPS數(shù)據(jù)讀取、轉(zhuǎn)換回傳,同時(shí)開(kāi)發(fā)了基于C#的服務(wù)器上位機(jī)程序,達(dá)到了集中監(jiān)控鄉(xiāng)鎮(zhèn)臺(tái)站部分監(jiān)控設(shè)備電源的目的,整套系統(tǒng)在進(jìn)兩年的鄉(xiāng)鎮(zhèn)臺(tái)站實(shí)際運(yùn)行過(guò)程中,穩(wěn)定可靠,為鄉(xiāng)鎮(zhèn)發(fā)射臺(tái)站安全播出起到了很好的保障基礎(chǔ)。
圖5 鄉(xiāng)鎮(zhèn)臺(tái)站OEM設(shè)備監(jiān)控服務(wù)程序