首页> 中国专利> 一种E1接入时分复用数据的提取方法、系统及装置

一种E1接入时分复用数据的提取方法、系统及装置

摘要

一种E1接入时分复用数据的提取方法,其步骤为:a)当多通道控制器MCC最后一个通道接收完数据后产生中断,通过中断处理接收MCC所有通道的共N(4的整数倍关系的正整数)个字节数据,并将N个字节数据以4字节为单位分成n组;b)每组数据通过32-bit逻辑运算将同一字节中的4个用户数据进行2-bit转置处理,以将4字节中同一用户的8-bit数据依次排列在同一字节中;c)重复步骤b)直至完成n组的2-bit转置处理后,以16个字节为单位将4字节数据进行数据赋值调整后,以32-bit为单位进行数据赋值操作得到数据提取结果。本发明充分利用CPU资源及显著提高数据提取效率。

著录项

  • 公开/公告号CN101227662A

    专利类型发明专利

  • 公开/公告日2008-07-23

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200810006209.3

  • 发明设计人 赵井军;郭锋;刁坚波;

    申请日2008-02-03

  • 分类号H04Q7/30;H04L5/00;

  • 代理机构北京安信方达知识产权代理有限公司;

  • 代理人龙洪

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部

  • 入库时间 2023-12-17 20:32:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-18

    未缴年费专利权终止 IPC(主分类):H04L5/00 授权公告日:20120718 终止日期:20180203 申请日:20080203

    专利权的终止

  • 2012-07-18

    授权

    授权

  • 2010-05-12

    实质审查的生效 IPC(主分类):H04Q7/30 申请日:20080203

    实质审查的生效

  • 2008-07-23

    公开

    公开

说明书

技术领域

本发明涉及电信领域的时分复用(TDM,Time-Division Multiplexing)数据传输技术,尤其涉及从E1接入的TDM业务数据流中提取数据的技术。

背景技术

现有电信网络中E1资源十分丰富,许多原有设备都使用E1接口,如果能够在不改变原有E1接口设备的情况下,又能提供其它接入方式,如IP接入,就能最大限度的利用现有资源,扩展现有设备的使用年限,实现E1接入到其它接入方式的平滑过渡,对运营商和设备制造商而言都是最佳的解决方案。

一条2.048Mbit/s的E1链路使用脉冲编码调制(PCM,Pulse CodeModulation)格式,分为32个时隙,每个时隙的数据传输速率则为64kbit/s;即每个E1帧的帧长为256个bit,分为32个时隙,每个时隙为8-bit(64kbit/s)。在全球移动通信(GSM,Global System for Mobile communication)系统中,基站控制器(BSC,Base Station Controller)和基站(BTS,Base TransceiverStation)之间的话音速率根据GSM定义的格式压缩编码为16kbit/s,因此一个PCM的64kbit/s时隙实际分为4个16kbit/s使用(4×2bits),即每个用户占用8bit中的2比特。

要实现E1接入到其它接入方式的转换,最重要的就是从E1TDM数据流中提取数据,通常的方法就是将E1接入拥有多通道控制控制器的CPU,每个通道对应一个PCM时隙,每个通道采用独立的接收中断方式,在中断配合任务中完成数据提取和数据处理。E1接入的数据如图1(a)所示的方式排列,用户1至用户4的数据分别是在160个不同字节单元的同一2-bit位置上,需要将4个用户的数据从不同字节的同一2-bit位置分离开来,重新排列处理成的最终的结果如图1(c)所示,即每个用户的1至n(n=40)个字节数据排列在一起。

通用的处理方式是先将图1(a)得出图1(b),处理公式为:

A2n=(A1n&0xC0)|((B1n&0xC0)>>2)|((C1n&0xC0)>>4)|((D1n&0xC0)>>6);

B2n=(A1n&0x30)|((B1n&0x30)>>2)|((C1n&0x30)>>4)|((D1n&0x30)>>6);

C2n=(A1n&0x0C)|((B1n&0x0C)>>2)|((C1n&0x0C)>>4)|((D1n&0x0C)>>6);

D2n=(A1n&0x03)|((B1n&0x03)>>2)|((C1n&0x03)>>4)|((D1n&0x03)>>6);

式中,符号“&”表示“与逻辑”运算;符号“|”表示“或逻辑”运算;符号“>>”表示逻辑右移操作;n=1~40。

