<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è) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于VRTX操作系統實(shí)現V5接口協(xié)議

基于VRTX操作系統實(shí)現V5接口協(xié)議

作者: 時(shí)間:2004-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:是接入網(wǎng)(AN)和本地交換機(LE)之間標準化的開(kāi)放。本文首先簡(jiǎn)要介紹結構,然后給出IDS2000綜合數字通信系統中接口的方法;著(zhù)重介紹第三層的軟件方法,并對嵌入式系統編程進(jìn)行一些探討。

關(guān)鍵詞:接入網(wǎng) V5接口 實(shí)時(shí) 本地交換機

引言

  接入網(wǎng)的概念是由傳統的用戶(hù)線(xiàn)發(fā)展起來(lái)的。近年來(lái),由于電話(huà)業(yè)務(wù)的發(fā)展、新業(yè)務(wù)種類(lèi)的增多、對線(xiàn)路帶寬要求的提高以及各種新興技術(shù)(特別是光纖通信技術(shù))的發(fā)展,使得傳統的用戶(hù)線(xiàn)的概念逐漸發(fā)展成為接入網(wǎng)的概念。前幾年,國際電信聯(lián)盟(ITU)正式定義了用戶(hù)接入網(wǎng)。引入接入網(wǎng)后,現有的電信網(wǎng)將減少端局數量,簡(jiǎn)化中繼網(wǎng)的復雜程度,有利于中繼網(wǎng)的管理。

  接入網(wǎng)所覆蓋的范圍可以由三類(lèi)接口來(lái)界定,如圖1所示。接口的標準化、綜合性直接影響到接入網(wǎng)的建設成本及接入網(wǎng)能承載的業(yè)務(wù)能力,為此,ITU-T綜合考慮各種需要,終于通過(guò)了關(guān)于接入網(wǎng)和本地交換機之間標準化的V5.1和V5.2接口的建議[1,2]。

  V5接口是一種在接入網(wǎng)中適用范圍廣、標準化程度高的新型開(kāi)放的數字接口,對于設備的開(kāi)發(fā)應用、多種業(yè)務(wù)的發(fā)展和網(wǎng)絡(luò )的更新起著(zhù)重要的作用。V5接口的標準化代表了重要的網(wǎng)絡(luò )演進(jìn)方向,影響深遠。其意義在于交換機通過(guò)此接口可以支持多種類(lèi)型的用戶(hù)接入,而且V5接口的開(kāi)放性意味著(zhù)交換機和接入網(wǎng)的技術(shù)和業(yè)務(wù)演進(jìn)完全獨立開(kāi)來(lái)。接入網(wǎng)的發(fā)展可以不受交換機的限制,使得接入網(wǎng)市場(chǎng)完全開(kāi)放。

