<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計應(yīng)用 > 基于ARM9系統(tǒng)的無線發(fā)射臺智能化監(jiān)控設(shè)計

          基于ARM9系統(tǒng)的無線發(fā)射臺智能化監(jiān)控設(shè)計

          作者: 時間:2010-07-27 來源:網(wǎng)絡(luò) 收藏

           1.概述

          本文引用地址:http://www.ex-cimer.com/article/260870.htm

            廣西廣播電視信息網(wǎng)絡(luò)股份有限公司按照“有人留守,無人值班”的設(shè)計思路開發(fā)了一套遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控管理系統(tǒng),對廣西1 6座邊遠(yuǎn)廣播電視進(jìn)行遠(yuǎn)程集中監(jiān)控管理。原監(jiān)控系統(tǒng)采用下位機(jī)和上位機(jī)監(jiān)控的模式,下位機(jī)采用以8位單片機(jī)為處理核心的單片機(jī)系統(tǒng),這種系統(tǒng)具有集成度低外圍擴(kuò)展電路多、系統(tǒng)主頻低、實時響應(yīng)性慢的缺點,同時單片機(jī)與計算機(jī)交互需要許多專用的軟硬件,不同廠家的發(fā)射機(jī)甚至同一廠家的不同類別、不同功率等級的發(fā)射機(jī)對應(yīng)不同程序,使系統(tǒng)備件增加,而且在需要更新升級的時候只能奔赴發(fā)射臺現(xiàn)場,這對于有著程序多樣性的各類發(fā)射機(jī)采集控制器來說顯得十分繁瑣,給維護(hù)管理帶來極大的不便。隨著大規(guī)模集成電路和嵌入式技術(shù)的發(fā)展,自動控制領(lǐng)域向高集成、高速度、快速響應(yīng)、易維護(hù)管理等方向發(fā)展。正因為如此 ARM9以其高集成的軟硬件系統(tǒng)和良好的可移植性及性價比走進(jìn)了工業(yè)自動化控制領(lǐng)域,我們將嵌入式很好地運用于尤其是高山臺系統(tǒng)中,不僅進(jìn)~步提高了發(fā)射臺發(fā)射機(jī)控制系統(tǒng)的精度和穩(wěn)定性,也解決了程序更新難的問題。在更新程序或備份設(shè)備更換、新增設(shè)備燒寫的時候只需將該設(shè)備插上網(wǎng)線連入監(jiān)控系統(tǒng)內(nèi)部局域網(wǎng),就可以在局域網(wǎng)的任何一地對其進(jìn)行燒寫、更新軟件。系統(tǒng)改進(jìn)后下位機(jī)、上位機(jī)以及采集控制器的維護(hù)與升級都變成了極其方便和簡單,進(jìn)一步減少了發(fā)射臺管理和運行維護(hù)成本。

            2.系統(tǒng)構(gòu)成

            ARM (ADVANCED R I S C Machines),原意為公司名稱,現(xiàn)泛指一類微處理器,一種技術(shù),指采用ARM技術(shù)知識產(chǎn)權(quán)(IP)核的微處理器。它是一種先進(jìn)的精簡指令系統(tǒng)微處理器,具有性能高、成本低和能耗省的特點。支持多任務(wù)操作系統(tǒng),就是說在一塊ARM芯片上可以移植一套完整的操作系統(tǒng),能夠完成類似個人計算機(jī)操作系統(tǒng)所能完成的基本功能,其內(nèi)核CPU采用AT91SAM9260的ARM芯片,該模塊出廠時已由廠家預(yù)裝了正版WinCE5.0實時多任務(wù)操作系統(tǒng)以及相關(guān)底層外圍驅(qū)動,這樣在開發(fā)基于該模塊的應(yīng)用程序時,不用深入了解處理器芯片的內(nèi)部結(jié)構(gòu)、寄存器、總線等,而只需借助廠家提供的API庫函數(shù)就能完成相關(guān)功能,大大節(jié)省了軟件的開發(fā)周期。我們通過外圍電路設(shè)計了模擬的A/D轉(zhuǎn)換電路、開關(guān)量輸入輸出和四個串13,四個串口都可以通過跳線選擇RS232、 RS485和RS422方式進(jìn)行現(xiàn)場通訊。

            Windows CE具有模塊化、結(jié)構(gòu)化和基于Win32應(yīng)用程序接13和與處理器無關(guān)等特點,其操作界面雖來源于Windows 95/98,但Windows CE是基于WlN32 API重新開發(fā)、新型的信息設(shè)備的平臺,是一個用于各種通訊、娛樂和移動式計算設(shè)備的操作系統(tǒng)平臺。WinCE5.0在2004年5月份推出,微軟宣布WinCE5.0擴(kuò)大開放程序源代碼,開放了250萬行源代碼程序作為*估套件,它除了1 00%兼容于Windows CE外,還強(qiáng)化許多功能。ARM芯片及外圍電路結(jié)構(gòu)圖如圖1


          基于ARM9的EM9260系列產(chǎn)品的開發(fā)工具就是著名嵌入式開發(fā)工具EVC,一款類似VC開發(fā)環(huán)境的專業(yè)嵌入式開發(fā)軟件,其編程風(fēng)格幾近相同于VC編程,當(dāng)開發(fā)在線調(diào)試時只需借助一根網(wǎng)線連接到目標(biāo)設(shè)備即可,這點不同于單片機(jī)設(shè)備調(diào)試,需要取下處理器芯片并借助仿真器才能調(diào)試,顯得非常方便。整個系統(tǒng)具有程序移植比較方便、程序類型庫管理維護(hù)簡單等優(yōu)點。

            3.1程序移植

            在軟件開發(fā)完成后,需要對程序進(jìn)行移植,也就是類似我們單片機(jī)設(shè)備的芯片程序第一次燒寫工作。進(jìn)行程序移植,實際上也就是一個文件拷貝過程,一共需要拷貝或者存儲至少6個文件,它們是userinfo.txt、dbginfo.1xt、Onboot.ini、ComNet.ini、 Onboot.exe、ComNet.exe。其中CornNet.exe為設(shè)備正常工作的應(yīng)用程序可執(zhí)行文件,它可以為任意名稱,但是對應(yīng).Ini后綴的名稱也要跟它一致,另~l,Onboot.ini內(nèi)部[run]鍵值下的對應(yīng)名稱必須也要和它一致。當(dāng)設(shè)備上電進(jìn)入操作系統(tǒng)以后,系統(tǒng)根目錄下有一個文件名為“Nandflash”的文件夾,這就是所有以上6個文件需要存放的地方,它為系統(tǒng)的flash disk,設(shè)備掉電時只有存放在該文件內(nèi)部的文件不會丟失,存放到其他位置的文件都將丟失(見圖2)。


          以上7個文件中除ComNet New.exe外,userinfo.txt內(nèi)部存放有該設(shè)備的IP地址,可以修改,相應(yīng)bginfo.txt亦存放有設(shè)備lP地址信息,它必須與 userinfo.txt內(nèi)部IP地址一致,另外還有遠(yuǎn)程調(diào)試主機(jī)IP地址,亦可以修改,但不建議做改動。Onboot.exe為引導(dǎo)應(yīng)用程序,ComNet.exe為最終運行的應(yīng)用程序,我們將該名字用于發(fā)射機(jī)采集控制器程序。Onboot.ini為引導(dǎo)程序配置說明,包括它所引導(dǎo)的將要運行的應(yīng)用程序信息。ComNet.ini內(nèi)部包含有關(guān)設(shè)備的所有參數(shù)配置,包括開放串口、設(shè)備lD、發(fā)射機(jī)機(jī)型選擇、手自動以及故障倒機(jī)狀態(tài)、自動開關(guān)機(jī)時間表等重要信息。對新開發(fā)產(chǎn)品進(jìn)行更新軟件的步驟是:在原有6個文件的基礎(chǔ)上,首先需要拷貝或者替換兩個文件ComNet_New.exe、 Onboot.ini,其中前者為更新文件,統(tǒng)一規(guī)定更新文件的文件名為在原有文件的名稱后面冠以_New未表示,Onboot.ini文件是在原文件中組名為[update]下新增鍵值0=更新文件名,原有文件名;然后給設(shè)備斷電重啟或者遠(yuǎn)程控制設(shè)備復(fù)位重啟即可完成對設(shè)備程序的更新。

            3.2程序類型庫

            為了有效的避免因為發(fā)射機(jī)的種類多,導(dǎo)致采集器程序較多,我們建立了發(fā)射機(jī)程序類型庫,通過對所有發(fā)射機(jī)的采集施工后,將所有程序建庫,通過簡單的設(shè)置就可以達(dá)到發(fā)射機(jī)采集器的互用。當(dāng)有新的發(fā)射機(jī)加入時只需要在系統(tǒng)中增加該發(fā)射機(jī)的采集程序。

            4.軟件功能

            軟件主要分為下位機(jī)軟件和服務(wù)器軟件兩個部分。下位機(jī)硬件結(jié)構(gòu)采用了嵌入式ARM,下位機(jī)的軟件采用win.dows CE系統(tǒng),通過遠(yuǎn)程的上位機(jī)可以進(jìn)行在線式程序更新。操作簡單,管理方便。我們可以像在電腦上一樣嵌入設(shè)置網(wǎng)頁方便非專業(yè)人員對設(shè)置的更改。嵌入網(wǎng)頁可以設(shè)置各個通訊端口的參數(shù)、設(shè)備參數(shù)、倒備機(jī)、自動開關(guān)機(jī)等。

            5.發(fā)射機(jī)采集監(jiān)控系統(tǒng)

            發(fā)射機(jī)采集控制器采用先進(jìn)的嵌入式ARM9作為核心單元,它不但具有發(fā)射機(jī)參數(shù)采集、主備機(jī)倒換控制、定時開關(guān)機(jī)、遙控開關(guān)機(jī),而且提供了發(fā)射機(jī)程序類型庫、在線式程序升級等功能極大的減少了備件的種類,方便了設(shè)備維護(hù)。一臺采集器就可以完成一套節(jié)目包括主備發(fā)射機(jī)、主備激勵器參數(shù)的采集和監(jiān)視,以及故障倒備機(jī)控制等功能。上位機(jī)軟件采用B/S架構(gòu),這種機(jī)構(gòu)具有升級維護(hù)方便,客戶端電腦擴(kuò)展簡單等特點。通過上位機(jī)可以完成監(jiān)控各個環(huán)節(jié)參數(shù)的實時動態(tài)顯示、參數(shù)異常報警、發(fā)射機(jī)遙控開關(guān)機(jī)等功能,并能夠設(shè)定發(fā)射機(jī)自動開關(guān)機(jī)、倒備機(jī)的時間設(shè)置等功能。發(fā)射機(jī)嵌入式ARM9采集器具體實現(xiàn)功能如下:

            1)采用主備發(fā)射機(jī)互為主備的工作方式,即主備機(jī)之間沒有明確的從屬關(guān)系,隨著發(fā)射機(jī)的工作情況發(fā)射機(jī)的不同主備關(guān)系也隨之變化,大大地提高了發(fā)射機(jī)的工作壽命。

            2)可以分別定義A機(jī)和B機(jī)的工作時間段

            3)A機(jī)、B機(jī)的高壓狀態(tài),是彼此自動開關(guān)機(jī)的互鎖條件

            4)天線位置為開機(jī)的必要條件

            5)A機(jī)、B機(jī)的高壓狀態(tài)鎖定天線閘自動倒換驅(qū)動

            6)可以預(yù)設(shè)倒機(jī)的功率門限以及延時時間

            7)采集控制器根據(jù)監(jiān)測當(dāng)前工作發(fā)射機(jī)的發(fā)射功率判別是否需要倒機(jī)

            8)倒機(jī)流程:關(guān)閉并封鎖主機(jī),倒換天線,開啟備機(jī)

            結(jié)構(gòu)圖如圖3。


          6.結(jié)束語

            監(jiān)控系統(tǒng)用ARM處理器代替單片機(jī),不僅使系統(tǒng)性能得以大大提高,而且在遠(yuǎn)程升級維護(hù)管理上有明顯的優(yōu)勢。當(dāng)連接發(fā)射臺監(jiān)控系統(tǒng)的中斷時,嵌入在ARM9內(nèi)的網(wǎng)頁又可以滿足對臺內(nèi)設(shè)備的自動控制和平時應(yīng)急式的設(shè)置與維護(hù),不至于造成整個監(jiān)控系統(tǒng)的癱瘓,提高了安全播出的可靠性,并大大減少了發(fā)射臺管理和運行維護(hù)成本。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();