如何利用SDL開(kāi)發(fā)TD-SCDMA高層信令
出處:ljxh401 發(fā)布于:2007-04-28 11:59:13
摘要:介紹TD-SCDMA系統(tǒng)的UE結(jié)構(gòu)以及根據(jù)實(shí)際工作經(jīng)驗(yàn)提出利用SDL開(kāi)發(fā)TD-SCDMA高層信令系統(tǒng)的方法。
關(guān)鍵詞:TD-SCDMA系統(tǒng) SDL語(yǔ)言 MSC 實(shí)時(shí)操作系統(tǒng)
1 SDL語(yǔ)言介紹
SDL(規(guī)范描述語(yǔ)言)廣泛地用于描述通信系統(tǒng)的行為。它是CCITT推薦的規(guī)范描述語(yǔ)言。經(jīng)過(guò)ITU-T的發(fā)展和標(biāo)準(zhǔn)化,定義在蘭皮書(shū)Z.100建議中。ITU-T在1988年推出了個(gè)正式版,以后每四年進(jìn)行增補(bǔ)更新。作為國(guó)際標(biāo)準(zhǔn)化的正式語(yǔ)言,它被用來(lái)規(guī)范實(shí)時(shí)多任務(wù)系統(tǒng)的描述。SDL與其它一些相關(guān)技術(shù)如Z.120建議——消息序列圖和Z.105建議及抽象語(yǔ)法符號(hào)一起形成一個(gè)完整的描述語(yǔ)言。
在協(xié)議軟件的開(kāi)發(fā)流程中,SDL被應(yīng)用在系統(tǒng)規(guī)范描述和設(shè)計(jì)階段。它完全獨(dú)立于硬件實(shí)現(xiàn)與操作系統(tǒng)。Telelogic Tau公司提供的SDL軟件不僅可以用于規(guī)范描述和設(shè)計(jì),還可以把SDL的描述和設(shè)計(jì)直接生成標(biāo)準(zhǔn)的C代碼。用戶也可以直接在SDL描述和設(shè)計(jì)中嵌入C代碼,從而完成中的實(shí)現(xiàn)部分的功能。經(jīng)SDL描述產(chǎn)生的C代碼(包括嵌入的C代碼)可以直接與多種嵌入式(或非嵌入式)實(shí)時(shí)多任務(wù)操作系統(tǒng)集成,如NUCLUES、pSOS、Solaris、Vrtx、OSE等,集成后的代碼可以直接在目標(biāo)板上運(yùn)行,從而方便用戶進(jìn)行協(xié)議軟件的開(kāi)發(fā)。
與SDL相對(duì)應(yīng)的MSC(信息序列圖),是ITU-T規(guī)范中用來(lái)表示信息序列的語(yǔ)言。在1991年,ITU-T對(duì)MSC進(jìn)行了標(biāo)準(zhǔn)化。用MSC圖可以方便地表示出信號(hào)的流向,即信號(hào)是從什么進(jìn)程發(fā)送到什么進(jìn)程,信號(hào)是否帶有參數(shù)、具體的參數(shù)值等都可以直觀地表示在SDL MSC圖中,這對(duì)了解和分析信號(hào)在各個(gè)模塊間的傳遞帶來(lái)了很大的方便。不僅如此,通過(guò)MSC圖還可以將SDL的各功能有機(jī)地聯(lián)系在一起。在軟件的跟蹤及調(diào)試過(guò)程中,使用Simulator和Validator可以產(chǎn)生MSC圖。在軟件的TTCN測(cè)試過(guò)程中,MSC圖還經(jīng)常被用于分析測(cè)試的結(jié)果。通過(guò)MSC圖還可以直觀地描述信號(hào)發(fā)送的先后次序,而這些在SDL描述中是辦不到的。
開(kāi)發(fā)的一步是使用TTCN進(jìn)行測(cè)試。TTCN(樹(shù)表結(jié)合表示法)是由ISO和ITU定義在ISO/IEC 9646-3中的一個(gè)規(guī)范測(cè)試語(yǔ)言,是ISO/IEC 9646的第三部分標(biāo)準(zhǔn),用于OSI一致性測(cè)試集的測(cè)試表示法。樹(shù)表結(jié)合表示法,顧名思義,就是采用以樹(shù)和表格為表現(xiàn)形式的測(cè)試表示法,其中表格主要用于數(shù)據(jù)類型、原語(yǔ)、協(xié)議觀察點(diǎn)、約束等,而樹(shù)則用于描述測(cè)試集、測(cè)試?yán)?、測(cè)試步。對(duì)標(biāo)準(zhǔn)有效性的驗(yàn)證和通信軟件的一致性測(cè)試就顯得非常重要。
用SDL設(shè)計(jì)的系統(tǒng)是一個(gè)等級(jí)結(jié)構(gòu)的系統(tǒng),它包括了系統(tǒng)、功能塊和進(jìn)程等。一個(gè)系統(tǒng)可以包含多個(gè)塊,每個(gè)塊可由一個(gè)或多個(gè)進(jìn)程組成。進(jìn)程是SDL系統(tǒng)中的處理單元,采用EFSM描述,所有用戶的處理和操作都在進(jìn)程中完成。在系統(tǒng)級(jí)下定義的內(nèi)容(信號(hào)、數(shù)據(jù)結(jié)構(gòu)等)可以在該系統(tǒng)下所有的塊和進(jìn)程中使用,在塊下定義的內(nèi)容可以在該塊的任何進(jìn)程中使用。
正是SDL的這些特點(diǎn),在開(kāi)發(fā)協(xié)議軟件中起著不可比擬的作用,下面以SDL開(kāi)發(fā)TD-SCDMA高層信令簡(jiǎn)單說(shuō)明SDL的使用。
2 TD-SCDMA系統(tǒng)結(jié)構(gòu)
首先介紹一下TD-SCDMA系統(tǒng)結(jié)構(gòu)。根據(jù)TSM協(xié)議的要求和實(shí)際開(kāi)發(fā)產(chǎn)品的需要,可將TD-SCDMA系統(tǒng)用戶終端協(xié)議軟件分成所示的系統(tǒng)結(jié)構(gòu)(沒(méi)有包括分組數(shù)據(jù)業(yè)務(wù)部分)。整個(gè)系統(tǒng)結(jié)構(gòu)滿足TSM協(xié)議的分層結(jié)構(gòu),同時(shí)根據(jù)控制和軟件的需要增添了TSR、HL1模塊,是一個(gè)SDL塊級(jí)的TD-SCDMA的UE端高層信令結(jié)構(gòu)。整個(gè)系統(tǒng)共有六個(gè)模塊,每個(gè)模塊對(duì)應(yīng)SDL中的一個(gè)塊,每個(gè)模塊分別完成不同的功能。下面簡(jiǎn)要介紹每個(gè)模塊的功能和接口。
CM模塊完成連接管理功能,包括呼叫控制、短消息和附加業(yè)務(wù)三部分,即中的CM塊。
MM模塊完成在電路交換模式下的移動(dòng)性管理功能,實(shí)現(xiàn)UE的移動(dòng)性、安全性以及連接管理,即中的MM塊。
TSR模塊是一個(gè)信號(hào)中轉(zhuǎn)模塊,是MM子層的一部分,主要實(shí)現(xiàn)信號(hào)路由的功能;同時(shí)基于CM子層中各實(shí)體的多實(shí)例(如建立多個(gè)呼叫)特性,對(duì)CM模塊進(jìn)行多實(shí)例的管理。
RRM模塊完成無(wú)線資源管理和控制功能。在空閑模式下,RRM模塊執(zhí)行小區(qū)選擇和小區(qū)重選、為響應(yīng)網(wǎng)絡(luò)尋呼或高層的RR建立請(qǐng)求而發(fā)起RR連接建立以及切換等任務(wù);在RR連接建立過(guò)程中,RRM控制HL1模塊發(fā)起立即指派過(guò)程、主信令鏈路的建立過(guò)程;在連接模式下,RRM主要完成連接模式的資源管理,如指派、信道模式改變和切換等控制過(guò)程;處理隨路信令,如分析和處理系統(tǒng)信息類型5、類型6;發(fā)送測(cè)量以及對(duì)在FACCH信道上接收到的層3消息進(jìn)行分析和處理等任務(wù)。另外RRM模塊還控制HL1模塊對(duì)服務(wù)小區(qū)和鄰近小區(qū)的測(cè)量等過(guò)程。
DL模塊完成無(wú)線連接控制功能,主要包括:信道上提供一個(gè)或多個(gè)數(shù)據(jù)鏈路的連接,不同的連接通過(guò)數(shù)據(jù)鏈路連接標(biāo)識(shí)DLCI區(qū)分;提供幀類型的識(shí)別機(jī)制;允許層3消息在2個(gè)層3對(duì)等實(shí)體之間進(jìn)行透明傳輸;順序控制,以保持幀通過(guò)一條數(shù)據(jù)鏈路連接后的順序;具有在數(shù)據(jù)鏈路上對(duì)格式和操作性錯(cuò)誤的檢測(cè)功能;當(dāng)出現(xiàn)數(shù)據(jù)鏈路的不可恢復(fù)性錯(cuò)誤時(shí),具有向?qū)樱硨?shí)體錯(cuò)誤的機(jī)制;具有流量控制的功能;在RACH上完成接入請(qǐng)求后,當(dāng)需要建立一條數(shù)據(jù)鏈路時(shí)具有解決沖突的功能。
HL1模塊是連接協(xié)議層與物理層的橋梁。按系統(tǒng)的硬件設(shè)計(jì),協(xié)議層和應(yīng)用層的任務(wù)由ARM處理器完成,DSP處理器負(fù)責(zé)完成具體的物理層底層任務(wù),如信源和信道的編解碼、交織、各種物理層參數(shù)的測(cè)量、擴(kuò)頻及調(diào)制等。兩種處理器之間通過(guò)中斷交換數(shù)據(jù)。HL1根據(jù)協(xié)議層的請(qǐng)求,通過(guò)對(duì)協(xié)議層的任務(wù)分解和規(guī)劃,對(duì)物理層資源進(jìn)行調(diào)度和控制。主要包括:在小區(qū)選擇過(guò)程中,HL1模塊控制物理層進(jìn)行鄰近小區(qū)的碼功率的測(cè)量,解讀BSIC,解讀DwPTS的相位,讀?。拢茫茫葔K等任務(wù);在空閑狀態(tài)下,HL1模塊控制物理層執(zhí)行服務(wù)小區(qū)和鄰近小區(qū)的測(cè)量,解讀服務(wù)小區(qū)的系統(tǒng)信息和強(qiáng)6個(gè)鄰近小區(qū)的系統(tǒng)信息類型1,并把測(cè)量結(jié)果和讀取的系統(tǒng)信息給RRM模塊;在隨機(jī)接入過(guò)程中,根據(jù)RRM模塊的控制信號(hào),HL1模塊控制并調(diào)度物理層執(zhí)行隨機(jī)接入過(guò)程的消息發(fā)送與接收;在連接模式下HL1控制物理層執(zhí)行數(shù)據(jù)的收發(fā)、服務(wù)和鄰近小區(qū)的測(cè)量以及切換過(guò)程等。
    中,每個(gè)模塊對(duì)應(yīng)SDL描述中的一個(gè)塊級(jí)結(jié)構(gòu),在每個(gè)塊級(jí)結(jié)構(gòu)中又可以分成很多個(gè)進(jìn)程,高層信令可以通過(guò)PHI信道和物理層進(jìn)行通信。向上可以通過(guò)MMI、CMMI、MMSIM信號(hào)和人機(jī)界面進(jìn)行信息交互。而人機(jī)界面可以由WINCE系統(tǒng)完成,硬件驅(qū)動(dòng)部分可以直接編程實(shí)現(xiàn)[3]。
