按照移动通信系统的无线链路协议 交换可变长度数据的设备和方法 发明背景
1.发明领域
一般,本发明涉及CDMA(码分多址)移动通信系统,更具体地,涉及按照在无线环境中有效数据传输的无线链路协议(RLP)发送和接收数据的设备和方法。
2.相关技术描述
一般来说,CDMA移动通信系统已经从主要提供话音业务的IS-95标准发展到提供高速数据业务以及话音业务的CDMA-2000标准。CDMA-2000标准可以提供高质量话音业务、运动图像业务和互联网搜索业务。
图1表示由CDMA-2000标准定义的分组数据业务的例子。在图1中,移动站(MS)包括终端设备(TE)和移动终端(MT)。基站由BS/MSC(基站/移动交换中心)表示,用于连接BS/MSC到数据网(例如,互联网)的互通功能块由IWF表示。IWF块是当使用不同协议时用于从一种协议变换到另一种协议的装置。在图1中,移动站的上层业务(或Web业务)处理器和IWF块通过网络协议(或互联网协议(IP))处理器和链路处理器(或点对点协议(PPP))处理器交换数据。即,由上层业务处理器组合的数据以链路协议分组地形式最后发送到各个低层,并且各个低层利用适当的协议发送数据。
图1表示在TE与MT之间使用EIA-232控制器的例子。按照本发明,利用EIA-232控制器发送到MT的链路协议分组通过RLP被分配到无线链路协议(RLP)帧。这样产生的RLP帧通过按照即为CDMA-2000标准的IS-2000标准连接的物理信道进行发送。通过连接的物理信道在基站接收的RLP分组恢复回链路协议分组,并且通过中继层将恢复的分组发送到IWF块。一般,基站与IWF块之间的连接是按照IS-658标准执行的。IWF块从链路协议分组中读出数据并发送该数据到网络协议处理器,并且该数据最后被发送到上层业务处理器。
虽然已经对从移动站向基站发送数据的过程进行了描述,但是从基站向移动站发送数据的过程可以类似地进行。为了提供各种业务,CDMA-2000标准支持不同于图1的各种方案。但是,这些方案具有一个共同的特点,即,带有上层业务数据的链路协议分组是通过RLP在无线物理信道上发送的。
RLP 3型规范仅产生可填充对于当前速率集1的9.6Kbps或19.2Kbps的物理信道帧的适当长度的RLP帧,或者可填充对于速率集2的14.4Kbps或28.8Kbps的物理信道帧的适当长度的RLP帧。因此,当该物理信道工作在153.6Kbps或230.4Kbps的更高速率时,则利用在一个物理信道帧中填充若干个RLP帧的方法。如果该物理信道支持高于153.6或230.4Kbps的速率——153.6或230.4Kbps的速率是在RLP 3型规范中支持的最高速率,例如,如果物理信道支持307.2Kbps、460.8Kbps、614.4Kbps和1036.8Kbps,则更多RLP帧被填充到一个物理信道帧中。然而,与用一个大尺寸RLP帧填充一个物理信道帧的方法比较,这种方法引起在帧标题和帧的不可利用部分的负担的增加,因此降低帧效率。从而,要求发送比当前RLP 3型帧尺寸大的RLP帧的新方法。
发明概要
因此,本发明的一个目的是提供在移动通信系统中发送基于8比特组排序的可变长度的RLP帧,同时按照RLP发送数据的设备和方法。
本发明的另一个目的是提供在移动通信系统中通过提出有效地多路复用/多路分解控制以支持各种长度的RLP帧来发送具有不同帧尺寸和结构的带有更多数据的信息帧(或物理帧)、同时按照RLP发送数据的设备和方法。
为了实现上述目的,提供按照无线链路协议(RLP)发送的新格式的一种信息帧和在移动通信系统中发送和接收该信息帧的设备和方法。该信息帧包括多个连续复用的每个具有规定的长度的帧。该各多路复用帧的每个包括一个标题和后续的RLP帧,此RLP帧包含发送的数据。各多路复用帧的至少一个包括多个子多路复用帧,并且每个子多路复用帧包括:一个标题,包括RLP业务标识符字段和指示发送数据的长度的长度指示字段;一个数据块,与后续的RLP帧相关。
附图简述
从下面的结合附图的详细描述中,本发明的上述和其它目的、特点和优点将变得更加明显,各个附图中:
图1是表示用于执行分组数据业务的一般CDMA通信系统的图;
图2是表示可应用本发明的、按照RLP发送和接收数据的设备的图;
图3是按照本发明的数据发送机的图;
图4是表示按照本发明的数据接收机的图;
图5A到5D是表示由图2的数据发送机产生的帧的格式的图;
图6A到6C是表示按照本发明产生的LTU(逻辑发送单元)的格式的图;
图7是表示按照本发明产生的数据块的格式的图;
图8是表示按照本发明产生的RLP帧的格式的图;
图9是表示按照本发明的用于发送基本信道的程序的流程图;
图10是表示按照本发明的用于接收基本信道的程序的流程图;
图11是表示按照本发明的用于发送附加信道的程序的流程图;
图12是表示按照本发明的用于接收附加信道的程序的流程图。
优选实施例的详细描述
下面将参照各个附图描述本发明的优选实施例。在下面的描述中,在下面的描述中,不对公知的功能或结构进行描述,因为这样在没有必要的细节上会混淆了本发明。
图2表示可以应用本发明的按照RLP发送和接收数据的一种移动通信系统的结构。
参照图2,按照IS-2000规范,物理层处理器150和250连接移动站和基站之间的物理信道,将从连接的RLP处理器130和230提供的RLP帧通过连接的物理信道发送到另一方的物理层,并且发送通过物理信道接收的RLP帧到RLP处理器130和230。
多路复用/多路分解控制器140和240具有复用功能:将要发送到物理层处理器150和250的RLP帧的目的地和尺寸信息附加在RLP帧标题上,并且发送RLP帧到物理层处理器150和250。另外,多路复用/多路分解控制器140和240具有检测接收的RLP帧的目的地和尺寸的去复用功能,并且随后发送检测的结果到上层RLP处理器130和230。
发送和接收数据缓冲器122、124、222和224是用于存储图1的EIA-232控制器或IS-658控制器从链路协议(PPP)处理器110和210接收的数据的存储装置。数据缓冲器122和222在RLP处理器130和230的请求下按照需要的尺寸按顺序分割存储的分组。数据缓冲器124和224按顺序存储从RLP处理器130和230提供的数据。存储的数据通过EIA-232控制器或IS-658控制器被发送到PPP处理器或IWF块。EIA-232控制器或IS-658控制器按照EIA-232规范和IS-658规范进行操作,并且执行数据缓冲器122、124、222和224与链路协议处理器110和210之间的数据交换。对于现今的CDMA-2000分组业务,可能利用非EIA-232控制器和IS-658控制器的一种控制器。由于这个原因,在图2中没有表示出控制器。
图3表示按照本发明的数据发送机。参照图3,用于发送RLP帧的RLP处理器130包括RLP控制器131、L_V(S)寄存器132和前向重新排序缓冲器(forward resequencing buffer)133。RLP控制器131通过从传输数据缓冲器122接收数据产生一个RLP帧,并利用所产生的RLP帧向多路复用/多路分解控制器140发送一个数据块。前向重新排序缓冲器133是用于存储数据供重新排序的存储装置。当按字节为单位发送数据时,L_V(S)寄存器132存储每个字节的顺序号。
图4表示按照本发明的数据接收机。参照图4,用于接收RLP帧的RLP处理器130包括控制器131、E寄存器134、L_V(N)寄存器135、L_V(R)寄存器136、NAK表137和重排缓冲器138。RLP控制器131从多路复用/多路分解控制器140接收RLP帧并检查是否数据是按次序接收的。如果数据是按次序接收的,RLP控制器131在接收数据缓冲器124中存储该数据。否则,RLP控制器131在重排缓冲器138中存储该数据,并然后将要被请求用于重发的部分(周期)记录在NAK(非确认???)表137中,以便当发送下一个控制帧时,发送存储在NAK表137的周期。
E寄存器134记录被损害的(或坏的)数据块的数目。当多路复用/多路分解控制器140通知受损害的数据块时,RLP控制器131在E寄存器134中记录这个值以便当要求重建时使用它。当接收到具有顺序号大于或等于L_V(R)寄存器136的值的数据字节时,RLP控制器131判定接收到新的数据。否则,当接收到具有顺序号小于L_V(R)寄存器136的值和大于或等于L_V(N)寄存器135的值的数据字节时,RLP控制器131判断定接收到重发的数据。L_V(N)寄存器135存储将被接收的数据中的受损害的数据字节(或接收失败数据字节)的顺序号。即,L_V(N)寄存器135存储连续接收的数据字节中的下一次将要接收的数据字节的顺序号。L_V(R)寄存器136存储下一次将要接收的新的数据字节的顺序号。
按照本发明的产生可变长度RLP帧和发送/接收产生的RLP帧的操作可以大致分为由多路复用/多路分解控制器140和240执行的操作,以及由RLP处理器130和230执行的操作。因为多路复用/多路分解控制器140和240具有相同的操作,RLP处理器130和230也具有相同的操作,因此为了简单起见,按照本发明的操作的描述将仅限于多路复用/多路分解控制器140和RLP处理器130。在此,将首先描述如图2到4所示的由多路复用/多路分解控制器执行的一般发送和接收的操作。接下来,将描述按照本发明的一个实施例的由多路复用/多路分解控制器执行的发送和接收的操作。由多路复用/多路分解控制器执行的发送和接收的操作可以通过基本信道(FCH)或附加信道(SCH)执行。接下来,将描述按照本发明的由如图3和4所示的RLP控制器执行的数据发送和接收操作。
A.一般多路复用/多路分解控制器的Tx(发送)/Rx(接收)操作
1.多路复用/多路分解控制器的Tx(发送)操作
有可能通过当前连接的物理信道不仅可以发送分组数据,而且还可以同时发送包括话音数据的各种其它信息。因此,提供将被发送的数据到多路复用/多路分解控制器将被称为“业务”。另外,多路复用/多路分解控制器140和物理层处理器150彼此交换的发送单元将被称为“信息比特”或“物理帧”,而包括RLP处理器130的上层业务块与多路复用/多路分解控制器140彼此交换的发送单元将被称为“RLP帧”或“数据块”。
发送方的多路复用/多路分解控制器140将产生有待发送到物理层处理器150的信息比特并且在每个设定时间(例如,20ms)发送该产生的信息比特。即,多路复用/多路分解控制器140将产生填充到帧有效负荷中的信息比特并且发送该产生的信息比特,该帧将被通过相对于当前连接的各个物理信道的该物理信道进行发送。当发送产生的信息比特到物理信道时,多路复用/多路分解控制器140发送以下的各个值:
-SDU:这个字段被填充将被实际发送的信息比特。如果没有信息比特要被发送,则这个字段被填充多路复用/多路分解控制器与物理层之间事先确定的空值。
-FRAME_SIZE:这个字段填充填充有信息比特的物理信道帧的尺寸信息。当SDU字段被填充以空值时,在物理层中这个字段值被忽略。FRAME_RATE:这个字段指示填充信息比特的物理信道帧的传输速率。当SUD字段被填充以空值时,在物理层中这个字段值被忽略。
当发送方的多路复用/多路分解控制器140发送上述各字段值到物理层处理器150时,物理层处理器150按指定的编码和解调方法处理提供的各个值并且发送经处理的结果到接收方。
为了产生逻辑发送单元将发送到物理信道的有效负荷或信息比特,发送方的多路复用/多路分解控制器140利用将在对应于当前连接到逻辑信道上的物理信道的业务中发送的数据块。对应于连接到逻辑信道的物理信道的业务,指的是可以发送其数据块到将发送当前产生的信息比特的物理信道的业务。用于在移动站与基站之间连接这种业务和连接用于该业务的逻辑信道到物理信道的处理可以利用由IS-2000规范定义的信令消息和信令程序实现。
当决定发送针对对应于当前与逻辑信道连接的物理信道的业务的数据块时,发送方的多路复用/多路分解控制器140按照优先级次序从业务接收适当长度的数据块(见图5A)。多路复用/多路分解控制器140使得多路复用帧MuxPDU包含加上业务标识符和长度指示字段的数据块(见图5B),以便有可能当从该业务接收数据块时,知道发送从接收方多路复用/多路分解控制器接收的数据块的业务。多路复用帧MuxPDU可以包括从若干个业务提供的若干个数据块和信令消息。信息比特包含一个或若干个MuxPDU,并且可以还包含用于检查每一个或每若干MuxPDU的差错的CRC(循环冗余码)。当加上检查每若干MuxPDU的差错的CRC时,一个CRC和由该CRC保护的一个信息比特周期被称为“逻辑传输单元(LTU)”。当插入各个CRC,使得待发送到物理层的各信息比特被分割为若干个周期而且对每个分割的周期执行差错检查时,,这就是所说的“使用逻辑传输单元”。这里,分割的信息比特的每个周期被称为“逻辑传输单元”,并且除CRC以外的由CRC保护的逻辑传输单元的周期剩余部分将被称为“逻辑传输单元的有效负荷”(图5C)。这个逻辑传输单元成为确定在接收方的多路复用/多路分解控制器中物理帧是否被正确接收的基本单元。如果逻辑传输单元未被利用,则用于确定是否物理帧被正确接收的基本单元变为各个信息比特。
发送方的多路复用/多路分解控制器140事先知道相对于将被当前连接的物理信道的可能传输的速率和信息比特的尺寸,并且知道逻辑传输单元是否使用,如果使用了逻辑传输单元时该单元的尺寸和CRC的产生方法。这样的配置被使用来在移动站与基站之间事先确定的限定内,确定由多路复用/多路分解控制器140按照从物理层提供的物理信道的当前条件产生的信息比特的尺寸,并且确定产生逻辑传输单元的方法。
当将不再有数据块被发送时,多路复用/多路分解控制器140利用附加上事先与接收方多路复用/多路分解控制器约定的特殊业务标识符的MuxPDU,或利用事先与接收方多路复用/多路分解控制器约定的规则比特模式,以便填充信息比特的周期剩余部分。其中,附加上特殊业务标识符的MuxPDU被称为“填充MuxPDU”和规则比特模式将被称为“填充比特模式”。
当没有待发送的数据块或信令消息时,多路复用/多路分解控制器140可以利用SDU发送空值到物理信道,或者发送与接收方的多路复用/多路分解控制器事先约定的规则比特模式到物理信道,作为信息比特。其中,规则比特模式将被称为“空通信业务”。
当确定使用逻辑传输单元时,发送方的多路复用/多路分解控制器140利用包含数据块的MuxPDU填充每个逻辑传输单元的有效负荷,利用填充MuxPDU或填充比特模式来填充其余的周期,并且然后产生用于每个产生的逻辑传输单元的有效负荷的CRC。发送方的多路复用/多路分解控制器140按与必要的逻辑传输单元的数量相等次数重复上述处理,利用产生的逻辑传输单元填充信息比特,并然后在发送到物理信道之前利用“0”填充周期剩余部分。
当确定不使用逻辑传输单元时,发送方的多路复用/多路分解控制器140利用包含数据块的MuxPDU填充信息比特,利用填充MuxPDU或填充比特模式填充周期剩余部分,并且然后发送产生的信息比特到物理信道。
2.多路复用/多路分解控制器的Rx(接收)操作
如图2所示的接收方的物理层处理器150利用指定的解码和解调分析接收的信号,并发送填充在接收的物理帧中的信息比特到接收方的多路复用/多路分解控制器140。当发送经分析的信息比特到多路复用/多路分解控制器140时,物理层处理器150发送以下信息。
-SDU:这个字段被填充将被实际发送的信息比特。如果没有接收的信息比特或接收到损坏的帧,则这个字段填充多路复用/多路分解控制器140与物理层处理器150事先确定的空值。
-FRAME_QUALITY:这个字段指示接收到的帧是否是有效帧。
-FRAME_SIZE:这个字段填充接收的物理信道帧尺寸信息。这个字段值是按照接收的物理信道帧的传输速率确定的。
-FRAME_RATE:这个字段填充接收的物理信道帧的传输速率。
接收方的多路复用/多路分解控制器140事先知道相对于当前接收的物理信道的传输速率和信息比特尺寸,并且还知道是否使用了逻辑传输单元、如果使用了该逻辑传输单元的尺寸和CRC的产生方法。按照在移动站与基站之间事先约定的限定范围内从物理信道处理器150提供的上述信息可以确定这样一种配置。
如果接收方的多路复用/多路分解控制器140填充SDU空值——判定没有接收到物理信道帧,并且通知FRAME_QUALITY接收到有效帧,那么接收方的多路复用/多路分解控制器140通知对应于与逻辑信道连接的物理信道的所有的业务未接收到帧。
当接收方的物理层处理器150未填充SDU空值,或者通知FRAME_QUALITY接收到损坏帧,则接收方的多路复用/多路分解控制器140根据该配置和从接收方物理层处理器150提供的信息确定对于接收帧是否使用逻辑传输单元。
如果使用了逻辑传输单元,接收方的多路复用/多路分解控制器140确定逻辑传输单元的长度、CRC检查方法和逻辑传输单元的数量。多路复用/多路分解控制器140从接收的信息比特中按逻辑传输单元的数量分离逻辑传输单元。
当分配的物理信道发送接收的信息比特时,接收方的多路复用/多路分解控制器140根据从物理信道发送的FRAME_QUALITY确定是否接收的信息比特有被损坏的。如果接收的信息比特被损坏并且接收的信息比特被分割为若干个逻辑传输单元,则多路复用/多路分解控制器140再次分析在上述处理中被分离的每个逻辑传输单元的CRC,确定是否存在无差错的逻辑传输单元。
如果存在有差错的逻辑传输单元,则多路复用/多路分解控制器140通知对应于连接逻辑信道的物理信道的所有的业务接收到损坏的数据块,它与有差错的逻辑传输单元相关。此刻,多路复用/多路分解控制器140还通知与各个业务相关的对应的业务数据块的最大长度,该数据块中可以包含损坏的逻辑传输单元。
当接收的信息比特被损坏而且接收的信息比特没有用于检查每一个或每若干MuxPDU的差错的CRC时,接收方的多路复用/多路分解控制器140通知对应于与逻辑信道连接的物理信道的所有业务接收到损坏的数据块的。此刻,多路复用/多路分解控制器140还通知与各个业务相关的对应业务数据块的最大长度,该数据块可以包含损坏的逻辑传输单元。
当接收到无差错的逻辑传输单元或信息比特时,接收方的多路复用/多路分解控制器140从信息比特中分离无差错的MuxPDU,该MuxPDU不是填充比特模式。如果分离的MuxPDU不是空通信业务或者填充MuxPDU,多路复用/多路分解控制器140发送包含在MuxPDU中的数据块和数据块的长度到由MuxPDU的业务指示符指定的业务。
如果接收到无差错逻辑传输单元或者信息比特,并且存在一个业务未能从其中逻辑信道对应于物理信道的业务接收数据块,接收方的多路复用/多路分解控制器140可以通知接收到空数据块。
B.按照本发明的实施例的多路复用/多路分解控制器的Tx(发送)/Rx(接收)操作
从下面的详细描述中,按照本发明的多路复用/多路分解控制器140的发送/接收操作将更为清楚。IS-2000标准规定若干专用业务信道,诸如基本信道、附加信道和专用控制信道。因此,对于按照本发明的多路复用/多路分解控制器140的发送和接收操作对于应用到基本信道的情况和应用到附加信道的另一情况可以进行分别的描述。另外,对于使用逻辑传输单元的情况和不使用逻辑传输单元的另外情况的操作可以进行分别描述。这里,使用逻辑传输单元的情况对应于在发送和接收数据前利用卷积码对数据进行编码的情况,不使用逻辑传输单元的情况对应于在发送和接收数据前利用快速码(turbo code)对数据进行编码的情况。
1.基本信道和附加信道的信息比特数
在描述按照本发明的实施例的操作之前,首先在表1到4表示出由IS-2000标准规定的基本信道和附加信道的信息比特数。表1和2表示出由IS-2000标准规定的基本信道的信息比特数。表3和4表示出附加信道的信息比特数。表1和3表示基于9600bps的传输速率的速率集1的信息比特数,表2和4表示基于14400bps的传输速率的速率集2的信息比特数。
表1
IS-2000基本信道的信息比特数(速率集1) 传输速率 信息比特数 9600bps 172比特 4800bps 80比特 2700bps 40比特 1500bps 16比特表2IS-2000基本信道的信息比特数(速率集2) 传输速率 信息比特数 14400bps 267比特 7200bps 125比特 3600bps 55比特 1800bps 21比特
表3
IS-2000附加信道的信息比特数(速率集1) 传输速率 信息比特数 9600bps 172比特 19200bps 360比特 38400bps 744比特 76800bps 1512比特 153600bps 3048比特 307200bps 6120比特 614400bps 12264比特
表4
IS-2000附加信道的信息比特数(速率集2) 传输速率 信息比特数 14400bps 267比特 28800bps 552比特 56700bps 1128比特 115200bps 2280比特 230400bps 4584比特 460800bps 9192比特 1036800bps 20712比特
应当注意到,表1到4没有表示出由IS-2000规定的所有的信息比特的尺寸。
当对应于具有如表3和4中所示的足够数量比特的信息比特数而使用LTU(逻辑传输单元)时,LTU的尺寸和数量可以按下面表5和6所示进行计算。此处,信息比特数可以通过LTU的数量乘以LTU的尺寸以后加上剩余比特来进行计算。
表5
应用到附加信道的LTU(速率集1) 传输速率 LTU尺寸 LTU数量 剩余比特 38400bps 386比特 2 8比特 76800bps 376比特 4 8比特 153600bps 376比特 8 40比特 307200bps 760比特 8 40比特 614400bps 1528比特 8 40比特
表6
应用到附加信道的LTU(速率集2) 传输速率 LTU尺寸 LTU数量 剩余比特 57600bps 560比特 2 8比特 115200bps 568比特 4 8比特 153600bps 568比特 8 40比特 307200bps 1144比特 8 40比特 614400bps 2584比特 8 40比特
在本发明中提出的填充信息比特的MuxPDU格式表示在下面表7到12中。表7和8表示用于基本信道(FCH)的信息比特的MuxPDU格式。表9和11表示对于使用LTU的情况下用于附加信道(SCH)的信息比特的MuxPDU格式。表10和12表示对于不使用LTU的情况下用于附加信道(SCH)的信息比特的MuxPDU格式。
表7
对于FCH的信息比特的MuxPDU格式(速率集1)Tx(发送) 速率 第一业务 数据块 信令消息业务数据块业务标识符 MuxPDU 标题9600bps 171比特 - - - ‘0’9600bps 80比特 80比特 - - ‘0001’9600bps 40比特 128比特 - - ‘0101’9600bps 16比特 152比特 - - ‘1001’9600bps - 168比特 - - ‘1101’9600bps 80比特 - 85比特 3比特 ‘0011’9600bps 40比特 - 125比特 3比特 ‘0111’9600bps 16比特 - 149比特 3比特 ‘1011’9600bps - - 165比特 3比特 ‘1111’4800bps 80比特 - - - -2700bps 40比特 - - - -1500bps 16比特 - - - -
表8
对于FCH的信息比特的MuxPDU格式(速率集2)Tx(发送) 速率第一业务数据块 信令消息 业务数 据块 业务标 识符 MuxPDU标 题14400bps 266比特 - - - ‘0’ 124比特 138比特 - - ‘00001’ 54比特 208比特 - - ‘00011’ 20比特 242比特 - - ‘00101’ - 262比特 - - ‘00111’ 124比特 -135比特 3比特 ‘01001’ 54比特 -205比特 3比特 ‘01011’ 20比特 -239比特 3比特 ‘01101’ - -159比特 3比特 ‘01111’ 20比特 222比特17比特 3比特 ‘10001’7200bps 124比特 - - - ‘0’ 54比特 67比特 - - ‘0001’ 20比特 101比特 - - ‘0011’ - 121比特 - - ‘0101’ 54比特 -64比特 3比特 ‘0111’ 20比特 -98比特 3比特 ‘1001’ - - 118比特3比特 ‘1011’ 20比特 81比特 17比特3比特 ‘1101’3600bps 54比特 - - - ‘0’ 20比特 32比特 - - ‘001’ - 52比特 - - ‘011’ 20比特 - 29比特3比特 ‘101’ - - 49比特3比特 ‘111’1800bps 20比特 - - - ‘0’ - - 17比特3比特 ‘1’
表9
对于SCH的信息比特的MuxPDU格式(速率集1,使用LTU)Tx(发送)速率业务标识符长度指示符长度字段保留的字段业务数据块长度19200pbs 3比特 ‘0’ - ‘000’最大353比特19200pbs 3比特 ‘1’11比特 -最大345比特38400pbs 3比特 ‘0’ - ‘000’最大345比特38400pbs 3比特 ‘1’11比特 -最大337比特76800pbs 3比特 ‘0’ - ‘000’最大353比特76800pbs 3比特 ‘1’11比特 -最大345比特153600pbs 3比特 ‘0’ - ‘000’最大353比特153600pbs 3比特 ‘1’11比特 -最大345比特307200pbs 3比特 ‘0’ - ‘000’最大737比特307200pbs 3比特 ‘1’11比特 -最大729比特614400pbs 3比特 ‘0’ - ‘000’最大1505比特614400pbs 3比特 ‘1’11比特 -最大1497比特
表10
对于SCH的信息比特的MuxPDU格式(速率集1,未使用LTU)Tx(发送)速业务标识符长度指示符长度字段保留的字段业务数据块长度率9600bps 3比特 ‘0’- ‘000’最大161比特9600bps 3比特 ‘1’11比特 -最大153比特19200bps 3比特 ‘0’- ‘000’最大353比特19200bps 3比特 ‘1’11比特 -最大345比特38400bps 3比特 ‘0’- ‘000’最大737比特38400bps 3比特 ‘1’11比特 -最大729比特76800bps 3比特 ‘0’- ‘000’最大1505比特76800bps 3比特 ‘1’11比特 -最大1497比特153600bps 3比特 ‘0’- ‘000’最大3041比特153600bps 3比特 ‘1’11比特 -最大3033比特307200bps 3比特 ‘0’- ‘000’最大6113比特307200bps 3比特 ‘1’11比特 -最大6105比特614400bps 3比特 ‘0’- ‘000’最大12257比特614400bps 3比特 ‘1’11比特 -最大12249比特
表11
对于SCH的信息比特的MuxPDU格式(速率集2,使用LTU)Tx(发送) 速率业务标识符 长度指示符长度字段保留的字段业务数据块长度28800bps 3比特 ‘0’ - ‘000’ 最大545比特28800bps 3比特 ‘1’11比特 - 最大537比特57600bps 3比特 ‘0’ - ‘000’ 最大537比特57600bps 3比特 ‘1’11比特 - 最大529比特115200bps 3比特 ‘0’ - ‘000’ 最大545比特115200bps 3比特 ‘1’11比特 - 最大537比特230400bps 3比特 ‘0’ - ‘000’ 最大545比特230400bps 3比特 ‘1’11比特 - 最大537比特460800bps 3比特 ‘0’ - ‘000’ 最大1121比特460800bps 3比特 ‘1’11比特 - 最大1113比特1036800bps 3比特 ‘0’ - ‘000’最大2561比特1036800bps 3比特 ‘1’11比特 -最大2553比特
表12
对于SCH的信息比特的MuxPDU格式(速率集2,未使用LTU)Tx(发送)速 率业务标识符长度指示符长度字段保留的字段业务数据块长度14400bps 3比特 ‘0’ - ‘000’最大257比特14400bps 3比特 ‘1’11比特 -最大249比特28800bps 3比特 ‘0’ - ‘000’最大545比特28800bps 3比特 ‘1’11比特 -最大537比特57600bps 3比特 ‘0’ - ‘000’最大1121比特57600bps 3比特 ‘1’11比特 -最大1113比特115200bps 3比特 ‘0’ - ‘000’最大2273比特115200bps 3比特 ‘1’11比特 -最大2265比特230400bps 3比特 ‘0’ - ‘000’最大4577比特230400bps 3比特 ‘1’11比特 -最大4569比特460800bps 3比特 ‘0’ - ‘000’最大9185比特460800bps 3比特 ‘1’11比特 -最大9177比特1036800bps 3比特 ‘0’ - ‘000’最大20705比特1036800bps 3比特 ‘1’11比特 -最大20686比特
在表7到12中,业务标识符可以按下面表13所示进行定义。
表13
业务标识符 业务标识符 业务 ‘000’ 保留 ‘001’ 第1业务 ‘010’ 第2业务 ‘011’ 第3业务 ‘100’ 第4业务 ‘101’ 第5业务 ‘110’ 第6业务 ‘111’ 空业务
在表13中,“空业务”是事先确定的特殊业务标识符,用于通知接收方的多路复用/多路分解控制器MuxPDU是填充MuxPDU。正如从表13可以看出的那样,表7到12的MuxPDU格式可以识别从最多6种业务提供的数据块。
表7和8表示发送到基本信道的MuxPDU格式。这里,第1业务可以在没有业务标识符情况下仅根据MuxPDU标题进行识别,因为MuxPDU标题的第二最低比特是‘0’的情况对应于第1业务。对应于第2到第6业务的数据块可以根据表13的业务标识符进行确定。因此,表13的业务标识符可以具有‘010’到‘110’的值。当在利用表7的MuxPDU格式的基本信道中第1业务的数据块被填充以全1时,接收方多路复用/多路分解控制器指定不对应在发送方多路复用/多路分解控制器中任何业务的空通信业务。因此,当从基本信道接收的MuxPDU仅具有第1业务数据块并且该数据块被填充以全1时,接收方多路复用/多路分解控制器确定该数据块为空通信业务。
2.通过FCH的多路复用/多路分解控制器的Tx(发送)操作
假设使用RLP的6种业务被连接,发送方多路复用/多路分解控制器按照如下方式进行操作。这种操作是按照图9所示的程序执行的。
首先,图3的多路复用/多路分解控制器140按照QoS(业务质量)保证规则确定各个业务的发送次序和数据块的尺寸。即,多路复用/多路分解控制器向信令LAC层询问可能的尺寸(图9的步骤S10),并从信令LAC层接收关于数据块的适当尺寸的信息(步骤S11)。多路复用/多路分解控制器确定各个业务的发送次序(步骤S11a),请求第1业务提供确定尺寸的数据块(步骤S12),并从第1业务接收在确定的尺寸范围内数据块(步骤S13)。对于待发送到基本信道的数据块,RLP处理器将被请求产生按照表7或8中MuxPDU允许的数据块的尺寸和数量的适当尺寸的数据块,以及速率集。此后,多路复用/多路分解控制器累加待发送的数据块并计算可以被发送的剩余的数据块(步骤S14)。下面,多路复用/多路分解控制器确定是否可能利用累加的数据块组合MuxPDU(步骤S15)。如果不可能组合MuxPDU,多路复用/多路分解控制器返回到步骤S12,请求相应的业务提供数据块,并被提供请求的数据块。否则,如果有可能组合MuxPDU,多路复用/多路分解控制器利用累加的数据块组合MuxPDU(步骤S16)。多路复用/多路分解控制器从表7或8中选择正确的比特模式,并附加所选择的比特模式到MuxPDU的标题上。多路复用/多路分解控制器将产生的MuxPDU在信息比特中发送到物理层(步骤S17)。
对于在上述处理中未能有机会产生数据块的RLP处理器,多路复用/多路分解控制器请求RLP处理器产生空白数据块,以便使RLP处理器知道它未能有机会。另外,每个RLP处理器如果在上述处理中未提供数据块,则多路复用/多路分解控制器组合空通信业务并将其在信息比特中发送到物理信道。
3.通过FCH的多路复用/多路分解控制器的Rx(接收)操作
接收方的多路复用/多路分解控制器对于通过基本信道发送的信息比特按如下方式进行操作。这种操作是按照如图10所示的程序执行的。多路复用/多路分解控制器分析发送速率和接收的信息的MuxPDU标题(图10的步骤S20),并且根据分析辨别各个数据块(步骤S21和S22)。经辨别的数据块根据表7和8被发送到各个业务。如果接收的信息比特被损坏,多路复用/多路分解控制器通知基本信道在对应于逻辑信道的所有业务接收到被损坏的数据块,并且还通知各个业务可以发送的数据块的最大长度(步骤S23)。否则,接收方多路复用/多路分解控制器将该数据块当作空通信业务而丢弃,当信息比特未被损坏时,仅存在一个数据块,该对应于第1业务的数据块被填充以全1。当信息比特未被损坏时,接收方多路复用/多路分解控制器通知接收到空数据块,与逻辑信道对应于基本信道的各个业务中未接收到数据块的各业务相区别。
4.通过SCH的多路复用/多路分解控制器的Tx(发送)操作
当产生附加信道的信息比特时,多路复用/多路分解控制器按照传输速率产生与如表5或6所示的数量一样多的LTU。LTU具有如表5或6所示的尺寸。因为LTU具有16比特CRC,可以通过LTU实际发送的MuxPDU的最大尺寸必须容纳CRC。在本发明中,例如,附加信道具有307.2Kbps的传输速率并产生LTU的情况下,最大MuxPDU尺寸变为744比特。
如果当用于附加信道的信息比特被产生但没有产生LTU时,多路复用/多路分解控制器产生根据传输速率按表3或4指定尺寸的信息比特。多路复用/多路分解控制器按照QoS保证规则,确定发送业务的次序和数据块的尺寸。接下来,多路复用/多路分解控制器根据优先级发送数据块请求到相应业务的RLP(图11的步骤S30)。对于待发送到附加信道的数据块,多路复用/多路分解控制器请求RLP处理器按照数据块的尺寸产生由表5中LTU和当前产生的LTU的周期剩余部分可允许的适当尺寸的数据块(步骤S32到S37)。
正如从表5可以看出的那样,如果RLP处理器产生737比特的数据块或产生可填充LTU的周期剩余部分的适当尺寸的数据块,多路复用/多路分解控制器设置业务标识符到对应的业务并设置长度指示符为‘0’。另外,多路复用/多路分解控制器附加3比特的保留字段并安排该数据块,于是产生MuxPDU。因为产生的MuxPDU被置入LTU的有效负荷,通过产生CRC和附加产生的CRC到MuxPDU完成一个LTU。
正如从表5所理解的那样,如果RLP产生具有729比特或更小的长度的数据块并且不可能用产生的数据块填充LTU的周期剩余部分,多路复用/多路分解控制器设置业务标识符到对应的业务并设置长度指示符为‘1’。多路复用/多路分解控制器将包括业务标识符、长度指示符、长度字段和数据块在内的总的MuxPDU的11比特长度字段设置为按字节单元表示的值。当总的MuxPDU的尺寸不是按字节单元表示时,多路复用/多路分解控制器丢弃该数据块。
对于在LTU的有效负荷中填充产生的MuxPDU后的周期剩余部分,重复上述处理。如果不可能利用有效MuxPDU填充周期剩余部分,多路复用/多路分解控制器以全0填充周期剩余部分。如果没有合适尺寸的数据块,虽然可能利用有效MuxPDU填充周期剩余部分,但多路复用/多路分解控制器产生具有填充周期剩余部分的合适尺寸的数据块并利用全0填充该数据块,并且此后产生MuxPDU,其中业务标识符设置为‘111’,长度指示符设置为‘0’,设置3比特的保留字段,然后填充有效负荷。产生CRC并且附加到对于LTU的产生的有效负荷上,因此完成该LTU。
当在上述处理中需要产生8个LTU时,多路复用/多路分解控制器依次安置产生的所有8个LTU到信息比特中。多路复用/多路分解控制器利用全0填充40比特周期剩余部分,如表5所示。在这个处理中可以获得的信息比特的一个例子如图6A到6C所示。
图6A到6C表示按照本发明产生的若干格式的LTU帧。这种LTU帧构成通过物理信道待发送的信息帧,并且每个LTU包括多路复用帧MuxPDU和CRC。虽然图6A到6C表示信息帧包含多个LTU的例子,但是信息帧可能仅包含多路复用帧MuxPDU,而没有CRC。包括在信息帧中的连续多路复用帧MuxPDU可以具有规定的长度(例如,如图5C所示的744比特),并且每个多路复用帧MuxPDU由标题和接续的RLP帧(或数据块)组成,如图5B所示。RLP帧包括传输的数据。在本发明中,至少一个多路复用帧包括多个子多路复用帧,并且每个子多路复用帧包括包含RLP业务标识符字段和用于指示传输数据的长度的长度指示符字段的标题和接续的数据块。即,多路复用帧可以有包含对于某种业务的数据块和指示该数据块的标题的一个子多路复用帧,或者有多个子多路复用帧,每个包含对于某种业务的数据块和指示该数据块的标题。图6A表示多路复用帧包含一个子多路复用帧的情况,即,多路复用帧仅包含一个数据块。图6B表示多路复用帧包含多个子多路复用帧的情况,即,多路复用帧包含多个数据块。产生数据块(或RLP帧)的操作是由图3的RLP控制器131执行的,而产生多路复用帧的操作是由图3的多路复用/多路分解控制器140执行的。另外,产生信息帧(或物理帧)的操作是由图2的物理层处理器150执行的。
参照图6A,一个第一LTU被从第一业务提供了一个737比特的数据块。在这种情况下,业务标识符设置为‘001’,长度指示符设置为‘0’和LTU的有效负荷被填充3个保留比特‘000’。这里,业务标识符、长度指示符和保留的比特构成多路复用帧的标题。业务标识符‘001’指示接续的数据块是针对第一业务,如表13所示,长度指示符‘0’指示该多路复用帧包括仅一个数据块,而3比特的保留字段指示业务数据块的长度,如表9到12所示。例如,参照表9,假设该LTU被用于速率集1且发送速率是307200bps,如果多路复用帧包含仅一个业务数据块,则长度指示符是‘0’,保留的字段是‘000’。因此,业务数据块的长度变为最大737比特。
参照图6B,从第2业务提供329比特数据块给第2 LTU。在这种情况下,业务标识符设置为‘010’,长度指示符设置为‘1’,长度字段设置为MuxPDU的总长度43字节(00000101011)。当没有业务数据块被提供时,该LTU的周期剩余50字节有效负荷被填充以填充MuxPDU。这里,业务标识符、长度指示符和长度字段构成多路复用帧的标题。该LTU,即多路复用帧包含2个子多路复用帧。在第一子多路复用帧中,业务标识符‘010’指示接续的数据块是针对第二业务,如表13所示,长度指示符‘1’指示该多路复用帧包含除了用于第二业务的数据块外的另外的数据块,并且11比特长度字段指示如表9到12所示的业务数据块的长度。即,长度指示符和长度字段构成包含指示待发送的数据的长度信息的长度指示字段。
在第二子多路复用帧中,业务标识符‘111’指示接续的数据块针对空业务,如表13所示,长度指示符‘0’指示多路复用帧中除了用于空业务的数据块外未包含数据块,并且3比特保留字段指示业务数据块的长度,如表9到12所示。即,长度指示符和保留字段构成包含指示待发送数据的长度信息的长度指示字段。
参照图6C,第三LTU未被提供来自各业务的数据块。在这种情况下,该LTU被填充以填充MuxPDU。表示在图6A到6C的8个LTU被填充以信息比特,并且剩余的40比特被设置为‘0’,因此完成信息比特(或信息帧)的产生。
5.通过SCH的多路复用/多路分解控制器的Rx(接收)操作
对于通过附加信道发送的信息比特,接收方的多路复用/多路分解控制器按照如下进行操作。
对于利用LTU的信息比特,该LTU按照传输速率被分割,如图5A到5C所示。在本发明的实施例中,附加信道假设具有307.2Kbps的传输速率,以便LTU被760比特划分。如果信息比特没有差错,多路复用/多路分解控制器从每个LTU中分离MuxPDU(图12的步骤S40)。否则,如果信息比特有差错,多路复用/多路分解控制器对每个LTU执行CRC检查。此刻,多路复用/多路分解控制器对无差错的LTU分离MuxPDU。但是,对于有差错的LTU,多路复用/多路分解控制器通知逻辑信道对应于附加信道的所有的业务接收到损坏的数据块,并且还通知相应业务可以发送到该LTU的数据块的最大长度,然后丢弃该信息比特。
对于不使用LTU的信息比特,MuxPDU在整个信息比特被分离。如果该信息比特有错误,多路复用/多路分解控制器通知逻辑信道对应于附加信道的所有的业务接收到损坏的数据块,并且还通知相应业务可以发送到该LTU的数据块的最大长度,然后丢弃该信息比特。
当从LTU或信息比特分离出MuxPDU时,其MuxPDU已经被发送的数据块的业务和MuxPDU的总长度从业务标识符、长度指示符和长度字段是可知道的。因此,接收方的多路复用/多路分解控制器根据MuxPDU的长度信息,在LTU或信息比特的前端开始分离MuxPDU,并根据业务标识符发送数据块到上层业务。如果业务标识符被设置为‘111’,或者LTU或信息比特的周期剩余部分没有足够安置有效MuxPDU在其中的长度,则多路复用/多路分解控制器丢弃所有LTU或信息比特的周期剩余部分。
C.根据本发明的RLP控制器Tx(发送)/Rx(接收)操作
下面将描述由如图3和4所示的RLP控制器131执行的操作。
1.数据发送之前RLP控制器的操作
在开始操作之前,RLP控制器131初始化如图3和4所示的L_V(S)寄存器132、L_V(N)寄存器135、L_V(R)寄存器136和E寄存器134为‘0’。在开始操作之前,RLP控制器131清空前向重新排序缓冲器133、NAK表137和重排缓冲器138。最后,RLP控制器131去激活所有关于重发的计时器。
RLP控制器131可以发送到多路复用/多路分解控制器的数据块的类型表示在图7中。以举例的方式,图7表示出3种数据块的类型。
在图7中,当基本信道以低于9.6Kbps或14.4Kbps的传输速率发送数据时,一个A型数据块被使用并且仅有一个信息字段。A型数据块可置入表7和8中规定的数据块尺寸中。即,当A型数据块不能完全填充规定的数据块尺寸时,RLP控制器131以全0填充数据块以使数据块可置入规定的数据块尺寸中。
在图7中,B和C型数据块可以用于当基本信道按9.6Kbps或14.4Kbps的传输速率发送数据时,或者可以用于附加信道。根据TYPE字段可以识别B和C型数据块。即,TYPE字段‘0’指示B型数据块,和TYPE字段‘1’指示C型数据块。
B型数据块由1比特TYPE字段和一个INFORMATION字段组成。具体地,对于基本信道,B型数据块具有固定长度的INFORMATION字段。即,当B型数据块被使用于基本信道时,必须产生170比特或265比特的INFORMATION字段。但是,当通过附加信道发送B型数据块时不需要这种限制。
C型数据块由1比特TYPE字段、16比特SEQ字段和具有8的倍数的长度的DATA字段。具体地,对于基本信道,C型数据块具有固定长度的DATA字段。即,当通过基本信道发送C型数据块时,需要以152比特或248比特填充DATA字段。但是,当通过附加信道发送C型数据块时,不需要这种限制。
在图8中表示出A和B型数据块中定义的INFORMATI0N字段。参照图8,当INFORMATION字段的尺寸不是16比特、17比特、20比特或29比特时,INFORMATION字段可以包含若干RLP帧且周期剩余部分(部分)被填充以全0。当INFORMATION字段的尺寸是16比特、17比特、20比特或29比特时,RLP帧包含如图8所示的空闲帧。图8的空闲帧包含16比特的SEQ字段且周期剩余部分(部分)被填充以全0。
按照本发明,图8的RLP帧将有如下的称谓。下面如图8和表14所示的SYNC、SYNC/ACK、ACK或NAK帧将被称为“控制帧”,填充以数据的帧将被称为“数据帧”。数据帧被分为含有至少一个字节的传输数据的新数据帧和仅包含重传数据的重传数据帧。与控制帧和数据帧相区别,仅具有16比特SEQ字段的帧将被称为空闲帧。
图8的INFORMATION字段可以包含仅一个控制帧;包含一个新数据帧,多个0或若干重新发送的数据帧;或包含仅一个空闲帧。
当接收到一个不满足上述条件的数据块,RLP控制器131认为所接收的数据块为损坏(或坏)数据块。
在数据发送之前,RLP控制器131执行重建处理。RLP控制器131连续向多路复用/多路分解控制器140发送针对数据块的SYNC帧。当从多路复用/多路分解控制器140接收到SYNC帧时,RLP控制器131连续向多路复用/多路分解控制器140发送SYNC/ACK帧,直至接收到既不是空数据块也不是SYNC帧的物理信道帧。当接收到SYNC/ACK帧时,RLP控制器131发送ACK帧到多路复用/多路分解控制器140。RLP控制器131连续发送ACK帧,直至从多路复用/多路分解控制器140接收到的物理信道帧既不是空数据块也不是SYNC/ACK帧。当接收到物理信道且接收的数据块不是空数据块并且具有不是SYNC/ACK帧的RLP帧时,RLP控制器131开始数据发送。当接收到ACK帧时,RLP控制器131开始数据发送。RLP控制器131可以发送与SYNC、SYNC/ACK和ACK帧不同的帧到多路复用/多路分解控制器140。
2.RLP控制器的数据发送操作
对于数据发送,RLP控制器131利用21比特序列号寄存器L_V(S)132。RLP控制器131确定在序列号寄存器L_V(S)132中将要附加到帧上的序列号SEQ。该序列号利用具有221无符号模运算。对于序列号N,从(N+1)模221到(N+220-1)模221的序列号大于N,并且从(N-220)模221到(N-1)模221的序列号小于N。
RLP控制器131可以使用存储在序列号寄存器L_V(S)132中的值或该存储值的低位值用于要附加到实际数据上的物理序列号。即,在数据帧中,低16比特或所有的低21比特被用于物理序列号,并且在空闲帧中,低16比特被用于物理序列号。当产生其中填充要首先发送的数据的数据帧时,序列号寄存器L_V(S)132增加与填充的数据比特相等的数量。即,当利用以前发送的数据填充数据帧时,L_V(S)寄存器132不增加。
RLP控制器131对来自L_V(S)132的新数据帧的每个数据字节附加惟一的21比特序列号。即,如果L_V(S)是发送N字节数据的S,则该数据的第一字节具有序列号S,第n字节具有(S+n-1)模221的序列号,最后第N字节具有(S+N-1)模221的序列号。在发送N字节新的数据以后,RLP控制器131设置L_V(S)132寄存器为(S+N)模221。
RLP控制器131在前向重新排序缓冲器133中存储新的发送的数据与序列号,准备用于来自接收方的重发请求。当接收到来自接收方的发送请求时,RLP控制器131从前向重新排序缓冲器133中读出对应于所请求的序列号的数据字节并重发读出的数据。
RLP控制器131按照如下方式组合待发送的帧。对于SYNC、SYNC/ACK、和ACK帧,如图8所示RLP控制器131按照帧类型设置CTL字段,并然后附加FCS字段。FCS字段是通过由RFC-1662规定的多项式产生的16比特帧检查序列。这个FCS字段产生用于所有前置比特。
对于NAK帧,RLP控制器131使用下面如表14所示的结构。
表14
NAK帧 字段 长度 CTL 8比特 NAK_COUNT 2比特
下面各字段被填充NAK_COUNT+1那么多次 NAK_TYPE_AND_UNIT 4比特
当NAK_TYPE_AND_UNIT是‘0001’时,下面字段被填充 FIRST 21比特 LAST 21比特
当NAK_TYPE_AND_UNIT是按表15或16定义的值时,下面字段按以下填充 NAK_MAP_SEQ 21比特 NAK_MAP 8比特
下面字段是针对任何NAK_TYPE的字段 PADDINGNAK_1 可变长度 FCS 16比特 PADDINGNAK_2 可变长度
RLP控制器131产生如表14所示的NAK帧。表14的CTL字段被设置为‘11100100’。RLP控制器131设置NAK_COUNT字段为从包含在NAK帧中的重发请求数减1获得的值。RLP控制器131执行(NAK_COUNT+1)次重发请求。RLP控制器131可以按如下方式执行重发请求。
当重发请求的NAK_TYPE_AND_UNIT字段被设置为‘0001’时,RLP控制器将连续重发请求的第一序列号安置在FIRST字段,并将最后序列号安置在LAST字段。
RLP控制器131可以如下面表15或16所示设置NAK_TYPE_AND_UNIT字段。当按照表15或16设置NAK_TYPE_AND_UNIT字段时,RLP控制器131按NAK_MAP方法执行重发请求。这里,NAK_MAP方法指利用NAK_MAP_SEQ字段和NAK_MAP字段请求重发。
表15
NAK_TYPE_AND_UNIT字段(速率集1) 字段值 序列号的数 ‘0010’ 19 ‘0011’ 41 ‘0100’ 42 ‘0101’ 90 ‘0110’ 186 ‘0111’ 378 ‘1000’ 762 ‘1001’ 1530 ‘1010’-‘1111’ 保留
表16
NAK_TYPE_AND_UNIT字段(速率集2) 字段值 序列号的数 ‘0001’ 31 ‘0010’ 65 ‘0011’ 66 ‘0100’ 138 ‘0101’ 318 ‘0110’ 282 ‘0111’ 570 ‘1000’ 1146 ‘1001’ 2586 ‘1010’-‘1111’ 保留
RLP控制器131按照表15或16填充NAK_MAP字段和NAK_MAP_SEQ字段。第一序列号被填充在NAK_MAP_SEQ字段,如表15或16所示单元的用于请求重发的序列号被填充在NAK_MAP字段。通过利用NAK_MAP,当由NAK_TYPE_AND_UNIT字段是U时,RLP控制器131请求对应属于(NAK_MAP_SEQ+U-1)模221的序列号的数据的重发;并每当来自NAK_MAP字段的最高有效位的第n比特是‘1’时,请求对应属于(NAK_MAP_SEQ+n*U)模221到(NAK_MAP_SEQ+(n+1)*U-1)模221序列号的数据重发。值‘n’可以具有1到8的值。
例如,如果对于NAK_TYPE_AND_UNIT字段=‘0010’和速率集1的情况下,NAK_MAP_SEQ字段被设置为‘0’并且NAK_MAP字段被设置为‘10000000’,当接收到信息时,RLP控制器重发对应于序列号0到37的数据。
RLP控制器131安置(NAK_COUNT+1)次发送请求在NAK帧,用多个0垫整FCS字段用于字段对准并然后填充该FCS字段。该FCS字段是由在RFC-1662规定的多项式产生的16比特帧检查序列。对所有前置比特产生FCS字段。填充FCS字段以后,RLP控制器131用多个0填充数据块的周期剩余部分。
当发送数据时,RLP控制器131可以利用如图8所示的可变长度数据帧。当可变长度数据帧包含的数据是新的发送数据时,RLP控制器131用L_V(S)寄存器的低16或21位设置SEQ字段并适当设置CTL字段,如图8所示。可变长度数据帧的LEN字段指示以字节为单位的数据周期的长度。在数据填充以后,RLP控制器131利用0填充周期剩余部分。
如果确定序列号的低16位对于SEQ字段足够,则RLP控制器131利用图8的16比特SEQ字段。但是,在由于数据大量受到损坏确定序列号的所有21比特都将被使用的情况下,RLP控制器131利用图8的21比特SEQ字段。
RLP控制器131从5比特、13比特、8比特和16比特LEN字段中利用可以指示数据长度的最短的一个。
当指示包含在可变长度数据帧中的数据是重发数据时,RLP控制器131利用序列号S的低16或21比特设置SEQ字段的第一字节,并适当设置CTL字段,如图8所示。LEN字段指示以字节为单位的数据周期。RLP控制器131利用多个0填充该数据块的周期剩余部分。
例如,当通过基本信道待发送的可变长度数据帧中的CTL字段是‘100’时,RLP控制器131对于速率集1利用144比特数据填充数据块,对于速率集2利用240比特数据填充。
如果不存在发送的数据,或者没有要发送的SYNC、SYNC/ACK、ACK和NAK帧,RLP控制器131可以发送其中可变长度数据帧的SEQ字段被设置为L_V(S)的低16或21位、LEN字段被设置为‘0’和周期剩余部分被填充以多个0的数据块。在这种情况下,CTL字段被设置为适当的值。
如果多路复用/多路分解控制器140请求一个具有16比特、20比特或32比特长度的数据块,或者不存在发送的数据,或者没有要发送的SYNC、SYNC/ACK、ACK和NAK帧,则RLP控制器131可以发送如图8所示的空闲帧。为了产生空闲帧,RLP控制器131利用L_V(S)的低16位填充SEQ字段。RLP控制器131利用多个0填充该数据块的周期剩余部分。
3.RLP控制器的数据接收操作
当接收数据时,RLP控制器131利用作为21比特序列号寄存器的L_V(N)135和L_V(R)136。序列号寄存器L_V(R)136指示连续接收的数据字节中的下一次将要接收的新数据字节的序列号,并且序列号寄存器L_V(N)135指示连续接收的数据字节中的下一次将要接收的数据字节的序列号。即,仅当具有存储在L_V(N)中的序列号的字节到达时,RLP控制器131可以发送数据到上层链路协议。具有大于或等于L_V(R)的序列号的数据字节是新数据,而具有小于L_V(R)和大于或等于L_V(N)的序列号的数据字节是重发的数据。RLP控制器131不能丢弃具有小于L_V(N)的序列号的数据字节,因为它是以前接收的数据。
RLP控制器131一般具有如图4所示的NAK表137。NAK表137的每个输入项具有21比特序列号和对应于该序列号的数据字节,并且还具有重发定时器和异常中断定时器。当重发数据到达时,RLP控制器131检测对于接收的数据字节的16比特序列号与存储的NAK输入项的低16比特相符合的输入项。
如果接收的填充数据的帧包括16比特SEQ字段、RLP控制器131按照如下方式将这个值作为S并计算对于接收数据第一字节的序列号L_SEQ。即,RLP控制器131从NAK表137中按老的输入项次序检测相符合的序列号的各输入项。RLP控制器131确定是否NAK表137具有21序列号的低16比特时长与接收帧的序列号S相符合的一个输入项。如果有相符合的NAK输入项,RLP控制器131提取存储在该输入项中的21比特序列号作为第一字节的序列号L_SEQ。否则,如果没有NAK输入项,则RLP控制器131根据如下方程1利用接收帧的序列号S计算接收数据的第一字节的序列号L_SEQ。
L_SEQ={L_V(N)+[216+S-L_V(N)]模216}模221…(1)
如果接收的填充数据帧包含21比特SEQ字段,RLP控制器131取这个值作为L_SEQ。
RLP控制器131从L_SEQ开始为接收的数据帧的各个数据字节依序附加序列号。即,第n数据字节具有序列号L=(L_SEQ+n-1),并且因此,第一字节取L_SEQ作为序列号。RLP控制器131对接收的数据帧的数据字节按序列号的次序执行如下操作。
第一,如果接收的数据字节的序列号L小于L_V(N),则RLP控制器131丢弃接收的数据字节。
第二,如果接收的数据字节的序列号L大于或等于L_V(N)和小于L_V(R),则RLP控制器131在重排缓冲器138中存储接收的数据字节。此刻,如果序列号L=L_V(N),RLP控制器131发送存储在重排缓冲器138中的数据字节到上层链路协议,从具有序列号L_V(N)的数据字节到具有可以接续发送的序列号的数据字节。在这种处理中,如果最后发送的数据字节的序列号是LAST,则RLP控制器131设置L_V(N)为(LAST+1)模221。
第三,如果接收数据字节的序列号L等于L_V(R)并且L_V(R)等于L_V(N),则RLP控制器131增加L_V(R)和L_V(N)两者,并且然后执行221的模操作。否则,如果L_V(R)不等于L_V(N),则RLP控制器131发送接收的数据字节到上层链路协议,增加L_V(R)并然后执行221的模操作。RLP控制器131在重排缓冲器138中存储接收的数据字节。
第四,如果接收数据字节的序列号L大于L_V(R),RLP控制器131对在NAK表137中的每个数据字节产生一个输入项以请求对序列号L_V(R)中具有(L-1)模221的数据字节重新发送。对于对应的数据字节每个输入项具有21比特序列号。另外,RLP控制器131在重排缓冲器138中存储接收的数据字节并且然后设置L_V(R)为(L+1)模221。
同时,当接收到空闲帧时,RLP控制器131设置序列号S为SEQ字段值并然后按照下面方程2计算序列号L_SEQ。
L_SEQ={L_V(R)+[216+S-L_V(R)]模216}模221…(2)
如果接收的空闲帧的序列号L_SEQ大于L_V(R),RLP控制器131在NAK表中为每个数据字节产生一个输入项以请求对在序列号L_V(R)中具有(L_SEQ-1)模221的数据字节重新发送。对于对应的数据字节每个输入项具有21比特序列号。RLP控制器设置L_V(R)为(L+1)模221。
当多路复用/多路分解控制器140通知接收到损坏的数据块并通知该数据块的尺寸时,RLP控制器131按照如下方式预测可以接收的数据字节的最大值M。如果损坏的数据块是通过基本信道发送的并正在使用速率集1,则M是19字节。如果损坏的数据块是通过基本信道发送的并正在使用速率集2,则M是31字节。否则,如果损坏的数据块是通过附加信道发送的,则M是由从多路复用/多路分解控制器140通知的损坏的数据块的L比特长度减去17比特获得的值除以8确定的值。例如,如果通知的损坏的数据块的长度是737比特,则M=(737-17)/8=90。
在确定损坏的数据块最大数据字节数M以后,RLP控制器131加这个值到存储在寄存器E134中的值上并且然后将其在寄存器E134中重新存储。如果相加的值大于216,RLP控制器131执行上述重建处理。
在数据接收处理中,如果存在至少一个正确接收的不是空数据块的数据块,或者如果多路复用/多路分解控制器通知没有接收到帧,则RLP控制器131设置寄存器E134为‘0’。
4.在数据接收后RLP控制器的操作
在处理所有的接收帧后,RLP控制器131执行如下的操作。当多路复用/多路分解控制器140通知RLP控制器131没有接收到帧时,或当接收到空闲帧或接收到新发送的数据帧时,RLP控制器131按老的输入项次序对NAK表137的输入项执行如下处理。
第一,如果异常中断定时器尚未期满并且包含在NAK中的序列号已经被发送3次,RLP控制器131将定时器值减1。如果异常中断定时器的值变为‘0’,RLP控制器131执行如下操作。如果RLP控制器131已经接收到对应于NAK输入项业已具有的序列号的重发数据字节,RLP控制器131删除该NAK输入项。否则,如果RLP控制器131没有接收到对应于NAK输入项业已具有的序列号的重发数据字节,RLP控制器131将大于存储在重排缓冲器138中的NAK表的序列号的接收的数据字节发送给上层链路协议,并且考虑到没有接收到对应于NAK输入项的序列号的数据字节的情况,可以连续发送上述数据字节到上层链路协议。RLP控制器131设置L_V(N)为下一次要接收的数据字节的序列号。
第二,如果异常中断定时器尚未超时并且NAK输入项具有的序列号被包含在NAK中而且业已被发送两次,RLP控制器131将异常中断定时器值减1。如果异常中断定时器值变为‘0’,RLP控制器131执行如下操作。如果RLP控制器131已经接收到对应于NAK输入项业已具有的序列号的重发数据字节,RLP控制器131删除NAK输入项。否则,如果RLP控制器131没有接收到对应于NAK输入项业已具有的序列号,RLP控制器131设置NAK输入项的异常中断定时器为适当的值。RLP控制器131将NAK输入项业已具有的序列号包括在将在下一次发送的3个NAK帧中。
RLP控制器131为新增加的NAK输入项设置重发定时器为适当值,并且将NAK输入项业已具有的序列号包括在将在下一次发送的2个NAK帧中。
如上所述,本发明提供一种当按无线链路协议(RLP)发送数据时的基于数据字节的序列号,因此使无线链路能产生可变长度帧。
虽然本发明已经参照其某个优选实施例进行了表示和描述,但是本专业的技术人员应该理解,在不脱离由所附权利要求书限定的本发明的精神和范围的情况下,可以作出在形式和细节上的各种改变。