新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 3G底層核心實(shí)時(shí)狀態(tài)檢測(cè)模塊的設(shè)計(jì)

3G底層核心實(shí)時(shí)狀態(tài)檢測(cè)模塊的設(shè)計(jì)

作者: 時(shí)間:2017-06-03 來(lái)源:網(wǎng)絡(luò) 收藏

本文首先提出了底層技術(shù)統(tǒng)一平臺(tái)的概念,介紹了本平臺(tái)及系統(tǒng)控制子系統(tǒng)的框架結(jié)構(gòu);然后給出了實(shí)時(shí)狀態(tài)檢測(cè)模塊的功能和結(jié)構(gòu)設(shè)計(jì),包括其在整個(gè)系統(tǒng)中的位置、和其它功能模塊的聯(lián)系等;進(jìn)而重點(diǎn)分析了該模塊各個(gè)進(jìn)程和任務(wù)的處理流程,并對(duì)它們是如何分工合作、實(shí)現(xiàn)對(duì)整個(gè)底層工作狀態(tài)的實(shí)時(shí)性檢測(cè)和控制等技術(shù)做了詳細(xì)說(shuō)明。

本文引用地址:http://2s4d.com/article/201706/347780.htm

底層技術(shù)平臺(tái)主要是對(duì)硬件設(shè)備等基本組成元素做底層的封裝,組合為各個(gè)功能不同的網(wǎng)元,再由上層各個(gè)研發(fā)機(jī)構(gòu)作二次開(kāi)發(fā),推出基于各自標(biāo)準(zhǔn)的可供商用的產(chǎn)品。整個(gè)平臺(tái)劃分為若干個(gè)子系統(tǒng),其中SCS即系統(tǒng)控制子系統(tǒng)居于核心地位,實(shí)現(xiàn)對(duì)平臺(tái)的控制和管理。在SCS子系統(tǒng)中,實(shí)時(shí)狀態(tài)檢測(cè)模塊主要完成:?jiǎn)伟逋鈬娐泛蛦伟迳腺Y源的狀態(tài)檢測(cè),處理BSP異常中斷上報(bào),將檢測(cè)的結(jié)果上報(bào)給SMM(狀態(tài)管理模塊)或者OAM網(wǎng)管子系統(tǒng),使整個(gè)系統(tǒng)實(shí)時(shí)的了解各個(gè)單板的狀態(tài),以便進(jìn)行相應(yīng)操作。本文通過(guò)對(duì)該模塊的研究、規(guī)劃和設(shè)計(jì),給出了實(shí)現(xiàn)方案,并分析了各個(gè)功能點(diǎn)的實(shí)現(xiàn)流程。

1、3G統(tǒng)一平臺(tái)

1.1 平臺(tái)組成結(jié)構(gòu)

本平臺(tái)由BSP子系統(tǒng)、支撐子系統(tǒng)系統(tǒng)、系統(tǒng)控制子系統(tǒng)等功能相對(duì)獨(dú)立的11個(gè)子系統(tǒng)組成。不同子系統(tǒng)之間通過(guò)互發(fā)消息、提供或者調(diào)用接口函數(shù)、中斷處理等機(jī)制實(shí)現(xiàn)整體協(xié)作,組成結(jié)構(gòu)見(jiàn)圖1。開(kāi)發(fā)環(huán)境為Vxworks操作系統(tǒng)和Tornado2.2,程序設(shè)計(jì)語(yǔ)言為C語(yǔ)言。

VxWorks是由WindRiver公司推出的嵌入式實(shí)時(shí)操作系統(tǒng)(),它利用基于主機(jī)和目標(biāo)機(jī)的交叉開(kāi)發(fā)平臺(tái)(Tornado)來(lái)編輯、編譯、連接和動(dòng)態(tài)加載可執(zhí)行代碼,并運(yùn)行和調(diào)試實(shí)時(shí)應(yīng)用程序。

1.2 相關(guān)術(shù)語(yǔ)、定義