一、V5接口結構

  窄帶V5接口包括V5.1和V5.2接口。V5.1接口由1條2048Kb/s鏈路構成,通過(guò)時(shí)隙傳遞公共控制信號,支持模擬電話(huà)接入,64Kb/s的綜合業(yè)務(wù)數字網(wǎng)基本接入(2B+D)和用于半永久連接的、不加帶外信令信息的其他模擬接入和數字接入。這些接入類(lèi)型都具有指配的承載通路分配,即用戶(hù)端口與V5.1接口內承載通路有固定的對應關(guān)系。V5.2接口按需要可以由1~16個(gè)2048Kb/s鏈路構成,除支持V5.1接口的業(yè)務(wù)外,還支持ISDN PRI(30B+D)接入,其呼叫的時(shí)隙分配使得V5.2接口具有集中功能。V5.1接口是V5.2接口的子集,V5.1接口應當能夠升級到V5.2接口。

  V5接口協(xié)議由3層組成,接入網(wǎng)側和本地交換機側呈不對稱(chēng)布置,層與層之間的信息傳遞采用原語(yǔ),而同層子層間的信息傳遞則采用映射。

  V5接口物理層由1~16條2048Kb/s的鏈路構成,電氣和物理特性符合G.703建議,幀結構符合G.704/G.706建議。每幀由32個(gè)時(shí)隙組成,其中:時(shí)隙TS0用作幀定位和CRC-4規程;時(shí)隙TS15、TS16和TS31可以用作通信通路(C通路),運載信令信息和控制信息,通過(guò)指配來(lái)分配;其余時(shí)隙可用作承載通路。

  V5接口的數據鏈路層僅對于C通路而言。第二層協(xié)議(LAPV5)規范以建議Q.921中規定的LAPD協(xié)議和規程為基礎,允許將不同的信息流靈活地復用到C通路上去。第二層協(xié)議分為兩個(gè)子層:封裝功能子層(LAPV5-EF)和數據鏈路子層(LAPV5-DL)。此外,第二層功能中還應包括幀中繼功能(AN-FR)。

  V5接口的第三層協(xié)議簇包括PSTN協(xié)議、控制協(xié)議、鏈路控制協(xié)議、BCC協(xié)議和保護協(xié)議(后三種協(xié)議為V5.2接口特有)。PSTN協(xié)議負責處理與PSTN業(yè)務(wù)有關(guān)的信令;控制協(xié)議負責用戶(hù)端口狀態(tài)指示與控制,協(xié)調兩側在網(wǎng)管控制下的數據指配;鏈路控制協(xié)議負責協(xié)調和控制AN、LE兩側的鏈路阻塞、鏈路解除阻塞和鏈路標識功能;BCC協(xié)議用來(lái)把一特定2048Kb/s鏈路上的承載通路呼叫分配給用戶(hù)端口;保護協(xié)議提供V5.2接口在出現故障時(shí)通信路徑切換的保護功能。

  如圖2所示,當第三層協(xié)議有信令信息需要發(fā)送時(shí),通過(guò)數據鏈路子層(LAPV5-DL),請求封裝功能子層(LAPV5-EF),用給定的封裝功能地址傳送數據鏈路子層端到端數據。

二、V5接口的實(shí)現

  筆者曾參與IDS2000綜合數字通信系統(接入網(wǎng)側)V5.2接口的開(kāi)放研制工作。IDS2000綜合數字通信系統是電力自動(dòng)化研究院為了滿(mǎn)足電力通信網(wǎng)發(fā)展的需要而開(kāi)發(fā)的一種綜合接入設備。該設備具備V5接口,使得IDS2000系統可以很方便地通過(guò)開(kāi)放接口和大型交換設備互連,取代了原先接入大型交換設備時(shí)所用的音頻Z接口或專(zhuān)用接口。

V5接口協(xié)議分3層結構。物理層和數據鏈路層部分功能由硬件實(shí)現,這在超大規模集成電路飛速發(fā)展的今天,難度已不是太大。Mitel公司生產(chǎn)的大規模E1接口芯片MT9075就是一種很合適的芯片[3]。MT9075是一種單E1接口,綜合了成幀器和LIU。重要特性包括數據鏈路接入、告警、中斷、環(huán)回和診斷,并內嵌了兩個(gè)HDLC控制器(MT8952),特別適用在V5接口(封裝功能子層功能和HDLC協(xié)議類(lèi)似)。

  V5接口的第三層協(xié)議包含內容較多,由軟件實(shí)現。本文主要結合嵌入式系統編程來(lái)介紹V5接口的第三層軟件結構,對于協(xié)議細節的實(shí)現不多贅述。