图1(b)中的A21~A2n,B21~B2n,......D21~D2n字节单元实际上就是图1(a)中A11~A1n,......D11~D1n字节单元,只是里面的内容经上述处理后发生了改变。

再将图1(b)通过数据字节赋值处理得出图1(c),处理公式为:

A3n=A2n;B3n=B2n;C3n=C2n;D3n=D2n;

图1(c)中的A31~A3n,......D31~D3n字节单元里的内容实际上是图1(b)中A21~A2n,......D21~D2n字节单元里的内容,只是单元的位置经上述处理后除了A31外均发生了改变。

上述这种基于字节的8位运算过于复杂且效率低,况且CPU会被中断频繁打断,中断配合任务将会被频繁调度,因此必将影响CPU的处理能力,影响系统性能,无谓地浪费很多CPU资源。由此可见,需要对现有的提取E1接入TDM数据的方法进行改进,使CPU资源既能得到充分利用,又能使数据提取效率大大提高。

发明内容

本发明所要解决的技术问题是提供一种E1接入时分复用数据的提取方法、系统及装置,能够充分利用CPU资源及显著提高数据提取效率。

为了解决上述技术问题,本发明提供了一种E1接入时分复用数据的提取方法,涉及具有多通道控制器MCC接口的CPU,该方法包括步骤:

(a)当MCC最后一个通道接收完数据后产生中断,通过中断处理接收MCC所有通道的共N个字节数据,并将N个字节数据以4字节为单位分成n组;其中N为4的整数倍关系的正整数;

(b)每组数据通过32-bit逻辑运算操作将同一字节中的4个用户数据进行2-bit转置处理,以将4字节中同一用户的8-bit数据依次排列在同一字节中;

(c)重复步骤(b)直至完成n组的2-bit转置处理后,以16个字节为单位将4用户的4字节数据进行数据赋值调整,然后以32-bit为单位进行数据赋值操作得到最终数据提取结果。

进一步地,步骤(b)32-bit逻辑运算操作包括32-bit逻辑移位、32-bit逻辑异或以及32-bit逻辑与操作。

进一步地,步骤(b)2-bit转置处理进一步包括步骤:

(b1)将每组数据x1通过32-bit逻辑右移6-bit操作得到结果a,将a与数据x1进行32-bit逻辑异或操作,得到结果b;将b与数据0x00CC00CC进行32-bit逻辑与操作后得到结果c;将c进行32-bit逻辑左移6-bit操作后得到结果d;将d与c进行32-bit逻辑异或操作得到结果e;将e再与x1进行32-bit逻辑异或操作得到结果x2;

(b2)将x2进行32-bit逻辑右移12-bit操作后得到结果f;将f与x2进行32-bit逻辑异或操作后得到结果g;将g与数据0x0000F0F0进行32-bit逻辑与操作后得到结果h;将h进行32-bit逻辑左移12-bit操作后得到结果i;将i与h进行32-bit逻辑异或操作后得到转置处理的结果。

进一步地,在步骤(a)前还包括系统设置及初始化步骤:

将MCC接口与2个E1接入的时分复用接口相连,配置成256个独立通道,为MCC接口提供8kbit/s帧同步时钟和8Mbit/s的数据收发时钟;

将MCC接口的各个通道设置为透明传输模式,设置并打开MCC最后一个通道的中断。

为了解决上述技术问题,本发明提供了一种E1接入时分复用数据的提取系统,包括:通过接口转换板相连的基站BTS以及基站控制器BSC,其中:

BTS及BSC,用于通过接口转换板的数据处理,相互发送及接收数据;

接口转换板,用于在进行初始化操作后,通过对板上多通道控制器MCC最后一个通道产生中断,将接收读取的MCC所有通道的N个字节数据以4字节为单位分成n组,分别进行32-bit的数据处理:对n组的每一组数据的2-bit转置处理,以将同一用户的8-bit数据排列在同一字节中;以16个字节为单位的4用户的4字节数据的数据赋值调整;以及以32-bit为单位的数据赋值操作;最后将经过数据处理的N个字节数据发送出去;N为与4成整数倍关系的正整数。

进一步地,该系统将MCC的接口与2个E1接入的时分复用接口相连,配置成256个独立通道,为MCC接口提供8kbit/s帧同步时钟和8Mbit/s的数据收发时钟。

