交換處理編碼的位片到字節的轉換裝置及其方法
2023-07-09 22:54:11 2
專利名稱:交換處理編碼的位片到字節的轉換裝置及其方法
技術領域:
本發明屬於通訊晶片技術領域,特別涉及交換處理編碼的裝置和方法。
背景技術:
通訊晶片在交換處理前對某些符合自動保護倒換條件的告警進行交換處理編碼(Switching code,簡稱「S-code」,指數據流中的特殊字節的編碼)。按照交換處理的編碼方式可分為位片(BitSlice)和字節(Byte)兩種編碼方式。BitSlice又分為半字節(4Bit)、四分之一字節(2Bit)、單比特(1Bit)四種模式。目前還不能做到BitSlice和Byte兩種編碼方式的兼容。通訊晶片的自動保護倒換功能除了支持字節Byte還支持BitSlice模式下的半字節(4BitSlice)、四分之一字節(2BitSlice)、單比特(1BitSlice)。
BitSlice模式下插入S-code和Byte模式下插入S-code,在專用集成電路(ASIC)內部的位置都一樣,而且都在數據交換之前。其不同之處在於,BitSlice模式下把S-code的4個Bit分別插入4個開銷字節中,S-code的編碼方式為4個Bit,如圖1所示,在BitSlice模式下,S-code的編碼需要放在任意4個開銷字節中,比如第一、第二、第三、第四開銷字節中。每個開銷字節有8Bit,其中MSB是指最高位,LSB是指最低位;而在Byte模式下則是將S-code的4Bit分別插入1個開銷字節的高4Bit和低4Bit,交叉晶片可以根據這信息來進行自動保護倒換。
在隨機存取內存(RAM)或寄存器陣列(REG)方面,支持BitSlice模式下的S-code插入比Byte模式下S-code插入多了3個字節開銷的地址位,一共24Bit。
從上述現有技術的實現方案中可以看出,對於N路業務,在BitSlice模式下,S-code下插每路都需要32bit寄存器資源,而且N路需要的RAM或者REG大小一樣。因此在BitSlice模式下如果不進行S-code處理就會佔用大量RAM或者REG,而RAM或者REG陣列的大量使用會帶來三個問題一是使得現有方法能實現的BitSlice模式下的S-code下插容量有限;二是使實現某一規格的BitSlice模式下的S-code下插容量的成本增加;三是使BitSlice模式下的S-code下插與交叉晶片很難集成。
發明內容
本發明的目的在於提供一種交換處理編碼(S-code)的位片(BitSlice)到字節(Byte)的轉換裝置及其方法。
為達上述目的,本發明採用如下技術方案一種交換處理編碼的位片到字節的轉換裝置,包括BitSlice模式S-code行列計數器,用於產生S-code時隙信號;存儲器,用於存儲S-code信息;輸入數據選擇單元,接收所述S-code時隙信號和BitSlice模式輸入數據流,根據S-code時隙信號提取所述BitSlice模式輸入數據流中的S-code信息,並存儲於所述存儲器中;Byte模式S-code行列計數器,用於產生Byte指示的S-code讀時隙信號;S-code處理單元,接收Byte指示的S-code讀時隙信號,並根據該讀時隙信號提取S-code信息並輸出;輸出數據選擇單元,接收Byte模式下插S-code指示信號、輸入數據流及所述S-code處理單元輸出的S-code信息,根據Byte模式下插S-code指示信號將所述S-code信息以Byte模式插入所述輸入數據流中,輸出Byte模式的數據流。
作為本發明裝置中存儲器的一種優選方式,所述存儲器包括第一存儲區和第二存儲區,分別用於交替存儲當前幀和下一幀的S-code信息。
作為本發明裝置的一種優選方式,所述BitSlice模式S-code編碼可以是半字節,所述BitSlice模式S-code行列計數器的數量為四個。所述存儲器為4N位的存儲器,其中N為大於等於1的整數。
作為本發明裝置的另一優選方式,所述BitSlice模式S-code編碼也可以是四分之一字節,所述BitSlice模式S-code行列計數器的數量為二個。所述存儲器為2N位的存儲器,其中N為大於等於1的整數。
一種交換處理編碼的位片到字節的轉換方法,採用上述轉換裝置,包括以下步驟1)輸入數據選擇單元根據S-code時隙信號提取BitSlice模式輸入數據流中的S-code信息,並將其存儲於一存儲器中;2)S-code處理單元根據Byte指示的S-code讀時隙信號提取S-code信息並輸出;3)輸出數據選擇單元接收Byte模式下插S-code的指示信號、輸入數據流及所述S-code處理單元輸出的S-code信息,根據Byte模式下插S-code的指示信號將所述S-code信息以Byte模式插入所述輸入數據流中,輸出Byte模式數據流。
作為本發明方法的一種優選方式,所述存儲器包括第一存儲區和第二存儲區,當前幀和下一幀的S-code信息的存儲與讀取分別在第一存儲區和第二存儲區中交替進行。這一過程簡稱為無損桌球處理方法。
其中,所述存儲器還可以為一n位的存儲結構,對應存儲S_code的n位信息,根據BitSlice模式S-code行列計數器產生的S-code時隙信號和Byte模式S-code行列計數器產生的S-code讀時隙信號,分別寫入和讀出S-code信息。
本發明具有以下有益效果1、通過進行BitSlice模式到Byte模式轉換處理,從根本上解決了在BitSlice模式下不進行S-code處理而帶來上述問題,從而使S-code下插容量減少,達到減少S-code下插容量的成本以及方便S-code下插與交叉晶片集成的目的。
2、通過進行BitSlice模式到Byte模式轉換處理,將S-code插入到一個開銷字節中,節約資源,從而降低晶片的成本。例如當實現360G的BitSlice模式的S-code下插時,需要221184個寄存器,而轉換成Byte模式只需55296個寄存器。
3、通過採用無損桌球處理方法存儲與讀取S-code信息,避免了實現過程中可能造成的讀寫衝突及其帶來的S-code插入或者倒換錯誤,進一步的節省了在BitSlice模式到Byte模式轉換處理過程中佔用的資源,便於在交叉晶片集成硬體自動倒換功能實現時提高容量。
4、通過當輸入數據流為Byte模式時,則不進行處理,直接輸出;當數據流為BitSlice模式,則通過本發明進行處理的方式,從而達到兼容BitSlice和Byte兩種編碼方式的目的。
以下結合附圖及實施例,進一步說明本發明。
圖1為現有技術中BitSlice下S-code在開銷字節中的編碼方式;圖2為本發明交換處理編碼的位片到字節的轉換裝置結構示意圖;圖3為本發明實施例中存儲器讀寫S-code示意圖。
具體實施例方式
一種交換處理編碼的位片到字節的轉換裝置,包括BitSlice模式S-code行列計數器,用於產生S-code時隙信號;存儲器,用於存儲S-code信息;輸入數據選擇單元,接收S-code時隙信號,根據S-code時隙信號提取BitSlice模式輸入數據流中的業務數據(即BitSlice模式下S-code編碼信息),存儲於存儲器中;Byte模式S-code行列計數器,用於產生Byte指示的S-code讀時隙信號;S-code處理單元,接收Byte指示的S-code讀時隙信號,並根據該讀時隙信號提取存儲器中的S-code信息並輸出;輸出數據選擇單元,接收Byte模式下插S-code指示信號、輸入數據流及所述S-code處理單元輸出的S-code信息,根據Byte模式下插S-code指示信號將所述S-code信息以Byte模式插入所述輸入數據流中,輸出Byte模式的數據流。
較佳的,所述存儲器包括第一存儲區和第二存儲區,分別用於交替存儲當前幀和下一幀的S-code信息。
如圖2所示,在BitSlice模式S-code編碼為半字節的情形下,本發明交換處理編碼的位片到字節的轉換裝置中,所述BitSlice模式S-code行列計數器的數量為四個;所述存儲器為4N位的存儲器,其中N為大於等於1的整數。
當所述BitSlice模式S-code編碼為四分之一字節時,本發明交換處理編碼的位片到字節的轉換裝置中,所述BitSlice模式S-code行列計數器的數量為二個,所述存儲器為2N位的存儲器,其中N為大於等於1的整數。
當所述BitSlice模式S-code編碼為單比特時,本發明交換處理編碼的位片到字節的轉換裝置中,所述BitSlice模式S-code行列計數器的數量為一個,所述存儲器為N位的存儲器,其中N為大於等於1的整數。
本發明還提供了一種交換處理編碼的位片到字節的轉換方法,包括以下步驟1)輸入數據選擇單元根據S-code時隙信號提取BitSlice模式輸入數據流中的S-code信息,並將其存儲;2)S-code處理單元根據Byte指示的S-code讀時隙信號提取S-code信息並輸出;3)輸出數據選擇單元接收Byte模式下插S-code的指示信號、輸入數據流及所述S-code處理單元輸出的S-code信息,根據Byte模式下插S-code的指示信號將所述S-code信息以Byte模式插入所述輸入數據流中,輸出Byte模式數據流。
上述交換處理編碼的位片到字節的轉換方法中,BitSlice模式輸入數據流的格式如下
其中,「數據」為信息部分,「data[n-1:0]」為業務數據部分。「data[n-1:0]」的格式如下
其中,Bit(n-1)為最高位,Bit0為最低位。
假設輸入業務有N路,即N個上述輸入數據流;每路有M個時隙的S-code需要進行BitSlice-Byte轉換,以BitSlice的半字節模式為例(即BitSlice模式S-code編碼為半字節),4個Bit的開銷為4個data[n-1:0],如果n為8,則需要4個開銷字節。
其中,由於在BitSlice模式下n位完全一致,因此輸入數據選擇單元可提取其中的一位或多位S-code信息,本實施例優選只提取一位S-code信息,例如Bit0。四個BiSice模式S-code行列計數器(即圖2中的0、1、2、3四個行列計數器)產生的四個寫時隙信號(在此以S1、S2、S3、S4表示),將4個data[n-1:0]中的四個Bit(0)在4個S_code時刻分別存入由4個RAM(RAM1、RAM2、RAM3、RAM)組成的存儲器中(在BitSlice模式下的四分之一字節、單比特時,可以分別是2個和1個RAM組成的存儲器),存入方式可以S1-RAM1、S2-RAM2、S3-RAM3、S4-RAM4,其中每個RAM為兩個或兩個以上Bit的存儲器。
其中,輸出的Byte模式數據流的格式如下
其中「數據」為信息部分,「data1[n-1:0]」為業務數據部分。
其中,data1[n-1:0]的格式為Byte模式的S-code編碼。
假設從RAM中提取的S-code的格式如下
由於Byte模式S_code的高4Bit和低4Bit完全一致(如果是奇4Bit和偶4Bit,高4Bit和低4Bit則不會完全一致),因此只需要將RAM中的4Bit內容,在Byte模式的S-code時隙信號時刻,分別下插到業務數據的高4Bit和低4Bit,例如下表的格式
或者奇4Bit和偶4Bit即可,例如下表的格式
本發明實施例中,存儲器中S-code信息的存儲與讀取,優選採用無損桌球處理方法避免讀寫衝突。所述存儲器包括第一存儲區和第二存儲區,所採用的無損桌球處理方法如下當前幀和下一幀的S-code信息的存儲與讀取分別在第一存儲區和第二存儲區中交替進行。
具體為在BitSlice模式當前幀中,在BitSlice模式的S_code時隙指示信號的控制下,將N個BitSlice模式輸入數據流的業務數據中的任意一位在N個S_code時刻分別存入第一存儲區中;在BitSlice模式下一幀中,在BitSlice模式的S_code時隙指示信號的控制BitSlice模式輸入數據流的業務數據中的任意一位在N個S_code時刻分別存入第二存儲區中;同時在Byte模式的S_code時隙指示信號的控制下,將前幀中緩存在第一存儲區中的S_code讀出並回插入數據流。
為進一步說明無損桌球處理方法,以下以圖2中的RAM1、RAM2、RAM3、RAM4為例,假設每個RAM為兩個Bit的存儲器。其格式如下
其中,4個RAM的Bit1構成第一存儲區,4個RAM的Bit0構成第二存儲區。
無損桌球處理方法的步驟如下(1)在BitSlice模式第一幀中,在BitSlice模式的S_code時隙指示信號的控制下,將4個data[n-1:0]中的四個Bit(0)在4個S_code時刻(s1、s2、s3、s4)分別存入4個RAM的Bit1位上(即第一存儲區中),存入方式為S1-RAM1、S2-RAM2、S3-RAM3、S4-RAM4;(2)在BitSlice模式第二幀中,在BitSlice模式的S_code時隙指示信號的控制下,將4個data[n-1:0]中的四個Bit(0)在4個S_code時刻分別存入4個RAM的Bit0位上(即第二存儲區中);存入方式為S1-RAM1、S2-RAM2、S3-RAM3、S4-RAM4;在Byte模式第一幀中,在Byte模式的S_code時隙指示信號的控制下,把Bit1位上(即第一存儲區中)的S_code讀出並回插入數據流;(3)在BitSlice模式第三幀中,在BitSlice模式的S_code時隙指示信號的控制下,將4個data[n-1:0]中的四個Bit(0)在4個S_code時刻分別存入4個RAM的Bit1位上(即第一存儲區中),存入方式為S1-RAM1、S2-RAM2、S3-RAM3、S4-RAM4;在Byte模式第二幀中,在Byte模式的S_code時隙指示信號的控制下,把Bit0位上(即第二存儲區中)的S_code讀出並回插入數據流;(4)在BitSlice模式第四幀中,將4個data[n-1:0]中的四個Bit(0)在4個S_code時刻分別存入4個RAM的Bit0位上(即第二存儲區中);存入方式為S1-RAM1、S2-RAM2、S3-RAM3、S4-RAM4;(5)上述4個RAM中的Bit1(第一存儲區)和Bit0(第二存儲區)交替工作,完成轉換工作。
所述無損桌球處理方法,通過″輸入數據選擇單元″和″輸出數據選擇單元″按節拍、相互配合的切換,將經過緩衝的數據沒有停頓地進行處理,輸入數據和輸出數據都是連續不斷的,沒有任何停頓,完成數據的無縫緩衝與處理。
對於N路的輸入業務,即N個上述輸入數據流;每個輸入通道採用上述結構的存儲器和對應的無損桌球處理方法,從而實現多通道轉換。
上述每個RAM為兩個Bit存儲器,只是為了說明無損桌球的處理方法,本發明中不限於上述實施例,每個RAM可以根據需要設置成兩個以上Bit存儲器,同樣可以完成S_code信息的存儲和讀取,即完成本發明所述無損桌球的處理過程。
此外,在存儲器中讀寫S-code信息,也可以採用圖3所示的方法,即存儲器為一n位(Bit)(即n可以為4、2、1)的存儲結構,對應存儲S_code的n位信息(即四位、二位、一位)。根據BitSlice模式S-code行列計數器產生的S-code時隙信號和Byte模式S-code行列計數器產生的S-code讀時隙信號,分別寫入和讀出S-code信息。
綜上所述,本發明交換處理編碼的位片到字節的轉換裝置及其方法,通過進行BitSlice模式到Byte模式轉換處理,從根本上解決了在BitSlice模式下不進行S-code處理而帶來上述問題,從而使S-code下插容量減少,達到減少S-code下插容量的成本以及方便S-code下插與交叉晶片集成的目的;通過進行BitSlice模式到Byte模式轉換處理,將S-code插入到一個開銷字節中,節約資源,從而降低晶片的成本。例如當實現360G的BitSlice模式的S-code下插時,需要221184個寄存器,而轉換成Byte模式只需55296個寄存器;通過採用無損桌球處理方法存儲與讀取S-code信息,避免了實現過程中可能造成的讀寫衝突及其帶來的S-code插入或者倒換錯誤,進一步的節省了在BitSlice模式到Byte模式轉換處理過程中佔用的資源,便於在交叉晶片集成硬體自動倒換功能實現時提高容量;此外,當輸入數據流為Byte模式時,則不進行處理,直接輸出,當數據流為BitSlice模式,則通過本發明進行處理,從而達到兼容BitSlice和Byte兩種編碼方式的目的。
最後所應說明的是,以上實施例僅用以說明本發明的技術方案而非限制,儘管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的精神和範圍。
權利要求
1.一種交換處理編碼的位片到字節的轉換裝置,其特徵在於包括BitSlice模式S-code行列計數器,用於產生S-code時隙信號;存儲器,用於存儲S-code信息;輸入數據選擇單元,接收所述S-code時隙信號和BitSlice模式輸入數據流,根據S-code時隙信號提取所述BitSlice模式輸入數據流中的S-code信息,並存儲於所述存儲器中;Byte模式S-code行列計數器,用於產生Byte指示的S-code讀時隙信號;S-code處理單元,接收Byte指示的S-code讀時隙信號,並根據該讀時隙信號提取S-code信息並輸出;輸出數據選擇單元,接收Byte模式下插S-code指示信號、輸入數據流及所述S-code處理單元輸出的S-code信息,根據Byte模式下插S-code指示信號將所述S-code信息以Byte模式插入所述輸入數據流中,輸出Byte模式的數據流。
2.根據權利要求1所述的一種交換處理編碼的位片到字節的轉換裝置,其特徵在於所述存儲器包括第一存儲區和第二存儲區,分別用於交替存儲當前幀和下一幀的S-code信息。
3.根據權利要求1或2所述的一種交換處理編碼的位片到字節的轉換裝置,其特徵在於所述BitSlice模式S-code編碼為半字節,所述BitSlice模式S-code行列計數器的數量為四個。
4.根據權利要求3所述的一種交換處理編碼的位片到字節的轉換裝置,其特徵在於所述存儲器為4N位的存儲器,其中N為大於等於1的整數。
5.根據權利要求1或2所述的一種交換處理編碼的位片到字節的轉換裝置,其特徵在於所述BitSlice模式S-code編碼為四分之一字節,所述BitSlice模式S-code行列計數器的數量為二個。
6.根據權利要求5所述的一種交換處理編碼的位片到字節的轉換裝置,其特徵在於所述存儲器為2N位的存儲器,其中N為大於等於1的整數。
7.一種交換處理編碼的位片到字節的轉換方法,採用權利要求1至6中任一權利要求所述轉換裝置,其特徵在於包括以下步驟1)輸入數據選擇單元根據S-code時隙信號提取BitSlice模式輸入數據流中的S-code信息,並將其存儲於一存儲器中;2)S-code處理單元根據Byte指示的S-code讀時隙信號提取S-code信息並輸出;3)輸出數據選擇單元接收Byte模式下插S-code的指示信號、輸入數據流及所述S-code處理單元輸出的S-code信息,根據Byte模式下插S-code的指示信號將所述S-code信息以Byte模式插入所述輸入數據流中,輸出Byte模式數據流。
8.根據權利要求7所述的一種交換處理編碼的位片到字節的轉換方法,其特徵在於所述存儲器包括第一存儲區和第二存儲區,當前幀和下一幀的S-code信息的存儲與讀取分別在第一存儲區和第二存儲區中交替進行。
9.根據權利要求7所述的一種交換處理編碼的位片到字節的轉換方法,其特徵在於所述存儲器為一n位的存儲結構,對應存儲S-code的n位信息,根據BitSlice模式S-code行列計數器產生的S-code時隙信號和Byte模式S-code行列計數器產生的S-code讀時隙信號,分別寫入和讀出S-code信息。
全文摘要
本發明提供一種交換處理編碼的位片到字節的轉換裝置及其方法,所述轉換裝置包括BitSlice模式S-code行列計數器;存儲器;輸入數據選擇單元,接收S-code時隙信號,根據S-code時隙信號提取BitSlice模式輸入數據流中的S-code信息,存儲於存儲器中;Byte模式S-code行列計數器;S-code處理單元,接收Byte指示的S-code讀時隙信號,並根據該讀時隙信號提取S-code信息並輸出;輸出數據選擇單元,接收Byte模式下插S-code指示信號、所述輸入數據流及所述S-code處理單元輸出的S-code信息,根據Byte模式下插S-code指示信號將所述S-code信息以Byte模式插入所述輸入數據流中,輸出Byte模式的數據流。本發明方案實現了BitSlice模式轉換到Byte模式的S-code編碼方法,節省大量資源,便於在交叉晶片集成硬體自動倒換功能實現時提高容量,降低了晶片的成本。
文檔編號H03M7/14GK1984351SQ200610060348
公開日2007年6月20日 申請日期2006年4月14日 優先權日2006年4月14日
發明者徐善鋒, 熊焰, 楊怡偉, 雷張偉, 李紅軍, 袁麗霞 申請人:華為技術有限公司