1.實(shí)時(shí)多任務(wù)[4]

  目前,嵌入式應用領(lǐng)域的一個(gè)發(fā)展傾向是采用實(shí)時(shí)多任務(wù)RTOS(Real Time Operating System)。RTOS的廣泛使用與應用的復雜化有關(guān)。過(guò)去1個(gè)單片機應用程序所控制的外設和履行的任務(wù)不多,采取1個(gè)主循環(huán)和幾個(gè)順序調用的子程序模塊即可滿(mǎn)足要求;但現在1個(gè)嵌入式控制系統可能要同時(shí)控制/監視很多外設,要求實(shí)時(shí)響應,有很多處理任務(wù),各個(gè)任務(wù)之間有很多信息傳遞,如果仍采用原來(lái)的方法,存在兩個(gè)問(wèn)題:一是中斷可能得不到及時(shí)響應,處理時(shí)間過(guò)長(cháng);二是系統任務(wù)多,要考慮的各種可能也多,各種資源若調度不當就會(huì )造成死鎖,降低軟件可靠性,程序編寫(xiě)任務(wù)量成指數增加。正是這種情況的出現,推動(dòng)著(zhù)RTOS的應用迅速發(fā)展。

  對于V5接口,系統軟件工作量相當大,包括5個(gè)核心協(xié)議功能的處理,須管理很多定時(shí)器,有很多用戶(hù)端口需要監視,并且要求實(shí)時(shí)處理,若采用傳統的軟件編程方法,很難實(shí)現。在IDS2000系統中,筆者采用實(shí)時(shí)多任務(wù)操作系統[5]作為開(kāi)發(fā)平臺,大大減輕了軟件的工作量,而采用面向對象的編程方法和事件驅動(dòng)的消息機制,使得協(xié)議程序具有高可靠性、可控、可觀(guān)測、易于維護和管理。

2.V5接口軟件框圖

如圖3所示,V5接口軟件主要包括:

(1) 數據鏈路層模塊(僅包括數據鏈路子層功能,封裝功能子層由硬件板完成);

(2) PSTN協(xié)議處理模塊;

(3) 控制協(xié)議處理模塊(包括用戶(hù)端口狀態(tài)機、指配控制狀態(tài)機、公共控制狀態(tài)機);

(4) 鏈路控制協(xié)議處理模塊(包括鏈路控制狀態(tài)機、鏈路控制L3狀態(tài)機);

(5) BCC協(xié)議處理模塊;

(6) 保護協(xié)議模塊;

(7) V5接口A(yíng)N側系統管理模塊;

(8) V5接口A(yíng)N側資源管理模塊;

(9) 定時(shí)器管理模塊;

(10) 消息處理模塊;

(11) 用戶(hù)端口模塊;

(12) 10ms定時(shí)中斷。

  上述模塊中,模塊1~7完成V5接口協(xié)議的核心功能。其中,數據鏈路層模塊對模塊2~7所產(chǎn)生的消息進(jìn)行處理,交由V5硬件接口板完成封裝功能,再發(fā)送給LE側實(shí)體;PSTN協(xié)議處理模塊主要功能是建立用戶(hù)端口狀態(tài)和LE側國內協(xié)議實(shí)體之間的聯(lián)系;控制協(xié)議模塊用于表示用戶(hù)端口狀態(tài)指示與控制,還和系統啟動(dòng)、重新啟動(dòng)、指配有關(guān);V5接口A(yíng)N側系統管理模塊是協(xié)議功能正常實(shí)現的重要部分,在A(yíng)N和LE中,不同的FSM之間或第二層協(xié)議實(shí)體之間沒(méi)有直接的通信,而是通過(guò)系統管理來(lái)協(xié)調V5接口各個(gè)協(xié)議實(shí)體之間的操作。另外,系統管理負責從AN或LE的各種功能模塊中接收和處理有關(guān)狀態(tài)和故障的信息。系統管理還是維護臺或網(wǎng)管系統與V5接口之間的橋梁,它負責接收維護命令,并對V5接口執行相應的操作,隨時(shí)向上層網(wǎng)管報告系統的運行狀況。

  模塊8~12完成V5接口協(xié)議的輔助功能。其中用戶(hù)端口模塊負責用戶(hù)端口狀態(tài)掃描與控制,直接與硬件端口聯(lián)系;AN側資源管理模塊配合BCC協(xié)議處理模塊完成V5接口中BCC協(xié)議功能;消息處理模塊是為了減輕操作系統的負擔設立的,它負責協(xié)同操作系統管理各模塊的消息隊列;定時(shí)器管理模塊負責產(chǎn)生、管理系統中所需要的定時(shí)器,當定時(shí)器溢出時(shí),發(fā)送消息至相應模塊;10ms定時(shí)中斷程序負責調度系統中需周期性運行的任務(wù),采用“信號量”(semaphores)的通信機制完成。