3 利用SDL系統(tǒng)開(kāi)發(fā)TD-SCDMA方法
在的TD-SCDMA系統(tǒng)描述中,可以利用Telelogica Tau AB公司的SDL Editor?qū)⑵涿枋龀蓸?biāo)準(zhǔn)的SDL描述形式。但不是系統(tǒng)所有的部分都可以使用SDL開(kāi)發(fā)。在硬件驅(qū)動(dòng)、物理層具體的算法、信道的編解碼以及SIM卡的操作等都需要C語(yǔ)言(或者其他語(yǔ)言)完成。將所有的代碼編譯成一個(gè)可以執(zhí)行的目標(biāo)代碼。具體過(guò)程如所示。系統(tǒng)開(kāi)發(fā)代碼運(yùn)行平臺(tái)是ARM,操作系統(tǒng)是NUCLUES PLUS。
利用SDL實(shí)現(xiàn)TD-SCDMA高層信令軟件過(guò)程如下:
步:首先根據(jù)詳細(xì)的描述,定義出所有的數(shù)據(jù)結(jié)構(gòu)。例如保存系統(tǒng)信息的結(jié)構(gòu)體、IMSI碼結(jié)構(gòu)、TMSI碼以及任務(wù)規(guī)劃等結(jié)構(gòu)定義,這些數(shù)據(jù)結(jié)構(gòu)可以C/C++語(yǔ)言格式或是ANS.1格式完成,它們都可以被SDL使用。C/C++描述可以被SDL提供的CPP2SDL.EXE工具很方便地轉(zhuǎn)換成SDL,可以直接使用PR文本[8]。
第二步:利用SDL工具將中完成的TD-SCDMA系統(tǒng)描述和生成相關(guān)的PR描述,根據(jù)需要編譯成不同的C/C++代碼,常用的有兩種:一種是在目標(biāo)板上運(yùn)行的代碼?穴通常選用Cadvanced模式?雪,另一種是可以提供給TTCN測(cè)試的代碼。
第三步:由于生成的目標(biāo)代碼和測(cè)試代碼具有很好的一致性,利用TTCN可以檢查出SDL設(shè)計(jì)中的問(wèn)題,以保證SDL設(shè)計(jì)的正確性。這也是利用SDL進(jìn)行TD-SCDMA系統(tǒng)開(kāi)發(fā)的優(yōu)勢(shì)之一。根據(jù)TSM 11(TD-SCDMA系統(tǒng)測(cè)試規(guī)范)系列所編寫(xiě)的測(cè)試?yán)?,方便進(jìn)行協(xié)議的一致性測(cè)試,可能地發(fā)現(xiàn)開(kāi)發(fā)中出現(xiàn)的問(wèn)題,避免了這些錯(cuò)誤帶到板級(jí)調(diào)試中,從而加快了軟件開(kāi)發(fā)速度。
第四步:SDL描述生成的C源代碼要在ARM硬件系統(tǒng)上運(yùn)行,還需要與選定的RTOS操作系統(tǒng)進(jìn)行集成。SDL可以與多種RTOS系統(tǒng)相互集成,它們的集成原理相同。根據(jù) SDL的進(jìn)程任務(wù),在RTOS系統(tǒng)中的處理情況可以分成兩種,一種是深度集成,另外一種是輕度集成。它們的效果相同,其區(qū)別在于深度集成將SDL描述中的每一個(gè)進(jìn)程作為RTOS中的一個(gè)進(jìn)程來(lái)處理,而輕度集成則將整個(gè)SDL系統(tǒng)作為一個(gè)RTOS進(jìn)程進(jìn)行處理。在實(shí)際應(yīng)用中,大多使用第二種方法。這種方法便于SDL和RTOS系統(tǒng)的集成,集成時(shí)只需要修改SDL的接口文件setenv.c。在該接口文件中,增加下列NUCLEUS的函數(shù):
NU_Create_Memory_Pool()
NU_Allocate_Memory()
NU_Create_Task()
前兩個(gè)函數(shù)被NUCLEUS用來(lái)分配內(nèi)存,保存SDL進(jìn)程控制塊。NU_Create_Task()函數(shù)用于創(chuàng)建NUCLEUS的任務(wù),它是SDL進(jìn)程與NUCLEUS接口的關(guān)鍵函數(shù)。該函數(shù)共有11個(gè)參數(shù):Task_Ptr、“SDL_fn”、SDL_main、0、NULL、Stack_Ptr、MANAGER_STACK_SIZE、MANAGER_
TASK_PRIORITY、MANAGER_TIME_SLICE、NU_PREEMPT、
NU_START;其中Task_Prt是指向進(jìn)程的控制塊、“SDL_fn”是進(jìn)程的名字、Stack_Ptr是進(jìn)程的堆棧指針、MANAGER_STACK_SIZE是堆棧的大??;MANAGER_TIME_
SLICE是進(jìn)程可以占用的時(shí)間(以ticks來(lái)計(jì)算)。經(jīng)過(guò)修改后的接口函數(shù)只要與SDL生成的源代碼和操作系統(tǒng)提供的代碼一起編譯即可。每次啟動(dòng)系統(tǒng)后,NUCLEUS將SDL描述當(dāng)作是一個(gè)獨(dú)立的任務(wù)進(jìn)行處理。SDL進(jìn)程由SDL內(nèi)核管理,而整個(gè)SDL系統(tǒng)則由NUCLEUS管理。NUCLEUS系統(tǒng)有自己一套完整的消息處理機(jī)制,同時(shí)SDL生成的代碼也有自己一套信號(hào)處理機(jī)制,它們相互獨(dú)立,共同作用組成應(yīng)用系統(tǒng)[9]。
將SDL生成的代碼、NUCLUES代碼和所編寫(xiě)的硬件驅(qū)動(dòng)統(tǒng)一編寫(xiě)成ARM運(yùn)行代碼。
在整個(gè)軟件開(kāi)發(fā)過(guò)程中,實(shí)際開(kāi)發(fā)過(guò)程不是完全由步到第四步這么簡(jiǎn)單,有時(shí)它們交織在一起。在TTCN以及目標(biāo)板測(cè)試中發(fā)現(xiàn)的問(wèn)題反饋到設(shè)計(jì)過(guò)程,不斷修正,直到系統(tǒng)的完善。
從以上過(guò)程描述可以看出SDL有以下優(yōu)勢(shì):
(1)SDL工具可以同時(shí)支持圖形(GR)和文本描述(PR),并且可以相互轉(zhuǎn)換。圖形方式方便設(shè)計(jì)人員直觀了解設(shè)計(jì)結(jié)果,而文本方式便于保存。
(2)便于軟件設(shè)計(jì),可以將詳細(xì)設(shè)計(jì)和代碼設(shè)計(jì)過(guò)程有機(jī)地結(jié)合在一起,SDL可以把利用SDL描述的詳細(xì)部分直接生成所需要的代碼。
(3) 由于SDL具有一致性的目標(biāo)源代碼和測(cè)試代碼,可以利用TTCN直接測(cè)試,大大提高了SDL設(shè)計(jì)的源代碼的正確性。同時(shí)SDL具有豐富的MSC接口,在測(cè)試的Validator、Simulator、TTCN過(guò)程中都有MSC圖輸出,可以提供設(shè)計(jì)人員檢查設(shè)計(jì)中存在的問(wèn)題。
SDL生成的代碼可以在多種實(shí)時(shí)多任務(wù)平臺(tái)上運(yùn)行,可以方便地與pSOS、Nuclues Plus、Solaris、VxWorks、OSEDelta等RTOS系統(tǒng)相互集成,具有較好的可一致性。
SDL工具可以將整個(gè)軟件開(kāi)發(fā)過(guò)程、需求、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、代碼設(shè)計(jì)及測(cè)試和維護(hù)集成一體。各個(gè)部分的設(shè)計(jì)都可以使用SDL的不同功能來(lái)描述,限度地節(jié)省人力和物力。
 利用SDL開(kāi)發(fā)TD-SCDMA系統(tǒng)模式(UE端)
    本文沒(méi)有介紹SDL的UML部分可以完成軟件開(kāi)發(fā)的需求分析、總體或概要設(shè)計(jì)。結(jié)合SDL的功能,Telelogical Tau AB提供的SDL工具將軟件開(kāi)發(fā)的全過(guò)程有機(jī)地結(jié)合在一起,從需求分析到代碼生成。加快了軟件開(kāi)發(fā)速度,縮短了軟件開(kāi)發(fā)周期。在整個(gè)TD-SCDMA高層項(xiàng)目開(kāi)發(fā)中,SDL工具軟件起關(guān)鍵作用。
