论文部分内容阅读
摘要:本文介绍了TD-SCDMA信令测试仪中基于PowerPC网络处理器的ATM数据采集卡的实现方案,主要分析了ATM数据采集软件的各个模块,详细说明了数据采集卡的数据处理流程。实际使用表明,本文提出的数据采集卡已经成功的对ATM不同适配层的信元进行了正确的接收重组和组装发送,具有很大的实用价值。
关键词:TD-SCDMA;网络测试仪;ATM数据采集卡;数据处理流程
引 言
我国自主提出的TD-SCDMA标准随着标准的完善和系统设备的逐渐成熟,再加上政府的强力支持,必将在我国的3G建设中占重要的一席之地。而能对TD-SCDMA网络各个接口(Iub、Iur、Iu等)进行监控和仿真的信令测试仪是TD-SCDMA产业链中的重要一环。目前TD-SCDMA传输网各接口之间的数据传送主要采用IMA协议和STM-l(甚至更高速率)接口的ATM传输。而实现对各接口的数据采集是TD-SCDMA信令测试仪实现的重要基础。本文主要介绍基于PowerPC的TD-SCDMA网络测试仪中ATM数据采集卡的软件模块的实现。
AAL2和AAL5的分段与重组
ATM信元是ATM传送信息的基本载体,采用固定长度的信元格式,只有53字节,其中5个字节为信头,其余的48个字节为信元净荷。信元头有2种格式:用户网络接口UNI和网络节点接口NNI,具体格式如图1所示。图1中,GFC为一般流量控制,4bit。只用于UNI接口,目前置为“0000”,将来可能用于流量控制;VPI为虚通道标识,其中NNI为12bit,UNI为8bitVCI为虚通路标识,16bit,标识虚通道内的虚通路,VCI与VPI组合起来标识一个虚连接;PTI为净荷类型指示,3bit,用来指示信元类型CLP为信元丢失优先级,1bit。用于信元丢失级别的区别,CLP是1,表示该信元为低优先级;HEC为信头差错控制,8bit,监测出有错误的信头,可以纠正信头中1比特的错误。HEC还被用于信元定界。
ATM适配层AAL主要负责ATM层与高层之间的信元转发过程。从上层收到转发信息后,AAL将数据分割成信元;从ATM层收到转发信息后,AAL必须重新集合负载形成一个上层能够辨识的格式。上述操作称之为分段与重组SAR,它是AAL的主要任务。不同的AAL支持不同的流量或服务类型。下面介绍在TD-SCDMA中采用的AAL2和AAL5的信元格式及它们的分段与重组。
AAL2的分段与重组
AAL2适用于传输低速率语音流量。AAL2又被分为通用部分子层(CPS,Common PartSublayer)和服务特定会聚子层(SSCS,ServiceSpecificConvergence Sublayer)。图2给出了CPS包的格式。其中CID:信道标识,CPS-PH中的CID可方便CPS-PP判别在VCC中的状况,它有8个位元,共255个取值,但只有248个CID保留给使用者;LI:长度指示器。数据包有效载荷的长度与每个独立用户相关联,值小于有效载荷且具有一个45字节(可能设置为64字节)的缺省值,它指的是封包载乘的长度(CPS-PP),当它为零时,则表示长度为1byte,因此CPS-PP至少为1byte;UUI:用户对用户指示,提供CPS和一个适当的SSCS问的链路,以满足高层应用程序要求;HEC:信头错误控制。多个CPS包就组成了CPS-PDU,多个CPS—PDU就组成了SSSAR-PDU,多个SSSAR-PDU就组成了一个SSSAR-SDU。图3给出了AAL2的数据单元的分段与重组情况。
AAL5的分段与重组
AAL5是简单且有效的AAL(SEAL),基本上用于数据流量问题上。它不包含Per-Cell长度或Per-CeU CRC字段。图4给出了AAL5的数据单元结构。CPCS-PDU Payload:可变长用户信息字段;PAD:间隙,长度在0到47字节之间;UU:CPCS用户对用户指示;CPI-通用部分指示;Length:长度指示器。
AAL5的重组和AAL2很相似,就是把SAR-PDU进行合并,成为一个CPCS-SDU的净荷。唯一不同的是在AAL5中不含有CID号,所以它的重组要比AAL2简单。图5示出AAL5的数据单元的分段与重组情况。
ATM数据采集卡的数据处理流程
网络处理器是一种可编程器件,通常由若干微码处理器和硬件协处理器组成,可实现业务灵活性和高性能的有机结合。摩托罗拉公司(编者注:现为Freescale)的PowerPC是一块功能强大的网络处理器,由G2_LE Core、通信处理模块(CPM)构成一个双核处理器。在本设计中,我们主要用它来实现ATM协议,完成ATM信元的分组与重组功能。具体的数据流程如图6所示。
ATM数据采集卡的软件设计
数据在发送时,消息体被划分成一个个标准的ATM信元,封装成STM-1帧传送;接收时必须从STM-1帧中取出标准的ATM信元,对数据进行重组,还原出具体的消息。为了实现数据的采集,主要工作由PowerPC处理器运行固化在数据采集卡上的软件模块实现。软件模块由四个部分组成:初始化模块、地址映射模块、接收控制模块、激活模块组成。
初始化模块
初始化模块完成PowerPC的参数RAM的配置、FCC相应寄存器的配置和中断队列的初始化,使整个系统维持在一种待机状态,其配置流程如图7所示。
地址映射模块
地址映射模块负责把来自不同的VPI/VCI组合的ATM信元放置到SDRAM的不同位置。图8给出了地址映射的处理机制,地址映射的流程如下:
A.利用VPI、VP_MASK得到VPpointer,此值用于此VPI在VPT表格中的索引;
B.根据VPT_BASE+VPpointer×4得到此VPI在VPT表中的位置,在相应域写入“VC_MASK”和“VCOFFSET”。其中VC_MASK由自己定义,VCOFFSET的值由公式“VCOFFSET(n+I)=VCOFFSETn+2(num.ber ofones in VC_MASKn)”计算;
C.利用VPT表格中的VC_MASK与接收到的VCI可以得到VCpointer,然后与B相似,利用此VCT BASE+VCpointer×4来定位此VCI在此VCT表格中位置;
D.根据C中得到的地址,在相关域填上“MS、Ch Code”。其中MS表示匹配状态,MS=0表示匹配。对接收来说,相应的VPT和VCT表格要先做好,如果接收的信元头刚好是这对VPI/VCI,那么就可以得到MS=0的标志,从而查出为此对VPI/VCl分配的信道号“ChCode”,然后就根据图4的数据结构进行数据的接收处理;否则就会把此信元丢弃。
接收控制模块
在接收模块中,系统首先把接收到的一个ATM信元分成两个部分:信元头和净荷;然后根据图8所示的地址映射机制,利用信元头中的VPI查找VPT表,随后再利用VCI查找VCT表,从中取出信道号Ch Code;根据此信道号作为索引,找到相应的RCT(接收连接表格)进行参数的配置,在RCT表格中需要定义出AAL的类型,AAL2要比AAL5多一个CID映射表和RxQD表格的查找,用以区别是CPS还是SSSAR;然后根据里面的地址域找到对应的RxBD(接收缓冲描述符)并初始化相应域;最后根据RxBD里的数据接收地址域完成数据接收存储区的初始化,接收到的信元净荷就放置到此区域,当激活模块执行后,CPM就根据接收控制模块的配置,完成不同适配层的数据重组,从而实现数据的接收。具体流程如图9所不。
激活模块
激活模块就是系统向CPM发送“CPCR”命令,使所有初始化模块配置的参数生效,启动接收。系统根据地址映射和接收配置模块的设置把接收到的数据放到相应的位置,通过中断的方式(中断处理机制如图10)进行数据的自定义重组,为每个消息体加上自定义头,成为一条自定义帧(其格式如图11所示),通过PCI中断,以DMA方式把数据传递到上层。
结 语
TD-SCDMA是我国自主提出的3G标准,也是我国3G网络建设的一个重点考虑的标准。目前TD-SCDMA网络建设方面还有很多工作要做。研制出具有自主知识产权的TD-SCDMA网络测试仪,完善TD-SCDMA产业链,必将产生巨大的社会效益及经济效益。本文提出的TD-SCDMA网络测试仪数据采集卡的实现方案已经成功的对ATM不同适配层的信元进行了正确的接收重组和组装发送。基于本方案的数据采集卡通过对物理层处理电路的修改可以方便的实现ATM IMA数据的采集,具有很大的实用价值。
关键词:TD-SCDMA;网络测试仪;ATM数据采集卡;数据处理流程
引 言
我国自主提出的TD-SCDMA标准随着标准的完善和系统设备的逐渐成熟,再加上政府的强力支持,必将在我国的3G建设中占重要的一席之地。而能对TD-SCDMA网络各个接口(Iub、Iur、Iu等)进行监控和仿真的信令测试仪是TD-SCDMA产业链中的重要一环。目前TD-SCDMA传输网各接口之间的数据传送主要采用IMA协议和STM-l(甚至更高速率)接口的ATM传输。而实现对各接口的数据采集是TD-SCDMA信令测试仪实现的重要基础。本文主要介绍基于PowerPC的TD-SCDMA网络测试仪中ATM数据采集卡的软件模块的实现。
AAL2和AAL5的分段与重组
ATM信元是ATM传送信息的基本载体,采用固定长度的信元格式,只有53字节,其中5个字节为信头,其余的48个字节为信元净荷。信元头有2种格式:用户网络接口UNI和网络节点接口NNI,具体格式如图1所示。图1中,GFC为一般流量控制,4bit。只用于UNI接口,目前置为“0000”,将来可能用于流量控制;VPI为虚通道标识,其中NNI为12bit,UNI为8bitVCI为虚通路标识,16bit,标识虚通道内的虚通路,VCI与VPI组合起来标识一个虚连接;PTI为净荷类型指示,3bit,用来指示信元类型CLP为信元丢失优先级,1bit。用于信元丢失级别的区别,CLP是1,表示该信元为低优先级;HEC为信头差错控制,8bit,监测出有错误的信头,可以纠正信头中1比特的错误。HEC还被用于信元定界。
ATM适配层AAL主要负责ATM层与高层之间的信元转发过程。从上层收到转发信息后,AAL将数据分割成信元;从ATM层收到转发信息后,AAL必须重新集合负载形成一个上层能够辨识的格式。上述操作称之为分段与重组SAR,它是AAL的主要任务。不同的AAL支持不同的流量或服务类型。下面介绍在TD-SCDMA中采用的AAL2和AAL5的信元格式及它们的分段与重组。
AAL2的分段与重组
AAL2适用于传输低速率语音流量。AAL2又被分为通用部分子层(CPS,Common PartSublayer)和服务特定会聚子层(SSCS,ServiceSpecificConvergence Sublayer)。图2给出了CPS包的格式。其中CID:信道标识,CPS-PH中的CID可方便CPS-PP判别在VCC中的状况,它有8个位元,共255个取值,但只有248个CID保留给使用者;LI:长度指示器。数据包有效载荷的长度与每个独立用户相关联,值小于有效载荷且具有一个45字节(可能设置为64字节)的缺省值,它指的是封包载乘的长度(CPS-PP),当它为零时,则表示长度为1byte,因此CPS-PP至少为1byte;UUI:用户对用户指示,提供CPS和一个适当的SSCS问的链路,以满足高层应用程序要求;HEC:信头错误控制。多个CPS包就组成了CPS-PDU,多个CPS—PDU就组成了SSSAR-PDU,多个SSSAR-PDU就组成了一个SSSAR-SDU。图3给出了AAL2的数据单元的分段与重组情况。
AAL5的分段与重组
AAL5是简单且有效的AAL(SEAL),基本上用于数据流量问题上。它不包含Per-Cell长度或Per-CeU CRC字段。图4给出了AAL5的数据单元结构。CPCS-PDU Payload:可变长用户信息字段;PAD:间隙,长度在0到47字节之间;UU:CPCS用户对用户指示;CPI-通用部分指示;Length:长度指示器。
AAL5的重组和AAL2很相似,就是把SAR-PDU进行合并,成为一个CPCS-SDU的净荷。唯一不同的是在AAL5中不含有CID号,所以它的重组要比AAL2简单。图5示出AAL5的数据单元的分段与重组情况。
ATM数据采集卡的数据处理流程
网络处理器是一种可编程器件,通常由若干微码处理器和硬件协处理器组成,可实现业务灵活性和高性能的有机结合。摩托罗拉公司(编者注:现为Freescale)的PowerPC是一块功能强大的网络处理器,由G2_LE Core、通信处理模块(CPM)构成一个双核处理器。在本设计中,我们主要用它来实现ATM协议,完成ATM信元的分组与重组功能。具体的数据流程如图6所示。
ATM数据采集卡的软件设计
数据在发送时,消息体被划分成一个个标准的ATM信元,封装成STM-1帧传送;接收时必须从STM-1帧中取出标准的ATM信元,对数据进行重组,还原出具体的消息。为了实现数据的采集,主要工作由PowerPC处理器运行固化在数据采集卡上的软件模块实现。软件模块由四个部分组成:初始化模块、地址映射模块、接收控制模块、激活模块组成。
初始化模块
初始化模块完成PowerPC的参数RAM的配置、FCC相应寄存器的配置和中断队列的初始化,使整个系统维持在一种待机状态,其配置流程如图7所示。
地址映射模块
地址映射模块负责把来自不同的VPI/VCI组合的ATM信元放置到SDRAM的不同位置。图8给出了地址映射的处理机制,地址映射的流程如下:
A.利用VPI、VP_MASK得到VPpointer,此值用于此VPI在VPT表格中的索引;
B.根据VPT_BASE+VPpointer×4得到此VPI在VPT表中的位置,在相应域写入“VC_MASK”和“VCOFFSET”。其中VC_MASK由自己定义,VCOFFSET的值由公式“VCOFFSET(n+I)=VCOFFSETn+2(num.ber ofones in VC_MASKn)”计算;
C.利用VPT表格中的VC_MASK与接收到的VCI可以得到VCpointer,然后与B相似,利用此VCT BASE+VCpointer×4来定位此VCI在此VCT表格中位置;
D.根据C中得到的地址,在相关域填上“MS、Ch Code”。其中MS表示匹配状态,MS=0表示匹配。对接收来说,相应的VPT和VCT表格要先做好,如果接收的信元头刚好是这对VPI/VCI,那么就可以得到MS=0的标志,从而查出为此对VPI/VCl分配的信道号“ChCode”,然后就根据图4的数据结构进行数据的接收处理;否则就会把此信元丢弃。
接收控制模块
在接收模块中,系统首先把接收到的一个ATM信元分成两个部分:信元头和净荷;然后根据图8所示的地址映射机制,利用信元头中的VPI查找VPT表,随后再利用VCI查找VCT表,从中取出信道号Ch Code;根据此信道号作为索引,找到相应的RCT(接收连接表格)进行参数的配置,在RCT表格中需要定义出AAL的类型,AAL2要比AAL5多一个CID映射表和RxQD表格的查找,用以区别是CPS还是SSSAR;然后根据里面的地址域找到对应的RxBD(接收缓冲描述符)并初始化相应域;最后根据RxBD里的数据接收地址域完成数据接收存储区的初始化,接收到的信元净荷就放置到此区域,当激活模块执行后,CPM就根据接收控制模块的配置,完成不同适配层的数据重组,从而实现数据的接收。具体流程如图9所不。
激活模块
激活模块就是系统向CPM发送“CPCR”命令,使所有初始化模块配置的参数生效,启动接收。系统根据地址映射和接收配置模块的设置把接收到的数据放到相应的位置,通过中断的方式(中断处理机制如图10)进行数据的自定义重组,为每个消息体加上自定义头,成为一条自定义帧(其格式如图11所示),通过PCI中断,以DMA方式把数据传递到上层。
结 语
TD-SCDMA是我国自主提出的3G标准,也是我国3G网络建设的一个重点考虑的标准。目前TD-SCDMA网络建设方面还有很多工作要做。研制出具有自主知识产权的TD-SCDMA网络测试仪,完善TD-SCDMA产业链,必将产生巨大的社会效益及经济效益。本文提出的TD-SCDMA网络测试仪数据采集卡的实现方案已经成功的对ATM不同适配层的信元进行了正确的接收重组和组装发送。基于本方案的数据采集卡通过对物理层处理电路的修改可以方便的实现ATM IMA数据的采集,具有很大的实用价值。