<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

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

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

1、3G統一平臺

1.1 平臺組成結構

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

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

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

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

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

2、系統控制子系統的設計

2.1 主要功能和性能

該系統完成的功能如下:

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

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

2.2 模塊設計

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

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

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

3.1 模塊功能和結構

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

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

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

3.2 異常處理任務(wù)

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

異常處理任務(wù)的功能是處理BSP的異常中斷,由兩部分組成,即一個(gè)回調函數和一個(gè)處理任務(wù)?;卣{函數由BSP在異常發(fā)生時(shí)調用,向處理任務(wù)上報各種異常中斷信息,同時(shí)對于一些有可能大量上報的中斷,進(jìn)行一些過(guò)濾?;卣{函數將中斷信息發(fā)送給處理任務(wù),在處理任務(wù)里面向狀態(tài)查詢(xún)進(jìn)程發(fā)送設備異常消息,狀態(tài)查詢(xún)進(jìn)程對該設備異常消息進(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。系統啟動(dòng)后,進(jìn)程創(chuàng )建即S_StartUp,進(jìn)行分配內存空間等工作,然后進(jìn)入S_StateInit狀態(tài),等待上電消息。獲得上電消息后初始化本模塊的靜態(tài)數據區,包括邏輯地址初始化、告警代理進(jìn)程的配置,并加載DSP軟件、微碼版本、固件。如果從本地讀取的版本加載不成功,則與OMP上的版本管理進(jìn)程交互,完成版本的下載;然后向狀態(tài)查詢(xún)進(jìn)程和音加載進(jìn)程發(fā)送上電消息,進(jìn)入S_IdleState狀態(tài);同時(shí)定時(shí)查詢(xún)DSP狀態(tài),發(fā)現DSP跑飛后進(jìn)行重新加載的處理。

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

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

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

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

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

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

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

4、數據結構和功能分析

4.1 公用數據結構

4.1.1 T_BSP_DEVICEDRIVER_PARA

BSP設備控制通用結構體:

4.1.2 T_BSP_INT_EVENT

4.2 模塊設計和實(shí)現

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

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

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

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

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

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

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

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

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

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

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

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

5、結束語(yǔ)

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

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




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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>