進(jìn)程:支撐系統(tǒng)進(jìn)行調(diào)度的單位,由消息驅(qū)動(dòng),每個(gè)進(jìn)程擁有自己的消息隊(duì)列、數(shù)據(jù)區(qū)和棧。

消息:進(jìn)程通訊信息的載體,指進(jìn)程通訊時(shí)所傳遞的一塊完整的數(shù)據(jù),包括消息頭和消息體,包括異步和同步消息。進(jìn)程調(diào)用發(fā)送異步消息的原語(yǔ)后繼續(xù)執(zhí)行以后的指令,進(jìn)程狀態(tài)不因調(diào)用而有所改變;調(diào)用發(fā)送同步消息的原語(yǔ)后進(jìn)入阻塞狀態(tài),停止執(zhí)行下面的指令,直到接收該消息的進(jìn)程處理完并返回應(yīng)答后,再?gòu)淖枞麪顟B(tài)進(jìn)入就緒狀態(tài),等待的調(diào)度。

2、系統(tǒng)控制子系統(tǒng)的設(shè)計(jì)

2.1 主要功能和性能

該系統(tǒng)完成的功能如下:

(1)系統(tǒng)加電,各個(gè)單板加載版本時(shí),通過(guò)版本校驗(yàn)保證運(yùn)行版本的正確性。(2)單板上電后,根據(jù)相應(yīng)的單板配置決定是否需要進(jìn)行主備競(jìng)爭(zhēng),同時(shí)從OMP獲得本板的基本配置信息,按照順序啟動(dòng)各個(gè)基本進(jìn)程,完成單板的正常啟動(dòng)。(3)上電成功后,對(duì)單板的運(yùn)行狀況進(jìn)行檢測(cè),包括對(duì)本板的各個(gè)外設(shè)進(jìn)行檢測(cè),以及定時(shí)與MP進(jìn)行握手,以便MP能夠全面的管理系統(tǒng)中各個(gè)單板的運(yùn)行狀態(tài)和相關(guān)的資源狀態(tài),并進(jìn)行閉塞/解閉塞處理。(4)在正常運(yùn)行過(guò)程中,支持版本的在線更新,并提供一定人工干預(yù)的手段,以便在版本更新時(shí)保證系統(tǒng)的穩(wěn)定運(yùn)行。

系統(tǒng)控制子系統(tǒng)的性能主要體現(xiàn)為系統(tǒng)整體啟動(dòng)的時(shí)間(包括軟件加載的過(guò)程和進(jìn)程上電過(guò)程的控制等)、單板和資源狀態(tài)變化的檢測(cè)時(shí)間、主備倒換完成的時(shí)間。

2.2 模塊設(shè)計(jì)

系統(tǒng)控制子系統(tǒng)劃分為如下部分:主控制模塊、狀態(tài)管理模塊、實(shí)時(shí)狀態(tài)檢測(cè)模塊、版本管理模塊和Boot。(1)主控制模塊:完成單板基本配置信息的獲取、進(jìn)程加載過(guò)程的控制、主備倒換的控制。(2)狀態(tài)管理模塊:完成系統(tǒng)中各個(gè)單板的在線狀態(tài)的檢測(cè)、各種資源的配置信息的獲取及其狀態(tài)的管理。(3)實(shí)時(shí)狀態(tài)檢測(cè)模塊:完成單板運(yùn)行狀態(tài)的檢測(cè),包括的使用情況、內(nèi)存的使用情況以及單板外設(shè)的狀態(tài)和單板上資源的狀態(tài)檢測(cè)。(4)版本管理模塊:本模塊比較獨(dú)立,完成系統(tǒng)版本的管理,包括從后臺(tái)發(fā)起的版本更新、前臺(tái)各個(gè)單板的運(yùn)行版本信息及版本下載。(5)Boot模塊:自成體系,完成的功能相對(duì)來(lái)說(shuō)比較單一但是非常重要,包括單板的自舉、版本下載和加載。

3、實(shí)時(shí)狀態(tài)檢測(cè)模塊

