數據映射方法及裝置的製作方法
2023-06-04 15:55:41 1
專利名稱:數據映射方法及裝置的製作方法
技術領域:
本發明涉及通信領域,具體而言,涉及一種數據映射方法及裝置。
背景技術:
光傳送網(Optical Transport Network,簡稱為0TN)是下一代傳送網絡。G. 709 定義了使用OTN傳輸幀來傳送同步數字體系(Synchronous Digital Hierarchy,簡稱為 SDH)數據的兩種模式同步模式、異步模式。其中,在異步模式中,OTN幀提供了三個調整 控制(JC)字節、一個負調整機會(NJO)字節和一個正調整機會(PJO)字節。調整控制信號 (JC)位於第1至3行第16列,它的第7位和第8位用來控制兩個調整機會字節NJO和PJ0。 當客戶信號速率高於光通路淨荷單元(Optical Channel Payload Unit,簡稱為0PU) k標稱 值時作負調整,NJO和PJO為數據字節,控制信號JC為01 ;當客戶信號速率低於OPUk標稱 值時作正調整,NJO和PJO應為調整字節,控制信號JC為11。在相關技術中,通常使用專用晶片或FPGA實現固定速率數據(Constant Bit Rate,簡稱為CBR)到OPUk的映射。常用的辦法是使用先進先出(First Input First Output,簡稱為FIFO)來完成,根據FIFO的快空快滿狀態來產生正負調整指示,FIFO快空時 產生正調整指示信號,FIFO快滿時產生負調整指示信號。但由於專用晶片和FPGA內部的信 號速率限制,導致CBR信號在晶片內部必須是並行操作,位寬通常是大於一個字節(Sbit), 調整字節都是單字節,在相關技術中,並沒有在多字節並行處理的電路中實現單字節的調
iF. ο
發明內容
本發明的主要目的在於提供一種數據映射方案,以至少解決上述問題。根據本發明的一個方面,提供了一種數據映射方法,包括將固定速率數據CBR寫 入到多個緩衝器中,其中,所述緩衝器的數量與並行處理的字節數量相同,寫入每個緩衝 器的數據量相同;根據指示信息在從所述緩衝器中讀取數據時,對從所述每個緩衝器中讀 取的數據連續逐一進行正調整或負調整,其中,所述指示信息用於指示所述緩衝器中存儲 數據的多少;對進行正調整或負調整之後讀取的數據進行拼接,以映射成光通路淨荷單元 OPUk數據。進一步地,根據所述指示信息在從所述緩衝器中讀取數據時,對從所述每個緩衝 器中讀取的數據連續逐一進行正調整或負調整包括在所述指示信息指示所述緩衝器中存 儲的數據超出第一閾值時,在從所述緩衝器中讀取數據時,對從所述每個緩衝器中讀取的 數據連續逐一進行負調整;在所述指示信息指示所述緩衝器中存儲的數據低於第二閾值 時,在從所述緩衝器中讀取數據時,對從所述每個緩衝器中讀取的數據連續逐一進行正調
iF. ο進一步地,對進行正調整或負調整之後讀取的數據進行拼接包括根據拼接指示 信息對進行所述正調整或負調整之後讀取的數據進行拼接,其中,所述拼接指示信息用於指示在讀取數據時發生正調整或負調整的緩衝器。進一步地,對進行正調整或負調整之後讀取的數據進行拼接之後,還包括將進行 拼接之後的數據放入OPUk幀的淨荷區,並插入開銷。進一步地,根據固定速率數據的數據速率和處理時鐘的頻率確定所述並行處理的 字節數量和所述緩衝器的數量。根據本發明的另一方面,還提供了一種數據映射裝置,包括多個緩衝器,用於緩 存寫入的固定速率數據CBR,所述緩衝器的數量與並行處理的字節數量相同,並且,寫入每 個緩衝器的數據量相同;讀寫控制器,用於根據所述緩衝器產生的指示信息在從所述緩衝 器中讀取數據時,對從所述每個緩衝器中讀取的數據連續逐一進行正調整或負調整,其中, 所述指示信息用於指示所述緩衝器中存儲數據的多少;數據拼接器,用於對進行正調整或 負調整之後讀取的數據進行拼接,以映射成光通路淨荷單元OPUk數據。進一步地,所述讀寫控制器用於在所述指示信息指示所述緩衝器中存儲的數據超 出第一閾值時,在從所述緩衝器中讀取數據時,對從所述每個緩衝器中讀取的數據連續逐 一進行負調整;並在所述指示信息指示所述緩衝器中存儲的數據低於第二閾值時,在從所 述緩衝器中讀取數據時,對從所述每個緩衝器中讀取的數據連續逐一進行正調整。進一步地,所述數據拼接器用於根據拼接指示信息對進行所述正調整或負調整之 後讀取的數據進行拼接,其中,所述拼接指示信息用於指示在讀取數據時發生正調整或負 調整的緩衝器。進一步地,上述裝置還包括0PUk成幀器,用於將進行拼接之後的數據放入OPUk 幀的淨荷區,並插入開銷。進一步地,所述並行處理的字節數量和所述緩衝器的數量是根據固定速率數據的 數據速率和處理時鐘的頻率確定的。通過本發明,採用將固定速率數據CBR寫入到多個緩衝器中,其中,緩衝器的數量 與並行處理的字節數量相同,寫入每個緩衝器的數據量相同;根據指示信息在從緩衝器中 讀取數據時,對從每個緩衝器中讀取的數據連續逐一進行正調整或負調整,其中,指示信息 用於指示緩衝器中存儲數據的多少;對進行正調整或負調整之後讀取的數據進行拼接,以 映射成光通路淨荷單元OPUk數據,解決了在相關技術中沒有在多字節並行處理的電路中 實現單字節的調整的問題,實現了多字節並行處理電路的單字節調整。
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發 明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中圖1是根據本發明實施例的數據映射方法的流程圖;圖2是根據本發明實施例的數據映射裝置的示意圖;圖3是根據本發明實施例優選的數據映射方法的流程圖。
具體實施例方式下文中將參考附圖並結合實施例來詳細說明本發明。需要說明的是,在不衝突的 情況下,本申請中的實施例及實施例中的特徵可以相互組合。
圖1是根據本發明實施例的數據映射方法的流程圖,如圖1所示,該流程包括如下 步驟步驟S102,將固定速率數據CBR寫入到多個緩衝器中,其中,緩衝器的數量與並行 處理的字節數量相同,寫入每個緩衝器的數據量相同;步驟S104,根據指示信息在從緩衝器中讀取數據時,對從每個緩衝器中讀取的數 據連續逐一進行正調整或負調整,其中,指示信息用於指示緩衝器中存儲數據的多少;步驟S106,對進行正調整或負調整之後讀取的數據進行拼接,以映射成光通路淨 荷單元OPUk數據。通過上述步驟,採用了與並行處理字節數量相同的緩衝器進行緩存,然後在對緩 衝器進行逐一的正調整或負調整,從而解決在相關技術中沒有在多字節並行處理的電路中 實現單字節的調整的問題。優選地,在實施時,可以發出快滿或者快空指示(這些指示可以統稱為指示信 息),來控制進行正調整或者負調整。快滿或者快空的判斷可以根據閾值比較的方式進行, 當然也可以採用其他的方式。下面對閾值比較的方式進行舉例說明。在指示信息指示緩衝器中存儲的數據超出第一閾值(例如,80% )時,在從緩衝器 中讀取數據時,對從每個緩衝器中讀取的數據連續逐一進行負調整;在指示信息指示緩衝 器中存儲的數據低於第二閾值(例如,10%)時,在從緩衝器中讀取數據時,對從每個緩衝 器中讀取的數據連續逐一進行正調整。優選地,在拼接時,可以根據拼接指示信息對進行正調整或負調整之後讀取的數 據進行拼接,其中,拼接指示信息用於指示在讀取數據時發生正調整或負調整的緩衝器。優選地,可以根據固定速率數據的數據速率和處理時鐘的頻率確定並行處理的字 節數量和緩衝器的數量,例如,IOG的數據速率,311M處理時鐘,此時並行處理的字節數量 和緩衝器的數據均為4 ;又例如,如果是IOG的速率,155M時鐘處理,此時並行處理的字節數 量和緩衝器的數據均為8。圖2是根據本發明實施例的數據映射裝置的示意圖,如圖2所示,該裝置包括多 個緩衝器、讀寫控制器、數據拼接器,下面對此進行分別說明。多個緩衝器,用於緩存寫入的固定速率數據CBR,緩衝器的數量與並行處理的字節 數量相同,並且,寫入每個緩衝器的數據量相同;讀寫控制器,用於根據緩衝器產生的指示 信息在從緩衝器中讀取數據時,對從每個緩衝器中讀取的數據連續逐一進行正調整或負調 整,其中,指示信息用於指示緩衝器中存儲數據的多少;數據拼接器,用於對進行正調整或 負調整之後讀取的數據進行拼接,以映射成光通路淨荷單元OPUk數據。優選地,讀寫控制器用於在指示信息指示緩衝器中存儲的數據超出第一閾值時, 在從緩衝器中讀取數據時,對從每個緩衝器中讀取的數據連續逐一進行負調整;並在指示 信息指示緩衝器中存儲的數據低於第二閾值時,在從緩衝器中讀取數據時,對從每個緩衝 器中讀取的數據連續逐一進行正調整。優選地,數據拼接器用於根據拼接指示信息對進行正調整或負調整之後讀取的數 據進行拼接,其中,拼接指示信息用於指示在讀取數據時發生正調整或負調整的緩衝器。優選地,如圖2所示,該裝置還可以包括0PUk成幀器,用於將進行拼接之後的數 據放入OPUk幀的淨荷區,並插入開銷。
下面結合圖2中的裝置對並行處理的字節數量和緩衝器的數量均為4的優選實施 例進行說明。數據緩衝器數據緩衝器完成數據從CBR時鐘域的OPUk時鐘域的轉換。作為一個優選的實施 例,若晶片內部按照N個字節並行處理,那麼設置N個緩衝器。利用CBR接收恢復時鐘向緩 衝器內寫入CBR數據,再利用OPUk時鐘讀出。在上述過程中,由於接收恢復時鐘與OPUk時 鍾是一個異步時鐘,讀寫速率不一樣,緩衝器的狀態會出現快空或者快滿的指示。快空或者 快滿狀態都將會觸發OPUk的正調整或負調整,OPUk側會相應的少讀出或者多讀出一次數 據。每個緩衝器的寫入速度相同,而讀出速度則需根據緩衝器狀態變化,正常讀寫時每次都 是讀寫N個字節。由於OPUk每次調整隻能處理一個字節,而CBR寫入不可調節,CBR按固 定速率寫入N個字節,所以為防止多個緩衝器獨立調整讀出速度造成狀態混亂,本實施例 利用N個OPUK幀連續調整來解決這個問題。在本實施例中,用到4個緩衝器(例如,這四個緩衝器的編號為1、2、3、4)來調整 CBR與OPUK的速率差。緩衝器無溢出時,緩衝器數據讀出按照1、2、3、4的編號順序(當然 也可以按照其他順序來讀取)。由於4個緩衝器讀寫速度相同,當發生負調整的時候,4個 緩衝器都會產生溢出告警。此時在第一個OPM幀NJO字節的位置上多讀一次1號緩衝器; 在第二個OPM幀的NJO位置上讀一次2號緩衝器,依次類推,在第N個NJO位置上讀一次 第N個緩衝器。其餘時刻依然讀寫所有的緩衝器。同樣,當正調整的時候,只有PJO位置不 能裝載數據,相應的數據緩衝器少讀一個字節。這樣本實施例就完成CBR與OPM速率差的 調整。讀寫控制器在本實施例中,該系統用讀寫控制器來控制各個緩衝器的讀寫地址。由於在發生調整時每個緩衝器地址會出現差異,所以,需要它根據緩衝器的狀態 去控制讀地址。控制器還要產生緩衝器的讀使能信號,並且產生正調整指示或負調整指示 控制數據,從而選擇拼接器正確工作。數據拼接器在沒發生調整之前,數據拼接器輸出的數據是按照1至N緩衝器的順序,無需拼接 操作。然而,在發生調整之後,在則需要拼接操作的介入。在本實施例中,以負調整為例,當出現第一次調整後,將從1號緩衝器多讀出的字
節放在NJO的位置上發送,然後按照2、3......NU的順序拼裝緩衝器數據放入OPM幀淨
荷區。當出現第二次調整後,將從2號緩衝器多讀出的字節放在NJO的位置上發送,然後按
照3、4......N、l、2的順序拼裝緩衝器數據放入OPUK幀淨荷區。依次類推,經過N次調整,
數據拼接器恢復初始狀態。同樣,當正調整的時候,在PJO位置跳過一個數據緩衝器,改變 其它緩衝器的拼接順序。OPUk 成幀器在本實施例中,系統使用成幀器依次把經過數據拼接器後的數據流放入OPUk幀 的淨荷區,再插入OPUk的一些開銷組成合理的OPUk幀。圖3是根據本發明實施例優選的數據映射方法的流程圖,下面結合圖3進行說明。首先,讀取緩衝讀空讀滿指示,若緩衝器有所述塊控或快滿指示,則根據指示進行對PJO和NJO字節進行調節,此步驟循環次數與所述緩存字節數相同,當讀到NJO或PJO字 節時,則調整對最後一個緩衝器的讀寫,然後進行OPUk數據幀的拼接,最後判斷是否處理 完所有的緩衝器,若沒處理完,則返回讀取緩衝讀空讀慢指示。作為一個優選的實施例,這裡,通過verilog語言編寫了一個32位並行CBR到 OPUk的映射邏輯。數據緩衝模塊定義四個8bit寬度的雙埠 ram。其中,雙埠 ram的讀寫使用不同的時鐘,寫 方向無條件向ram裡面寫數據,讀方向根據OPUk的幀結構的淨荷位置往外讀數據。另外根 據ram的讀寫地址差產生ram快空(almost_empty)信號、快滿(almost_full)信號、上溢 (overflow)信號和下溢(underflow),上述信號用於指示ram的狀態。在正常情況下,ram 不會出現上溢或下溢,只有在CBR信號速率偏離OPUk的比特容差時才會出現,這時電路會 對ram做一個復位操作。讀寫控制模塊讀寫控制模塊數據緩衝器的狀態指示產生各種控制信號。當有一個所述緩衝器 快空信號(alm0St_empty)有效時,則產生正調整指示信號(pjo_ind),當緩衝器快滿信號 (almost_full)有效時產生,則負調整指示信號(njojnd)。用上述方法來控制數據拼接模 塊對NJO和PJO的操作。這裡,控制模塊根據OPUk幀結構的淨荷位置指示信號和緩衝器狀態產生數據緩 衝器的讀使能。正常情況下,在OPUk的淨荷位置產生讀使能。當發生正調整時,PJO字節 不裝載業務數據,禁止從數據緩衝器讀取數據;由於電路是4個字節並行處理,PJO位置剩 下三個字節仍需要讀取數據裝載,因此只產生3個緩衝器的讀取使能信號,同時改變3個緩 衝器的讀地址。類似地,當發生負調整時,NJO字節需要讀取緩衝器的數據,在NJO的位置 產生1個緩衝器的讀取使能信號,同時改變其讀地址。這樣的操作對不同的緩衝器逐一地 做4次,每次空掉或多讀取一個緩衝器,完成一輪調整操作。數據拼接模塊在本實施例中,數據拼接模塊的實現分三種情況1.淨荷區的數據(不含PJO位 置的數據)拼接、2. PJO位置的數據拼接。3. NJO位置的數據拼接。在這裡,以上三種情況 都是通過判斷緩衝器的調整計數狀態(adj_cnt,即拼接指示信息一種優選實施方式)來確 定拼接的方式。在無調整時adj_Cnt = 0 ;在發生調整時adj_Cnt發生變化,調整完畢後恢 復成 adj_cnt = 0。其中,淨荷區的數據拼接遵循以下調整規則當adj_Cnt = 0輸出的淨荷區數據選 擇從緩衝器讀取的數據rd_data[31:0](表示從第31比特到第0個比特);當adj_cnt = 1輸出的數據選擇為{rd_data[7:0],rd_data[31:8]}拼接而成的4位元組;當adj_Cnt = 2 輸出的數據選擇為{rd_data[15:0],rd_data[31:16]}拼接而成的4位元組;當adj_Cnt = 3 輸出的數據選擇為{rd_data[23:0],rd_data[31:24]}拼接而成的4位元組;。在本實施例中,PJO位置的數據拼接遵循以下調整規則無正調整指示時,PJO 位置數據拼接方法與淨荷區的數據拼接方法相同。第一次正調整時,設定adj_Cnt = 1, PJO位置的低三個字節輸出的數據選擇從緩衝器讀取的數據的高三個字節緩衝器_rd_ data[31:8],剩下的一個字節由於沒有4號緩衝器讀取使能信號,不會從緩衝器讀出;由於出現第一次正調整指示時仍然從緩衝器讀取數據,部分緩衝器仍處於快空狀態(almoSt_ empty),所以會繼續產生第二次正調整指示,此時設定adj_Cnt = 2,拼接的組合為{rd_ data[7:0],rd_data[31:16]},同第一次調整類似,3號緩衝器沒有讀取使能信號,不會從 緩衝器讀出;同理第三次正調整,此時設定adj_cnt = 3,拼接的組合為{rd_data[15:0], rd_data[31:24]};同理第四次正調整指示,此時設定adj_cnt = 0,拼接的組合為rd_ data[23:0];至此一個正調整循環結束實現了一次速率調整。NJO位置的數據拼接遵循以下調整規則無負調整指示時,NJO位置不裝載業務 數據。當緩衝器出現快滿狀態(alm0St_full)時產生第一次負調整指示,此時設定adj_ cnt = 3,NJO位置輸出的數據選擇從rd_data[31:24],剩下的三個緩衝器不讀取數據;第 一個緩衝器經過這次讀操作快滿的狀態(alm0St_full)已經消失,但其他的還在繼續產 生負調整指示信號。第二次負調整指示時,設定adj_cnt = 2,NJO字節輸出的數據選擇 rd_data[23:16]0第三次負調整指示時,設定adj_Cnt = 1,NJO字節輸出的數據選擇rd_ data[15:8]。同理,第四次負調整指示時也是同樣的操作,設定adj_cnt = 0,NJO字節輸出 的數據選擇rd_data[7:0]。經過四次負調整後完成了一次負調整循環。OPUk成幀模塊設計一個行列計數器,通過行列計數器的值構建一個OPUk的幀結構,同時給出JC 和PSI開銷位置的指示、調整位置指示和淨荷位置指示。成幀模塊通過這些指示拼接過了 的數據填入淨荷區或調整位置,並根據調整指示插入正確的JC開銷和插入PSI開銷。綜上所述,通過上述實施例可以有效地處理在光傳送網中,CBR固定速率數據到 OPUk的映射。顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用 的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成 的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲 在存儲裝置中由計算裝置來執行,並且在某些情況下,可以以不同於此處的順序執行所示 出或描述的步驟,或者將它們分別製作成各個集成電路模塊,或者將它們中的多個模塊或 步驟製作成單個集成電路模塊來實現。這樣,本發明不限制於任何特定的硬體和軟體結合。以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技 術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修 改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
一種數據映射方法,其特徵在於,包括將固定速率數據CBR寫入到多個緩衝器中,其中,所述緩衝器的數量與並行處理的字節數量相同,寫入每個緩衝器的數據量相同;根據指示信息在從所述緩衝器中讀取數據時,對從所述每個緩衝器中讀取的數據連續逐一進行正調整或負調整,其中,所述指示信息用於指示所述緩衝器中存儲數據的多少;對進行正調整或負調整之後讀取的數據進行拼接,以映射成光通路淨荷單元OPUk數據。
2.根據權利要求1所述的方法,其特徵在於,根據所述指示信息在從所述緩衝器中讀 取數據時,對從所述每個緩衝器中讀取的數據連續逐一進行正調整或負調整包括在所述指示信息指示所述緩衝器中存儲的數據超出第一閾值時,在從所述緩衝器中讀 取數據時,對從所述每個緩衝器中讀取的數據連續逐一進行負調整;在所述指示信息指示所述緩衝器中存儲的數據低於第二閾值時,在從所述緩衝器中讀 取數據時,對從所述每個緩衝器中讀取的數據連續逐一進行正調整。
3.根據權利要求1所述的方法,其特徵在於,對進行正調整或負調整之後讀取的數據 進行拼接包括根據拼接指示信息對進行所述正調整或負調整之後讀取的數據進行拼接,其中,所述 拼接指示信息用於指示在讀取數據時發生正調整或負調整的緩衝器。
4.根據權利要求1至3中任一項所述的方法,其特徵在於,對進行正調整或負調整之後 讀取的數據進行拼接之後,還包括將進行拼接之後的數據放入OPUk幀的淨荷區,並插入開銷。
5.根據權利要求1至3中任一項所述的方法,其特徵在於,根據固定速率數據的數據速 率和處理時鐘的頻率確定所述並行處理的字節數量和所述緩衝器的數量。
6.一種數據映射裝置,其特徵在於,包括多個緩衝器,用於緩存寫入的固定速率數據CBR,所述緩衝器的數量與並行處理的字節 數量相同,並且,寫入每個緩衝器的數據量相同;讀寫控制器,用於根據所述緩衝器產生的指示信息在從所述緩衝器中讀取數據時,對 從所述每個緩衝器中讀取的數據連續逐一進行正調整或負調整,其中,所述指示信息用於 指示所述緩衝器中存儲數據的多少;數據拼接器,用於對進行正調整或負調整之後讀取的數據進行拼接,以映射成光通路 淨荷單元OPUk數據。
7.根據權利要求6所述的裝置,其特徵在於,所述讀寫控制器用於在所述指示信息指 示所述緩衝器中存儲的數據超出第一閾值時,在從所述緩衝器中讀取數據時,對從所述每 個緩衝器中讀取的數據連續逐一進行負調整;並在所述指示信息指示所述緩衝器中存儲的 數據低於第二閾值時,在從所述緩衝器中讀取數據時,對從所述每個緩衝器中讀取的數據 連續逐一進行正調整。
8.根據權利要求6所述的裝置,其特徵在於,所述數據拼接器用於根據拼接指示信息 對進行所述正調整或負調整之後讀取的數據進行拼接,其中,所述拼接指示信息用於指示 在讀取數據時發生正調整或負調整的緩衝器。
9.根據權利要求6至8中任一項所述的裝置,其特徵在於,還包括OPUk成幀器,用於將進行拼接之後的數據放入OPUk幀的淨荷區,並插入開銷。
10.根據權利要求6至8中任一項所述的裝置,其特徵在於,所述並行處理的字節數量 和所述緩衝器的數量是根據固定速率數據的數據速率和處理時鐘的頻率確定的。
全文摘要
本發明公開了數據映射方法及裝置,該方法包括將固定速率數據CBR寫入到多個緩衝器中,其中,緩衝器的數量與並行處理的字節數量相同,寫入每個緩衝器的數據量相同;根據指示信息在從緩衝器中讀取數據時,對從每個緩衝器中讀取的數據連續逐一進行正調整或負調整,其中,指示信息用於指示緩衝器中存儲數據的多少;對進行正調整或負調整之後讀取的數據進行拼接,以映射成光通路淨荷單元OPUk數據。通過本發明實現了多字節並行處理電路的單字節調整。
文檔編號H04L12/56GK101986621SQ201010536600
公開日2011年3月16日 申請日期2010年11月8日 優先權日2010年11月8日
發明者劉學斌 申請人:中興通訊股份有限公司