用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

如何利用SDL开发TD-SCDMA高层信令

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:49:29
帧类型的识别机制;允许层3消息在2个层3对等实体之间进行透明传输;顺序控制,以保持帧通过一条数据链路连接后的顺序;具有在数据链路上对格式和操作性错误的检测功能;当出现数据链路的不可恢复性错误时,具有向层3实体报告错误的机制;具有流量控制的功能;在RACH上完成接入请求后,当需要建立一条数据链路时具有解决冲突的功能。

HL1模块是连接协议层与物理层的桥梁。按系统的硬件设计,协议层和应用层的任务由ARM处理器完成,DSP处理器负责完成具体的物理层底层任务,如信源和信道的编解码、交织、各种物理层参数的测量、扩频及调制等。两种处理器之间通过中断交换数据。HL1根据协议层的请求,通过对协议层的任务分解和规划,对物理层资源进行调度和控制。主要包括:在小区选择过程中,HL1模块控制物理层进行邻近小区的码功率的测量,解读BSIC,解读DwPTS的相位,读取BCCH块等任务;在空闲状态下,HL1模块控制物理层执行服务小区和邻近小区的测量,解读服务小区的系统信息和最强6个邻近小区的系统信息类型1,并把测量结果和读取的系统信息报告给RRM模块;在随机接入过程中,根据RRM模块的控制信号,HL1模块控制并调度物理层执行随机接入过程的消息发送与接收;在连接模式下HL1控制物理层执行数据的收发、服务和邻近小区的测量以及切换过程等。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    图2中,每个模块对应SDL描述中的一个块级结构,在每个块级结构中又可以分成很多个进程,高层信令可以通过PHI信道和物理层进行通信。向上可以通过MMI、CMMI、MMSIM信号和人机界面进行信息交互。而人机界面可以由WINCE系统完成,硬件驱动部分可以直接编程实现[3]。

3 利用SDL系统开发TD-SCDMA方法

在图2的TD-SCDMA系统描述中,可以利用Telelogica Tau AB公司的SDL Editor将其描述成标准的SDL描述形式。但不是系统所有的部分都可以使用SDL开发。在硬件驱动、物理层具体的算法、信道的编解码以及SIM卡的操作等都需要C语言(或者其他语言)完成。最后将所有的代码编译成一个可以执行的目标代码。具体过程如图3所示。系统开发代码运行平台是ARM,操作系统是NUCLUES PLUS。

利用SDL实现TD-SCDMA高层信令软件过程如下:

第一步:首先根据详细报告的描述,定义出所有的数据结构。例如保存系统信息的结构体、IMSI码结构、TMSI码以及任务规划等结构定义,这些数据结构可以C/C++语言格式或是ANS.1格式完成,它们都可以被SDL使用。C/C++描述可以被SDL提供的CPP2SDL.EXE工具很方便地转换成SDL,可以直接使用PR文本[8]。

第二步:利用SDL工具将图2中完成的TD-SCDMA系统描述和生成相关的PR描述,根据需要编译成不同的C/C++代码,最常用的有两种:一种是在目标板上运行的代码?穴通常选用Cadvanced模式?雪,另一种是可以提供给TTCN测试的代码。

第三步:由于生成的目标代码和测试代码具有很好的一致性,利用TTCN可以检查出SDL设计中的问题,以保证SDL设计的正确性。这也是利用SDL进行TD-SCDMA系统开发的优势之一。根据TSM 11(TD-SCDMA系统测试规范)系列所编写的测试例,方便进行协议的一致性测试,最大可能地发现开发中出现的问题,避免了这些错误带到板级调试中,从而加快了软件开发速度。

第四步:SDL描述生成的C源代码要在ARM硬件系统上运行,还需要与选定的RTOS操作系统进行集成。SDL可以与多种RTOS系统相互集成,它们的集成原理相同。根据 SDL的进程任务,在RTOS系统中的处理情况可以分成两种,一种是深度集成,另外一种是轻度集成。它们的效果相同,其区别在于深度集成将SDL描述中的每一个进程作为RTOS中的一个进程来处理,而轻度集成则将整个SDL系统作为一个RTOS进程进行处理。在实际应用中,大多使用第二种方法。这种方法便于SDL和RTOS系统的集成,集成时只需要修改SDL的接口文件setenv.c。在该接口文件中,增加下列NUCLEUS的函数:

NU_Create_Memory_Pool()

NU_Allocate_Memory()

NU_Create_Task()

前两个函数被NUCLEUS用来分配内存,保存SDL进程控制块。NU_Create_Task()函数用于创建NUCLEUS的任务,它是SDL进程与NUCLEUS接口的关键函数。该函数共有11个参数: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是指向进程的控制块、“SDL_fn”是进程的名字、Stack_Ptr是进程的堆栈指针、MANAGER_STACK_SIZE是堆栈的大小;MANAGER_TIME_

SLICE是进程可以占用的最大时间(以ticks来计算)。经过修改后的接口函数只要与SDL生成的源代码和操作系统提供的代码一起编译即可。每次启动系统后,NUCLEUS将SDL描述当作是一个独立的任务进行处理。SDL进程由SDL内核管理,而整个SDL系统则由NUCLEUS管理。NUCLEUS系统有自己一套完整的消息处理机制,同时SDL生成的代码也有自己一套信号处理机制,它们相互独立,共同作用组成应用系统[9]。

最后将SDL生成的代码、NUCLUES代码和所编写的硬件驱动统一编写成ARM运行代码。

在整个软件开发过程中,实际开发过程不是完全由第一步到第四步这么简单,有时它们交织在一起。在TTCN以及目标板测试中发现的问题反馈到设计过程,不断修正,直到系统的最后完善。

从以上过程描述可以看出SDL有以下优势:

(1)SDL工具可以同时支持图形(GR)和文本描述(PR),并且可以相互转换。图形方式方便设计人员直观了解设计结果,而文本方式便于保存。

(2)便于软件设计,可以将详细设计报告和代码设计过程有机地结合在一起,SDL可以把利用SDL描述的详细报告部分直接生成所需要的代码。

(3) 由于SDL具有一致性的目标源代码和测试代码,可以利用TTCN直接测试,大大提高了SDL设计的源代码的正确性。同时SDL具有丰富的MSC接口,在测试的Validator、Simulator、TTCN过程中都有MSC图输出,可以提供设计人员检查设计中存在的问题。

SDL生成的代码可以在多种实时多任务平台上运行,可以方便地与pSOS、Nuclues Plus、Solaris、VxWorks、OSEDelta等RTOS系统相互集成,具有较好的可一致性。

SDL工具可以将整个软件开发过程、需求报告、总体设计报告、详细设计报告、代码设计及测试和维护集成一体。各个部分的设计都可以使用SDL的不同功能来描述,最大限度地节省人力和物力。

图3 利用SDL开发TD-SCDMA系统模式(UE端)

   

上一页  [1] [2] [3]  下一页

Tags:

作者:佚名
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:28,843.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号