實(shí)時(shí)狀態(tài)檢測(cè)模塊,作為系統(tǒng)控制子系統(tǒng)的核心部分,駐留在各個(gè)物理單板上,包括UIM、TSNB、SPB、SDTB、MRB、MNIC、DTEC、APBE、VTCD、GLI、TMB、PSN、WPBCB、MPX86等。實(shí)時(shí)狀態(tài)檢測(cè)模塊在3G統(tǒng)一平臺(tái)中的位置如圖1所示。

3.1 模塊功能和結(jié)構(gòu)

主要功能:定時(shí)檢測(cè)單板外圍電路、單板上各個(gè)設(shè)備模塊等實(shí)時(shí)狀態(tài);處理單板的異常中斷上報(bào)消息;加載微碼版本、DSP軟件、固件、音資源文件等;該模塊還要與版本管理模塊交互,對(duì)微碼版本、DSP軟件、固件、音資源文件等進(jìn)行加載,檢測(cè),重下及啟動(dòng)。根據(jù)模塊的功能和結(jié)構(gòu)劃分為:異常處理任務(wù)及中斷相關(guān)處理,實(shí)時(shí)狀態(tài)檢測(cè)進(jìn)程,版本加載進(jìn)程和音資源加載進(jìn)程,耗時(shí)查詢進(jìn)程。

(1)如果單板需要加載DSP、固件或微碼,則版本加載進(jìn)程作為上電基本進(jìn)程,接收主控進(jìn)程的上電消息,加載完后通知狀態(tài)查詢和音資源加載進(jìn)程上電;狀態(tài)查詢進(jìn)程上電完成后則發(fā)上電消息給耗時(shí)查詢進(jìn)程。

(2)如果單板不需要加載DSP、固件或微碼,則狀態(tài)查詢進(jìn)程作為基本進(jìn)程,接收主控的上電消息,然后通知耗時(shí)查詢進(jìn)程上電。

3.2 異常處理任務(wù)

由于支撐的接口帶有阻塞,在處理異常中斷的回調(diào)函數(shù)內(nèi),不能調(diào)用支撐的接口直接往某個(gè)進(jìn)程發(fā)送消息,所以需要?jiǎng)?chuàng)建一個(gè)異常處理任務(wù)專門負(fù)責(zé)處理異常中斷。

異常處理任務(wù)的功能是處理BSP的異常中斷,由兩部分組成,即一個(gè)回調(diào)函數(shù)和一個(gè)處理任務(wù)?;卣{(diào)函數(shù)由BSP在異常發(fā)生時(shí)調(diào)用,向處理任務(wù)上報(bào)各種異常中斷信息,同時(shí)對(duì)于一些有可能大量上報(bào)的中斷,進(jìn)行一些過(guò)濾。回調(diào)函數(shù)將中斷信息發(fā)送給處理任務(wù),在處理任務(wù)里面向狀態(tài)查詢進(jìn)程發(fā)送設(shè)備異常消息,狀態(tài)查詢進(jìn)程對(duì)該設(shè)備異常消息進(jìn)行處理,并通知OAM或SMM。

3.3 版本加載進(jìn)程

進(jìn)程涉及到的狀態(tài)有S_StartUp、S_StateInit、S_StateLoad C6416、S_StateLoadM82620、S_StateLoadTMSC5402、S_StateLoadM80310、S_StateLoadOCT6100、S_StateLoadMicroCode、S_StateIdle。系統(tǒng)啟動(dòng)后,進(jìn)程創(chuàng)建即S_StartUp,進(jìn)行分配內(nèi)存空間等工作,然后進(jìn)入S_StateInit狀態(tài),等待上電消息。獲得上電消息后初始化本模塊的靜態(tài)數(shù)據(jù)區(qū),包括邏輯地址初始化、告警代理進(jìn)程的配置,并加載DSP軟件、微碼版本、固件。如果從本地讀取的版本加載不成功,則與OMP上的版本管理進(jìn)程交互,完成版本的下載;然后向狀態(tài)查詢進(jìn)程和音加載進(jìn)程發(fā)送上電消息,進(jìn)入S_IdleState狀態(tài);同時(shí)定時(shí)查詢DSP狀態(tài),發(fā)現(xiàn)DSP跑飛后進(jìn)行重新加載的處理。

3.4 狀態(tài)查詢進(jìn)程

進(jìn)程涉及到的狀態(tài)有S_StartUp、S_StateInit、S_StateWork,前兩個(gè)狀態(tài)和版本加載進(jìn)程流程相同。在獲得上電消息后,初始化本模塊的靜態(tài)數(shù)據(jù)區(qū),包括邏輯地址和告警代理進(jìn)程的配置,然后轉(zhuǎn)入S_State Work;在該狀態(tài)下完成所有的單板實(shí)時(shí)狀態(tài)查詢功能。

本進(jìn)程處理異常任務(wù)發(fā)送過(guò)來(lái)的設(shè)備異常消息,定時(shí)查詢異常設(shè)備的告警恢復(fù)狀態(tài)(因?yàn)锽SP只上報(bào)設(shè)備的異常,不上報(bào)設(shè)備異?;謴?fù)),和單板上的HW、時(shí)鐘等實(shí)時(shí)狀態(tài)等。