进一步地,接口转换板的初始化操作,包括将MCC的接口各通道设置为透明传输模式,以及设置并打开MCC最后一个通道的中断。

为了解决上述技术问题,本发明提供了一种用于E1接入时分复用数据提取的接口转换装置,包括相互连接的中断处理数据接收模块、数据处理模块以及数据发送模块;其中:

中断处理数据接收模块,用于在装置的多通道控制器MCC最后一个通道产生中断后接收读取MCC所有通道的N个字节数据,N为与4成整数倍关系的正整数;

数据处理模块,用于将读取的N个字节数据以4字节为单位分成n组,分别进行32-bit的数据处理:对n组的每一组数据的2-bit转置处理,以将同一用户的8-bit数据排列在同一字节中;以16个字节为单位的4用户的4字节数据的数据赋值调整;以及以32-bit为单位的数据赋值操作;

数据发送模块,用于将经数据处理模块进行过数据处理的数据发送出去。

进一步地,该装置还包括与中断处理数据接收模块相连的初始化模块,用于将MCC的接口各所述通道设置为透明传输模式,以及设置并打开MCC最后一个通道的所述中断。

进一步地,该数据处理模块进一步包括相互连接的数据分组单元、数据转置处理及赋值调整单元以及数据赋值操作单元;其中:

数据分组单元,用于将N个字节数据分成n组;

数据转置处理单元,用于通过32-bit逻辑移位操作、32-bit逻辑异或操作以及32-bit逻辑与操作,将n组的数据中同一字节中的4用户数据进行2-bit转置处理;

数据赋值操作单元,用于对经过2-bit转置处理的数据进行数据赋值调整,并进行数据赋值操作。

采用本发明的优化改进方法及系统,首先将产生中断并配合相应的中断任务处理选在一个合适的时间点进行,避免了CPU被频繁地中断打断而影响CPU的处理能力,由此使系统性能得到整体改善;再有,通过对数据采用统一的32位逻辑移位、逻辑异或运算及字节赋值处理,既简化了运算处理,也提高了运算处理速度,使转换效率获得了明显地提升,且CPU资源得到充分利用。

附图说明

图1是采用现有的E1接入TDM数据的提取方法进行数据转换示意图;

图2本发明的E1接入时分复用数据的提取方法流程图;

图3是本发明的数据的提取方法中以32-bit为一组进行2-bit单元转置及字节调整示意图;

图4是本发明的数据的提取方法中以16个字节为一组进行数据赋值调整操作示意图;

图5是本发明的E1接入时分复用数据的提取系统结构框图;

图6是本发明的用于E1接入时分复用数据提取的接口转换板的原理框图。

具体实施方式

本发明提供的E1接入时分复用数据的提取系统包括:通过接口转换板相连的基站BTS以及基站控制器BSC,基于该系统的方法实现简单,通用性强,其硬件设计采用具有多通道控制器(MCC,Multi-Channel Controller)接口的CPU,包括以下步骤:

初始化时,系统将与E1线连接的接口转换板上MCC接口的各个通道设置为透明传输模式,为MCC口提供8kbit/s帧同步时钟和8Mbit/s的数据收发时钟;设置并打开MCC最后一个通道的中断;

当MCC最后一个通道接收完数据后产生中断,通过中断任务配合处理接收读取MCC所有通道的N(N=160)个字节数据;

在数据处理时,将N个数据均分成n(n=40)组,每组4字节:通过32-bit逻辑运算(包括逻辑移位、逻辑异或及逻辑与)操作将4字节中同一字节中的4用户数据进行2-bit转置处理,以将同一用户的8-bit数据排列在同一字节中;在完成n组同样处理后,以16个字节为单位将4用户的4字节数据进行数据赋值调整;最后采用以32-bit为单位的数据赋值操作得到最终处理结果。

以下通过附图结合具体实施例来详细说明本发明上述技术方案。

本发明在硬件设计中采用具有多通道控制器(MCC,Multi-ChannelController)接口的CPU,本实施例以飞思卡尔(FREESCALE)公司的CPU产品MPC8360E为例进行说明,配置主频为533MHZ。MPC8360E芯片提供一个MCC接口,物理接口层为TDM接口。本实施例将该MCC接口与2个TDM接口相连,配置成256个独立通道,可以支持8对2.048M的E1线。通常,MCC的通道可以工作于透明传输模式(即无须任何信令协议转换)和高级数据链接控制(HDLC,High-Level Data Link Control)模式,本发明需要将MPC8360E的MCC通道设置为透明传输模式。

