專利名稱:用于選擇性重發(fā)協(xié)議的序列號(hào)碼范圍擴(kuò)展方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于傳輸數(shù)字?jǐn)?shù)據(jù)的方法和系統(tǒng)。本發(fā)明適用于擴(kuò)展能應(yīng)用于選擇性重發(fā)協(xié)議的序列號(hào)碼范圍。
背景技術(shù):
圖1是按照使用IS-95空中接口標(biāo)準(zhǔn)組成的個(gè)人通信系統(tǒng)的方框圖。IS-95標(biāo)準(zhǔn)和它的衍生標(biāo)準(zhǔn),例如IS-95A,IS-99和IS-707,IS-657和ANSI J-STD-008等(這里總稱為IS-95標(biāo)準(zhǔn)),定義用于執(zhí)行數(shù)字個(gè)人通信系統(tǒng)的接口,所述數(shù)字個(gè)人通信系統(tǒng)使用碼分多址(CDMA)信號(hào)處理技術(shù)。并且,實(shí)質(zhì)上按照使用IS-95組成的個(gè)人通信系統(tǒng)已經(jīng)公開在轉(zhuǎn)讓給本發(fā)明的受讓人的名為“用于在CDMA個(gè)人通信系統(tǒng)中產(chǎn)生信號(hào)波形的系統(tǒng)和方法”的美國專利5,103,459中,并在此按參考資料引入。
如大部分個(gè)人通信系統(tǒng)通常的情況那樣,IS-95容許使用一組基站12將移動(dòng)電話業(yè)務(wù)提供給一組無線終端(通常為蜂窩網(wǎng)電話機(jī)),該組基站12通過發(fā)射機(jī)控制器(BSC)14和移動(dòng)交換中心(MSC)16聯(lián)接到公用交換電話網(wǎng)(PSTN)18上。在打電話時(shí),使用CDMA調(diào)制的射頻(RF)信號(hào)與一個(gè)或者多個(gè)基站12接口。RF信號(hào)從基站12發(fā)送到無線終端10稱為正向鏈接,RF信號(hào)從無線終端10發(fā)送到基站12稱為反向鏈接。
在IS-99和IS-707標(biāo)準(zhǔn)(下面簡單地稱為IS-707)下,遵從IS-95的通信系統(tǒng)還能提供數(shù)據(jù)通信業(yè)務(wù)。數(shù)據(jù)通信業(yè)務(wù)允許使用接收機(jī)10和對(duì)多個(gè)發(fā)射機(jī)12的RF接口交換數(shù)字?jǐn)?shù)據(jù)。使用IS-707標(biāo)準(zhǔn)傳送的這類數(shù)字?jǐn)?shù)據(jù)的例子包括計(jì)算機(jī)文件和電子函件。
按照IS-95和IS-707標(biāo)準(zhǔn),數(shù)據(jù)交換在無線終端10和基站12之間用幀進(jìn)行處理。為了增加在數(shù)據(jù)傳輸期間幀被成功發(fā)送的機(jī)率,IS-707使用無線電鏈路協(xié)議(RLPradio link protocol)來跟蹤成功地被發(fā)送的幀,并且在幀的發(fā)送未成功時(shí),進(jìn)行幀的重發(fā)。重發(fā)的進(jìn)行按IS-707標(biāo)準(zhǔn)最多可達(dá)3次,而更高一層的協(xié)議的職責(zé)是采用別的步驟來確保成功地進(jìn)行幀的發(fā)送。
為了跟蹤成功地發(fā)送的幀,IS707需要包含在每一發(fā)送幀中的8位序列號(hào)。序列號(hào)對(duì)于每一幀從0到256遞增,然后復(fù)位返回到0。當(dāng)接收到具有序列數(shù)的幀,或者使用CRC檢查和消息或其它的檢錯(cuò)方法檢測到差錯(cuò)時(shí),檢測到不成功發(fā)送的幀。一旦檢測到發(fā)送不成功,則接收端將包括沒有接收的幀的序列號(hào)的否定確認(rèn)消息(NAK)發(fā)送到發(fā)送系統(tǒng)。然后,發(fā)送系統(tǒng)重發(fā)包含原來發(fā)送的序列號(hào)的幀。如果重發(fā)的幀沒被成功地接收,則將第2否定確認(rèn)消息(NAK)送到發(fā)送系統(tǒng)。發(fā)送系統(tǒng)一般通過通知控制應(yīng)用或者網(wǎng)絡(luò)層發(fā)送失敗進(jìn)行響應(yīng)。
在IS-95A和IS-707下,每20毫秒(ms)發(fā)送一次幀。這樣,8位序列號(hào)能跟蹤在5秒間隔中發(fā)送的256幀。5秒通??沙浞謾z測失敗的幀發(fā)送,并且進(jìn)行重發(fā),因此,8位序列號(hào)為幀重發(fā)提供充分的時(shí)間。這樣,重發(fā)的幀能被唯一地識(shí)別,而不會(huì)由于8位序列號(hào)重復(fù)的序列“環(huán)繞”引起多種識(shí)別。
然而,從最初的IS-95A和IS-707開發(fā)開始,就建議并開發(fā)允許以最大的速率發(fā)送數(shù)據(jù)的附加的協(xié)議和標(biāo)準(zhǔn)。為了盡可能地保持與先前存在的系統(tǒng)和標(biāo)準(zhǔn)的兼容性,這些新的協(xié)議和標(biāo)準(zhǔn)通常使用與IS-95A和IS-707相同的幀結(jié)構(gòu)。然而,在希望保持與先前存在的標(biāo)準(zhǔn)和系統(tǒng)兼容時(shí),在這些高速率協(xié)議和標(biāo)準(zhǔn)內(nèi)使用相同的幀類型實(shí)質(zhì)上增加了在給定的時(shí)間段發(fā)送的幀數(shù)。例如,如果發(fā)送速率增加4倍,則發(fā)送256幀的時(shí)間要求減少到1.25秒,而不是先前要求的5秒。1.25秒的時(shí)間通常不可充分檢測到失敗的幀發(fā)送并在8位序列號(hào)重復(fù)前嘗試重發(fā)。因而,使用8位序列號(hào)不可充分在運(yùn)行所要的重發(fā)序列的必須的時(shí)間唯一地識(shí)別幀。
雖然能夠增加在序列號(hào)中的位數(shù),但這樣的增加實(shí)質(zhì)上改變了幀的格式,因此違反了實(shí)質(zhì)上保持與先前存在的系統(tǒng)和標(biāo)準(zhǔn)兼容性的目標(biāo)。因此,本發(fā)明的目的在于提供一種用于擴(kuò)展序列號(hào)范圍而不修改用于序列號(hào)的位數(shù)的方法和裝置發(fā)明概述按照本發(fā)明的1個(gè)方面,本發(fā)明提供的使用具有序列號(hào)的幀在發(fā)送端和接收端間傳輸數(shù)據(jù)的方法,包括下述的步驟(a)在第1次發(fā)送幀時(shí),將重發(fā)位設(shè)置成假,并將序列號(hào)設(shè)置成長序列號(hào)的一部分;(b)所述長序列號(hào)遞增;(c)當(dāng)接收到包含所述幀的長序列號(hào)的否定確認(rèn)消息時(shí),將重發(fā)位設(shè)置成真,并重發(fā)該幀。
按照本發(fā)明的另1個(gè)方面,本發(fā)明提供的用于發(fā)送具有8位序列號(hào)的數(shù)據(jù)幀的集合的方法,包括下述的步驟(a)當(dāng)?shù)?次發(fā)送數(shù)據(jù)幀時(shí),類型字段設(shè)置為新發(fā)送;(b)當(dāng)重發(fā)數(shù)據(jù)幀時(shí),所述類型字段設(shè)置為重發(fā);(c)對(duì)數(shù)據(jù)幀進(jìn)行發(fā)送。
按照本發(fā)明的其它的方面,本發(fā)明提供的用于通過幀發(fā)送數(shù)據(jù)的系統(tǒng),包括發(fā)送系統(tǒng),所述發(fā)送系統(tǒng)用于發(fā)送具有設(shè)置成新發(fā)送的類型字段和序列號(hào)的新發(fā)送的幀,在每個(gè)新發(fā)送幀被發(fā)送后,保持遞增的索引L_V(S),并且響應(yīng)于NAK消息,發(fā)送重發(fā)幀,接收系統(tǒng),所述接收系統(tǒng)用于當(dāng)接收所述新發(fā)送的幀失常時(shí)產(chǎn)生所述NAK消息,保持用于跟蹤沒有接收到的幀的NAK表,并且對(duì)重發(fā)的幀進(jìn)行再排序。
按照本發(fā)明的其它的方面,本發(fā)明提供的發(fā)送數(shù)字?jǐn)?shù)據(jù)的發(fā)射機(jī),包括控制電路,用于對(duì)各個(gè)數(shù)據(jù)字段產(chǎn)生相應(yīng)的順序碼,每個(gè)順序碼包括由索引碼得到的第一數(shù)量二進(jìn)制位,所述索引碼包括數(shù)量上大于第1數(shù)量的第2數(shù)量二進(jìn)制位;發(fā)送電路,用于在一個(gè)載波上共同作為編碼數(shù)據(jù)幀發(fā)送每個(gè)數(shù)據(jù)字段和相應(yīng)的順序碼;接收電路,用于接收并解碼由索引碼和非確認(rèn)碼組成的編碼數(shù)據(jù)幀;其中,將安排成控制電路由解碼后的索引碼識(shí)別順序碼和相應(yīng)的數(shù)據(jù)字段,以通過發(fā)送電路作為編碼數(shù)據(jù)幀重發(fā)。
按照本發(fā)明的其它的方面,則本發(fā)明提供的用于接收數(shù)字?jǐn)?shù)據(jù)的接收機(jī),包括接收電路,用于接收并解碼包含數(shù)據(jù)字段和相應(yīng)的包括第1數(shù)量二進(jìn)制位的順序碼的編碼數(shù)據(jù)幀;控制電路,用于從接收到的順序碼決定索引碼,索引碼包含數(shù)量上大于第1數(shù)量的第2數(shù)量二進(jìn)制位,將決定的索引碼與為先前接收的數(shù)據(jù)幀的相應(yīng)的順序碼建立的索引碼進(jìn)行比較,以便識(shí)別接收的數(shù)據(jù)幀的錯(cuò)誤接收,并在檢測到接收差錯(cuò)時(shí),產(chǎn)生用于和非確認(rèn)碼一起發(fā)送的索引碼;發(fā)射機(jī),用于在一個(gè)載波上共同作編碼數(shù)據(jù)幀發(fā)送索引碼和非確認(rèn)碼。
本發(fā)明的目的在于提供一種用于擴(kuò)展選擇性重發(fā)協(xié)議的序列號(hào)碼范圍的方法和裝置。按照本發(fā)明的一個(gè)實(shí)施例,發(fā)送的數(shù)據(jù)幀包括一個(gè)8位的序列號(hào)和1位的重發(fā)標(biāo)記。該1位重發(fā)標(biāo)記表明該幀是否為新發(fā)送的或者由于第1次發(fā)送失敗而重發(fā)的。每個(gè)發(fā)送和接收系統(tǒng)都持有12位的序列號(hào),該序列號(hào)稱為“長序列號(hào)”,包含隨著每幀發(fā)送的8位序列號(hào)和4位擴(kuò)展號(hào)。該長序列號(hào)在控制幀內(nèi)發(fā)送,8位序列號(hào)則在數(shù)據(jù)幀內(nèi)發(fā)送。
附圖簡要說明下面,參照帶有標(biāo)號(hào)的附圖,對(duì)本發(fā)明的目的、對(duì)象和特點(diǎn)進(jìn)一步詳細(xì)地進(jìn)行說明。
圖1是個(gè)人通信系統(tǒng)的方框圖。
圖2是發(fā)射機(jī)和接收機(jī)的電路圖。
圖3是幀緩存器和再排序緩存器圖。
圖4是表示在通信期間發(fā)射機(jī)和接收機(jī)運(yùn)行的流程圖。
圖5是表示在接收新發(fā)送的幀期間接收機(jī)運(yùn)行的流程圖。
圖6是表示在接收重發(fā)的幀期間接收機(jī)運(yùn)行的流程圖。
圖7是表示在示例通信期間發(fā)射機(jī)和接收機(jī)運(yùn)行的消息圖。
圖8是表示在示例通信期間發(fā)射機(jī)和接收機(jī)運(yùn)行的消息圖。
發(fā)明較佳實(shí)施例詳述下面,對(duì)選擇性重發(fā)協(xié)議的擴(kuò)展序列號(hào)碼范圍的方法和裝置進(jìn)行說明。在下面的說明中,在按照使用IS-707和IS-95標(biāo)準(zhǔn)的CDMA信號(hào)處理技術(shù)工作的個(gè)人通信系統(tǒng)的情況下講述本發(fā)明。盡管本發(fā)明特別適用于在這種通信系統(tǒng),但應(yīng)知道本發(fā)明能運(yùn)用在各種其它類型的通過幀或者數(shù)據(jù)分組對(duì)數(shù)據(jù)進(jìn)行傳輸?shù)耐ㄐ畔到y(tǒng)中,包括無線和有線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)。此外,全部申請中,各種眾所周知的系統(tǒng)用方框圖表示。這樣做是為了避免不必要地造成本發(fā)明揭示不清楚。
圖2是按照本發(fā)明示范實(shí)施例組成的2個(gè)通信系統(tǒng)的方框圖。從發(fā)射機(jī)50到接收機(jī)52進(jìn)行高速率通信。在一示例組成中,發(fā)射機(jī)50位于基站12,接收機(jī)52位于無線終端19,然而,位置也可以反過來。在發(fā)射機(jī)50中,控制系統(tǒng)54從輸入/輸出(I/O)56接收數(shù)據(jù)幀,并將該數(shù)據(jù)提供給編碼器58。編碼器58進(jìn)行卷積編碼,產(chǎn)生由數(shù)字調(diào)制器60接收的碼元。數(shù)字調(diào)制器60用1個(gè)或者多個(gè)二進(jìn)制信道碼和1個(gè)或者多個(gè)二進(jìn)制擴(kuò)展碼對(duì)該碼元進(jìn)行直接序列調(diào)制,產(chǎn)生由射頻(RF)發(fā)射機(jī)62接收的分成碼片的碼元。分成碼片的碼元由RF發(fā)射機(jī)62上變頻到載波頻帶,并且通過雙工器66從天線系統(tǒng)64發(fā)送出去。
在本發(fā)明中能運(yùn)用各種進(jìn)行數(shù)字調(diào)制和RF上變頻的方法和裝置。一組特別有用的方法和裝置公開在1995年4月28日提出申請的名為“采用統(tǒng)計(jì)復(fù)用的通信系統(tǒng)中提供可變速率的方法和裝置”的共同待批的美國專利申請?zhí)?8/431,180、在1995年2月28日提出申請的名為“采用非正交溢出信道的通信系統(tǒng)中提供可變速率的方法和裝置”的美國專利申請?zhí)?8/395,960、和在1997年1月15日提出申請的名為“用于CDMA電信通信系統(tǒng)的高數(shù)據(jù)速率輔助信道”的美國專利申請?zhí)?8/784,281中,以上這些都已經(jīng)轉(zhuǎn)讓給本發(fā)明的受讓人,按參考資料在此引入。應(yīng)該指出,前述參考專利申請有些針對(duì)正向鏈路,因此比較適用于發(fā)射機(jī)50,有些針對(duì)反向鏈路,因此更加適用于接收機(jī)52。
在本發(fā)明的示范實(shí)施例中,從天線系統(tǒng)64發(fā)送的數(shù)據(jù)按照幀70格式化,幀70包括8位序列字段(序列號(hào))72、重發(fā)標(biāo)記74和數(shù)據(jù)字段76。幀字段70可以包括CRC字段77或者其它因不是特別與本發(fā)明相關(guān)而沒有示出的字段。在本發(fā)明的較佳實(shí)施例中,實(shí)質(zhì)上按照定義在IS-707標(biāo)準(zhǔn)上的幀結(jié)構(gòu)并帶有增加的重發(fā)標(biāo)記74對(duì)幀進(jìn)行格式化。為了以有序的方式將數(shù)據(jù)幀提供給編碼器58,控制系統(tǒng)54將幀存儲(chǔ)在幀緩存器55中,并且更新索引值L_V(S)。幀緩存器55和索引值L_V(S)最好存儲(chǔ)在存儲(chǔ)器系統(tǒng)中。在本發(fā)明的較佳實(shí)施列中,如后詳述,索引值L_V(S)是在每幀發(fā)送后遞增的12位序列號(hào)。索引值L_V(S)的最低有效8位數(shù)放在幀72的序列字段上。
在接收機(jī)52中,RF接收機(jī)80對(duì)RF信號(hào)進(jìn)行向下變頻并且數(shù)字化,在其上用天線系統(tǒng)82和雙工器84發(fā)送幀70。數(shù)字解調(diào)器86使用必要的二進(jìn)制碼對(duì)下變頻信號(hào)或者“基帶”信號(hào)進(jìn)行解調(diào),產(chǎn)生由解碼器88接收的軟件決數(shù)據(jù)。解碼器88運(yùn)行最大似然格網(wǎng)解碼或韋特比(Viterbi)解碼,產(chǎn)生提供給控制器91的硬判決數(shù)據(jù)90。
控制器91用硬判決數(shù)據(jù)90重組幀70,并且決定是否在與用后面進(jìn)一步詳述的序列號(hào)(SEQ號(hào))、索引變量L_V(N)和L_V(R)以及再排序緩存器92和NAK表94己接收的幀相關(guān)的序列中接收到該幀。
如果控制器91決定已經(jīng)接收到的幀離開與已經(jīng)接收到幀相關(guān)的序列中,或者幀接收差錯(cuò),則產(chǎn)生由編碼器95接收的否定確認(rèn)(NAK)消息。編碼器進(jìn)行卷積編碼,產(chǎn)生碼元,該碼元是由數(shù)字調(diào)制器97進(jìn)行擴(kuò)展頻譜調(diào)制的直接序列,最好是按照IS-95反向鏈路進(jìn)行。而且,分成碼片的碼元由RF發(fā)射機(jī)98進(jìn)行上變頻,并通過雙工器84從天線系統(tǒng)82作為NAK83進(jìn)行發(fā)送。用于NAK的幀的L_SEQ存儲(chǔ)在NAK表94中。
再參閱發(fā)射機(jī)50,RF接收機(jī)67通過天線系統(tǒng)641和雙工器66接收RF信號(hào)。RF接收機(jī)67對(duì)RF信號(hào)進(jìn)行下變頻和數(shù)字化,產(chǎn)生用數(shù)字解調(diào)器68解調(diào)的采樣。解碼器69對(duì)來自數(shù)字解調(diào)器68的軟判決數(shù)據(jù)進(jìn)行解碼,控制系統(tǒng)54從解碼器69接收硬判決數(shù)據(jù),由此檢測出包含在硬判決數(shù)據(jù)中的、來自接收機(jī)52的NAK。
控制系統(tǒng)54接收NAK83并從發(fā)送緩存器55檢索受到NAK的幀。檢索到的幀如前所述按照原發(fā)送進(jìn)行重發(fā)(包括原始序列號(hào))。
圖3是表示按照本發(fā)明的一實(shí)施例對(duì)幀緩存器55、再排序緩存器92、索引L_V(S),L_V(N)和L_V(R)的組成進(jìn)行說明的圖。在發(fā)送幀緩存器55中,已發(fā)送一次的幀畫陰影,待發(fā)送的幀則不畫。在本發(fā)明的較佳實(shí)施例中,索引L_V(S),L_V(N)和L_V(R)是12位數(shù)。索引L_V(S)設(shè)置成下一個(gè)要發(fā)送的幀的序列號(hào)。在幀實(shí)際發(fā)送時(shí),將幀的8位序列號(hào)設(shè)置到索引L_V(S)的8個(gè)最低有效位。
在再排序緩存器92中,索引L_V(R)設(shè)置成下一個(gè)期望的新幀的12位序列,索引L_V(N)設(shè)置成下一個(gè)要順序送出的或者處理仍然待定的幀的12位序列,當(dāng)沒有接收到相應(yīng)的幀而已經(jīng)送出預(yù)定數(shù)量的NAK時(shí),終止試行的幀處理并且將丟失幀的數(shù)據(jù)送到高層協(xié)議(例如傳輸層)。如圖所示,能用包含在L_V(N)和(L_V(R)-1)之間(模4096)間的序列號(hào)接收受到NAK的幀96a-c。
圖4為按照本發(fā)明的一實(shí)施例對(duì)通信期間發(fā)射機(jī)50和接收機(jī)52的操作進(jìn)行說明的流程圖。在步驟100發(fā)射機(jī)開始發(fā)送,在步驟101接收機(jī)接收,在步驟102進(jìn)行初始化,在初始化期間在發(fā)射機(jī)50中將索引L_V(S)設(shè)置成0,在接收機(jī)52中將索引L_V(R)設(shè)置成0。
在步驟108,當(dāng)有數(shù)據(jù)可發(fā)送時(shí)發(fā)射機(jī)發(fā)送幀(由虛線表示),將幀的序列號(hào)(SEQ號(hào))設(shè)置到索引L_V(S)的8個(gè)最低有效位,稱之為V(S)。此外,將重發(fā)標(biāo)記設(shè)置成0,以表示幀是新發(fā)送的幀。在步驟112,索引L_V(S)按模4096遞增,在步驟113,發(fā)射機(jī)對(duì)于任何從接收機(jī)52發(fā)送的NAK消息進(jìn)行接收處理。在本發(fā)明的一實(shí)施例中,當(dāng)沒有數(shù)據(jù)可發(fā)送時(shí),具有當(dāng)前序列號(hào)的“閑置”幀可以重復(fù)地送出,直到有數(shù)據(jù)可用為止(閑置發(fā)送未圖示)。
在步驟130,發(fā)射機(jī)確定是否已收到或者正在解決NAK,如果是,則在步驟132用包含在NAK消息中的長序列號(hào)從發(fā)送緩存器中檢索受到NAK的幀與原序列號(hào)一起發(fā)送,并將重發(fā)字段設(shè)置成1。一旦幀被重發(fā),即將等待或者接收的NAK清0,然后在步驟113繼續(xù)處理。
如果NAK消息沒有接收到或者不是正在解決,則發(fā)送返回到步驟108并且處理繼續(xù)。
接收機(jī)52中,在步驟101開始處理,在步驟106從發(fā)射機(jī)50接收L_V(S)。在步驟110,接收機(jī)52接收發(fā)射機(jī)50在步驟108(新發(fā)送)或者步驟132(重發(fā))發(fā)射的一些幀,并在步驟114檢查幀的重發(fā)標(biāo)記的狀態(tài),以確定接收的幀是否為重發(fā)的幀或者新幀,如果是重發(fā)的幀,則在步驟116進(jìn)行重發(fā)的處理,然后接收機(jī)返回到步驟110。如果不是重發(fā)幀,則在步驟120進(jìn)行幀的第1次發(fā)送處理,然后再一次執(zhí)行步驟110。
圖5表示按照本發(fā)明一實(shí)施例在圖4的步驟120期間進(jìn)行幀的第1次發(fā)送處理時(shí)對(duì)接收機(jī)52的動(dòng)作進(jìn)行說明的流程圖。在步驟150開始第1次發(fā)送處理,并在步驟152按照下述的方程式設(shè)置L_SEQL_SEQ={L_V(R)+[256+SEQ-V(R)]MOD256}MOD4096(1)其中,V(R)是L_V(R)最低有效8位數(shù),SEQ為包含在正處理的幀的SEQ字段中的序列號(hào)。在步驟154,確定是否L_SEQ小于L_V(N)或者幀已經(jīng)存儲(chǔ)在再排序緩存器中。如果是,則在步驟156丟棄該幀,并且在步驟157從第1次發(fā)送處理返回到接收系統(tǒng)。如前所述,L_V(N)設(shè)置成數(shù)據(jù)依序傳送所需要的下一個(gè)幀。
如果L_SEQ不小于L_V(N)并且?guī)瑳]有存儲(chǔ)在再排序緩存器中,則進(jìn)一步在步驟158確定是否L_SEQ大于或者等于L_V(N)并且小于L_V(R),以及是否幀沒有存儲(chǔ)在再排序緩存器中,如果是,則在步驟156丟棄該幀并且在步驟157從第1次發(fā)送處理返回到接收系統(tǒng)。否則進(jìn)一步在步驟160確定是否因L_SEQ等于L_V(R)而需要依序傳送L_V(R)的下一個(gè)幀。
如果L_SEQ不等于L_V(R),則接收到失序的幀,并且在步驟162將幀存儲(chǔ)在再排序的緩存器中,在步驟164將L_V(R)設(shè)置成L_SEQ。在步驟166中,接收系統(tǒng)發(fā)送一個(gè)或者多個(gè)NAK消息,這種NAK消息要求從L_V(N)到(L_V(R)-1)(模4096)重發(fā)所有沒有接收到的幀。然后,接收系統(tǒng)在步驟176從第1次發(fā)送處理返回。
如果在步驟160確定L_SEQ等于L_V(R),則幀按次序接收,并在步驟170進(jìn)一步確定是否L_V(N)等于L_V(R),以表明沒有受到NAK的幀待解決。如果L_V(N)等于L_V(R),則在步驟172 L_V(N)和L_V(R)以模4096遞增。在步驟174將數(shù)據(jù)幀送到高層協(xié)議,并且接收機(jī)在步驟176從第1次發(fā)送處理返回。如果在步驟160確定L_V(N)不等于L_V(R),因而受到NAK的幀依然待解決,在步驟178 L_V(R)以模4096遞增,并在步驟180將幀存儲(chǔ)在再排序緩存器中。然后在步驟176接收機(jī)52從第1次發(fā)送處理返回。
圖6表示按照本發(fā)明一實(shí)施例在步驟116接收重發(fā)幀時(shí)對(duì)接收機(jī)52的動(dòng)作進(jìn)行說明的流程圖。在步驟200開始重發(fā)幀的處理,在步驟202,將接收幀中的序列號(hào)字段用作尋找NAK表94(圖2)中與序列號(hào)相關(guān)的L_SEQ的密鑰。在步驟204,確定是否L_SEQ小于L_V(N),或者是否幀已經(jīng)被存儲(chǔ)在再排序緩存器中,如果是,則在步驟206丟棄該幀,并在步驟208接收機(jī)52從重發(fā)處理返回。
如果L_SEQ不小于L_V(N)并且?guī)瑳]有被存儲(chǔ)在再排序緩存器中,則進(jìn)一步在步驟210確定是否L_SEQ大于或者等于L_V(N)并小于L_V(R),并且?guī)瑳]有被存儲(chǔ)在再排序緩存器,如果是則執(zhí)行步驟214前在步驟212將幀存儲(chǔ)到再排序緩存器中。此外,執(zhí)行步驟214。
在步驟214,確定是否L_SEQ等于L_V(N),如果不相等,則在步驟216丟棄該幀,因?yàn)橹匕l(fā)幀有大于下一個(gè)期待的新幀的序列號(hào),發(fā)生差錯(cuò)。一旦已經(jīng)丟棄該幀,則接收機(jī)52在步驟208從重發(fā)幀處理返回。
如果L_SEQ等于L_V(N),則在步驟218將添加從L_V(N)向上處理的重發(fā)幀而形成的所有連續(xù)幀的數(shù)據(jù)送到下一個(gè)較高處理層,并在步驟220將送出的幀從再排序緩存器中去除。在步驟220將L_V(N)設(shè)置成LAST+1,其中,LAST是在步驟218送到較高層的最后的幀的長序列號(hào)(L_SEQ)。在步驟224,將幀從NAK表中除去,并在步驟226接收機(jī)52從處理重發(fā)幀返回。
圖7表示在本發(fā)明一實(shí)施例中執(zhí)行示范通信期間消息發(fā)送的消息圖。左邊是發(fā)射機(jī)50,右邊是接收機(jī)52,發(fā)射機(jī)50保持索引L_V(S)并在序列號(hào)字段用值V(S)發(fā)送幀,其中V(S)是L_V(S)的8個(gè)最低有效位。在接收機(jī)52示出每次發(fā)送后的NAK表。所有的數(shù)用16進(jìn)制數(shù)顯示。
當(dāng)索引L_V(S)等于0×2FE時(shí),用0×FE的序列號(hào)發(fā)送第1個(gè)幀。當(dāng)幀230發(fā)送后,索引L_V(S)遞增到0×2FE,幀232用0×FF的序列號(hào)發(fā)送。幀230和232由接收機(jī)52成功地接收,導(dǎo)致索引L_V(R)遞加2次,即從0×2FE遞增到0×300。
幀234用0×00的序列號(hào)發(fā)送,并且接收機(jī)52沒有接收成功。于是,L_V(S)遞增到0×301,并且用0×01的序列號(hào)發(fā)送幀236后,接收機(jī)52接收成功。
接收到幀236時(shí),接收機(jī)52檢測出因幀234沒有接收到的異常序列號(hào)。相應(yīng)地,接收機(jī)52產(chǎn)生包含用于沒有接收到的幀0×300的全部12位索引L_V(R)的NAK消息240。此外,接收機(jī)52修改NAK表94,表明已對(duì)帶有序列號(hào)0×00和L_SEQ號(hào)0×300的幀發(fā)送NAK。同時(shí),接收機(jī)52啟動(dòng)NAK定時(shí)器,跟蹤從發(fā)送NAK消息240起耗費(fèi)的時(shí)間。
在NAK消息240的發(fā)送期間,發(fā)射機(jī)50用由接收機(jī)52成功接收的0×02的序列號(hào)發(fā)送另一個(gè)幀238。接收到NAK消息240時(shí),發(fā)射機(jī)50產(chǎn)生重發(fā)具有0×00的重發(fā)幀242,并將重發(fā)標(biāo)記74(圖2)設(shè)置成1。接收到重發(fā)幀242時(shí),接收機(jī)52檢測出重發(fā)位,并用NAK表94中的序列號(hào)核對(duì)其序列號(hào)。一旦二者相符,即將重發(fā)幀242放在再排序緩存器92(圖2)中,并從NAK表94中去除該條目。然后,以正常的方式發(fā)送并接收幀244和246。
圖8表示在發(fā)送期間進(jìn)一步說明發(fā)射機(jī)50和接收機(jī)52操作的消息圖,其中當(dāng)按照本發(fā)明一實(shí)施例操作時(shí),序列號(hào)發(fā)生“環(huán)繞”。用分別相應(yīng)于索引L_V(S)的0×2FE和0×2FF的值的SEQ數(shù)0×FE(所有數(shù)為16進(jìn)制)和0×FF相應(yīng)地發(fā)送幀240a和240,并由接收機(jī)52成功接收,導(dǎo)致L_V(R)從0×2FE增加到0×300。
幀240c包括序列號(hào)0×00,但是接收機(jī)52沒有接收成功。幀240d包括序列號(hào)0×01,接收機(jī)52正確接收。接收到幀240d時(shí),接收機(jī)52檢測出大于L_V(R)的8個(gè)最低有效位,因而接收到的幀失常。與此相應(yīng),接收機(jī)52將L_V(R)修改成相應(yīng)于下一個(gè)期待的幀的0×302,并將沒有接收到的幀的序列號(hào)放到NAK表94中。此外,接收機(jī)52發(fā)送包含沒有接收到的幀的全部L_SEQ號(hào)0×300的NAK241,并且啟動(dòng)定時(shí)器,跟蹤從發(fā)送NAK241起耗費(fèi)的時(shí)間。然而如圖8所示,發(fā)射機(jī)50沒有接收成功NAK241。
如圖所示,發(fā)射機(jī)50繼續(xù)發(fā)送包括幀240e-240j的幀,它們?nèi)坑山邮諜C(jī)52成功地接收。在幀240e-240j發(fā)送期間,索引L_V(S)從0×302變化成0×400,導(dǎo)致在8個(gè)最低有效位產(chǎn)生環(huán)繞,因而各幀所含序列號(hào)也發(fā)生環(huán)繞。
幀240k用序列號(hào)0×01發(fā)送,接收機(jī)52沒有接收成功。幀2401用序列號(hào)0×02發(fā)送,接收機(jī)52接收成功。接收到幀2401時(shí),接收機(jī)52檢測出發(fā)送失常,并作出響應(yīng),即發(fā)送包含序列值0×401的NAK 243,而且將序列號(hào)0×401加到NAK表94中。此外,這時(shí)NAK241的定時(shí)器時(shí)限已滿,導(dǎo)致將包含序列值0×300的第2 NAK 245被發(fā)送到發(fā)射機(jī)50中。因而,對(duì)幀240c發(fā)送第2 NAK。此外,接收機(jī)52將L_V(R)設(shè)置成下一個(gè)期待的序列號(hào)0×403。應(yīng)該指出在NAK 243和245中發(fā)送的序列號(hào)能用單個(gè)NAK消息發(fā)送。
發(fā)射機(jī)50通過發(fā)送包含來自幀240k的數(shù)據(jù)的重發(fā)幀242a和包含來自幀240c的數(shù)據(jù)的重發(fā)幀242b,響應(yīng)NAK 243和245。接收到重發(fā)幀242a時(shí),接收機(jī)52根據(jù)重發(fā)標(biāo)記74(圖2)的狀態(tài),認(rèn)出該幀為重發(fā)幀。一旦認(rèn)出該幀為重發(fā)幀,接收機(jī)52即用其序列號(hào)在NAK表94中查找,決定哪一個(gè)幀已經(jīng)重發(fā)。然后,將重發(fā)幀242a放到在再排序緩存器92(圖2)的適當(dāng)?shù)奈恢?,并從NAK表94中去除相應(yīng)的條目。
接收到重發(fā)幀242b時(shí),接收機(jī)還識(shí)別幀的類型,并且在NAK表94中查找。當(dāng)確定幀的標(biāo)識(shí)時(shí),將其放進(jìn)再排序緩存器92(圖2)中,并從NAK表94中去除相應(yīng)的條目。然后,發(fā)射機(jī)50發(fā)送具有接收機(jī)52成功地接收的序列號(hào)0×03的幀240m。這時(shí),NAK表94為空。
從圖8所示的發(fā)送可見,無論將幀標(biāo)記成新的還是重發(fā)的,即使在重發(fā)期間發(fā)生序列號(hào)環(huán)繞,都能使接收機(jī)正確地處理具有相同序列號(hào)的新幀和重發(fā)幀。這是因?yàn)榫哂邢嗤蛄刑?hào)的重發(fā)幀作為新發(fā)送的幀能由重發(fā)標(biāo)記區(qū)別。這樣,本發(fā)明允許用8位序列號(hào)處理大量的幀,并且在保持與以前存在的標(biāo)準(zhǔn)實(shí)質(zhì)上可兼容的同時(shí),顯然地支持高數(shù)據(jù)率。
這樣,對(duì)一種用于擴(kuò)展用于選擇性重發(fā)協(xié)議的序列號(hào)碼范圍的方法和裝置進(jìn)行了說明。前述較佳實(shí)施例能使任何熟悉以往技術(shù)的人實(shí)現(xiàn)或者使用本發(fā)明。對(duì)熟悉以往技術(shù)的人來說,對(duì)實(shí)施形態(tài)的修改顯然是容易的,這里定義的一般原則不必用發(fā)明性的技能就能應(yīng)用到其他實(shí)施形態(tài)中。因此,本發(fā)明不限于前述的實(shí)施例,而且只要不超出本發(fā)明的原則和新穎性特點(diǎn),都能包含在本發(fā)明內(nèi)。
權(quán)利要求
1.一種使用具有序列號(hào)的幀在發(fā)送端和接收端間傳輸數(shù)據(jù)的方法,其特征在于,所述方法包括下述的步驟(a)在第1次發(fā)送幀時(shí),將重發(fā)位設(shè)置成假,并將序列號(hào)設(shè)置成長序列號(hào)的一部分;(b)所述的長序列號(hào)遞增;(c)當(dāng)接收到包含所述幀的長序列號(hào)的否定確認(rèn)消息時(shí),將重發(fā)位設(shè)置成真,并重發(fā)該幀。
2.如權(quán)利要求1所述的方法,其特征在于,所述序列號(hào)由8位組成。
3.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括下述的步驟對(duì)幀進(jìn)行接收;當(dāng)根據(jù)序列號(hào)接收幀失常時(shí),發(fā)送所述否定確認(rèn)消息。
4.如權(quán)利要求3所述的方法,其特征在于,所述方法還包括下述的步驟保持下一個(gè)期待的幀的L_V(R)索引;保持依序發(fā)送所需要的下一個(gè)幀的L_V(N)索引。
5.如權(quán)利要求3所述的方法,其特征在于,所述方法還包括下述的步驟保持第1次要發(fā)送的下一個(gè)幀的L_V(S)索引值。
6.一種用于發(fā)送具有8位序列號(hào)的數(shù)據(jù)幀的集合的方法,其特征在于,所述方法包括下述的步驟(a)當(dāng)?shù)?次發(fā)送數(shù)據(jù)幀時(shí),類型字段設(shè)置為新發(fā)送;(b)當(dāng)重發(fā)數(shù)據(jù)幀時(shí),所述類型字段設(shè)置為重發(fā);(c)對(duì)數(shù)據(jù)幀進(jìn)行發(fā)送。
7.如權(quán)利要求6所述的方法,其特征在于,所述方法還包括下述的步驟當(dāng)接收到失常幀時(shí),發(fā)送包含長序列號(hào)的NAK消息,并用所述長序列號(hào)修改NAK表;根據(jù)包含在新發(fā)送的幀中的序列號(hào)字段,設(shè)置所述長序列號(hào);當(dāng)接收到重發(fā)幀時(shí),通過在所述NAK表中進(jìn)行查找,設(shè)置所述長序列號(hào)。
8.一種用于通過幀發(fā)送數(shù)據(jù)的系統(tǒng),其特征在于,包括發(fā)送系統(tǒng),所述發(fā)送系統(tǒng)用于發(fā)送具有設(shè)置成新發(fā)送的類型字段和序列號(hào)的新發(fā)送的幀,在每個(gè)新發(fā)送幀被發(fā)送后保持遞增的索引L_V(S);并且響應(yīng)于NAK消息,發(fā)送重發(fā)幀;接收系統(tǒng),所述接收系統(tǒng)用于當(dāng)接收所述新發(fā)送的幀失常時(shí)產(chǎn)生所述NAK消息;保持用于跟蹤沒有接收到的幀的NAK表;并且對(duì)重發(fā)幀進(jìn)行再排序。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述接收系統(tǒng)還包括保持指定下一個(gè)期待的幀的索引L_V(R);接收具有序列號(hào)的新的發(fā)送幀;如果所述序列號(hào)大于所述下一個(gè)期待的幀,則產(chǎn)生所述NAK消息。
10.一種用于發(fā)送數(shù)字?jǐn)?shù)據(jù)的發(fā)射機(jī),其特征在于,該發(fā)射機(jī)包括控制電路,用于對(duì)各個(gè)數(shù)據(jù)字段產(chǎn)生相應(yīng)的順序碼,每個(gè)順序碼包括由索引碼得到的第1數(shù)量二進(jìn)制值,所述索引碼包括在數(shù)量上大于第1數(shù)量的第2數(shù)量二進(jìn)制位數(shù);發(fā)送電路,用于在一個(gè)載波上共同作為編碼數(shù)據(jù)幀發(fā)送每個(gè)數(shù)據(jù)字段和相應(yīng)的順序碼;接收電路,用于接收并解碼由索引碼和非確認(rèn)碼組成的編碼數(shù)據(jù)幀;其中,將安排成控制電路由解碼后的索引碼識(shí)別順序碼和相應(yīng)的數(shù)據(jù)字段,以通過發(fā)送電路作為編碼數(shù)據(jù)幀重發(fā)。
11.一種用于接收數(shù)字?jǐn)?shù)據(jù)的接收機(jī),其特征在于,接收機(jī)包括接收電路,用于接收并解碼包含數(shù)據(jù)字段和相應(yīng)的包括第1數(shù)量二進(jìn)制位的順序碼的編碼數(shù)據(jù)幀;控制電路,用于從接收到的順序碼決定索引碼,索引碼包含數(shù)量上大于第1數(shù)量的第2數(shù)量二進(jìn)制位,將決定的索引碼與為先前接收的數(shù)據(jù)幀的相應(yīng)的順序碼建立的索引碼進(jìn)行比較,以便識(shí)別接收的數(shù)據(jù)幀的錯(cuò)誤接收,并在檢測到接收差錯(cuò)時(shí),產(chǎn)生用于和非確認(rèn)碼一起發(fā)送的索引碼;發(fā)射機(jī),用于在一個(gè)載波上共同作為編碼數(shù)據(jù)幀發(fā)送索引碼和非確認(rèn)碼。
全文摘要
本發(fā)明揭示一種用于擴(kuò)展用于有選擇性重發(fā)協(xié)議的序列號(hào)碼范圍的方法和裝置。按照本發(fā)明的一個(gè)實(shí)施例,發(fā)送的數(shù)據(jù)幀(70)包括一個(gè)8位的序列號(hào)(72)和1位的重發(fā)標(biāo)記(74)。該1位重發(fā)標(biāo)記(74)表明該幀是否為新發(fā)送的或者由于第1次發(fā)送失敗而重發(fā)的。每個(gè)發(fā)送(50)和接收(52)系統(tǒng)都包含一個(gè)12位的序列號(hào),該序列號(hào)稱為“長序列號(hào)”,包括一個(gè)隨著每一幀發(fā)送的8位序列號(hào)和一個(gè)4位擴(kuò)展號(hào)。該長序列號(hào)在控制幀(82)內(nèi)發(fā)送,而8位序列號(hào)在數(shù)據(jù)幀(72)內(nèi)發(fā)送。
文檔編號(hào)H04L1/18GK1261487SQ98806198
公開日2000年7月26日 申請日期1998年6月16日 優(yōu)先權(quán)日1997年6月17日
發(fā)明者R·列扎艾法, 小E·G·蒂德曼, P·E·本德, J·E·湯米克 申請人:夸爾柯姆股份有限公司