3.5 耗時(shí)查詢進(jìn)程

進(jìn)程涉及到的狀態(tài)有S_StartUp、S_StateWork。進(jìn)程創(chuàng)建即進(jìn)入S_StartUp,進(jìn)行分配內(nèi)存等工作后進(jìn)入S_StateWork。在該狀態(tài)下,獲得上電消息后初始化進(jìn)程私有數(shù)據(jù)區(qū)和網(wǎng)口設(shè)置,定時(shí)查詢網(wǎng)口狀態(tài),同時(shí)還完成業(yè)務(wù)板復(fù)位處理和微碼設(shè)備上網(wǎng)口的配置。

3.6 音資源加載進(jìn)程

本進(jìn)程只在MRB板上有,該板上共有4個(gè)TMSC5402 DSP,視數(shù)據(jù)庫(kù)對(duì)DSP用途的配置來(lái)定是否需要加載音資源。進(jìn)程涉及到的狀態(tài)有S_StartUp、S_StateInit、S_StateWork,狀態(tài)轉(zhuǎn)換和狀態(tài)查詢進(jìn)程基本相同,進(jìn)入S_StateWork后準(zhǔn)備加載音資源。

4、數(shù)據(jù)結(jié)構(gòu)和功能分析

4.1 公用數(shù)據(jù)結(jié)構(gòu)

4.1.1 T_BSP_DEVICEDRIVER_PARA

BSP設(shè)備控制通用結(jié)構(gòu)體:

4.1.2 T_BSP_INT_EVENT

4.2 模塊設(shè)計(jì)和實(shí)現(xiàn)

4.2.1 異常處理任務(wù)及中斷相關(guān)處理