3.有限狀態(tài)機

  在上述程序模塊中,存在大量的有限狀態(tài)機(FSM),如控制協(xié)議中的用戶(hù)端口FSM、公共控制FSM、BCC協(xié)議中的承載通路連接FSM等。有限狀態(tài)機是描述通信協(xié)議過(guò)程的一般方式,是一種面向對象的描述方法,與具體實(shí)現程序無(wú)關(guān)。有限狀態(tài)機具有有限狀態(tài)集,在任意給定的時(shí)刻,必有惟一確定的狀態(tài),在某狀態(tài)下必須依賴(lài)于外部輸入的特定消息觸發(fā),才能引起狀態(tài)轉移或執行某種任務(wù)。

  有限狀態(tài)機對于系統其他軟件而言相當于一個(gè)“黑匣子”。它可以接收有限的消息組,也可以發(fā)送特定的消息組,但其內部結構不為系統其他部分所知。它的功能完全由它接收和發(fā)送消息順序所決定。

  有限狀態(tài)機的這種描述方式很適合用面向對象的方法實(shí)現。在傳統的實(shí)現方法中,狀態(tài)變量和狀態(tài)表可以在狀態(tài)機模塊外被訪(fǎng)問(wèn),易于遭到破壞。面向對象的實(shí)現方法提供了一種更加結構化和更加直觀(guān)的FSM實(shí)現方法,更利于“數據隱藏”,而且這些優(yōu)點(diǎn)隨著(zhù)FSM規模的增大越發(fā)明顯。我們只須要定義一個(gè)FSM基類(lèi),利用封裝、繼承和多態(tài)性的特點(diǎn),就很容易從先前定義的基類(lèi)中派生出所需要的FSM,大大減少了軟件的工作量,軟件也易于維護。

4.定時(shí)器的實(shí)現機制

  定時(shí)器對于正確實(shí)現通信協(xié)議功能有著(zhù)很重要的作用。V5接口協(xié)議中存在大量的定時(shí)器,當話(huà)務(wù)量較大時(shí),可能有數百個(gè)定時(shí)器同時(shí)運行。定時(shí)器的設計是正確完成V5接口協(xié)議功能的一個(gè)重要部分。

  本系統中由定時(shí)器管理進(jìn)程負責管理V5接口中所有的定時(shí)器。由于各種定時(shí)器所要求的精度各不相同,所選擇時(shí)間的長(cháng)度對各定時(shí)器進(jìn)行監視和計數累計是問(wèn)題的關(guān)鍵:時(shí)間間隔太小,影響系統運行效率;時(shí)間間隔太長(cháng),影響定時(shí)器的精度。為了解決這個(gè)問(wèn)題,系統中設定了三種不同分辨率的定時(shí)器:10ms、100ms和1s(分辨率指計數時(shí)間間隔)。

  若某應用進(jìn)程須要使用定時(shí)器,首先要向定時(shí)器管理進(jìn)程發(fā)送一消息,消息中應包含申請定時(shí)器的分辨率、預置計數值、溢出后應發(fā)送的消息等信息。定時(shí)器管理進(jìn)程收到該消息后,根據定時(shí)器的分辨率將其放到合適的定時(shí)隊列中,啟動(dòng)定時(shí)。若定時(shí)器計數為零,則表示該定時(shí)器溢出,定時(shí)器管理進(jìn)程應向相應的應用進(jìn)程發(fā)送溢出消息,同時(shí)應釋放該定時(shí)器。應用進(jìn)程若主動(dòng)要求放棄一定時(shí)器,則應向定時(shí)器管理進(jìn)程發(fā)送一釋放定時(shí)器消息。消息中應包含所申請定時(shí)器的標號、分辨率以及溢出目標進(jìn)程、目標對象等。定時(shí)器管理進(jìn)程接收到此消息后,在合適的定時(shí)器隊列中尋找到該定時(shí)器后,將其釋放。 定時(shí)器管理進(jìn)程管理其他各應用進(jìn)程所申請的定時(shí)器。在定時(shí)器管理進(jìn)程中,有三個(gè)鏈表分別用于存放這3種不同分辨率的定時(shí)器。

