Aal2公共部分子层发送端装置的制作方法

文档序号:7958377阅读:584来源:国知局
专利名称:Aal2公共部分子层发送端装置的制作方法
技术领域
本发明属于电信领域,具体地说涉及电信领域里与ATM应用相关的一种实现AAL2公共部分子层发送端功能的硬件装置。
AAL2-CPS的发送端功能包括1、接收高层发往不同ATM链路上的CPS业务数据单元(CPS-SDU),加上CPS分组头组成CPS分组(CPS-Packet);2、按照I.363.2协议中规定的格式把若干个CPS分组封装成47字节的数据包,在前面附加一个STF(即开始域)字节形成CPS协议数据单元(CPS-PDU),然后加上5字节的信元头形成ATM信元(如果ATM处理单元可生成信元头中的校验字节,则此字节空置);3、将形成的ATM信元传给ATM分接/复接单元。如果47字节数据包中的剩余位置不足以装入一个完整的CPS分组,可把此CPS分组的前一部分装入,而后一部分则装入下一个去往相同ATM链路的47字节数据包中。
本发明的目的即是采用硬件逻辑电路来实现ITU-T的I.363.2协议中规定的AAL2发送端功能,提高处理效率。
(1)本发明所述的AAL2发送端硬件装置是通过FPGA(现场可编程门阵列)设计或是ASIC(专用集成电路)设计实现的,它以硬件逻辑电路作为载体,既可以以独立的芯片形态出现,也可以与其它功能装置相集成,即与其它功能装置一起包含在一个芯片中。
(2)该装置主要由输入控制模块、数据预处理模块、封装控制模块、发送控制模块和定时模块组成(参见

图1)。
(3)该装置的外部接口包括与ATM层之间采用UTOPIA LEVEL1(Universal Test and Operations PHY Interface for ATM LEVEL1)规范接口,与高层(即AAL2业务应用层)之间采用共享存储器接口,与层管理之间则提供地址、数据和控制信号,可通过外部处理器访问本装置。
下面分别描述各主要模块的操作及功能。一、输入控制模块输入控制模块是从高层接收AAL2处理系统产生的数据,每次接收的数据块最大长度为18个双字(一个双字即4个字节),包括8字节VPI(虚通路标识)、VCI(虚通道标识)、CID(连接标识号)、UUI(用户-用户信息)、LI(长度指示)及1至64字节的用户数据,通过为每个数据块设置标志位指示数据块是否可读。当接收使能信号到来时,输入控制模块首先检测当前数据块可读标志位(假设1表示高层数据有效,0表示无效)若标志位为1,则读取该数据块,并产生输入给数据预处理模块各子模块的使能信号,把读取的数据块中各部分数据送入相应子模块进行处理;若标志位为0,地址指针跳转到下一个数据块存放区检测标志位。一个读时钟周期可读取数据块中的一个双字或两个双字(当数据总线宽度为32位时是一个双字,数据总线宽度为64位时是两个双字),接收完一个完整数据块后(根据数据块参数中的长度指示),修改标志位和读指针,等待下一次接收使能信号有效。二、数据预处理模块该模块包含三个子模块VPI/VCI处理子模块、CPS分组头(CPS-PH)创建子模块、CPS-SDU转换子模块。
VPI/VCI处理子模块结构见图2。
在VPI/VCI处理子模块中,VPI、VCI被封装成5字节的信元头。为支持多个AAL2虚连接,并考虑VPI/VCI值的可变性,则信元封装缓存区的基地址不能由VPI/VCI按固定组合逻辑产生。为此,在VPI/VCI处理子模块中引入了一个存储器方式的映射表,在每次系统复位后由层管理接口(如某个外部控制器或处理器)对表格进行初始化,而在封装过程中,表格中的数据由VPI/VCI作为地址索引读出,经过相应运算产生子模块中状态表地址,状态表中则记录封装缓存区各个区域的状态(是否装有未满的信元及下次封装起始位)。这样对表格写入不同的数据可使状态表对应不同的VPI/VCI值,而由状态表地址即可推算出封装缓存区对应区的基地址,从而完成VPI/VCI值到状态表地址和封装缓存区的基地址之间的映射。
在CPS-PH创建子模块中,将CID、UUI、LI经过多项式编码,生成差错控制比特,并将它们封装成CPS-PH。具体的实现方法是假设M(x)是所有位上都为1的帧,其多项式表示为M(x)=xm+xm-1+...+x1+x0;校验和的生成多项式为G(x),阶数为r,预先求得M(x)校验和xrM(x)/G(x)=xr(xm+xm-1+...+x1+x0)/G(x)=xrxm/G(x)xrxm-1/G(x)...+xrx1/G(x)xrx0/G(x)从上式可以看出,所有位上都为1的帧的校验和等于多项式分别为xm、xm-1、...、x0的各阶校验和的异或,因此将一个存有所有各阶校验和的表预置在存储器中,则实际帧(假设可表示为amxm+am-1xm-1+...+alx1+a0x0,其中am、a0比特位为1,其它可为1或0)的校验和是比特位为1所对应的各单阶CRC经简单的异或运算得到,因此使用简单的与门和异或门就可求实现校验和的计算,速度很快,一个时钟周期即可完成。CPS-PH创建子模块构成参见图3。
在CPS-SDU转换子模块中有一块16*32位(或8*64位)的缓存区,通过四选一(或八选一)多路转换器把32位(或64位)的CPS-SDU转换成与下层接口相匹配的8位格式,并将其存放在信元封装缓存区中等待封装处理。可参见图4。三、封装控制模块在封装控制模块中创建STF,并将各个域封装进ATM信元。该模块产生封装缓存区的写允许与地址信号,根据状态表输出的状态字来决定分配给信元各个域的封装时隙。在封装好一个完整信元后向发送控制模块发出发送请求,封装过程结束后刷新VPI/VCI处理子模块中的状态表和定时模块中时间表对应单元的信息以供下次封装处理时使用,并向输入控制模块发出接收允许。图5是该模块的结构框图。四、定时模块定时模块的结构图参见图6。定时模块中设置了一个16位的计数器在系统工作期间循环计数,由封装控制模块在封装了一个未满信元过程结束时将计数器值写入时间表,这相当于为该信元标记了当前时间标签,时间表的各个单元与VPI/VCI处理子模块的状态表对应。轮询机制依次从时间表中读出每个信元的时间标签,与计数器当前值比较,如果差值大于设定值,轮询暂停,向发送控制单元发出到时指示,同时传送该到时信元所处封装缓存区的基地址。五、发送控制模块发送控制模块的功能是发送ATM信元,它由来自封装控制模块的发送请求或定时模块的到时指示触发。发送控制模块的结构框图参见图7。
当发送请求有效时,表示有一个ATM信元已封装完成且ATM处理单元的先入先出接收缓存器可以接收一个完整的信元,则根据封装控制单元同时传送的基地址开始连续发送53字节的信元。
当到时指示有效时,表示有一个不完整的信元到时需要发送,则根据定时模块同时传送的基地址与参数,发送尾部填零的信元。发送完成后将时间表、状态表相应单元重新置数。发送信元的时序遵循UTOPIA LEVEL1接口规范。
本发明有益效果本装置可以在单个硬件芯片上实现,且由于是纯硬件方式,单个芯片能够处理成千上万个AAL2连接的发送端功能,处理的业务量可以高达每秒数百兆比特,克服了用软件方式实现时处理速度相对较慢、效率不高等缺点;可以根据应用系统的需求选择合适的FPGA芯片或是ASIC规模;可大大降低系统实现成本。
图2是VPI/VCI处理子模块结构框图。
图3是CPS-PH创建子模块结构框图。
图4是CPS-SDU转换子模块结构框图。
图5是封装控制模块的结构框图。
图6是定时模块的结构框图。
图7是发送控制模块的结构框图。
在第三代移动通信系统的无线网络控制器设备中,Iub接口、Iu接口和Iur接口都要用到AAL2功能,我们在实现AAL2发送端装置时,采用了Altera公司的FPGA芯片,型号为EPT10K50EQC208-3,按照本发明的技术方案进行设计,设计结果是该装置共占用FPGA芯片的4个嵌入式阵列块(EAB)和1800个逻辑单元(LE),约占芯片总逻辑资源的70%。这个用EPT10K50EQC208-3型FPGA芯片实现的AAL2发送端装置可以同时支持近万个AAL2连接。
权利要求
1.AAL2公共部分子层发送端装置,其特征在于(1)该装置主要由输入控制模块、数据预处理模块、封装控制模块、输出控制模块和定时模块组成;(2)该装置的外部接口包括与ATM层之间采用UTOPIA LEVEL1(Universal Test and Operations PHY Interface for ATM LEVEL1)规范接口,与高层(即AAL2业务应用层)之间采用共享存储器接口,与层管理之间则提供地址、数据和控制信号,可通过外部处理器访问本装置。
2.根据权利要求1所述的AAL2公共部分子层发送端装置,其特征在于(1)输入控制模块通过共享存储器与高层接口,共享存储器中缓存多个数据块,可以支持不同ATM虚通路(VP)、虚通道(VC)中的多个AAL2连接。每个数据块由信元头控制信息及用户数据单元组成,信元头控制信息中含有VPI(虚通路标识)、VCI(虚通道标识)、CID(连接标识号)、UUI(用户-用户信息)、LI(长度指示),用户数据单元则包含1至64字节长度的用户数据;(2)输入控制模块有一个接收使能信号线,当信号线为有效电平时,则该模块检查共享存储器中的当前数据块可读标志,若标志置为“可读”,则读取该数据块,并产生输入给数据预处理模块各子模块的使能信号(即使得相应的使能线为有效电平),把读取的数据块中各部分数据送入相应子模块进行处理;若标志置为“不可读”,地址指针跳转到下一个数据块存放区重复上述过程。当接收完一个完整数据块后(根据数据块参数中的长度指示),修改标志位和读指针,等待下一次接收使能信号有效。
3.根据权利要求1所述的AAL2公共部分子层发送端装置,其特征在于(1)数据预处理模块含有VPI/VCI处理子模块,它处理输入控制模块读取的信元头控制信息中的VPI/VCI字段,据此产生5字节的信元头,为支持多个AAL2连接处理,该子模块有一个状态表记录封装缓存区中各个区域的状态(是否装有未满的信元、下次封装起始位等),并引入一个存储器方式的映射表用于保存VPI/VCI与状态表地址之间的映射关系,可由外部控制器或处理器对其进行初始化,状态表地址经运算得到封装缓存区对应区的基地址;(2)数据预处理模块含有CPS-PH(分组头)创建子模块,它处理输入控制模块读取的信元头控制信息中的CID、UUI、LI字段,经过多项式编码,生成差错控制比特(CRC),并将它们封装成CPS-PH(CPS分组头),CRC通过以下方法得到假设多项式M(x)=xm+xm-1+...+x1+x0表示所有比特位都为1的帧,预先求出对应于xm、xm-1、...x0的各阶校验和,将一个存有各阶CRC值的表预置在存储器中,则实际帧的校验和是比特位为1所对应的各阶CRC经简单的异或运算得到,只需一个时钟周期即可完成;(3)数据预处理模块含有CPS-SDU(业务数据单元)转换子模块,它把32位(或64位)的CPS-SDU转换成与下层UTOPIA接口相匹配的8位格式,并将其存放在信元封装缓存区中等待封装处理。
4.根据权利要求1所述的AAL2公共部分子层发送端装置,其特征在于封装控制模块在封装过程结束后刷新VPI/VCI处理子模块中的状态表和定时模块中时间表对应单元的信息,以供下次封装处理使用,并向输入控制模块发出接收允许信号。
5.根据权利要求1所述的AAL2公共部分子层发送端装置,其特征在于(1)定时模块含有一个存储器方式的时间表,并设置了一个16位的计数器在系统工作期间循环计数,时间表的各表项与VPI/VCI处理子模块的状态表各表项对应,由封装控制模块在封装了一个未满信元过程结束时将计数器值写入时间表,即为每个生成的未满信元贴上一个时间标签。时间表的表项中还保存信元发送状态指示;(2)定时模块使用一个模M计数器(M为表长),采用轮询机制检查时间表中的各个表项,如果信元发送状态指示是待发送状态,则读出当前表项的时间标签,与当前计数器值比较,如果差值大于设定值则表示已经超时,轮询暂停,向发送控制单元发出到时指示,同时传送到时信元所处封装缓存区的基地址;如果信元发送状态指示是非待发状态,则轮询下一个表项;(3)定时模块当发送控制单元发送完毕信元后将时间表项的信元发送状态指示置为非待发状态,继续下一个轮询处理过程。
6.根据权利要求1所述的AAL2公共部分子层发送端装置,其特征在于(1)发送控制模块如果收到封装控制模块的发送请求信号,从相应基地址开始读出一个完整的信元并发往ATM复接单元,发送时序遵循UTOPIA LEVEL1标准接口规范;(2)发送控制模块如果收到定时模块的到时指示,则根据基地址和剩余长度指示,将信元净荷的剩余空间填满后再发往ATM复接单元,发送时序都遵循UTOPIA LEVEL1标准接口规范;(3)发送控制模块信元发送完成后将时间表、状态表相应单元重新置数。
全文摘要
本发明是通过FPGA(现场可编程门阵列)设计或是ASIC(专用集成电路)设计、采用硬件逻辑电路来实现ITU-T I.363.2协议中规定的ATM适配层2(AAL2)公共部分子层(CPS)发送端(或称信源端)功能。本发明提出的装置主要由输入控制模块、数据预处理模块、封装控制模块、输出控制模块和定时模块组成;本装置针对多个AAL2连接采用了不同的缓冲区域分别缓存并轮询处理高层输入数据;通过状态表机制和时间标签法实现CPS-SDU的输出缓冲控制及发送控制,而且通过“单阶校验”预置表的方法使得对AAL2连接分组头的校验和计算只需单个时钟周期即可完成。
文档编号H04L1/00GK1373614SQ0113672
公开日2002年10月9日 申请日期2001年10月22日 优先权日2001年10月22日
发明者黄河, 马晨欣, 何红永 申请人:信息产业部电信传输研究所, 国家数字交换系统工程技术研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1