異常中斷處理包括一個(gè)回調(diào)函數(shù)VoID Callback ForException(T_BSP_INT_EVENT*pReason)和一個(gè)處理任務(wù)?;卣{(diào)函數(shù)由BSP在異常中斷發(fā)生時(shí)調(diào)用,將中斷信息發(fā)送給異常處理任務(wù),在異常任務(wù)里面向狀態(tài)查詢進(jìn)程發(fā)送設(shè)備異常中斷消息。

OSS在初始化設(shè)備時(shí),調(diào)用BSP提供的外部中斷服務(wù)程序初始化函數(shù),把CallbackForException作為入口參數(shù)傳遞給BSP,作為單板上設(shè)備的異常中斷服務(wù)程序,然后BSP在各個(gè)ISR中調(diào)用該回調(diào)函數(shù)將各種異常和錯(cuò)誤信息上報(bào)。

4.2.2 實(shí)時(shí)狀態(tài)檢測(cè)進(jìn)程

該進(jìn)程在具有版本加載進(jìn)程的單板上只從版本加載進(jìn)程接收上電消息,否則作為基本進(jìn)程運(yùn)行。主要完成單板外圍電路和單板上資源的狀態(tài)檢測(cè),處理異常處理任務(wù)發(fā)送過(guò)來(lái)的設(shè)備異常消息,定時(shí)查詢異常設(shè)備的告警恢復(fù)狀態(tài)和單板上的HW、GE、FE等實(shí)時(shí)狀態(tài)以及DSP的工作狀態(tài),定時(shí)查詢各個(gè)設(shè)備的工作狀況,并且響應(yīng)后臺(tái)的性能統(tǒng)計(jì)請(qǐng)求等。進(jìn)程的實(shí)現(xiàn)與具體的物理單板密切相關(guān),對(duì)各個(gè)相應(yīng)的單板會(huì)有不同的檢測(cè)需求,也隨之實(shí)現(xiàn)不同的功能。

4.2.3 版本加載進(jìn)程

該進(jìn)程作為基本上電進(jìn)程,接收主控進(jìn)程發(fā)來(lái)的上電消息,并負(fù)責(zé)給本模塊的另外兩個(gè)進(jìn)程上電。上電時(shí),首先對(duì)單板的需下載資源進(jìn)行設(shè)置,再加載DSP、固件和微碼版本,然后給狀態(tài)查詢和音下載進(jìn)程發(fā)送上電消息。

4.2.4 音資源加載進(jìn)程

音資源的加載在MRB單板上,在完成對(duì)DSP TMS320VC5402的版本加載后,通過(guò)DSP與HOST的交互,調(diào)用BSP提供的接口函數(shù),完成加載。本板上有多個(gè)DSP,根據(jù)數(shù)據(jù)庫(kù)的配置來(lái)決定哪個(gè)DSP需要下載。

加載通過(guò)HOST與DSP之間的HPI接口進(jìn)行數(shù)據(jù)下載,速度比較慢;而且音資源的文件比較大,所以加載時(shí)間較長(zhǎng);音資源存放在DSP的FLASH上,加載只需要一次。在單板復(fù)位后,首先先檢查DSP的Flash上是否已經(jīng)有了當(dāng)前版本的音資源文件。

4.2.5 耗時(shí)查詢進(jìn)程

該進(jìn)程主要處理網(wǎng)口查詢等耗時(shí)操作。該進(jìn)程優(yōu)先級(jí)比較低,在獲得上電消息后首先設(shè)置網(wǎng)口的初始狀態(tài),然后設(shè)置5s定時(shí)器進(jìn)行網(wǎng)口的耗時(shí)查詢。

5、結(jié)束語(yǔ)

本文首先闡述了3G統(tǒng)一平臺(tái)的概念,在簡(jiǎn)要介紹3G平臺(tái)和系統(tǒng)控制子系統(tǒng)的組成方案的基礎(chǔ)上;給出了實(shí)施狀態(tài)檢測(cè)模塊的設(shè)計(jì)框架和功能點(diǎn)實(shí)現(xiàn),重點(diǎn)分析了該模塊各個(gè)進(jìn)程和任務(wù)的處理流程,并對(duì)它們的內(nèi)部交互和聯(lián)系做了詳細(xì)說(shuō)明。通過(guò)對(duì)整個(gè)底層工作狀態(tài)的實(shí)時(shí)性檢測(cè)和控制等技術(shù)實(shí)現(xiàn)的介紹,向人們展示了3G技術(shù)在底層的應(yīng)用。

系統(tǒng)控制子系統(tǒng)在整個(gè)平臺(tái)的組成結(jié)構(gòu)中處于中心地位,是整個(gè)平臺(tái)有效運(yùn)作的前提和關(guān)鍵,而實(shí)時(shí)狀態(tài)檢測(cè)模塊則是系統(tǒng)控制子系統(tǒng)功能實(shí)現(xiàn)的關(guān)鍵部分。目前本系統(tǒng)已在某公司的多個(gè)事業(yè)部推廣使用,各個(gè)功能模塊均運(yùn)行良好,實(shí)踐證明本平臺(tái)在整個(gè)研發(fā)體系結(jié)構(gòu)中發(fā)揮了重要的作用。




關(guān)鍵詞: 3G CPU RTOS

評(píng)論


相關(guān)推薦

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

關(guān)閉