Aal2公共部分子层接收端装置的制作方法

文档序号:7958378阅读:370来源:国知局
专利名称:Aal2公共部分子层接收端装置的制作方法
技术领域
本发明属于电信领域,具体地说涉及电信领域里与ATM应用相关的AAL2公共部分子层(CPS)接收端功能装置。
(二)发明背景AAL2是ATM适配层的一种类型,主要针对那些对传输时延敏感的、较低速率的实时业务(如话音)提供一种高效的信元适配方法,CPS则是AAL2中的一个子层。AAL2-CPS的接收端功能是接收来自ATM分复用单元的ATM信元,按照I.363.2协议中规定的格式将信元拆包还原成CPS业务数据单元(CPS-SDU),提交给高层,同时将拆包过程中的出错信息提交给层管理。
现有的AAL2-CPS接收端功能都是以通信处理器或CPU(即中央处理器)等为载体,以软件(或微代码)方式实现,比如摩托罗拉的MPC8260子卡就是这样。这种“软件+处理器”实现的装置存在以下缺点单个载体处理器所能接收和处理的业务流量较低、效率不高;若要支持较大带宽的业务流量,需要多个处理器并行工作,这样就带来了如何进行负荷分担的问题,也使得相关的系统设计或实现变得复杂且成本增加。
2.该装置主要由信元读入模块、CPS-SDU(SDU即业务数据单元)重组模块、CPS-SDU输出缓冲及控制模块和出错处理模块组成,图1是本装置的总框图。
3.该装置与外部的接口包括与ATM层之间采用UTOPIA LEVEL1(Universal Test and Operations PHY Interface for ATM LEVEL1)规范接口,与高层(即AAL2业务应用层)之间采用共享存储器接口,与层管理之间则提供地址、数据和控制信号,可通过外部处理器访问本装置;在该装置中,各主要模块的技术特征如下1、信元读入模块采用UTOPIA LEVEL1接口信号方式与ATM层相接口,该模块内部有一个FIFO缓存器和地址产生器,信元净荷进入FIFO中缓存,信元头则经地址产生器转换为重组模块所需的基地址。
2、CPS-SDU重组模块采用了两级控制的处理结构,整个处理过程由一个状态转移控制子模块统一控制,管理其下属的6个处理子模块STF处理子模块、跨信元CPS-PH处理子模块、跨信元CPS-PP处理子模块、剩余字节判断子模块、信元内CPS-PH处理子模块和信元内CPS-PP处理子模块,某一时刻只有一个子模块被激活。为了支持多个连接,还保存一个状态表,记录各个连接的当前处理状态。CPS-SDU重组模块向信元读入模块提供读控制信号,通过数据线、VPI/VCI信号线及基地址信号线从信元读入模块得到CPS-PDU以及VPI/VCI值、CPS-SDU的基地址,当产生完整的SDU后则向SDU输出缓冲及控制模块提供一个提交请求信号,通知其向高层提交当前CPS-SDU。
3、CPS-SDU输出缓冲及控制模块包括提交请求处理子模块和CPS-SDU读出/写入控制子模块两部分。提交请求处理子模块接收来自CPS-SDU重组模块的提交请求,并锁存待提交SDU的缓存区基地址以便提交时按此寻址输出CPS-SDU数据。若等待提交的SDU太多而来不及处理,则使重组允许信号失效,使得SDU重组模块暂停工作。当提交请求处理子模块中暂存有至少一个提交请求时,读出允许信号有效,CPS-SDU读出/写入控制子模块根据当前的提交请求和基地址读出相应区域的CPS-SDU内容,并按预定格式写入到外部共享存储器中,然后发出控制信号,通知提交请求处理子模块清除当前的提交请求信号和基地址,进入下一个提交请求的处理。若从SDU缓存区中读出的CID或UUI不符合要求,则CPS-SDU读出/写入控制子模块产生相应的出错信息送到出错处理模块,同时丢弃当前待提交的SDU。
4、出错处理模块根据CPS-SDU重组模块和CPS-SDU输出缓冲及控制模块送来的出错指示,产生相应的出错信息包并暂存在共享存储器中,由外部处理器读取出错信息并提交给层管理进行相应处理。下面是对各模块内部组成和接口关系的更进一步说明。
一、信元读入模块图2是信元读入模块结构框图,它给出了信元读入模块的内部构成(立体框表示的部分)及其主要接口。信元读入模块通过UTOPIA LEVEL1接口从ATM分接/复接单元的接收信元存储器(FIFO方式的存储器)读取ATM信元,读取过程由信元读取控制子模块控制完成,并区分出信元头和信元净荷信元净荷(即CPS-PDU或称CPS协议数据单元)存储在内部的FIFO缓存器中,供SDU重组模块使用;信元头送到VPI/VCI获取和基地址产生子模块处理,用于提取VPI/VCI值,以供高层处理使用。同时,VPI/VCI值经变换后得到CPS-SDU暂存的基地址,为CPS-SDU重组模块指出当前CPS-SDU在缓存区中的存储位置。
由于AAL2的一个CPS-Packet是可以跨信元的,所以每个AAL2连接在CPS-SDU缓存区中有一个缓存块,以存储由于跨信元而未重组完毕的CPS-SDU。为支持多个虚连接,在VPI/VCI获取和基地址产生子模块中引入了VPI/VCI值到基址索引字的映射表,在每次系统复位后由外部处理器对表进行初始化,而在重组过程中,根据VPI/VCI值表中的数据由作为地址索引读出,经过相应运算产生。这样对表格写入不同的数据可使基地址对应不同的,从而实现VPI/VCI值到CPS-SDU缓存RAM基地址之间可编程配置的映射。此外,处理器接口在初始化时可以指示CPS-SDU中净荷部分的最大允许长度,如果不指示则按缺省值处理。二、CPS-SDU重组模块CPS-SDU重组模块从信元读入模块中读取CPS-PDU进行重组,产生CPS-SDU数据存储到CPS-SDU暂存RAM中,当产生完整的SDU时,向SDU输出缓冲及控制模块输出提交请求信号,通知其向高层提交当前CPS-SDU;在重组过程中会遇到很多接收错误如丢信元、比特错等,这些错误指示需要输出到出错处理模块中,进一步提交给层管理进行相应处理。
AAL2的CPS-PDU包括一个开始域(STF)和若干个CPS-Packet(可以跨信元),每个CPS-Packet包含3字节的头部(CPS-PH)和若干字节的净荷(CPS-PP)。由于CPS-Packet可跨信元,则整个CPS-PDU可包括下列6种域STF、跨信元CPS-PH、跨信元CPS-PP、信元内CPS-PH、信元内CPS-PP和填充字节(全0)。为了便于实现,降低电路的复杂度,CPS-SDU重组模块采用了两级控制的处理结构。整个处理过程由一个状态转移控制子模块统一控制,管理其下属的6个处理子模块STF处理子模块、跨信元CPS-PH处理子模块、跨信元CPS-PP处理子模块、剩余字节判断子模块、信元内CPS-PH处理子模块和信元内CPS-PP处理子模块。CPS-图3 CPS-SDU重组模块结构示意图所示。
6个子处理模块分别处理其对应的域,且同一时刻至多只有一个模块处于激活状态。收到一个CPS-PDU后,状态转移控制子模块就激活STF处理子模块。当某个子模块被激活时,它就获得了总线的控制权,可以读取CPS-PDU字节,并向CPS-SDU写入子模块输出数据;此子模块处理结束后,即通知状态转移控制子模块,并说明接下来应激活哪个子模块作进一步处理。在剩余字节判断子模块激活时,若当前字节为0或已处理到CPS-PDU尾,则此CPS-PDU的重组处理结束。
在重组过程中如果得到一个完整的CPS-SDU,则向CPS-SDU缓冲输出及控制模块输出提交请求信号,通知其将此CPS-SDU提交到高层。重组模块还接收CPS-SDU缓冲输出及控制模块送来的重组允许信号,只有此信号有效时才允许进行CPS-SDU重组。三、CPS-SDU输出缓冲及控制模块如图4所示,CPS-SDU输出缓冲及控制模块包括提交请求处理子模块和CPS-SDU读出/写入控制子模块两部分。提交请求处理子模块接收来自CPS-SDU重组模块的提交请求,同时还将待提交SDU在其暂存RAM中的基地址锁存起来,作为SDU提交时寻址之用。若等待提交的SDU太多而来不及处理,则使重组允许信号失效,使得SDU重组模块暂停工作。当提交请求处理子模块中暂存有至少一个提交请求时,读出允许信号有效,CPS-SDU读出/写入控制子模块根据当前的提交请求和基地址读出相应区域的CPS-SDU内容,写入外部的CPS-SDU提交存储RAM中,然后发出读出控制信号,通知交请求处理子模块清除当前的提交请求信号和基地址,开始进行下一个提交请求的处理。若从SDU暂存RAM中读出的CID或UUI不符合要求,则CPS-SDU读出/写入控制子模块产生相应的出错信息送到出错处理模块,同时丢弃当前待提交的SDU。
SDU提交存储RAM可分成若干个区域,每个区域包含一个标志,指出此区域是否可写,其余则包括CPS-SDU和一些递交给高层的信息。SDU输出缓冲及控制模块提交CPS-SDU数据包采取了一种轮询的机制,具体如下当有数据包要提交时,先检查当前所指的存储区域是否可写,如果此区域中的数据已被高层读走(读走后高层将标志设为“空”),则把数据包写入此区域,然后把此区域的标志字设为“非空”;如果此区域中的数据未被高层读走(标志为“非空”),则转向下一个区域进行相同的操作,直到找到“空”的区域为止。四、出错处理模块出错处理模块根据CPS-SDU重组模块和CPS-SDU输出缓冲及控制模块送来的出错指示,产生相应的出错信息包并暂存,由外部处理器读取出错信息,并提交给层管理进行相应处理。
出错信息指出了VPI/VCI值和错误号。VPI/VCI值由信元读入模块提供,错误号则由来自CPS-SDU重组单元和SDU输出缓冲及控制块的出错指示经编码产生。出错信息包产生后暂存在FIFO中,当外部处理器读取出错信息时,要把处理器读时序经过逻辑转换产生FIFO的读时序。若FIFO已满而外部处理器没有及时读取,则不再处理新的出错指示,直到外部开始读取出错信息包为止。
本发明的有益效果是本装置可以在单个硬件芯片上实现,且由于是纯硬件方式,单个芯片能够处理成千上万个AAL2连接的接收端功能,处理的业务量可以高达每秒数百兆比特,克服了用软件方式实现时处理速度相对较慢、效率不高等缺点;可以根据应用系统的需求选择合适的FPGA芯片或是ASIC规模;可大大降低系统实现成本。


