專利名稱:一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒ê脱b置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通訊技術(shù)領(lǐng)域,具體涉及一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒ê脱b置。
背景技術(shù):
隨著現(xiàn)代通信的發(fā)展,基于IP(網(wǎng)際協(xié)議)/ATM(異步傳輸模式)等傳輸方式的多通道業(yè)務(wù)內(nèi)容日益增多,為多通道業(yè)務(wù)提供靈活、可配的快速接入是對網(wǎng)絡(luò)接入層和匯聚層的通信設(shè)備提出的一個(gè)新要求。
當(dāng)多通道業(yè)務(wù)以數(shù)據(jù)包為單位向同一通道匯聚時(shí),需要進(jìn)行多通道仲裁,仲裁成功的通道可以傳輸數(shù)據(jù)包。目前多通道仲裁方法一般采用循環(huán)查表法,即,設(shè)置循環(huán)表,將多通道的通道號存儲在循環(huán)表中,從循環(huán)表中按順序讀取1個(gè)通道號,判斷該通道號對應(yīng)的通道是否有待傳輸?shù)臄?shù)據(jù)包,如果有待傳輸?shù)臄?shù)據(jù)包,本次仲裁成功,傳輸該通道的一個(gè)數(shù)據(jù)包。按照上述方法依次從循環(huán)表中讀取通道號,并依次進(jìn)行仲裁,從而實(shí)現(xiàn)多通道業(yè)務(wù)的傳輸。
多通道仲裁的循環(huán)查表法可根據(jù)各通道配置的帶寬分為均勻帶寬的多通道仲裁方法和非均勻帶寬的多通道仲裁方法。
對于均勻帶寬的多通道仲裁方法,我們通過下面的例子來具體說明。
設(shè)定傳輸介質(zhì)支持5個(gè)通道,各通道的通道號分別為1至5,為每個(gè)通道配置的帶寬相同,循環(huán)表可設(shè)置為附圖1所示的形式,設(shè)置好循環(huán)表后,開始多通道仲裁的過程。
第一次仲裁的過程為從附圖1所示的循環(huán)表中讀出通道號1,查看此時(shí)通道號1對應(yīng)的通道1是否有待傳輸?shù)臄?shù)據(jù)包,如果通道1有待傳輸?shù)臄?shù)據(jù)包,則本次仲裁成功,將通道1中的待傳輸?shù)臄?shù)據(jù)包傳輸后,啟動第二次仲裁;否則,仲裁失敗,直接進(jìn)行第二次仲裁。
第二次仲裁的過程為從附圖1所示的循環(huán)表中讀出通道號2,查看此時(shí)通道號2對應(yīng)的通道2是否有待傳輸?shù)臄?shù)據(jù)包,如果通道2有待傳輸?shù)臄?shù)據(jù)包,則本次仲裁成功,將通道2中的待傳輸?shù)臄?shù)據(jù)包傳輸后,啟動第三次仲裁;否則,仲裁失敗,直接進(jìn)行第三次仲裁。
第三次仲裁、第四次仲裁、第五次仲裁的過程和上面描述的過程相同。
當(dāng)?shù)谖宕沃俨猛戤吅螅M(jìn)行第6次仲裁,此時(shí)從上表中讀出的通道號是1,按照上面的描述過程繼續(xù)仲裁,從而實(shí)現(xiàn)多通道業(yè)務(wù)的傳輸。
對于非均勻帶寬的多通道仲裁方法,我們通過下面的例子來具體說明。
設(shè)定傳輸介質(zhì)支持5個(gè)通道,各通道的通道號分別為1至5,為通道1至5配置的帶寬不同,其比例是1∶1∶4∶1∶1,循環(huán)表可設(shè)置為附圖2所示的形式,設(shè)置好循環(huán)表后,開始多通道仲裁的過程。
第一次仲裁的過程為從附圖2所示的循環(huán)表中讀出通道號1,查看此時(shí)通道號1對應(yīng)的通道1是否有待傳輸?shù)臄?shù)據(jù)包,如果通道1有待傳輸?shù)臄?shù)據(jù)包,則本次仲裁成功,將通道1中的待傳輸?shù)臄?shù)據(jù)包傳輸后,啟動第二次仲裁;否則,仲裁失敗,直接進(jìn)行第二次仲裁。
第二次仲裁的過程為從附圖2所示的循環(huán)表中讀出通道號3,查看此時(shí)通道號3對應(yīng)的通道3是否有待傳輸?shù)臄?shù)據(jù)包,如果通道3有待傳輸?shù)臄?shù)據(jù)包,則本次仲裁成功,將通道3中的待傳輸?shù)臄?shù)據(jù)包傳輸后,啟動第三次仲裁;否則,仲裁失敗,直接進(jìn)行第三次仲裁。
第三、四、五、六、七、八次仲裁的過程和上面描述的過程相同。
當(dāng)?shù)诎舜沃俨猛戤吅?,進(jìn)行第九次仲裁,此時(shí)從上表中讀出的通道號是1,按照上面的描述過程繼續(xù)仲裁,從而實(shí)現(xiàn)多通道業(yè)務(wù)的傳輸。
通過上述描述可明顯得知,該仲裁方法需要提前設(shè)置好循環(huán)表,對于各通道配置的帶寬相同時(shí),循環(huán)表的設(shè)置非常容易,但是在通信系統(tǒng)的實(shí)際應(yīng)用中各通道配置的帶寬一般是不相同的,當(dāng)通道數(shù)量多,且各通道配置的帶寬差異大時(shí),循環(huán)表的設(shè)置是非常復(fù)雜的,需要軟件配合運(yùn)算進(jìn)行設(shè)置。當(dāng)使用該仲裁方法確定了通道并進(jìn)行數(shù)據(jù)包傳輸時(shí),由于數(shù)據(jù)包的大小不相同,致使各通道的數(shù)據(jù)傳輸和其分配的帶寬不均衡,當(dāng)數(shù)據(jù)包的大小差異較大時(shí)會嚴(yán)重影響到多通道仲裁的均衡性,該仲裁方法更適合固定包長的數(shù)據(jù)傳輸;而且該仲裁方法還存在仲裁失敗的現(xiàn)象,仲裁效率低;多通道數(shù)據(jù)傳輸?shù)男实汀?br>
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒ê脱b置,利用各通道的狀態(tài)和權(quán)值輕松實(shí)現(xiàn)多通道仲裁,避免了仲裁失敗的現(xiàn)象,避免了由于數(shù)據(jù)包大小差異引起的仲裁不均衡現(xiàn)象,從而實(shí)現(xiàn)簡化多通道數(shù)據(jù)傳輸方法、提高多通道數(shù)據(jù)傳輸效率的目的。
為達(dá)到上述目的,本發(fā)明提供的一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒?,包括a、確定各通道初始的權(quán)值;b、當(dāng)需要進(jìn)行多通道數(shù)據(jù)傳輸時(shí),獲取所述各通道的狀態(tài)、權(quán)值;c、根據(jù)所述各通道的狀態(tài)、權(quán)值確定允許數(shù)據(jù)傳輸?shù)耐ǖ溃籨、將所述確定的允許數(shù)據(jù)傳輸?shù)耐ǖ乐械臄?shù)據(jù)進(jìn)行傳輸,并更新該通道的權(quán)值。
所述的步驟a包括根據(jù)所述各通道配置的帶寬確定各通道初始的權(quán)值;所述各通道初始的權(quán)值與所述各通道配置的帶寬成正比;所述各通道初始的權(quán)值為各通道傳輸數(shù)據(jù)的衡量標(biāo)準(zhǔn)。
所述的各通道的狀態(tài)包括就緒狀態(tài)和未就緒狀態(tài);
當(dāng)通道可以進(jìn)行數(shù)據(jù)傳輸時(shí)為就緒狀態(tài);當(dāng)通道不可以進(jìn)行數(shù)據(jù)傳輸時(shí)為未就緒狀態(tài)。
所述的步驟c包括c1、獲取所述各通道的通道號及當(dāng)前通道號;c2、將所述獲取的各通道的大于所述當(dāng)前通道號的通道號按遞增順序排列為序列1;c3、將所述獲取的各通道的不大于所述當(dāng)前通道號的通道按遞增順序排列為序列2;c4、按先后順序依次從所述的序列1、序列2中獲取通道號,并查找通道號對應(yīng)的處于就緒狀態(tài)且權(quán)值為正數(shù)的通道;如果查找到,將第一個(gè)查找到的處于就緒狀態(tài)且權(quán)值為正數(shù)的通道確定為當(dāng)前通道,允許其進(jìn)行數(shù)據(jù)傳輸;如果查找不到,當(dāng)前通道不發(fā)生變化。
所述的步驟d中的將該通道的權(quán)值隨所述傳輸?shù)臄?shù)據(jù)而變化包括當(dāng)前通道的權(quán)值根據(jù)當(dāng)前通道發(fā)送的數(shù)據(jù)量而遞減。
所述的步驟a還包括確定所述各通道的權(quán)值增量;且所述的方法還包括當(dāng)所述的各通道的權(quán)值均為負(fù)數(shù)時(shí),獲取所述各通道的權(quán)值增量;將所述的各通道的權(quán)值分別與其對應(yīng)的權(quán)值增量相加,并將所述的各通道的權(quán)值分別更新為相加后的結(jié)果。
所述的各通道的權(quán)值增量為正數(shù),并與所述各通道配置的帶寬成正比;所述的各通道的權(quán)值增量分別存儲于所述各通道的權(quán)值增量寄存器中。
本發(fā)明還提供一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)难b置,包括獲取通道參數(shù)模塊分別獲取各通道的狀態(tài)和權(quán)值,并將其傳輸至確定允許傳輸模塊;
確定允許傳輸模塊根據(jù)所述獲取通道參數(shù)模塊傳輸來的所述各通道的狀態(tài)、權(quán)值確定允許數(shù)據(jù)傳輸?shù)耐ǖ?,獲取其對應(yīng)的通道號,并將所述獲取的通道號傳輸至數(shù)據(jù)傳輸模塊;數(shù)據(jù)傳輸模塊接收所述確定允許傳輸模塊傳輸來的通道號,將該通道號對應(yīng)的通道中的數(shù)據(jù)傳輸,并更新所述通道的權(quán)值。
所述的確定允許傳輸模塊包括相與邏輯接收所述獲取通道參數(shù)模塊傳輸來的所述各通道的狀態(tài)、權(quán)值,將所述接收的各通道的權(quán)值的正負(fù)符號與所述的各通道的狀態(tài)相或,并將所述相或后的結(jié)果傳輸至符號重映射子模塊;符號重映射子模塊接收所述相與邏輯傳輸來的相與后的結(jié)果,將所述各通道中大于所述當(dāng)前通道號的通道號按遞增順序排列為序列1,將所述各通道中不大于所述當(dāng)前通道號的通道號按遞增順序排列為序列2,按先后順序?qū)⑺龅男蛄?、序列2中的通道號對應(yīng)的相或后的結(jié)果傳輸至符號重映射寄存器;符號重映射寄存器將所述符號重映射子模塊傳輸來的相或后的結(jié)果從低位到高位存儲;優(yōu)先編碼器從所述符號重映射寄存器中按從低位到高位的順序查找第一個(gè)不為“1”的比特位,將查找到的比特位對應(yīng)的通道號傳輸至所述的數(shù)據(jù)傳輸模塊。
所述的優(yōu)先編碼器包括優(yōu)先編碼邏輯從所述符號重映射寄存器中按從低位到高位的順序查找第一個(gè)不為“1”的比特位,對查找到的比特位進(jìn)行獨(dú)冷編碼,并將所述獨(dú)冷編碼和查找成功指示信號傳輸至?xí)捍嫫髦?;暫存器存儲所述?yōu)先編碼邏輯傳輸來的數(shù)值,并在接收到所述優(yōu)先編碼邏輯傳輸來的查找成功指示信號時(shí),將使能信號傳輸至相加邏輯;相加邏輯當(dāng)接收到所述暫存器傳輸來的使能信號時(shí),將所述暫存器中存儲的數(shù)值和當(dāng)前通道號相加,相加后的結(jié)果再加1,將所述當(dāng)前通道號更新為所述加1后的值,同時(shí)將所述加1后的值傳輸至所述數(shù)據(jù)傳輸模塊。
所述的裝置還包括加權(quán)器當(dāng)所述的各通道對應(yīng)的權(quán)值均為負(fù)數(shù)時(shí),將所述各通道對應(yīng)的權(quán)值與所述各通道對應(yīng)的權(quán)值增量相加,將相加后的結(jié)果分別作為所述各通道的權(quán)值。
所述的加權(quán)器包括多個(gè)權(quán)值增量寄存器分別存儲所述各通道的權(quán)值增量;多個(gè)權(quán)值寄存器分別存儲所述各通道的權(quán)值;加權(quán)邏輯當(dāng)所述各權(quán)值寄存器中存儲的權(quán)值均為負(fù)數(shù)時(shí),分別將所述各權(quán)值寄存器中存儲的權(quán)值與相應(yīng)的權(quán)值增量寄存器中存儲的權(quán)值增量相加,并將相加后的結(jié)果分別存儲回相應(yīng)的所述各權(quán)值寄存器中。
通過上述技術(shù)方案的描述可明顯得知,本發(fā)明通過引入各通道的狀態(tài),對有待傳輸數(shù)據(jù)包的通道進(jìn)行仲裁,避免了多通道仲裁失敗的現(xiàn)象,提高了多通道仲裁效率;本發(fā)明還通過引入各通道的權(quán)值,根據(jù)各通道配置的帶寬分配各通道的權(quán)值,將多通道傳輸?shù)臄?shù)據(jù)包的大小與通道的權(quán)值掛鉤,將多通道仲裁與權(quán)值掛鉤,使通道的權(quán)值隨該通道傳輸?shù)臄?shù)據(jù)包的大小變化,使權(quán)值為負(fù)數(shù)的通道沒有仲裁成功的機(jī)會,提高了多通道仲裁的均衡性,使配置不同帶寬的通道傳輸?shù)臄?shù)據(jù)得到均衡,提高了多通道帶寬控制的精度;由于本發(fā)明不需要配置循環(huán)表,所以本發(fā)明不需要復(fù)雜的算法,不需要軟件配合,而且不需要查表,減少了多通道仲裁的延時(shí)。本發(fā)明通過寄存器、與或邏輯等方法實(shí)現(xiàn)了多通道仲裁,簡化了多通道仲裁的實(shí)現(xiàn)過程;從而實(shí)現(xiàn)了簡化多通道數(shù)據(jù)傳輸方法、提高多通道數(shù)據(jù)傳輸效率的目的。
圖1是現(xiàn)有技術(shù)的均勻帶寬的多通道仲裁的循環(huán)表;圖2是現(xiàn)有技術(shù)的非均勻帶寬的多通道仲裁的循環(huán)表;圖3是本發(fā)明的多通道仲裁的實(shí)現(xiàn)過程;圖4是本發(fā)明的多通道數(shù)據(jù)傳輸方法的流程圖;圖5是本發(fā)明的多通道數(shù)據(jù)傳輸?shù)难b置。
具體實(shí)施例方式
本發(fā)明的核心是設(shè)置各通道初始的權(quán)值,并引入通道狀態(tài),將各通道的權(quán)值、狀態(tài)與多通道仲裁掛鉤,利用各通道的權(quán)值、狀態(tài)來均衡多通道仲裁的結(jié)果,以提高仲裁效率,提高仲裁均衡性,從而提高多通道數(shù)據(jù)傳輸效率。
基于本發(fā)明的上述核心思想,本發(fā)明提供如下技術(shù)方案。
首先,根據(jù)各通道配置的帶寬為各通道設(shè)置初始的權(quán)值,各通道的初始的權(quán)值應(yīng)與各通道配置的帶寬成正比,各通道的權(quán)值為衡量各通道發(fā)送數(shù)據(jù)的標(biāo)準(zhǔn),帶寬較寬的通道,對應(yīng)的權(quán)值也較大,相應(yīng)的允許發(fā)送的數(shù)據(jù)量也較大。在本具體實(shí)施方式
中,各通道的權(quán)值可根據(jù)需要分別存儲在寄存器中,存儲各通道權(quán)值的寄存器稱為權(quán)值寄存器。為了避免由于各通道傳輸?shù)臄?shù)據(jù)包的大小不同而導(dǎo)致各通道仲裁的不均衡,本發(fā)明中各通道的權(quán)值隨各通道發(fā)送的數(shù)據(jù)量而變化,具體表現(xiàn)為,各通道的權(quán)值隨各通道發(fā)送的數(shù)據(jù)量而減小,本發(fā)明中的權(quán)值包括正數(shù)和負(fù)數(shù),權(quán)值可以減小為負(fù)數(shù)。當(dāng)某通道發(fā)送的數(shù)據(jù)量多,使該通道的權(quán)值為負(fù)數(shù)時(shí),該通道暫時(shí)失去了仲裁的機(jī)會,從而提高了各通道仲裁的均衡性。
其次,本發(fā)明還為各通道設(shè)置了狀態(tài),各通道的狀態(tài)為就緒狀態(tài)或未就緒狀態(tài);當(dāng)通道內(nèi)有待傳輸?shù)臄?shù)據(jù)包,并可以進(jìn)行數(shù)據(jù)傳輸時(shí),該通道處于就緒狀態(tài);當(dāng)通道內(nèi)沒有待傳輸?shù)臄?shù)據(jù)包,或還不可以進(jìn)行數(shù)據(jù)傳輸時(shí),該通道處于未就緒狀態(tài)。當(dāng)一個(gè)通道處于未就緒狀態(tài)時(shí),該通道沒有多通道仲裁的機(jī)會,同樣也就沒有多通道仲裁成功的機(jī)會,這樣,避免了仲裁失敗的現(xiàn)象,使本發(fā)明多通道仲裁成功的幾率大大提高,從而提高了多通道仲裁的效率。
通過上述設(shè)置了各通道的初始權(quán)值,明確了各通道的狀態(tài),當(dāng)需要進(jìn)行數(shù)據(jù)傳輸時(shí),進(jìn)行多通道仲裁的過程。
多通道仲裁的核心思想為獲取各通道的狀態(tài)、權(quán)值,在通道狀態(tài)為就緒狀態(tài)且權(quán)值為正數(shù)的通道中選取允許進(jìn)行數(shù)據(jù)傳輸?shù)耐ǖ?,允許進(jìn)行數(shù)據(jù)傳輸?shù)耐ǖ婪Q其為當(dāng)前通道。
基于上述多通道仲裁的核心思想,本發(fā)明提供的多通道仲裁的具體實(shí)現(xiàn)方案如下各通道都有各自的通道號,獲取當(dāng)前通道的通道號,將所有通道號中大于當(dāng)前通道號的通道號按遞增順序排列為序列1;將所有通道號中不大于所述當(dāng)前通道號的通道號按遞增順序排列為序列2;例如如果有16個(gè)通道,通道號從#0到#15。設(shè)定當(dāng)前通道號為#0,那么序列1為#1、#2、#3、#4......#15;序列2為#0;設(shè)定當(dāng)前通道號為#1,那么序列1為#2、#3、#4......#15;序列2為#0、#1。
按先后順序依次從序列1、序列2中獲取通道號,并查找通道號對應(yīng)的處于就緒狀態(tài)且權(quán)值為正數(shù)的通道,將第一個(gè)查找到的處于就緒狀態(tài)且權(quán)值為正數(shù)的通道確定為允許數(shù)據(jù)傳輸?shù)耐ǖ?,允許數(shù)據(jù)傳輸?shù)耐ǖ罏楫?dāng)前通道。本次仲裁過程結(jié)束。例如當(dāng)前通道號為#1,那么從#2、#3、#4......#5、#0、#1序列中依次判斷#2通道、#3通道......#0通道、#1通道是否處于就緒狀態(tài)且權(quán)值為正數(shù),當(dāng)查找到某通道處于就緒狀態(tài)且權(quán)值為正數(shù)時(shí),停止查找判斷過程,該通道為當(dāng)前通道,仲裁成功。如果依次判斷到#1通道,未查找到處于就緒狀態(tài)且權(quán)值為正數(shù)的通道,當(dāng)前通道可以更新為默認(rèn)的#0通道。本次多通道仲裁過程結(jié)束。
在序列1、序列2中查找第一個(gè)處于就緒狀態(tài)且權(quán)值為正數(shù)的通道的方法可通過如下過程實(shí)現(xiàn)
設(shè)定通道為就緒狀態(tài)時(shí),其狀態(tài)為“0”;通道為未就緒狀態(tài)時(shí),其狀態(tài)為“1”;設(shè)定通道的權(quán)值為正數(shù)時(shí),其權(quán)值的符號為“0”;通道的權(quán)值為負(fù)數(shù)時(shí),其權(quán)值的符號為“1”。
分別將各通道的權(quán)值的正負(fù)符號和其狀態(tài)相或;當(dāng)相或后的結(jié)果為“1”時(shí),表明該通道處于未就緒狀態(tài)或該通道的權(quán)值為負(fù)數(shù),當(dāng)相或后的結(jié)果為“0”時(shí),表明該通道處于就緒狀態(tài)且該通道的權(quán)值為正數(shù)。按先后順序?qū)⑿蛄?、序列2中的通道號對應(yīng)的相或后的結(jié)果存儲于重映射寄存器中;如果有16個(gè)通道,那么,重映射寄存器為16比特位,按低位到高位的順序?qū)⑿蛄?、序列2對應(yīng)的相或后的結(jié)果依次存儲于重映射寄存器中。在重映射寄存器中查找第一個(gè)不為“1”的比特位,如果查找到第一個(gè)不為“1”的比特位,停止查找,對查找到的第一個(gè)不為“1”的比特位進(jìn)行獨(dú)冷編碼,并將該獨(dú)冷編碼與當(dāng)前通道的通道號相加,相加后的結(jié)果再加1后的值為允許進(jìn)行數(shù)據(jù)傳輸?shù)耐ǖ捞枺?dāng)前通道的通道號更新為該通道號。
例如,續(xù)前例,當(dāng)前通道號為#1,如果重映射寄存器中第0比特位不為“1”,那么對該比特位進(jìn)行的獨(dú)冷編碼,其獨(dú)冷編碼為0,將獨(dú)冷編碼0與當(dāng)前通道號相加,結(jié)果為1,將該結(jié)果再加1,其結(jié)果為2,所以當(dāng)前通道號更新為#2。由于重映射寄存器的0比特位存儲的是#2通道對應(yīng)的相或后的結(jié)果,因此本實(shí)施例多通道仲裁的結(jié)果正確。
如果在重映射寄存器中從低位到高位查找不到不為“1”的比特位,那么當(dāng)前通道的通道號不發(fā)生改變。
下面結(jié)合附圖3對本發(fā)明提供的多通道仲裁具體實(shí)現(xiàn)過程詳細(xì)描述如下。
在圖3中,設(shè)定有16個(gè)通道,通道號從#0到#15。各通道的權(quán)值存儲在各通道的權(quán)值寄存器中,各通道的權(quán)值增量存儲在各通道的權(quán)值增量寄存器中,當(dāng)所有的權(quán)值寄存器中的權(quán)值均為負(fù)數(shù)時(shí),權(quán)值寄存器中的權(quán)值與其對應(yīng)的權(quán)值增量寄存器中的權(quán)值增量相加后存儲回權(quán)值寄存器中。如#0通道的權(quán)值與#0通道的權(quán)值增量相加后結(jié)果存儲在權(quán)值寄存器中。
根據(jù)各通道的狀態(tài)、當(dāng)前通道號和權(quán)值寄存器提供的各通道的權(quán)值對各通道進(jìn)行符號重映射。符號重映射的過程為首先,將各通道權(quán)值寄存器中各權(quán)值的符號分別與其狀態(tài)相或,然后按照當(dāng)前通道的通道號將各寄存器的通道號排列為序列1、序列2,最后按照序列1、序列2的順序,將對應(yīng)的相或后的結(jié)果存儲在符號重映射寄存器中。
根據(jù)符號重映射寄存器中的內(nèi)容進(jìn)行優(yōu)先編碼,優(yōu)先編碼的規(guī)則為從符號重映射寄存器中的第0位到第15位依次查找第一個(gè)不為“1”的比特位,如果查找到了,停止查找過程,對該比特位進(jìn)行獨(dú)冷編碼,該獨(dú)冷編碼存放在暫存器中;暫存器中存放的數(shù)值與當(dāng)前通道的通道號相加,將相加后的結(jié)果再加1后的值作為當(dāng)前通道的通道號,將當(dāng)前通道的通道號更新為上述再加1后的值。當(dāng)前通道為允許進(jìn)行數(shù)據(jù)傳輸?shù)耐ǖ?。如果查找不到,?dāng)前通道號不發(fā)生改變。
本發(fā)明經(jīng)過上述多通道仲裁過程,仲裁成功后,需要將仲裁成功的通道即當(dāng)前通道中的數(shù)據(jù)傳輸,并將該當(dāng)前通道的權(quán)值隨其傳輸?shù)臄?shù)據(jù)量而遞減。該當(dāng)前通道的數(shù)據(jù)傳輸完成后,進(jìn)行下一次的多通道仲裁的過程。
當(dāng)依照上述本發(fā)明提供的多通道仲裁方法進(jìn)行了多次多通道仲裁、將當(dāng)前通道的數(shù)據(jù)傳輸后,權(quán)值為負(fù)數(shù)的通道會越來越多,當(dāng)所有的通道的權(quán)值都為負(fù)數(shù)時(shí),所有的通道都將失去仲裁成功的機(jī)會。本發(fā)明通過提供權(quán)值增量來解決這一問題。設(shè)置各通道的權(quán)值增量,當(dāng)所有通道的權(quán)值都為負(fù)數(shù)時(shí),通過權(quán)值增量來調(diào)整權(quán)值。
各通道的權(quán)值增量與各通道配置的帶寬成正比,如可以設(shè)置為各通道配置的初始權(quán)值。在本具體實(shí)施方式
中,各通道的權(quán)值增量都為正數(shù),各通道的權(quán)值加上各通道的權(quán)值增量后形成各通道新的權(quán)值;如果各通道的權(quán)值與其權(quán)值增量相加后形成的各通道的權(quán)值仍然都為負(fù)數(shù),那么再次將各通道的權(quán)值與其權(quán)值增量相加,直到有的通道的權(quán)值為正數(shù)為止。各通道的權(quán)值增量可根據(jù)需要分別存儲在寄存器中,存儲各通道權(quán)值的寄存器稱為權(quán)值增量寄存器。
下面根據(jù)圖4對本發(fā)明提供的多通道數(shù)據(jù)傳輸?shù)姆椒ㄗ鲞M(jìn)一步說明。
圖4中,在步驟400,根據(jù)各通道配置的帶寬為各通道設(shè)置初始的權(quán)值、權(quán)值增量。初始的權(quán)值設(shè)置在各通道對應(yīng)的權(quán)值寄存器中,權(quán)值增量設(shè)置在各通道對應(yīng)的權(quán)值增量寄存器中。
在步驟410,判斷各通道對應(yīng)的權(quán)值寄存器中的權(quán)值是否都為負(fù)數(shù),如果都為負(fù)數(shù),到步驟411,將各通道的權(quán)值寄存器中的權(quán)值與其對應(yīng)的權(quán)值增量寄存器中的權(quán)值增量相加后存儲回對應(yīng)的權(quán)值寄存器中。
在步驟410,如果不是都為負(fù)數(shù),到步驟420,獲取各通道權(quán)值的正負(fù)符號和各通道的狀態(tài)。在本具體實(shí)施方式
中,設(shè)定通道為就緒狀態(tài)時(shí),其狀態(tài)為“0”;通道為未就緒狀態(tài)時(shí),其狀態(tài)為“1”;設(shè)定通道的權(quán)值為正數(shù)時(shí),其權(quán)值的符號為“0”;通道的權(quán)值為負(fù)數(shù)時(shí),其權(quán)值的符號為“1”。
到步驟430,分別將各通道權(quán)值的正負(fù)符號和其狀態(tài)相或。
到步驟440,根據(jù)當(dāng)前通道的通道號,將所有通道號中大于當(dāng)前通道號的通道號按遞增順序排列為序列1;將所有通道號中不大于所述當(dāng)前通道號的通道號按遞增順序排列為序列2;將相或后的結(jié)果按序列1、序列2的順序存儲于重映射寄存器中。
到步驟450,按照從低位到高位的順序在重映射寄存器中查找第一個(gè)不為“1”的比特位。
到步驟460,判斷是否查找到第一個(gè)不為“1”的比特位,如果查找不到,到步驟461,當(dāng)前通道不發(fā)生改變,本次多通道仲裁結(jié)束,進(jìn)行下一次多通道仲裁過程,到步驟410。
在步驟460,如果查找到第一個(gè)不為“1”的比特位,停止查找過程。
到步驟470,對該比特位進(jìn)行獨(dú)冷編碼。
到步驟480,將該獨(dú)冷編碼與當(dāng)前通道的通道號相加,相加后的結(jié)果再加1后的值確定為當(dāng)前通道的通道號,本次多通道仲裁過程結(jié)束,將當(dāng)前通道的數(shù)據(jù)進(jìn)行傳輸,并且將當(dāng)前通道的權(quán)值根據(jù)當(dāng)前通道發(fā)送的數(shù)據(jù)量遞減。
到步驟410,進(jìn)行下一次多通道仲裁過程。
本發(fā)明提供的多通道數(shù)據(jù)傳輸?shù)难b置如附圖5所示。
在圖5中,多通道數(shù)據(jù)傳輸?shù)难b置包括獲取通道參數(shù)模塊500,確定允許傳輸模塊510,數(shù)據(jù)傳輸模塊520,加權(quán)器530。
確定允許傳輸模塊510的功能由相或邏輯511,符號重映射子模塊512,符號重映射寄存器513,優(yōu)先編碼器514實(shí)現(xiàn)。
優(yōu)先編碼器514的功能由優(yōu)先編碼邏輯5141,暫存器5142,相加邏輯5143實(shí)現(xiàn)。
加權(quán)器530的功能由多個(gè)權(quán)值寄存器531,多個(gè)加權(quán)增量寄存器532,加權(quán)邏輯533實(shí)現(xiàn)。
獲取通道參數(shù)模塊500獲取各通道的狀態(tài),并從各通道的權(quán)值寄存器531中獲取各通道的權(quán)值,并將獲取的各通道的權(quán)值和狀態(tài)傳輸至相或邏輯511。相或邏輯511分別將各通道的權(quán)值的正負(fù)符號與其狀態(tài)相或,并將相或后的結(jié)果傳輸至符號重映射子模塊512。
符號重映射子模塊512接收相或邏輯511傳輸來的相或后的結(jié)果,將各通道中大于當(dāng)前通道號的通道號按遞增順序排列為序列1,將各通道中不大于當(dāng)前通道號的通道號按遞增順序排列為序列2,按先后順序?qū)⑿蛄?、序列2中的通道號對應(yīng)的相或后的結(jié)果傳輸并存儲至符號重映射寄存器513中。
符號重映射寄存器513接收符號重映射子模塊512傳輸來的相或后的結(jié)果,并按照從低位到高位的順序依次存儲。
優(yōu)先編碼邏輯5141從符號重映射寄存器513中按從低位到高位的順序查找第一個(gè)不為“1”的比特位,如果查找到了,停止查找過程,按照優(yōu)先編碼規(guī)則對查找到的第一個(gè)不為“1”的比特位進(jìn)行獨(dú)冷編碼,將該獨(dú)冷編碼和查找成功指示信號傳輸至?xí)捍嫫?142中;如果查找不到,不向暫存器5142傳輸數(shù)值和查找成功指示信號。
暫存器5142存儲優(yōu)先編碼邏輯5141傳輸來的獨(dú)冷編碼,當(dāng)接收到優(yōu)先編碼邏輯5141傳輸來的查找成功指示信號時(shí),向相加邏輯5143傳輸使能信號。
相加邏輯5143接收到暫存器5142傳輸來的使能信號,將暫存器5142中存儲的獨(dú)冷編碼與當(dāng)前通的道號相加,相加后的結(jié)果再加1,再加1后的值為所述允許數(shù)據(jù)傳輸?shù)耐ǖ赖耐ǖ捞枺串?dāng)前通道號,將再加1后的值傳輸至數(shù)據(jù)傳輸模塊520。
數(shù)據(jù)傳輸模塊520接收相加邏輯5143傳輸來的當(dāng)前通道號,將該通道號對應(yīng)的通道中的數(shù)據(jù)傳輸,并根據(jù)傳輸?shù)臄?shù)據(jù)量將該通道的權(quán)值寄存器531中的權(quán)值遞減。
多個(gè)權(quán)值寄存器531分別存儲所述各通道的權(quán)值。
多個(gè)權(quán)值增量寄存器532分別存儲各通道的權(quán)值增量。
加權(quán)邏輯533檢測各權(quán)值寄存器531中存儲的權(quán)值,當(dāng)加權(quán)邏輯533檢測到各權(quán)值寄存器531中存儲的權(quán)值均為負(fù)數(shù)時(shí),加權(quán)邏輯533分別將各權(quán)值寄存器中存儲的權(quán)值與相應(yīng)的權(quán)值增量寄存器532中存儲的權(quán)值增量相加,并將相加后的結(jié)果分別存儲回相應(yīng)的各權(quán)值寄存器531中。
雖然通過實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化。
權(quán)利要求
1.一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟诎╝、確定各通道初始的權(quán)值;b、當(dāng)需要進(jìn)行多通道數(shù)據(jù)傳輸時(shí),獲取所述各通道的狀態(tài)、權(quán)值;c、根據(jù)所述各通道的狀態(tài)、權(quán)值確定允許數(shù)據(jù)傳輸?shù)耐ǖ溃籨、將所述確定的允許數(shù)據(jù)傳輸?shù)耐ǖ乐械臄?shù)據(jù)進(jìn)行傳輸,并更新該通道的權(quán)值。
2.如權(quán)利要求1所述的一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒?,其特征在于所述的步驟a包括根據(jù)所述各通道配置的帶寬確定各通道初始的權(quán)值;所述各通道初始的權(quán)值與所述各通道配置的帶寬成正比;所述各通道初始的權(quán)值為各通道傳輸數(shù)據(jù)的衡量標(biāo)準(zhǔn)。
3.如權(quán)利要求1或2所述的一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒?,其特征在于所述的各通道的狀態(tài)包括就緒狀態(tài)和未就緒狀態(tài);當(dāng)通道可以進(jìn)行數(shù)據(jù)傳輸時(shí)為就緒狀態(tài);當(dāng)通道不可以進(jìn)行數(shù)據(jù)傳輸時(shí)為未就緒狀態(tài)。
4.如權(quán)利要求3所述的一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒?,其特征在于所述的步驟c包括c1、獲取所述各通道的通道號及當(dāng)前通道號;c2、將所述獲取的各通道的大于所述當(dāng)前通道號的通道號按遞增順序排列為序列1;c3、將所述獲取的各通道的不大于所述當(dāng)前通道號的通道按遞增順序排列為序列2;c4、按先后順序依次從所述的序列1、序列2中獲取通道號,并查找通道號對應(yīng)的處于就緒狀態(tài)且權(quán)值為正數(shù)的通道;如果查找到,將第一個(gè)查找到的處于就緒狀態(tài)且權(quán)值為正數(shù)的通道確定為當(dāng)前通道,允許其進(jìn)行數(shù)據(jù)傳輸;如果查找不到,當(dāng)前通道不發(fā)生變化。
5.如權(quán)利要求1或2所述的一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒?,其特征在于所述的步驟d中的將該通道的權(quán)值隨所述傳輸?shù)臄?shù)據(jù)而變化包括當(dāng)前通道的權(quán)值根據(jù)當(dāng)前通道發(fā)送的數(shù)據(jù)量而遞減。
6.如權(quán)利要求1或2所述的一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒?,其特征在于所述的步驟a還包括確定所述各通道的權(quán)值增量;且所述的方法還包括當(dāng)所述的各通道的權(quán)值均為負(fù)數(shù)時(shí),獲取所述各通道的權(quán)值增量;將所述的各通道的權(quán)值分別與其對應(yīng)的權(quán)值增量相加,并將所述的各通道的權(quán)值分別更新為相加后的結(jié)果。
7.如權(quán)利要求6所述的一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒?,其特征在于所述的各通道的?quán)值增量為正數(shù),并與所述各通道配置的帶寬成正比;所述各通道的權(quán)值增量分別存儲于所述各通道的權(quán)值增量寄存器中。
8.一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)难b置,其特征在于所述的裝置包括獲取通道參數(shù)模塊分別獲取各通道的狀態(tài)和權(quán)值,并將其傳輸至確定允許傳輸模塊;確定允許傳輸模塊根據(jù)所述獲取通道參數(shù)模塊傳輸來的所述各通道的狀態(tài)、權(quán)值確定允許數(shù)據(jù)傳輸?shù)耐ǖ溃@取其對應(yīng)的通道號,并將所述獲取的通道號傳輸至數(shù)據(jù)傳輸模塊;數(shù)據(jù)傳輸模塊接收所述確定允許傳輸模塊傳輸來的通道號,將該通道號對應(yīng)的通道中的數(shù)據(jù)傳輸,并更新所述通道的權(quán)值。
9.如權(quán)利要求8所述一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)难b置,其特征在于所述的確定允許傳輸模塊包括相與邏輯接收所述獲取通道參數(shù)模塊傳輸來的所述各通道的狀態(tài)、權(quán)值,將所述接收的各通道的權(quán)值的正負(fù)符號與所述的各通道的狀態(tài)相或,并將所述相或后的結(jié)果傳輸至符號重映射子模塊;符號重映射子模塊接收所述相與邏輯傳輸來的相與后的結(jié)果,將所述各通道中大于所述當(dāng)前通道號的通道號按遞增順序排列為序列1,將所述各通道中不大于所述當(dāng)前通道號的通道號按遞增順序排列為序列2,按先后順序?qū)⑺龅男蛄?、序列2中的通道號對應(yīng)的相或后的結(jié)果傳輸至符號重映射寄存器;符號重映射寄存器將所述符號重映射子模塊傳輸來的相或后的結(jié)果從低位到高位存儲;優(yōu)先編碼器從所述符號重映射寄存器中按從低位到高位的順序查找第一個(gè)不為“1”的比特位,將查找到的比特位對應(yīng)的通道號傳輸至所述的數(shù)據(jù)傳輸模塊。
10.如權(quán)利要求9所述一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)难b置,其特征在于所述的優(yōu)先編碼器包括優(yōu)先編碼邏輯從所述符號重映射寄存器中按從低位到高位的順序查找第一個(gè)不為“1”的比特位,對查找到的比特位進(jìn)行獨(dú)冷編碼,并將所述獨(dú)冷編碼和查找成功指示信號傳輸至?xí)捍嫫髦?;暫存器存儲所述?yōu)先編碼邏輯傳輸來的數(shù)值,并在接收到所述優(yōu)先編碼邏輯傳輸來的查找成功指示信號時(shí),將使能信號傳輸至相加邏輯;相加邏輯當(dāng)接收到所述暫存器傳輸來的使能信號時(shí),將所述暫存器中存儲的數(shù)值和當(dāng)前通道號相加,相加后的結(jié)果再加1,將所述當(dāng)前通道號更新為所述加1后的值,同時(shí)將所述加1后的值傳輸至所述數(shù)據(jù)傳輸模塊。
11.如權(quán)利要求8所述一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)难b置,其特征在于所述的裝置還包括加權(quán)器當(dāng)所述的各通道對應(yīng)的權(quán)值均為負(fù)數(shù)時(shí),將所述各通道對應(yīng)的權(quán)值與所述各通道對應(yīng)的權(quán)值增量相加,將相加后的結(jié)果分別作為所述各通道的權(quán)值。
12.如權(quán)利要求11所述一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)难b置,其特征在于所述的加權(quán)器包括多個(gè)權(quán)值增量寄存器分別存儲所述各通道的權(quán)值增量;多個(gè)權(quán)值寄存器分別存儲所述各通道的權(quán)值;加權(quán)邏輯當(dāng)所述各權(quán)值寄存器中存儲的權(quán)值均為負(fù)數(shù)時(shí),分別將所述各權(quán)值寄存器中存儲的權(quán)值與相應(yīng)的權(quán)值增量寄存器中存儲的權(quán)值增量相加,并將相加后的結(jié)果分別存儲回相應(yīng)的所述各權(quán)值寄存器中。
全文摘要
本發(fā)明提供一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)姆椒?,包括確定各通道初始的權(quán)值;當(dāng)需要進(jìn)行多通道數(shù)據(jù)傳輸時(shí),獲取所述各通道的狀態(tài)、權(quán)值;根據(jù)所述各通道的狀態(tài)、權(quán)值確定允許數(shù)據(jù)傳輸?shù)耐ǖ溃粚⑺龃_定的允許數(shù)據(jù)傳輸?shù)耐ǖ乐械臄?shù)據(jù)進(jìn)行傳輸,并更新該通道的權(quán)值。本發(fā)明還提供一種通訊系統(tǒng)中多通道數(shù)據(jù)傳輸?shù)难b置,包括獲取通道參數(shù)模塊、確定允許傳輸模塊、數(shù)據(jù)傳輸模塊。本發(fā)明通過引入通道狀態(tài)、權(quán)值,避免了選取當(dāng)前通道時(shí)仲裁失敗的現(xiàn)象,而且避免了數(shù)據(jù)包包長差異帶來的仲裁不均衡的現(xiàn)象,使多通道帶寬控制精度高,從而實(shí)現(xiàn)了提高仲裁效率、提高仲裁均衡性的目的。
文檔編號H04L29/04GK1630293SQ20031012398
公開日2005年6月22日 申請日期2003年12月19日 優(yōu)先權(quán)日2003年12月19日
發(fā)明者張洪濤 申請人:華為技術(shù)有限公司