与MCC口连接的2个TDM接口,配置的收发时钟为8Mhz,收发帧同步时钟为8khz,即一个TDM接口对应MCC接口的128个通道,这样每个通道每20ms可以接收到160个字节的数据,如图1(a)所示。本实施例将MCC接收数据的中断方式设置为:MCC最后一个通道接收到数据后产生一次中断,并通过相应的中断任务配合处理。因为MCC的数据是串行接收的,即最后一个MCC通道的数据准备好意味着前面的通道数据都已经准备好,这样中断任务就可以一次读取所有实际使用的MCC通道的数据,再进行后续数据的转换。

如图2所示,为本发明的E1接入时分复用数据的提取方法实施例流程图,包括以下步骤:

201:系统初始化,将与E1线连接的MCC接口的各个通道设置为透明传输模式,为MCC口提供8kbit/s帧同步时钟和8Mbit/s的数据收发时钟;设置并打开MCC最后一个通道的中断;

202:当MCC最后一个通道接收完数据后产生中断,进入中断任务处理;

203:接收读取MCC所有通道的N(N=160)个字节数据,并将N个字节数据以4字节为单位分成n组;

204:在数据处理时,通过32-bit逻辑运算(包括逻辑移位、逻辑异或以及逻辑与)操作将4字节中同一字节中的4用户数据进行2-bit转置处理,以将同一用户的8-bit数据排列在同一字节中;

对MCC口接收的数据进行后续的分离必须经过2-bit数据整理,所要达到的目标就是从图1中(a)变换到(b)。

205:判断n组数据是否全部转置处理完,若否,返回步骤204执行,若是执行步骤206;

206:以16个字节为单位将4用户的4字节数据进行数据赋值调整;

207:采用以32-bit为单位的数据赋值操作得到最终处理结果。

本实施例中通过32-bit逻辑运算操作进行2-bit转置处理的方法如图3所示,主要思想是根据逻辑异或运算的原理:0^0=0,0^1=1,1^0=1,1^1=0,即“同入出0(0^0=0,1^1=0),异入出1(0^1=1,1^0=1)”。据此基本原理,还可以推出一些基本的定理,譬如:

数据保持定理:a^0=a;即任何数a与0异或则保持该数a不变;

数据交换定理:a^b^a=b;即两个数值a、b的交换不必经第三个数值单元。

如图3所示,首先对数据x(第1行)以4个字节(即32-bit)为一组进行运算处理,运算公式为:t=(x^(x>>6))&0x00CC00CC,即先将x右移6-bit(第2行),再将x与(x>>6)相异或后,与数值0x00CC00CC进行逻辑与运算得到X1=b0b1^a2a3,X2=b4b5^a6a7,X3=d0d1^c2c3,X4=d4d5^c6c7(第3行)。

再使用公式对t进行运算:x=x^t^(t<<6),即先将t左移6位(第4行),再将t与(t<<6)相异或:t^(t<<6)(第5行),其中,利用上述数据保持定理得到该结果;然后将x与t^(t<<6)再进行异或(第6行):以X1为例,a2a3^X1=a2a3^b0b1^a2a3=b0b1,即完成a2a3和b0b1的交换;依此类推,经过上述运算同时也完成a6a7和b4b5交换,c2c3和d0d1交换及c6c7和d4d5的交换。

同理,最后使用:t=(x^(x>>2))&0x0000F0F0和x=x^t^(t<<12)运算,完成a4a5和c0c1交换,b4b5和d0d1交换,a6a7和c2c3交换及b6b7和d2d3的交换(第7至第11行)。至此,完成整个数据x(32-bit)的2-bit的调整。

完成全部n组同样的转置处理。

本实施例例举的2-bit转置处理的方法主要是32-bit逻辑异或运算,辅以32-bit逻辑移位及32-bit逻辑与操作。本领域的技术人员都知道,本实施例给出的方法并非是唯一的方法,它仅仅用于说明本发明采用统一的32-bit逻辑运算快速、高效地达到4字节中同一字节中的4用户数据的2-bit转置处理,而不是用于限制本发明。