但是SDL在協(xié)議軟件的開(kāi)發(fā)中也不是的,雖然SDL的描述直觀、方便,但是SDL生成的代碼非常復(fù)雜,不便于修改和閱讀。這也是惟一對(duì)SDL擔(dān)憂的地方。通常在生成代碼中一個(gè)不起眼的BUG,將永遠(yuǎn)都不會(huì)找到。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 無(wú)線傳輸電路基礎(chǔ),射頻前端設(shè)計(jì)、天線匹配與鏈路預(yù)算計(jì)算2025/10/27 13:55:50
 - ASK 解調(diào)的核心要點(diǎn)與實(shí)現(xiàn)方式2025/9/5 16:46:17
 - 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21
 - 幾種流行無(wú)線通信方式及其特點(diǎn)2025/9/2 17:14:12
 - 解密射頻線纜彎曲衰減變化,掌握有效應(yīng)對(duì)策略2025/8/29 16:22:47
 
- 編碼器的工作原理及作用1
 - 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
 - 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
 - 電腦藍(lán)屏代碼大全4
 - 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
 - 通俗易懂談上拉電阻與下拉電阻6
 - 繼電器的工作原理以及驅(qū)動(dòng)電路7
 - 電容單位8
 - 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
 - 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
 
- BOOST芯片的VIN與VOUT非常接近時(shí),會(huì)出現(xiàn)什么情況?
 - 如何在無(wú)線電連接設(shè)備中嵌入安全性
 - ADI芯品兼具高精度與低延遲的SAR ADC
 - Allegro發(fā)布革命性10MHz TMR電流傳感器ACS3
 - 串口、UART、RS232、RS485、USB、COM 口全面解析
 - 變壓器基礎(chǔ)知識(shí):原理、結(jié)構(gòu)與應(yīng)用
 - 一款高集成度雙通道、寬頻、自感式數(shù)字電感電容傳感芯片 - MLC12G
 - PCB生產(chǎn)制造中銀層缺陷應(yīng)對(duì)措施
 - 電路板電鍍中4種特殊的電鍍方法
 - 高通SA8155P芯片的接口協(xié)議
 