定時(shí)器管理進(jìn)程完成以下一些基本功能:

(1)管理10ms、100ms和1s三種定時(shí)器鏈表。

(2)當10ms定時(shí)間隔到,應遍歷10ms定時(shí)器鏈表,完成對鏈表中各定時(shí)器的計數處理。若有定時(shí)器溢出,則向相應的進(jìn)程發(fā)送溢出消息,并從定時(shí)器鏈表中釋放該定時(shí)器。同樣,當100ms或1s的定時(shí)間隔到時(shí),也應對100ms或1s定時(shí)器鏈表作相同處理。

(3)處理從其他進(jìn)程接收到的消息。當收到從其他進(jìn)程發(fā)送的申請定時(shí)器的消息時(shí),應在相應分辨率的定時(shí)器鏈表中插入所申請的定時(shí)器;在接收到從其他進(jìn)程來(lái)的釋放定時(shí)器的消息后,應尋找到該定時(shí)器,并將其釋放。

5.編寫(xiě)可重入函數

  V5接口中有大量的函數需要編寫(xiě)。和傳統的編程環(huán)境不同,本系統中,V5接口軟件運行在多任務(wù)環(huán)境上,函數的可重入性(reentrancy)顯得很重要。

  所謂可重入函數是指一個(gè)可以被多個(gè)任務(wù)調用的過(guò)程,任務(wù)在調用時(shí)不必擔心數據是否會(huì )出錯。在編寫(xiě)函數時(shí)應盡量只使用局部變量,對于要使用的全局變量需要加以保護(如采用關(guān)中斷、信號量等措施),這樣構成的函數一定是可重入的;而編譯器是否具有可重入的庫,與它所服務(wù)的操作系統有關(guān),如DOS下的Borland C和Microsoft C/C++等就沒(méi)有可重入函數庫,這是因為DOS是一個(gè)單用戶(hù)、單任務(wù)的操作系統。

  為了確保每一個(gè)調用函數的任務(wù)控制自己私有變量,在一個(gè)可重入的C函數中,將這樣的變量申明為局部變量,C編譯器將這樣的變量存放在調用棧上或寄存器里。在操作系統下編寫(xiě)可重入的函數,須要遵循以下原則:

(1)將所有局部變量申明為auto或寄存器(register)類(lèi)型;

(2)盡量不要使用static或extern變量,不可避免使用全局變量時(shí),需加以保護;

(3)用庫函數sc_gblock分配大的數據結構。

三、V5接口發(fā)展的趨勢

  從長(cháng)遠看,為了克服現有一系列SNI(業(yè)務(wù)節點(diǎn)接口)功能的限制,須要開(kāi)發(fā)附加的SNI,特別是模塊型和B-ISDN接入型SNI。目前,以ATM為基礎的VB5接口的標準化工作正在進(jìn)行。VB5參考點(diǎn)可分為VB5.1和VB5.2兩種形式。

  ITU-T已經(jīng)通過(guò)了關(guān)于VB5參考點(diǎn)的建議,規定了VB5既支持AN與SN的直接連接,又支持 兩者的遠程連接;既支持基于A(yíng)TM的B-ISDN接入,又支持各種非ATM的接入。此外,VB5還應支持接入各種SN的接入功能,并能同時(shí)連接到多個(gè)不同的SN。有關(guān)VB5的技術(shù)框架還有待進(jìn)一步研究和開(kāi)發(fā)。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

c++相關(guān)文章:c++教程




評論


相關(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>