图1是AAL2接收端装置的总框图。
图2是信元读入模块结构框图。
图3是CPS-SDU重组模块结构框及内部处理流程图。
图4是CPS-SDU输出缓冲及控制模块结构框图。
在第三代移动通信系统的无线网络控制器设备中,Iub接口、Iu接口和Iur接口都要用到AAL2功能,我们在实现AAL2接收端装置时,采用了Altera公司的FPGA芯片,型号为EPT10K50EQC208-3,按照本发明的技术方案进行设计,设计语言为VHDL,设计结果总共占用该型号FPGA芯片的4个嵌入式阵列块(EAB)和近2000个逻辑单元(LE),约占芯片总逻辑资源的70%。这个用EPT10K50EQC208-3型FPGA芯片实现的AAL2接收端装置可以同时支持上万个AAL2连接。
权利要求
1.AAL2公共部分子层接收端装置,其特征在于(1)该装置主要由信元读入模块、CPS-SDU(SDU即业务数据单元)重组模块、CPS-SDU输出缓冲及控制模块和出错处理模块组成;(2)该装置与外部的接口包括与ATM层之间采用UTOPIA LEVEL1(Universal Test and Operations PHY Interface for ATM LEVEL1)规范接口,与高层(即AAL2业务应用层)之间采用共享存储器接口,与层管理之间则提供地址、数据和控制信号,可通过外部处理器访问本装置。
2.根据权利要求1所述的AAL2公共部分子层接收端装置,其特征在于(1)信元读入模块通过UTOPIA LEVEL1接口信号(通过一组信号线提供)从ATM分/复接单元读取信元,并将信元的净荷部分也即CPS-PDU(PDU即协议数据单元)存储在一个内部FIFO缓存器中;(2)信元读入模块内有一个地址产生器,根据信元头信息产生重组模块所需的CPS-SDU缓存RAM基地址;(3)信元读入模块内有一个VPI(虚通路标识)/VCI(虚通道标识)值到CPS-SDU缓存RAM基地址的映射表,可由外部处理器对映射表进行初始化,实现映射关系的可编程配置。
3.根据权利要求1所述的AAL2公共部分子层接收端装置,其特征在于(1)CPS-SDU重组模块可包含或者外接一个适当容量的缓存区,以缓存不同虚通路和虚通道的CPS-SDU;(2)CPS-SDU重组模块中有一个状态表,用以记录各个AAL2连接的当前处理状态,其中包括状态指示及相关的缓存区地址信息;(3)CPS-SDU重组模块向信元读入模块提供读允许信号,然后通过数据线、VPI/VCI信号线及基地址信号线从信元读入模块得到CPS-PDU及VPI/VCI值、CPS-SDU的缓存基地址;(4)CPS-SDU重组模块采用两级控制的处理结构,主级是一个状态转移控制子模块,次级是若干个处理子模块STF处理子模块、跨信元CPS-PH处理子模块、跨信元CPS-PP处理子模块、剩余字节判断子模块、信元内CPS-PH处理子模块和信元内CPS-PP处理子模块,整个工作过程由主级统一控制,根据当前状态调度其下属的次级子模块,某一时刻只有一个子模块被激活;(5)当产生完整的SDU后CPS-SDU重组模块则向SDU输出缓冲及控制模块提供一个提交请求信号,通知其向高层提交当前CPS-SDU。
4.根据权利要求1所述的AAL2公共部分子层接收端装置,其特征在于(1)CPS-SDU输出缓冲及控制模块中含有一个提交请求处理子模块,它接收来自CPS-SDU重组模块的提交请求并将其暂存,同时还锁存待提交SDU的缓存区基地址。若等待提交的SDU太多而来不及处理,则使重组允许信号失效,使CPS-SDU重组模块暂停工作,当提交请求处理子模块中暂存有至少一个提交请求时,使读出允许信号有效(该信号是下面CPS-SDU读出/写入控制子模块的输入信号);(2)CPS-SDU输出缓冲及控制模块中含有一个CPS-SDU读出/写入控制子模块,当提交请求处理子模块的读出允许信号有效时,它轮流处理各个提交请求,处理过程是根据当前的提交请求和基地址读出相应区域的CPS-SDU内容,并写入到外部共享存储器中,然后向提交请求处理子模块发出控制信号,通知提交请求处理子模块清除当前的提交请求信号和基地址,然后处理下一个提交请求,直到处理完所有的提交请求。若从SDU缓存区中读出的CID或UUI不符合要求,则CPS-SDU读出/写入控制子模块产生相应的出错信息送到出错处理模块,同时丢弃当前待提交的SDU。
5.根据权利要求1所述的AAL2公共部分子层接收端装置,其特征在于(1)出错处理模块根据CPS-SDU重组模块和CPS-SDU输出缓冲及控制模块送来的出错指示,产生相应的出错信息包(其中指出了VPI/VCI值和错误号)并暂存在存储器中,由外部处理器读取出错信息并交给层管理进行相应处理。
全文摘要
本发明是通过FPGA(现场可编程门阵列)设计或是ASIC(专用集成电路)设计,采用硬件逻辑电路来实现ITU-T的I.363.2协议中规定的AAL2公共部分子层(CPS)的接收端(也即信宿端)功能,即:接收来自ATM分接/复接单元的ATM信元,将信元拆包还原成AAL2 CPS业务数据单元(CPS-SDU),并提交给高层;为了支持出错管理,还可将拆包过程中的出错信息提交给层管理。本发明涉及的AAL2接收端装置主要由信元读入模块、CPS-SDU重组模块、CPS-SDU输出缓冲及控制模块和出错处理模块组成,本装置针对多个AAL2连接,采用了不同的缓冲区空间分别缓存所需处理的数据,处理过程中的中间状态保留在内部状态表中,各硬件模块之间按照内部产生的特定处理逻辑协同工作。
文档编号H04L1/00GK1373615SQ01136728
公开日2002年10月9日 申请日期2001年10月22日 优先权日2001年10月22日
发明者黄河, 马晨欣, 何红永 申请人:信息产业部电信传输研究所, 国家数字交换系统工程技术研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1