经过上述2-bit调整后的数据如图1的(b)所示,本实施例没有从图1的(b)直接采用字节赋值的方式得出图1的(c),而是在中间加入一步处理,即在图1的(b)的基础上,以16个字节为单位进行数据赋值调整,即将图1(b)中的B21和A22,C21和A23,及D21和A24两两字节的值对换,C22和B23,D22和B24两两字节的值的对换,再完成D23和C24两个字节的值的对换,得到图4所示的结果(A21、A22、A23、A24,......D21、D22、D23、D24)。然后,接着再进行第二组16字节数据的同样处理,得出A25、A26、A27、A28,......D25、D26、D27、D28,直至将第10组(16字节)数据做毕同样处理,再对总共40组(32-bit)数据结果采用以32-bit为单位的数据赋值操作得出图1中(c)的结果。

本发明软件构建于美国Wind River System公司的VxWorks操作系统之上,开发环境为Tornado2.2。使用VxWorks提供的SPY功能得出系统各个任务的CPU占用率。以MCC口配置为256个通道为例,本发明优化前后的试验数据对比如表1所示。

表1采用本发明的方法优化前后的CPU占用率对比

  优化前的CPU占用率  优化后的CPU占用率  (一)  5%  4%  (二)  24%  10%  (三)  38%  18%   备注  (一)中断配合任务读取256个通道;  (二)中断配合任务读取256个通道,加上2-bit数据整理;  (三)中断配合任务读取256个通道,加上2-bit数据整理,加上字  节数据赋值调整优化。

如图5所示,本发明提供的E1接入时分复用数据的提取系统,包括:通过接口转换板500相连的基站BTS 600以及基站控制器BSC 700,其中:

基站BTS 600及基站控制器BSC 700,用于通过接口转换板500的数据处理,相互发送及接收数据;

接口转换板500,用于在进行初始化后,通过对板上MCC最后一个通道产生中断后接收读取MCC所有通道的N(N=160)个字节数据,并对所接收的N个字节数据分成n组,分别进行以32-bit为单位的n组的2-bit转置处理,以16个字节为单位的4用户的4字节数据的数据赋值调整,以及以32-bit为单位的数据赋值操作,最后将N个字节数据处理结果发送出去。

接口转换板500进一步包括相互连接的:初始化模块510、中断处理数据接收模块520、数据处理模块530以及数据发送模块540;其中:

初始化模块510,用于对接口转换板500进行初始化操作,包括将与E1线连接的MCC接口的各个通道设置为透明传输模式,为MCC口提供8kbit/s帧同步时钟和8Mbit/s的数据收发时钟;设置并打开MCC最后一个通道的中断;

中断处理数据接收模块520,用于在板上MCC最后一个通道产生中断后接收读取MCC所有通道的N(N=160)个字节数据;

数据处理模块530,进一步包括相互连接的数据分组单元5301、数据转置处理及赋值调整单元5302以及数据赋值操作单元5303;其中:

数据分组单元5301,用于将中断处理数据接收模块520接收的N个字节数据以4字节为单位分成n(n=40)组;

数据转置处理单元5302,用于通过32-bit逻辑运算(包括逻辑移位及逻辑异或)操作,将n组数据每4字节中同一字节中的4用户数据进行2-bit转置处理,以将同一用户的8-bit数据排列在同一字节中;

数据赋值操作单元5303,用于对经过2-bit转置处理的数据以16个字节为单位进行数据赋值调整,并以32-bit为单位的数据赋值操作得到最终处理结果;

数据发送模块540,用于将经数据处理模块530进行过数据处理的数据发送出去。

通过本实施例给出的本发明的系统中接口转换板500,其中各个模块的名称及功能仅仅用于说明本发明,而非用于限制本发明。任何与本发明接口转换板500中的各模块名称不同但实质功能相同,或者,模块功能划分不同但总体功能实质相同的装置均在本发明所要求保护的范围内。

从上述实施例可以看出,本发明由于将产生中断并配合相应的中断任务处理选在一个合适的时间点进行,由此避免了CPU被频繁地中断打断而影响CPU的处理能力,使系统性能得到整体改善;再有,通过对数据采用统一的32位逻辑移位、逻辑异或运算及字节赋值处理,既简化了运算处理,也提高了运算处理速度,使数据转换效率获得了明显的提升,CPU资源也得到充分利用。

当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号