协议栈的结构及模块培训
本作品内容为协议栈的结构及模块培训,格式为 doc ,大小 1792512 KB ,页数为 18页
('协议栈的结构及模块培训目录1.协议栈的总体架构...........................................................................................................21概述..........................................................................................................................21.协议实现...........................................................................................................22.协议运行过程简述...........................................................................................32、GSM部分的体系结构图:.......................................................................................63、GPRS部分的体系结构图:......................................................................................72.协议栈的模块功能...........................................................................................................71.API模块...................................................................................................................82.CC模块....................................................................................................................83.SM模块....................................................................................................................84.SS模块.....................................................................................................................85.SMS模块..................................................................................................................86.CB模块....................................................................................................................87.SNDCP模块.............................................................................................................88.MM模块...................................................................................................................99.LLC模块..................................................................................................................910.RR模块..............................................................................................................1011.LAPDm模块......................................................................................................1012.RLU模块............................................................................................................1013.RLD模块............................................................................................................1114.L1模块...............................................................................................................1115.SIM模块.............................................................................................................1116.RLP模块.............................................................................................................113.协议栈的TRACE实现..................................................................................................11ChangeHistoryDateChapterTypeContentsOwner2006.01.16AllNewLiujianguoNote:Typeincludes:New,Add,Modify,Delete1.协议栈的总体架构1概述1.协议实现StackCom协议栈是基于3GPP规范release1999,实现了GSM/GPRS的基本功能。StackCom协议栈是基于StackCom的嵌入式实时操作系统(SXR)开发的。该操作系统实现了内存及队列管理,信箱管理,信号量管理,定时器管理,任务表管理,JOB管理等功能。StackCom协议栈主要使用了操作系统的内存及队列管理,信箱管理,定时器管理,任务管理,JOB管理。StackCom协议栈的实现主要是通过消息传送驱动任务调度及帧中断驱动JOB调度来实现,还采用了部分函数调用。L2、L3的功能实现基本是依靠任务调度。L1使用了任务及JOB,在接收上层控制时,是通过任务实现的,而处理帧内容(8时序),响应帧中断,是通过JOB调度实现的。任务调度通过消息驱动来实现,在Stackcom中,消息由消息ID、消息长度和消息体(messagebody)组成。其中消息ID和消息长度构成了消息头(messageheader)。消息在各个任务间传递方式有两种:信箱(mailbox)和队列(queue)。在stackcom中定义了两种信箱,主信箱(mainmailbox)和保存信箱(savemailbox)。主信箱,用于任务间通讯。任务在发送消息后,如果接收消息的模块优先级高于发送消息模块的优先级,则转入接收消息的任务,对该消息进行处理,同时把发送消息的任务挂起。当task在某些状态下无法处理接收到的消息,但该消息可以随后处理时,task把该消息保存到保存信箱中,在适当的时候进行处理。消息通过队列传递存在于L1,L2之间,用于L2发送block到无线接口,使用队列的目的是避免无谓的激活L1,因为L1只有到特定的时间才发送保存的block。帧中断根据启动的JOB及JOB优先级调用不同JOB处理相关的信息。2.协议运行过程简述协议在开始运行后首先从操作系统预留的空间(起始地址为_HEAP_START,长度为SXS_HEAP_SIZE)创建堆。创建堆分为两类,内部SRAM,和外部SRAM。然后初始化信箱,任务,JOB,分配可用信箱ID(即创建信箱),然后初始化定时器,队列,串口,I/O。创建Idletask,根据用户task配置表创建各个用户task。创建任务包括给各个任务分配栈,优先级(Idle任务优先级最低)。设置trace位图,设置各个task中能够输出trace信息的级别;然后在在外部RAM堆(heap)中根据用户需要创建cluster,创建出大小不同的块。最后启动适合的任务。流程建图1:图1对于JOB,协议在运行期间根据需要可以创建,挂起或者删除JOB。在创建JOB时包括给各个JOB分配栈,优先级(Idle任务优先级最低),JOBID,JOB响应处理函数,JOB退出函数等。协议栈一共包括API,SMS,SS,CC,MM(MMC,MMP),CB,SIM,RR(MAC),LAPDm,SM,SNDCP,LLC,RLU,RLD,RLP,L116个模块,由17个任务完成,其中一个为IDLE任务。16个模块是由21个状态机实现。其中SMS由4个状态机实现。MM由两个状态机实现,包括MMC,MMP分别实现GSM与GPRS功能。SMS与MM的关系见图2:图2RR由三个状态机实现。RRI_P主要负责PLMN选择功能,RRI_C负责小区选择及重选、系统消息的接收及测量报告的发送功能。RR_RRD主要负责在专用模式下的无线资源的管理。3.体系结构图下面为协议栈的体系结构图,表明了各个模块之间的交互及控制和数据的流向.2、GSM部分的体系结构图:图33、GPRS部分的体系结构图:图4JOB一共包括CchJob,CbchJob,BcchJob,RachJob,SDcchJob,TchJob,PowerJob,NearJob,PCchJob,PBcchJob,PdchJob,PTCchJob,PSJob,TBFSetUpJob,MonitoringJob,HoAccessJob,TBFReleaseJob,17个Job是根据逻辑信道及有关功能进行划分的。2.协议栈的模块功能协议栈中,每个模块都实现了各自的功能。下面分述如下:1.API模块为上层应用提供与协议栈的接口。2.CC模块这个模块负责电路切换呼叫控制,主要包括:普通呼叫建立,包括主叫与被叫。紧急呼叫建立呼叫保持及呼叫终止(挂断)呼叫中修改(Bearer)DTMF控制呼叫相关的附加业务3.SM模块SM(sessionmanagement)会话管理,是指GPRSMS连接到外部数据网络的处理过程,支持用户终端的PDP上下文处理。功能主要包括:PDP上下文的激活、解除和修改。4.SS模块该模块主要功能是处理独立于呼叫的附加业务和非结构性的附加业务数据流程。附加业务包括呼叫转移,用户参与转移,三方通话等。5.SMS模块该模块处理短消息。包括电路交换或者包交换信道下点对点的发送短消息的链路建立及短消息传送的处理流程、接收短消息的处理流程。6.CB模块主要根据时间表非连续性的接收小区广播消息。7.SNDCP模块SNDCP(SubnetworkDependentConvergenceProtocol),子网汇集协议。MS或者SGSN中继的分组数据协议(PDP)使用SNDCP提供的业务。此外,一个控制实体也可以是一个SNDCP用户,例如AT命令解释器。SNDCP使用逻辑控制链路(LLC)层和会话管理(SM)子层提供的业务。SNDCP的主要功能包括:1、若干PDP的合路;2、N-PDU的缓存3、端对端的应答LLC业务的建立及释放;4、XID参数协商5、用户数据的压缩和解压缩;6、协议控制信息的压缩和解压缩;将网络协议数据单元(N-PDU)分解成逻辑链路控制协议数据单元(LL-PDU),同时,也将LL-PDU组装成N-PDU。8.MM模块该模块主要实现GSM/GPRS移动性管理,安全管理功能,例如通知网络它的当前位置和提供用户机密性身份。MM子层的进一步功能是为上层接续管理子层的不同实体提供连接管理服务。TMSI再分配流程鉴权流程ID标识流程异常终止流程IMSI分离流程普通注册更新流程周期更新流程IMSI附加流程MM连接管理流程GPRSTMSI再分配流程GPRS鉴权和计算流程GPRSID标识流程GPRSMM信息流程GPRSIMSI分离流程GPRSIMSI附加和结合GPRS附加流程GPRSIMSI分离和结合GPRS分离流程普通路由区域更新和结合路由更新流程、周期路由区域更新流程、服务请求9.LLC模块LLC主要为GMM,SMS,SNDCP提供一条可靠的加密链路。主要功能包括:应答模式的建立、重建立和释放;传输上层的应答数据和非应答数据;错误检测和恢复;加密;10.RR模块该模块主要是对GSM/GPRS物理信道的分配、管理及保持。也包括了GPRS的MAC。主要功能有:小区选择和重选;PLMN选择和重选;获取BCCH和PBCCH上的系统信息;转发系统信息给相应的模块;建立和释放dedicated链路;传输和路由GSM高层信令消息;加密控制;Handover;建立和释放包信道,TBF;传输RLC数据Block;传输RLC/MAC控制Block;网络控制的cellchange小区更新测量和测量报告设置物理层参数TLLI管理11.LAPDm模块LAPDm为3层传送来自GSMPLMN空口上的消息。主要提供下列功能:非应答数据的传输;多帧操作的建立和释放;多帧操作建立冲突的解决应答数据的传输;多帧操作时异常的报告和恢复;多帧操作的挂起和恢复;L3数据的分段和重组;多帧操作的终止12.RLU模块在LLC层和MAC层间向下传输LLCPDU;把LLCPDU分段成RLCblock;把RLC/MAC控制消息分段成RLC/MAC控制block;把RLC/MAC控制block重组成RLC/MAC控制消息;BEC流程;RLC数据block的选择性重传13.RLD模块在LLC层和MAC层间向下传输LLCPDU;把RLCblock重组成LLCPDU;14.L1模块L1在处于RR的控制下,进行与小区的同步,在逻辑信道上接收及传送数据及信息。主要功能有:FCH/SCH检测;在(P)BCCH、(P)CCCH、(P)PCH、SDCCH、TCH(/H)、FACCH(/H)、SACCH(/H)、PDCH和PTCCH上接收数据;在(P)BCCH、(P)CCCH、(P)PCH、SDCCH、TCH(/H)、FACCH(/H)、SACCH(/H)、PDCH和PTCCH上发送数据;Handover管理;测量;接收增益控制;功率控制;时间和频率控制;15.SIM模块该模块主要负责与SIM的操作,包括有关数据的读写操作,安全验证等。16.RLP模块RLP是无线链路协议(radiolinkprotocol),处理GSM有关数据的业务。3.协议栈的TRACE实现Trace输出根据用户设定输出级别选择性进行输出。用户设置trace位图,设置各个task中能够输出trace信息的级别。每个任务及相应函数会根据内容设定不同的输出级别。举个例子:假设在MM位置注册请求处理函数中,有信息需要输出,设置的输出级别为2。在用户设置的trace位图中,用户没有开放个级别,即在MM的trace位图变量中,相应的第二个bit没有置位。用户可以设置模块相应trace位图为全部级别开放,然后在Trace工具上对相应的级别进行选择。每个模块的trace位图变量为一个32位的变量。trace位图bit构成见下图5图5ID:用户ID,标识模块LEVEL:定义trace输出级别,用4个bit表示,一共16个级别,16个级别中,级别1~5为系统占用级别,6~16为各模块自定义级别TIDU:不打印trace信息标志,如果该位置位,不论输出级别和STDOUT域是否被置位均不打印trace信息。ABORT:Abort标志,如果该位置位,表示发生异常,需要退出。RAISE:捕获异常标志,表示有异常产生。TDB:数据库标志,未使用。SMAP:6bit,未使用。STDOUT:当该位置位时,输出trace信息。只要输出级别被置位或者STDOUT被置位,则输出trace信息。ARG:存在参数标志,未使用。NB_ARG:参数个数,未使用。输出开关使用的是LEVEL域,及TSTDOUT位。下面为一个开机到注册成功的流程图:图6下面为对应的TRACE输出信息,这些信息显示了需要的内容,没有得到显示的是TRACE级别没开或者没有改模块参与处理。SYS00:==============================================SYS00:StartingStartStack(Band)14:26:37SYS00:==============================================TSP00:Fn8379T16T27T315API01:<--
提供协议栈的结构及模块培训会员下载,编号:1700677319,格式为 docx,文件大小为18页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。