專利名稱:用于數(shù)據(jù)分組集合的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信的領(lǐng)域,且更確切地涉及高速分組接收。
技術(shù)背景根據(jù)現(xiàn)有技術(shù),數(shù)據(jù)分組傳輸方法實現(xiàn)了用于在傳輸端處將分組劃分為 數(shù)據(jù)塊并然后在接收端處將塊重新集合成分組的機制。在MAC ("介質(zhì)存取控制")層中,在具有MAC首部的PDU ("協(xié)議數(shù) 據(jù)單元")中封裝要被傳輸?shù)臄?shù)據(jù)或MSDU ( "MAC服務(wù)數(shù)據(jù)單元")。當傳輸 MSDU時,它們可以被分段,從而在相同的PDU中傳輸MSDU的一個或多 個部分(或片段),同時在一個或多個其他PDU中傳輸剩余的部分。 一個PDU 還可以包括不同MSDU的片段。與IEEE 802.16標準兼容的接收站的微處理器實現(xiàn)的這種方法在圖1中示 出,且以初始化步驟10開始。然后,在步驟ll期間,接收對應(yīng)于與一組塊 相關(guān)的MSDU的一個或多個翁:據(jù)分組。然后,在步驟12期間,該站標識正 確接收的塊。然后,在步驟13期間,微處理器嘗試將所接收的塊集合為 MSDU。步驟13開始于步驟130,該步驟130包括指向第一接收塊的當前塊 的初始化。然后,在測試131期間,微處理器(使用例如錯誤檢測代碼)檢 查當前塊是否有效。如果否,步驟13結(jié)束于MSDU集合失敗狀態(tài)。如果是, 在步驟132期間,微處理器通過向其插入當前塊來建立MSDU。然后,在測 試133期間,微處理器檢查當前塊是否是MSDU的最后塊。如果是,步驟13 成功地結(jié)束,其中集合了MSDU。如果否,在步驟134中,當前塊指向下一 接收的塊,且重復(fù)測試131。因此,MSDU集合處理相對地長,這是因為基 本操作的數(shù)量高(至少是MSDU中出現(xiàn)的塊的數(shù)量的三倍(對應(yīng)于步驟131 到133),其中由微處理器來測試這些塊中的每個)。因此,該技術(shù)具有如下 缺點很差地適用于需要有效(significant)反應(yīng)的應(yīng)用(例如視聽流傳輸應(yīng) 用)。發(fā)明內(nèi)容本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的這些缺點。更具體地,本發(fā)明的目的是為了改進通信系統(tǒng)的性能(例如,MSDU的 集合(assembly)的速度和/或簡單化)。為了這個目的,本發(fā)明提出 一種用于集合數(shù)據(jù)塊以形成至少 一個數(shù)據(jù)分 組的方法,包括以下步驟-在第一寄存器中寫入至少一個第一數(shù)據(jù)塊描述符,每個第一描述符包括 表示屬于一組塊的每個塊的狀態(tài)的信息,由此每個塊的狀態(tài)指示是否已經(jīng)存 儲了所述塊;-確定并在第二寄存器中記錄所述組的至少一部分的狀態(tài),由此所述狀態(tài) 表示在所述組的所述部分中的塊的存儲或未存儲的情況;-根據(jù)被記錄在所述第二寄存器中的狀態(tài),集合包含所述組的所述塊的分組。優(yōu)勢地,所述確定狀態(tài)的步驟是在至多嚴格少于所述第一寄存器的大小 的多個(a number of)時鐘周期中、且更優(yōu)勢地在至多 一個時鐘周期中執(zhí)行 的基本步驟,該第一寄存器的大小被表達為多個(anumberof) 二進制數(shù)據(jù)。 根據(jù)優(yōu)選特性,所述第 一寄存器的寫入包含第二寄存器的純電子更新。 優(yōu)勢地,所述方法還包括確定第一分組塊的位置的步驟,該步驟包括以 下步驟-在第三寄存器中寫入至少一個第二第一塊描述符,每個第二描述符包括 為每個塊指示是否包含了第一分組塊的信息;以及-基于所述第三寄存器的內(nèi)容來確定在分組中的所述第一塊,并在第四寄 存器中記錄所述第一塊的標識符;根據(jù)在所述第四寄存器中記錄的所述標識符,來進行包含所述組的所述 塊的分組的所述集合。優(yōu)勢地,所述確定分組中的所述第一塊的步驟是在至多嚴格少于所述第 三寄存器的大小的多個時鐘周期中執(zhí)行的基本步驟,所述第三寄存器的大小 被表達為多個二進制數(shù)據(jù)。根據(jù)優(yōu)勢特性,所述方法包括確定最后分組塊的位置的步驟,所述步驟 包括以下步驟-在第五寄存器中寫入至少一個第三最后塊描述符,每個第三描述符包括為每個塊指示是否包含最后分組塊的信息;以及-基于所述第五寄存器的內(nèi)容來確定所述分組中的最后塊,并在第六寄存 器中記錄在要被傳輸?shù)姆纸M中的最后塊的標識符;根據(jù)在所述第六寄存器中記錄的所述標識符,來進行包含所述組的所述 塊的分組的所述集合。優(yōu)勢地,所述確定在分組中的最后塊的步驟是在至多嚴格少于所述第五 寄存器的大小的多個時鐘周期中執(zhí)行的基本步驟,所述第五寄存器的大小被 表達為多個二進制數(shù)據(jù)。根據(jù)具體特性,所述確定所述最后分組和確定狀態(tài)的步驟是同時進行的。優(yōu)選地,根據(jù)所述第四和第六寄存器的內(nèi)容來確定要被集合的分組中的 塊的數(shù)量。根據(jù)優(yōu)勢特性,只要被存儲在所述第二寄存器中的狀態(tài)指示存儲了分組 且/或還沒有標識最后分組塊,就重復(fù)所述確定狀態(tài)和確定所述最后塊的步驟。根據(jù)具體特性,被記錄在所述第二寄存器中的所述狀態(tài)屬于如下組,該 組包括-分組集合狀態(tài)可能;-分組集合狀態(tài)不可能,因為還沒有檢測到所述分組的結(jié)尾;以及 -分組集合狀態(tài)不可能,因為沒有存儲和/或接收到所述分組的至少 一部分。優(yōu)勢地,該方法包括數(shù)據(jù)塊接收步驟,由此與每個塊相關(guān)聯(lián)的所述狀態(tài) 指示是否已經(jīng)正確接收了所述塊。根據(jù)具體特性,以在例如根據(jù)IEEE 802.16通信協(xié)議的無線信道上傳輸?shù)?數(shù)據(jù)幀來接收所述塊。本發(fā)明還涉及一種數(shù)據(jù)塊集合設(shè)備,以形成至少一個數(shù)據(jù)分組,所述設(shè) 備包括-在第一寄存器中寫入至少一個第一數(shù)據(jù)塊描述符的裝置,每個第一描述 符包括表示屬于一組塊的每個塊的狀態(tài)的信息,由此每個塊的狀態(tài)指示是否 已經(jīng)存儲了所述塊;-確定并在第二寄存器中記錄所述組的至少一部分的狀態(tài)的裝置,由此所-根據(jù)被記錄在所述第二寄存器中的狀態(tài)來集合包含所述組的所述塊的 分組的裝置。
通過閱讀以下描述,并參考附圖,本發(fā)明將變得更容易理解,且其他特征和優(yōu)點將變得明顯,在附圖中-圖1示出本身已知的分組傳輸?shù)膶嵤├?圖2示出根據(jù)本發(fā)明的具體實施例的通信網(wǎng)絡(luò);-圖3示意地示出才艮據(jù)本發(fā)明的具體實施例的、圖2所示的通信網(wǎng)絡(luò)的設(shè)備;-圖4到6和圖9示出在圖3所示的設(shè)備中實現(xiàn)的接收方法;-圖7示出由圖3所示的設(shè)備處理的分組的分段;以及-圖8表示在圖3所示的設(shè)備中實現(xiàn)的寄存器的內(nèi)容中的改變的例子。
具體實施方式
圖2示出根據(jù)本發(fā)明的具體實施例的通信網(wǎng)絡(luò)2。 網(wǎng)絡(luò)2是例如根據(jù)正EE802.16的無線網(wǎng)絡(luò),包括 -接入點20; -終端21和22。接入點20能夠在無線鏈路上對于終端21和22傳輸或接收MSDU。 圖7示意地示出兩個MSDU70和71的結(jié)構(gòu)。因此,通過圖示,MSDU70 包括n個塊700到70n,且MSDU 71包括m個塊710到71m。第一PDU73 包括對應(yīng)于MSDU (未示出)的塊和MSDU 70的第一塊。第二 PDU 74包括 MSDU 70的隨后塊和MSDU 71的所有塊。當以根據(jù)IEEE 802.16標準的無線 電幀來傳輸PDU時,首部使得能夠標識PDU的開始和它們的大小。子首部 還使得能夠標識每個MSDU的第一塊、最后塊和任何中間塊,以及每個MSDU 塊的大小。圖3示意地示出對應(yīng)于接入點20或?qū)?yīng)于終端21和22之一的設(shè)備3。 設(shè)備3包括由地址和數(shù)據(jù)總線34相互連接的且還傳輸時鐘信號的 -微處理器31 (或CPU); -非易失性ROM存儲器32 ("只讀存儲器");-RAM存儲器33 ("隨機存取存儲器"); -傳輸模塊35,以在無線鏈路上傳輸信號; -接收模塊36,以在無線鏈路上接收信號;以及 -接收塊管理模塊37。另外,元件31到36的每個是本領(lǐng)域技術(shù)人員公知的。在此不描述這些 一般元件。要注意,在描述中使用的詞"寄存器",在所提到的每個存儲器中不僅指 定低容量存儲器區(qū)(少量二進制數(shù)據(jù))還指定高容量存儲器區(qū)(使得能夠存 儲整個程序或表示接收的音頻/視頻服務(wù)的數(shù)據(jù)的所有或部分)。ROM存儲器32具體包括程序"prog" 320。實現(xiàn)上述方法的步驟的算法被存儲在與實現(xiàn)這些步驟的設(shè)備3有關(guān)的 ROM存儲器32中。當啟動時,微處理器31裝載并執(zhí)行這些算法的指令。 RAM存儲器33具體包括-寄存器330中的當啟動設(shè)備3時被裝載的微處理器31的操作程序; -在寄存器3311到331N中存儲和/或接收的第一 MSDU塊的N個描述符; 國在寄存器3321到332N中存儲和/或接收的最后MSDU塊的N個描述符; 陽在寄存器3331到333N中正確存儲和/或接收的MSDU塊的N個描述符; -在寄存器334中的數(shù)據(jù)(例如視聽和/或文件類型數(shù)據(jù))和/或包含數(shù)據(jù) 的PDU;-索引計數(shù)器335; 畫當前MSDU大小336;以及-對于在寄存器337中的當前MSDU描述符的指針。 接收塊管理模塊37包括-模塊370,包括具體意圖用于由CPU 31寫入第一塊、最后塊和正確接 收的塊的描述符的寄存器3700到3702,寄存器3700到3702中的每一個具 有用于由CPU31經(jīng)由總線34來寫存取的其本身的地址;-模塊371,包括寄存器3710,其標識當前MSDU的第一塊的等級次 序(或編號);寄存器3711,其標識當前MSDU的最后塊;以及對應(yīng)于當前 MDSU的狀態(tài)寄存器3712,從而,寄存器3710到3712每個具有用于由CPU 31經(jīng)由總線34來讀存取的其自身的地址;以及-模塊372,用于從模塊370的寄存器確定模塊371的寄存器的內(nèi)容。根據(jù)本發(fā)明,模塊37是包括一個或多個分立組件(例如,ASIC或可編 程組件)的電子塊,或者全部或部分插入包括其他功能的組件(例如,包括 存儲器32和/或33和/或CPU 31的ASIC )。根據(jù)所述實施例,描述符包括32位。根據(jù)本發(fā)明的實施方式變型,描述 符具有除了 32位以外的固定大小(范圍可以從少量位(例如8)到幾百或幾 千位)或可變大小。典型地,描述符的每個位對應(yīng)于接收塊,且其有效位取 決于描述符類型-在第一 (或最后)塊的描述符中,1位對應(yīng)于第一 (或最后)MSDU塊, 且O位對應(yīng)于塊的不存在或?qū)?yīng)于不是MSDU的第一 (或最后)塊的塊;以 及-在存儲和/或接收的塊的描述符中,1位對應(yīng)于存儲和/或接收的MSDU塊。根據(jù)本發(fā)明,其他有效位或值(例如除了之前描述的那些以外的值)和 其他格式(例如,用于每個描述符的多個位,和/或被組合為一個或兩個描述 符類型的三個描述符類型)當然是可能的。為了清楚的原因,將僅描述關(guān)于第一或最后MSDU塊和存儲和/或接收的 塊的描述符??梢詫崿F(xiàn)其他描述符,具體地是關(guān)于每個應(yīng)用的連接描述符。 具體地當接收到包含一個或多個PDU的幀時,更新所描述的塊描述符。以電子形式、優(yōu)選地以可編程組件(例如門陣列)、PLD ("可編程邏輯 器件")或ASIC中的邏輯電路的形式實現(xiàn)模塊372。例如,這類電路例如是 由例如對應(yīng)于與圖9所示的算法相對應(yīng)的邏輯等式的其內(nèi)容的VHDL定義來 獲得并優(yōu)化的。模塊372的這種實施方式提供優(yōu)點其包括筒單的邏輯功能,并需要相 對少的邏輯門。另外,模塊372將如下描述符直接讀入寄存器3700到3702:模塊372 將該描述符的值轉(zhuǎn)換成第一塊編號、最后塊編號和狀態(tài)。后者被模塊372自 動存儲在各個寄存器3710到3712中。因此,寄存器3700到3702的內(nèi)容或 多或少地被立即確定,其中結(jié)果被記錄在寄存器3710到3712中。以此方式, 在寫入寄存器3702之后,在至多嚴格地少于被表示為多個二進制數(shù)據(jù)(例如 32)的寄存器3700到3702的大小的多個時鐘周期中,且優(yōu)選地少于一個時 鐘周期中,更新寄存器3710到3712。因此,在寄存器3702中寫入描述符的CPU 31可以從隨后的時鐘周期中讀取寄存器3710到3712的內(nèi)容。 圖4示意地示出在設(shè)備3中實現(xiàn)的數(shù)據(jù)分組接收算法。 在第一步驟40中,設(shè)備3初始化其不同的組件和變量。 然后,在步驟41期間,設(shè)備3等待然后接收已經(jīng)在無線介質(zhì)上傳輸?shù)陌╪個PDU的數(shù)據(jù)幀,其中n表示非零整數(shù)。然后,在步驟42期間,設(shè)備3通過更新存儲器33的描述符3311到331N、3321到332N和3331到333N,來進行第一和最后MSDU塊和正確接收的MSDU塊的制圖。然后,在步驟43期間,設(shè)備3集合對應(yīng)于接收的幀的(多個)MSDU。 然后,重復(fù)步驟41。這些步驟部分地由CPU31實現(xiàn),且部分地由模塊37實現(xiàn)。優(yōu)選地以多 任務(wù)或偽多任務(wù)的形式來由CPU31進行軟件部分的實施,從而,可以由不同 的任務(wù)執(zhí)行步驟41、 42和43 。可以在不同時間或以下各個事件時進行步驟43,具體地是-在接收幀之后(如圖4示意所示);-如果連接改變發(fā)生(具體地,如果多個應(yīng)用使用設(shè)備3的數(shù)據(jù)接收資源); 以及/或-在定義的時間段的結(jié)尾; -在接收預(yù)定義量的塊之后; -在接收最后MSDU塊之后;以及/或-上述不同時間和/或事件的組合(例如,在接收最后MSDU塊之后如果 還沒有正確地接收中間塊則時間段到期)。圖5示出開始于幀首部讀取步驟420的步驟42,所述首部對應(yīng)于根據(jù) 正EE 802.16標準的PDU開始。然后,在步驟421期間,接收器3讀取子首部,如果它存在的話。然后,在步驟422期間,微處理器31根據(jù)指示隨后的塊是否對應(yīng)于第一 和/或最后MSDU塊的首部和/或子首部的內(nèi)容,來更新在存儲器33中的第一 塊描述符3311到331N和最后塊描述符3321到332N。微處理器31還根據(jù)實 際上已經(jīng)被正確接收的塊來更新所接收的塊描述符3331到333N。然后,在測試423期間,接收器3檢查在當前PDU中是否存在至少一個 其他子首部,如果是,重復(fù)步驟421 (可以同時進行讀取步驟421和測試步驟423 )。如果否,在測試424期間,接收器3檢查在所接收的幀中是否存在至少 一個其他PDU,如果是,重復(fù)步驟420 (可以同時進行讀取步驟420和測試 步驟424)。如果否,結(jié)束步驟42。圖6詳細示出使用第一、最后和所接收的塊的描述符來承擔集合MSDU 分組的步驟43。這組接收的塊具有不同的相關(guān)狀態(tài),具體地是在MSDU分組中的第 一塊、 在MSDU分組中的最后塊和正確接收的塊的狀態(tài)。當已經(jīng)接收了首部或塊時, 更新狀態(tài)。在存儲器33中,在32位描述符的幫助下存儲每個塊的狀態(tài),從 而每個位對應(yīng)于特定塊的狀態(tài)。因此,對于在MSDU分組中的第一塊狀態(tài), 在描述符3311中存儲所接收的第一 32個塊的對應(yīng)狀態(tài),且在隨后的描述符 3312等一直到描述符331N中存儲隨后的32個塊的狀態(tài)。對于等于2048的 最大數(shù)量的塊,N等于64。描述符3321到332N和3331到333N的格式類似 于描述符3311到331N的格式。步驟43開始于測試430,在其期間,CPU 31檢查在任何給定的條件(超 時、連接的改變、任何給定的初始事件、幀的接收等)之后是否需要集合。 如果否,步驟43以對應(yīng)于不需要的集合的返回而結(jié)束。如果是,CPU31通過存儲對應(yīng)于第一塊描述符的MSDU指針337,來在 模塊37的寄存器3700到3702中寫入存儲器3311、 3321和3331的各個內(nèi)容 (為了清楚的原因,假設(shè)當前描述符對應(yīng)于存儲器3311、 3321和3331的內(nèi) 容;實際上,當前描述符可以對應(yīng)于存儲器33中的任何給定描述符)。然后, 模塊372優(yōu)選地在寫入寄存器3702之后的至多一個時鐘周期中,更新狀態(tài)寄 存器3710。 CPU31還初始化索引計數(shù)器335為0。然后,在測試432期間,CPU讀取在寄存器3710中更新和存在的集合狀 態(tài),且檢查該狀態(tài)是否對應(yīng)于"連續(xù)的"。如果是,考慮到寄存器3702的內(nèi)容,在由寄存器3700的內(nèi)容所標識的 第一 MSDU塊之后的塊是正確接收的。相反,在第一 MSDU塊和隨后的塊 中不存在所標識的最后MSDU塊。在步驟433期間,然后,CPU 31分別在 寄存器3701和3702中寫入隨后的最后MSDU塊和正確接收的塊描述符(例 如在步驟433的第一次進行期間的3322和3332)。在寫入寄存器3702之后, 模塊372然后在至多嚴格少于被表達為多個位(例如32)的寄存器3700到3702的大小的多個時鐘周期中、且優(yōu)選地在至多一個時鐘周期中,更新狀態(tài) 寄存器3710。 CPU31還將索引計數(shù)器335遞增一個單位。該狀態(tài)對應(yīng)于預(yù)定 值,例如,在三個位上-對應(yīng)于成功狀態(tài)的第 一位,如果可以集合MSDU (所確定的最后塊和在 正確接收的第一到最后塊的閉區(qū)間中的塊)則為1,在相反情況下為0;-對應(yīng)于失敗狀態(tài)的第二位,如果還沒有正確地接收在要被集合的MSDU 分組的第一塊之后且在最后塊之前的、且與正確接收的塊的當前描述符相關(guān) 的塊中的至少一個塊,則為1,且在相反情況下為0;-對應(yīng)于"連續(xù)"狀態(tài)的第三位,如果已經(jīng)正確地接收在要被集合的MSDU 分組的第一塊之后且在任何最后塊(對應(yīng)于當前最后塊描述符)之前的、且 與正確接收的塊的當前描述符相關(guān)的所有塊,則為1,且在相反情況下為0。如果測試432的結(jié)果是否定的,則在測試434期間,CPU31檢查集合狀 態(tài)是否對應(yīng)于成功。如果否,步驟43以對應(yīng)于失敗的集合的返回而結(jié)束,從 而還沒有正確接收由其第一塊所標識的MSDU的塊。如果是,則已經(jīng)正確接收了由其第一和最后塊所標識的MSDU的所有塊, 且可以集合該MSDU。因此,在步驟434期間,CPU 31讀取在寄存器3710 中的第一塊的等級次序;在寫入寄存器3700時,CPU 31已經(jīng)在寄存器337 中存儲了指示第一塊所對應(yīng)的該組32個塊的信息;因此,由在第一塊描述符 中的其等級次序和該描述符和所接收數(shù)據(jù)之間的對應(yīng)關(guān)系清楚地標識當前 MSDU的第一塊。CPU31還讀取在寄存器3711中的最后塊的等級次序。然后,在步驟436期間,CPU31計算要被集合的MSDU的大小336,該 大小被表達為多個塊,其等于描述符的大小(在所示例子中為32)乘以索引 計數(shù)器335的值,加上最后塊的等級次序的值+1,并減去第一塊的等級測序 的值,即概括為MSDU大小=32 .計數(shù)器+寄存器3711-寄存器3710+1因此,由根據(jù)第一 MSDU塊標識符的CPU 31和所計算的數(shù)量的MSDU 塊來集合MSDU分組。為了簡化本發(fā)明的實施方式,塊的大小優(yōu)選地為對所 有塊相同(除了可能地對于MSDU的最后塊)。然后,CPU31向目的地應(yīng)用 傳輸所集合的MSDU的數(shù)據(jù)(或?qū)τ谶@些數(shù)據(jù)的指針),并結(jié)束步驟43。根據(jù)本發(fā)明的具體適當?shù)淖冃?,如果塊不是所有都大小相同,則以八位 位組(octet)來表達MSDU的大小。然后,還以八位位組來表達索引計數(shù)器,且考慮每個塊的實際大小(例如,根據(jù)以在子首部中所指示的以八位位組表 達的大小)來更新索引計數(shù)器。根據(jù)本發(fā)明的不同變型,所集合的MSDU借助于對于其第一塊的指針和 對于其最后塊的指針來被標識,后者優(yōu)選地由對于第一塊的指針加上描述符 的大小(所示例子中為32)、乘以索引計數(shù)器335的值和最后塊的等級次序 的值、減去第一塊的等級次序的值來計算。為了圖示這點,圖8示出在對應(yīng)于特定描述符的寄存器的內(nèi)容中的改變 的例子。如果設(shè)備3接收無線電幀,則CPU31在存儲器33中寫入對應(yīng)的描述符。 因此,例如,第一 MSDU塊描述符800包括十六進制符號的值00000101H(在 圖8中的二進制符號表示的描述符中,在升序的塊等級次序中在左側(cè)示出了 最低有效位(LSB )),最后塊描述符801包括00000080H且正確接收的塊描 述符包括FFFFFFFFH。在分別在寄存器3700到3702中寫入描述符800到802之后,第一塊寄 存器3710包括值0 (具有描述符800的等級次序0的位是1 ),最后塊寄存器 3711包括7 (具有描述符801的等級次序7的位是1,且具有等級次序0到6 的所有位是0),且集合狀態(tài)寄存器3712指示成功的集合(具有描述符802 的等級次序0到7的所有位是1 )。被表達為多個塊的MSDU的大小等于32 x計數(shù)器+7-0+1,即8。然后,具有大小8的MSDU可以被傳輸?shù)侥康牡貞?yīng)用, 該MSDU的第一塊對應(yīng)于描述符800的位0。然后更新描述符。在先前的最后塊描述符沒有指向該描述符的最后元素 的情況下,保持相同組的32個塊。因此,當前第一塊描述符810、最后塊描述符811和所接收的塊描述符 分別包括值00000IOOH、 00000000H和FFFFFFFFH。在分別在寄存器3700到3702中寫入描述符810到812之后,第一塊寄 存器3710包含值8 (具有描述符810的等級次序8的位是1 ),且指示連續(xù)狀 態(tài)的集合狀態(tài)寄存器3712 (描述符811沒有位是1,且具有描述符812的等 級次序8到31的所有位是1 )。然后,索引計數(shù)器值為1。隨后的最后塊描述符821和所接收的塊描述符822分別包含值 0080000000H和08FFFFFFH。在分別在寄存器3701和3702中寫入描述符821到822之后,最后塊寄存器3711包含值11 (具有描述符821的等級次序0到10的位是0,且具有 等級次序11的位是1)且集合狀態(tài)寄存器3712指示失敗狀態(tài)(具有描述符 822的等級次序0到11的位是0 )。索引計數(shù)器值仍然等于1。隨后的最后塊描述符821和所接收的塊描述符824分別包含 0080000000H和FFFFFFFFH。在分別在寄存器3701和3702中寫入描述符821和824之后,最后塊寄 存器3711包含值11且集合狀態(tài)寄存器3712指示成功狀態(tài)(具有描述符822 的等級次序0到11的所有位具有值1 )。索引計數(shù)器的值仍然等于1。然后, 可以向應(yīng)用傳輸其第一塊對應(yīng)于具有描述符800的等級次序8的位且其大小 是32 x索引計數(shù)器+l 1-8+1、即36的MSDU。圖9示出由模塊37實施以更新寄存器3710到3712的算法。在初始化步驟90之后,在步驟91期間,模塊37等待在第一塊寄存器 3700中的寫入。然后,在步驟92期間,模塊37尋找第一MSDU塊。對于該 操作,讀取寄存器3700,搜索第一 1位,且在寄存器3710中存儲其等級次 序。承擔將描述符3700的內(nèi)容轉(zhuǎn)換成第一 1位等級次序值的操作具體地適用 于由 一個或多個邏輯電路或由邏輯電路的一部分來進行的純硬件實現(xiàn)。為了 該目的,可以使用例如狀態(tài)表轉(zhuǎn)換。創(chuàng)建第一32位掩碼(mask),其具有嚴 格小于第一所標識位的等級次序的等級次序的位是O,且其他所有位是l。指 示寄存器3700的內(nèi)容是與寄存器3701到3702的內(nèi)容協(xié)調(diào)的同步布爾值被初 始化為1。然后,在步驟93期間,模塊37等待在寄存器3701和3702中寫入。一 旦更新這些寄存器,模塊37就檢查寄存器3701是否包含1且等級次序高于 或等于第一塊的等級次序。為了這樣做,其進行與第一掩碼的逐位"與(AND ),, 操作,且在"與"操作的結(jié)果上進行對第一 1位的搜索。優(yōu)選地,以與對第 一塊的等級次序的搜索相同的方式來進行該搜索。在步驟94期間,模塊37搜索在寄存器3701中的最后MSDU塊的存在, 且在測試95期間,其檢查是否已經(jīng)找到最后塊等級次序。如果否,在測試99期間,模塊37檢查在第一塊對應(yīng)于當前描述符(1 同步布爾值)的情況下或者在第一塊對應(yīng)于先前的描述符(0同步布爾值) 的情況下、具有高于或等于第一塊的等級次序的等級次序的寄存器3702的位 是否全等于l。為了這樣做,其進行-如果同步布爾值為O,則與FFFFFFFFH進行"與"操作;-與第一掩碼的反碼(inverse)進行逐位的"或(OR)"搡作,以將位于 其等級次序?qū)?yīng)于第一塊的位之前的任何位設(shè)置為1,然后在"或,,操作的 結(jié)果和FFFFFFFFH之間進行逐位的"與"操作。在從該操作得到的所有位上進行"與"操作。如果該結(jié)果等于1,則從 第 一所接收的塊,正確地接收對應(yīng)于當前描述符的所有塊。如果測試99的結(jié)果是肯定的,則,在步驟911期間,然后用對應(yīng)于連續(xù) 的狀態(tài)來更新寄存器3712。然后,在步驟912期間,用值0來更新第一掩碼(masque),且重復(fù)步驟93。在測試95的肯定結(jié)果之后,在測試96期間,模塊37檢查在第一塊對應(yīng) 于當前描述符(1同步布爾值)的情況下或者在第一塊對應(yīng)于先前的描述符 (0同步布爾值)的情況下具有高于或等于第一塊的等級次序的等級次序的 寄存器3702的位、以及具有低于或等于最后塊的等級次序的等級次序的寄存 器3702的位是否全等于1。為了這樣做,它首先更新第二掩碼,其具有低于 或等于最后位的等級次序的等級次序的位等于1且其他位等于0。然后,模 塊37與寄存器3702的內(nèi)容進行逐位"或"操作,然后,利用該結(jié)果,其進 行-如果同步布爾值為O,則進行與FFFFFFFFH的"與,,操作; -與第一掩碼的反碼進行逐位的"或,,搡作,以將位于其等級次序?qū)?yīng)于第一塊的位之前的任何位設(shè)置為1,然后在"或"操作的結(jié)果和FFFFFFFFH之間進行逐位的"與"操作。對來自該操作的結(jié)果的所有位進行"與"操作。如果該結(jié)果等于1,則在第一到最后塊的閉區(qū)間中正確接收對應(yīng)于當前 描述符的所有塊。然后,在步驟97期間,在寄存器3711中存儲最后塊的等 級次序的值,且更新對應(yīng)于成功狀態(tài)的寄存器3712。第一塊寄存器3700的 隨后讀取使得CPU37能夠識別在集合成功指示之后的對應(yīng)的描述符的狀態(tài)。 在具體地讀取在寄存器3712中的成功狀態(tài)(步驟97 )和/或讀取寄存器3700 期間,優(yōu)選地自動更新寄存器3700 (從而所述操作可以獨立于步驟97)。例 如,在除了在由寄存器3710的內(nèi)容所定義的第一塊的位置之外、在寄存器 3700的當前內(nèi)容與包括多個1的32位掩碼之間應(yīng)用"與"操作之后,由模塊372進行上述操作。因此,寄存器3700包含0來替代1,其中等級次序與 寄存器3710的內(nèi)容相對應(yīng)。在步驟97之后,重復(fù)步驟91。如果在測試96或99期間結(jié)果不等于1,則在第一到最后塊的閉區(qū)間中 沒有正確接收對應(yīng)于當前描述符的至少一個塊。然后,在步驟98期間,利用 對應(yīng)于失敗的狀態(tài)來更新寄存器3712。在讀取寄存器3712之后,重復(fù)步驟 91或92之一。實際上,可以在不等待新塊的存儲的情況下立即重復(fù)步驟92, 這是因為在不正確接收的或存儲的塊之后的塊可能使能MSDU的集合。根據(jù) 某些實施例,在步驟98之后,系統(tǒng)地重復(fù)步驟91。根據(jù)其他實施例,由軟 件命令、電子配置和/或任何給定的參數(shù)定義來進行在步驟91和步驟92之間 的選擇。當然,本發(fā)明不局限于上述實施例。具體地,傳輸/接收設(shè)備的結(jié)構(gòu)在元件的各個功能和/或形式(電子元件的 功能可以具體地合并到限制數(shù)量的組件中,或相反地可以分離成多個組件) 和它們的安排上可能不同于圖3所示的。另外,接收塊管理模塊還可以具有不同的結(jié)構(gòu),從而具體地,翻譯功能 (translation flmction)可以被集成到與寄存器相關(guān)的模塊之一 中。另外,根據(jù)本發(fā)明,接收塊管理模塊可以與所有描述符相關(guān)聯(lián),或相反 該設(shè)備可以包括多個接收塊管理模塊,從而這些模塊的每個與一個或多個描 述符相關(guān)聯(lián)。另外,本發(fā)明不局限于根據(jù)無線通信標準(例如IEEE 802.16)來接收數(shù) 據(jù),還涉及使用接收的分組塊描述符的任何數(shù)據(jù)分組接收方法。另夕卜,根據(jù)本發(fā)明的變型,接收的分組描述符不一定與第一MSDU分組、 最后MSDU分組和正確接收的分組的描述符相關(guān)聯(lián),但對應(yīng)于使能重新集合 其塊被存儲的數(shù)據(jù)分組的任何類型的特定狀態(tài)。根據(jù)本發(fā)明的一個變型,電子塊管理模塊僅實現(xiàn)用于確定具有或不具有 從具體等級次序或上至具體等級次序的預(yù)定值的第一 MSDU塊、最后MSDU 塊和正確接收的塊的一個或兩個功能。因此,例如,根據(jù)變型,電子模塊370 實現(xiàn)具有分別對應(yīng)于如下的寫存取的寄存器-第一分組塊號(例如根據(jù)IEEE 802.16標準的BSN ("塊順序號,,)塊);-最后分組塊號(例如,根據(jù)正EE 802.16標準的BSN塊);-正確存儲或接收的塊描述符;以及-對應(yīng)于正確存儲或接收的塊描述符的第一位(或字段)的塊號。 根據(jù)一個變型,省略最后寄存器(對應(yīng)于正確存儲或接收的塊描述符的 第一位(或字段)的塊號),因為,其值可以缺省地對應(yīng)于第一寄存器的值(第 一分組塊號)。在這些實施例中,由電子塊管理模塊來僅更新狀態(tài)寄存器。另外,本發(fā)明不局限于無線傳輸,還涉及在任何給定介質(zhì)上且具體地在 噪聲有線信道或在記錄信道上的所有傳輸。根據(jù)所述實施例,電子模塊370包含單個第一塊寄存器、單個最后塊寄 存器和單個最后接收塊寄存器。根據(jù)本發(fā)明的變型,模塊370包含有關(guān)這些 寄存器中的一個、兩個或三個的多個描述符,或?qū)⑦@些寄存器的內(nèi)容直接讀 取到存儲器33中,從而對于第一描述符的指針由CPU提供,且/或被缺省配 置。根據(jù)該變型,如果正確接收了所有中間塊,則模塊370能夠自動地搜索 MSDU的最后塊,且可以包舍其自動遞增的索引計數(shù)器寄存器。然后,CPU 能夠讀取表示可以被直接集合到該索引計數(shù)器寄存器中的MSDU的大小的信 息,并能夠在即使不讀取狀態(tài)寄存器的情況下也獲得成功狀態(tài)。在該情況下, 連續(xù)狀態(tài)僅出現(xiàn)在標識正確接收塊之后的第一 MSDU塊之后不存在包括最后 MSDU塊標識符的有效描述符的情況下。根據(jù)可以優(yōu)勢地與上述變型組合的其他實施例,模塊370包含多個相同 類型的結(jié)果寄存器,以便使能并行存儲對應(yīng)于不同MSDU的多個狀態(tài)。因此, 可以提供四組結(jié)果寄存器,對于由第一塊(和/或最后塊)的存在所標識的每 個MSDU,包括指示第一塊的等級次序的寄存器、指示最后塊的等級次序 的寄存器、指示MSDU的狀態(tài)(集合可能與否、以及可能地關(guān)于集合不可能 的原因)和MSDU的大小的寄存器。以此方式,利用其中少量或者不包含 CPU的部件的(多個)電子模塊來實質(zhì)地實現(xiàn)能夠被集合的MSDU的確定。
權(quán)利要求
1.一種用于集合數(shù)據(jù)塊以形成至少一個數(shù)據(jù)分組的方法,其特征在于,其包括以下步驟-在第一寄存器中寫入(42)至少一個第一數(shù)據(jù)塊描述符(3702),每個第一描述符包括表示屬于一組塊的每個塊的狀態(tài)的信息,由此每個塊的狀態(tài)指示是否已經(jīng)存儲了所述塊;-確定并在第二寄存器(3712)中記錄(97、98、911)所述組的至少一部分的狀態(tài),所述狀態(tài)表示在所述組的所述部分中的塊的存儲或未存儲的情況;-根據(jù)被記錄在所述第二寄存器中的狀態(tài),集合(43)包含所述組的所述塊的分組。
2. 根據(jù)權(quán)利要求l的方法,其特征在于,所述確定狀態(tài)的步驟是在至多 嚴格少于第一寄存器的大小的多個時鐘周期中進行的基本步驟,該第一寄存 器的大小被表達為多個二進制數(shù)據(jù)。
3. 根據(jù)權(quán)利要求2的方法,其特征在于,所述確定狀態(tài)的步驟是在至多 一個時鐘周期中進行的基本步驟。
4. 根據(jù)權(quán)利要求1到3中的任何一個的方法,其特征在于所述第一寄存 器的寫入包括所述第二寄存器的純電子更新。
5. 根據(jù)權(quán)利要求1到4中的任何一個的方法,其特征在于其包括確定第 一分組塊的位置的確定步驟(92),由此該步驟包括以下步驟-在第三寄存器(3700)中寫入至少一個第二第一塊描述符,每個第二描 述符包括為每個塊指示是否包含了第 一分組塊的信息;以及-基于所述第三寄存器的內(nèi)容來確定在分組中的第 一塊,并在第四寄存器 (3710)中記錄所述第一塊的標識符;根據(jù)在所述第四寄存器中記錄的所述標識符,來進行包含所述組的所述 塊的分組的所述集合。
6. 根據(jù)權(quán)利要求5的方法,其特征在于所述確定分組中的第一塊的步驟 是在至多嚴格少于第三寄存器的大小的多個時鐘周期中進行的基本步驟,該 第三寄存器的大小被表達為多個二進制數(shù)據(jù)。
7. 根據(jù)權(quán)利要求1到6中的任何一個的方法,其特征在于,其包括確定最后分組塊的位置的步驟,所述步驟包括以下步驟-在第五寄存器(3701 )中寫入至少一個第三最后塊描述符,每個第三描 述符包括為每個塊指示其是否是最后分組塊的信息;以及-基于所述第五寄存器的內(nèi)容來確定分組中的最后塊,并在第六寄存器 (3711)中記錄在要被傳輸?shù)姆纸M中的最后塊的標識符;根據(jù)在所述第六寄存器中記錄的所述標識符,來進行包含所述組的所述 塊的分組的所述集合。
8. 根椐權(quán)利要求7的方法,其特征在于,所述確定在分組中的最后塊的 步驟是在至多嚴格少于第五寄存器的大小的多個時鐘周期中進行的基本步 驟,該第五寄存器的大小被表述為多個二進制數(shù)據(jù)。
9. 根據(jù)權(quán)利要求7和8中的任何一個的方法,其特征在于,所述確定最 后分組和確定狀態(tài)的步驟是同時進行的。
10. 根據(jù)權(quán)利要求5和7的方法,其特征在于,其包括以下步驟 -根據(jù)所述第四和第六寄存器的內(nèi)容來確定要被集合的分組中的塊的數(shù)量。
11. 根據(jù)權(quán)利要求7到9中的任何一個的方法,其特征在于,只要被存 儲在第二寄存器中的狀態(tài)指示存儲了分組且/或還沒有標識最后分組塊,就重復(fù)所述確定狀態(tài)和確定最后塊的步驟。
12. 根據(jù)權(quán)利要求1到11中的任何一個的方法,其特征在于,被記錄在 所述第二寄存器中的所述狀態(tài)屬于如下組,該組包括-分組集合狀態(tài)可能;-分組集合狀態(tài)不可能,因為還沒有檢測到分組的結(jié)尾; -分組集合狀態(tài)不可能,因為沒有存儲分組的至少一部分; -分組集合狀態(tài)不可能,因為還沒有接收到分組的至少 一部分。
13. 根據(jù)權(quán)利要求1到12中的任何一個的方法,其特征在于,其包括數(shù) 據(jù)塊接收步驟,并且與每個塊相關(guān)聯(lián)的所述狀態(tài)指示是否已經(jīng)正確接收了所 述塊。
14. 根據(jù)權(quán)利要求13的方法,其特征在于,以在無線信道上傳輸?shù)臄?shù)據(jù) 幀來接收塊。
15. 根據(jù)權(quán)利要求14的方法,其特征在于,根據(jù)IEEE 802.16通信協(xié)議 來傳輸數(shù)據(jù)幀。
16. —種用于集合數(shù)據(jù)塊以形成至少一個數(shù)據(jù)分組的設(shè)備(3),其特征 在于,其包括-在第一寄存器(3702)中寫入至少一個第一數(shù)據(jù)塊描述符的裝置,每個 第一描述符包括表示屬于一組塊的每個塊的狀態(tài)的信息,由此每個塊的狀態(tài) 指示是否已經(jīng)存儲了所述塊;-確定并在第二寄存器(3712)中記錄(372)所述組的至少一部分的狀-根據(jù)被記錄在所述第二寄存器中的所述狀態(tài)來集合包含所述組的所述 塊的分組的裝置。
全文摘要
本發(fā)明涉及集合數(shù)據(jù)塊以形成至少一個數(shù)據(jù)分組,所述集合包括以下步驟在第一寄存器中寫入至少一個第一數(shù)據(jù)塊描述符(3702),每個第一描述符包括表示屬于一組塊的每個塊的狀態(tài)的信息,由此每個塊的狀態(tài)指示是否已經(jīng)存儲了所述塊;確定并在第二寄存器(3712)中記錄所述塊的狀態(tài),所述狀態(tài)表示所述塊的存儲或未存儲的情況,從而基于第二寄存器的使用,該操作使能簡單且快速地獲取可以基于塊被集合的分組的狀態(tài);根據(jù)被記錄在所述第二寄存器中的狀態(tài),集合包含所述塊的分組。
文檔編號H04L12/56GK101406005SQ200780010063
公開日2009年4月8日 申請日期2007年3月9日 優(yōu)先權(quán)日2006年3月20日
發(fā)明者盧多維克·珍妮, 帕特里克·方丹, 查林·古古恩 申請人:湯姆森特許公司