專利名稱:使循環(huán)緩沖器中的數(shù)據(jù)有效的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字電信領(lǐng)域,更具體而言,本發(fā)明涉及一種管理循環(huán)緩沖器的方法。
背景技術(shù):
循環(huán)緩沖器有多種用途,例如數(shù)據(jù)可以以變化的速率到達(dá),并需要以恒定的速率讀出。循環(huán)緩沖器的特定的用途是用在ATM電路仿真業(yè)務(wù)中,其中輸送恒定的位速率的數(shù)據(jù)的單元以不同的時間到達(dá),所述不同的時間取決于CDV(單元延遲偏差),并且在單元中的數(shù)據(jù)必須被讀出以恒定的速率到TDM總線。
在循環(huán)緩沖器中,要進(jìn)來的數(shù)據(jù)可能由于緩沖器的尺寸遠(yuǎn)遠(yuǎn)前于要讀出的數(shù)據(jù),在此情況下,未讀出的數(shù)據(jù)會被新的數(shù)據(jù)重寫,而導(dǎo)致“過載”的發(fā)生。類似地,如果新的數(shù)據(jù)以不適當(dāng)?shù)乃俾实竭_(dá),從而補(bǔ)充緩沖器內(nèi)的數(shù)據(jù),讀出指針將會重讀舊的數(shù)據(jù),在這種情況下會導(dǎo)致“欠載”的發(fā)生。能識別緩沖器的欠載和過載是很重要的。
Mitel公司制造了以產(chǎn)品號No.MT90500銷售的SAR(分段和重新組裝)裝置,這種裝置用于從輸入的ATM單元中產(chǎn)生TDM數(shù)據(jù)流,所述ATM單元被寫入循環(huán)緩沖器(每一個用于一個TDM信道)。在所述數(shù)據(jù)循環(huán)緩沖器內(nèi)的單字節(jié)標(biāo)志被用于標(biāo)明,存儲單元內(nèi)的數(shù)據(jù)是否已經(jīng)被讀出。如果數(shù)據(jù)寫入并在數(shù)據(jù)讀出后設(shè)定(寫到“1”),清除此位以標(biāo)明數(shù)據(jù)已經(jīng)被讀出。
此外MT90500和其它的裝置用FFh(或其它的預(yù)定形式)重寫循環(huán)緩沖器數(shù)據(jù),以標(biāo)明數(shù)據(jù)已經(jīng)被讀出。
美國專利No.5,584,038公開了一種在循環(huán)緩沖器中使用換行位來表示循環(huán)緩沖器的隊列是否已經(jīng)被遍歷的方法。
美國專利No.5,978,868公開了一種通過比較讀和寫指針并且確定讀出指針相對于寫入指針的方向,產(chǎn)生緩沖狀態(tài)標(biāo)志的系統(tǒng)。
本發(fā)明的一個目的在于允許識別讀出欠載而無需信號標(biāo)志。
發(fā)明概述根據(jù)本發(fā)明提供一種管理循環(huán)緩沖器的方法,所述方法包括在由寫入指針指向的地址處在所述循環(huán)緩沖器內(nèi)寫入數(shù)據(jù),并且在所述地址內(nèi)寫入第一數(shù)字,每次所述循環(huán)緩沖器由寫入指針遍歷時,其都使模數(shù)遞增一預(yù)定的數(shù)字,。
所述數(shù)字優(yōu)選是寫入指針的最有效位(MSB)的擴(kuò)展的形式。其一般包括兩個額外的位,其允許四次不同的循環(huán)0,1,2,3,0,1,2,3,0,1,2等。這兩個額外的位與循環(huán)緩沖器數(shù)據(jù)一起被寫入循環(huán)緩沖器內(nèi)。這兩個額外的位被稱為“轉(zhuǎn)(turn)”位。所述數(shù)字還包括一單一的位。
每次讀出指針遍歷循環(huán)緩沖器都增加一類似的數(shù)字。當(dāng)數(shù)據(jù)從循環(huán)緩沖器中讀出時,與讀出指針有關(guān)的數(shù)字就與和緩沖器內(nèi)的數(shù)據(jù)有關(guān)的數(shù)字進(jìn)行比較。這使得數(shù)據(jù)的有效性得到檢查(即,確定是否有欠載發(fā)生)。一般,與讀出指針有關(guān)的數(shù)字是延伸到讀出指針的形式,一般是兩個額外的最有效的位。
本技術(shù)允許系統(tǒng)區(qū)分短期欠載和長期欠載,或者區(qū)分過載和欠載,這種區(qū)分是通過與緩沖器內(nèi)被讀出的地址內(nèi)的數(shù)據(jù)和讀出指針有關(guān)的“轉(zhuǎn)”位的區(qū)別程度來進(jìn)行的。
另一方面,本發(fā)明提供了一種循環(huán)緩沖器,其包括用于儲存數(shù)據(jù)的地址;在所述循環(huán)緩沖器內(nèi)指向所述地址的寫入指針,其中輸入的數(shù)據(jù)被寫入;一用于指向所述循環(huán)緩沖器內(nèi)數(shù)據(jù)要從其中讀出的地址的讀出指針;并且所述緩沖器地址中的每一個包括一個寄存器部分,用于存儲與所述寫入指針相關(guān)的第一數(shù)字,所述第一數(shù)字在每次循環(huán)緩沖器由寫入指針遍歷的時候使模數(shù)增加一預(yù)定的數(shù)字。
下面將參照附圖,以舉例的方式詳細(xì)描述本發(fā)明,其中
圖1示出在現(xiàn)有技術(shù)RX_SAR中的過載和欠載的情況;
圖2示出根據(jù)本發(fā)明的原則用于RX_SAR的SDT重新組裝(Reassembly)循環(huán)緩沖器;圖3示意性地示出用于比較寫入和讀出“轉(zhuǎn)”位的比較器。
本發(fā)明可以用于裝置,例如Mitel公司的MT90528裝置,參照前面所述。在這種裝置中,SDT_RX_SAR子模塊負(fù)責(zé)從輸入的ATM單元中提取數(shù)據(jù),并將所述數(shù)據(jù)傳輸至外存儲器(取決于TDM信道的數(shù)目)內(nèi)的(一個或多個)重新組裝循環(huán)緩沖器內(nèi)。所述數(shù)據(jù)然后通過TDM模塊從循環(huán)緩沖器內(nèi)讀出。
所述SDT RX_SAR負(fù)責(zé)在適當(dāng)?shù)奈恢谩⒒赟DT RX_SAR的寫入指針和TDM模塊的讀出指針的當(dāng)前值寫入循環(huán)緩沖器。
當(dāng)收到新的單元時,硬件檢查RX_SAR寫入指針的位置,其包括在何處將新的單元寫入相關(guān)的接受循環(huán)緩沖器內(nèi)。在圖1中,有效字節(jié)表示已經(jīng)被寫入循環(huán)緩沖器并且已經(jīng)被讀出到TDM輸出程序的字節(jié)?!盁o效”字節(jié)表示那些已經(jīng)被讀出,或在啟始狀態(tài)下從未寫入的字節(jié)。如果指針落入由最小的引導(dǎo)參數(shù)和最大的引導(dǎo)參數(shù)限定的窗口內(nèi),新的數(shù)據(jù)將會跟隨舊的數(shù)據(jù)立即被寫入。如果RX_SAR寫入指針落入最大引導(dǎo)指針的后面,則檢測出過載情況,并且開始在平均引導(dǎo)位置處寫入新的數(shù)據(jù)。在此情況下,一些包括未讀出的數(shù)據(jù)的地址將被重寫(即一些數(shù)據(jù)將丟失)。如果寫入指針落入最小導(dǎo)引指針的后面,則檢測出欠載情況,并且寫入指針再次移動到平均導(dǎo)引指針的位置。在此情況下,一些已經(jīng)讀出的字節(jié)將跳過,并且沒有寫下地離開。
在這種現(xiàn)有技術(shù)裝置中,用于TDM輸出過程的外存儲器有其自己的TDM讀出欠載錯誤指示。外寄存器字節(jié)的第九位用于指示每個TDM字節(jié)是否已經(jīng)被先傳輸?shù)絋DM總線。當(dāng)TDM輸出過程讀取一個已經(jīng)傳輸?shù)淖止?jié)時(即,設(shè)置第九位),如果能由相關(guān)的控制結(jié)構(gòu)內(nèi)的TDM信道的入口操作,則標(biāo)志出欠載情況。
根據(jù)每個TDM信道的反寫禁止位的數(shù)值,讀出到TDM總線的字節(jié)或者由抑制信號(FFh)代替或者不改變地離開。這可以產(chǎn)生如下效果,在欠載的情況下,或者禁止信號被讀出跳躍區(qū)域,或者在跳躍區(qū)域內(nèi)的舊的數(shù)據(jù)被重復(fù)在TDM總線上。
根據(jù)本發(fā)明的原理,如圖2所示,每次在SDT RX_SAR向循環(huán)緩沖器內(nèi)寫數(shù)據(jù)的時候,它也向重新組裝循環(huán)緩沖器內(nèi)寫入兩位數(shù)值(稱作“轉(zhuǎn)位”)。所述兩位數(shù)值是通過以兩個最有效的位數(shù)擴(kuò)展SDT RX_SAR寫入指針而產(chǎn)生的。這些“轉(zhuǎn)”位有效地使得循環(huán)緩沖器循環(huán)四次,只要它是按規(guī)則的。當(dāng)SDT RX_SAR再次寫入循環(huán)緩沖器的第一入口時,每次循環(huán)緩沖器被遍歷時都會增加“轉(zhuǎn)”位。通過循環(huán)緩沖器的每四次循環(huán),“轉(zhuǎn)”位都回到“00”。
每次TDM模塊從循環(huán)緩沖器讀取時,它不僅讀取數(shù)據(jù),并且讀取與數(shù)據(jù)一起儲存的“轉(zhuǎn)”位。所述TDM模塊將“轉(zhuǎn)”位與兩位數(shù)值比較,所述兩位數(shù)值與TDM模塊通過以兩個最有效的位擴(kuò)展TDM模塊的讀出指針而產(chǎn)生的。
所述TDM模塊包括示出在圖3的比較器,進(jìn)行如下的計算以確定是否有欠載發(fā)生如果(TDM讀取指針位=“轉(zhuǎn)”位)無欠載或者(TDM讀出指針位=“轉(zhuǎn)”位+1“簡單的”欠載或者//如果(TDM讀出指針位=“轉(zhuǎn)”位+2)|(TDM讀出指針位=“轉(zhuǎn)”位+3))“永久的”欠載也可以使用比較器算法的另一種模式。如果使用一位轉(zhuǎn)字段,能檢測到錯誤,但不能區(qū)別錯誤的不同程度或類型。使用兩位能區(qū)分簡單的和永久的欠載(如上所示出的),或者能分類欠載和過載。
在欠載條件下,TDM模塊或者重放當(dāng)前在緩沖器內(nèi)的數(shù)據(jù)(“舊”的數(shù)據(jù)不能自動在輸入上重寫,如在MT90500中一樣),或者將釋放出用戶配置的數(shù)據(jù)字節(jié)。確定何種數(shù)據(jù)能釋放出是通過用戶配置的寄存器位進(jìn)行的。
重新裝配的循環(huán)緩沖器儲存了重新組裝的TDM數(shù)據(jù)流。這些循環(huán)緩沖器位于外存儲器內(nèi),并且一般為16位寬,每個入口由下列位構(gòu)成·一位表示復(fù)幀(位〔15〕)。
·一位被保存(位[14])。
·兩位用于“轉(zhuǎn)”位(位[13∶12])。
·四位用于CAS(位[11∶8])。
·八位用于TDM數(shù)據(jù)(位[7∶0])。
圖2更詳細(xì)地示出循環(huán)緩沖器的結(jié)構(gòu)的具體實施例。所述字段首部包括以下含義·MF-多幀指示器,此位僅僅當(dāng)VC攜帶CAS數(shù)據(jù)(如果一虛擬信道不攜帶CAS(與通道相關(guān)的信號),所述MF位經(jīng)常為零)才使用;每次SDT RX_SAR確定下一多幀開始的位置時,為每一個VC信道在緩沖器內(nèi)設(shè)置所述MF位。
·Res-保留的字段,所述字段經(jīng)常包括一個零·“轉(zhuǎn)”位—此字段包括SDT RX_SAR用于VC的寫入指針的兩個最有效位的復(fù)制。這些位表示循環(huán)緩沖器的“轉(zhuǎn)”位(有效地使緩沖器出現(xiàn)為4次,只要他是規(guī)則的)。這些位被TDM模塊用于檢測欠載。
·CAS-如果CAS數(shù)據(jù)被處理,此字段包括數(shù)據(jù)的四位字節(jié),所述數(shù)據(jù)被信道接受(即在前復(fù)幀內(nèi))。對整個復(fù)幀(即,DS1情況下24串行入口,和在E1情況下的16串行入口)CAS數(shù)據(jù)被重復(fù)。
TDM字節(jié)-所述字段包含TDM數(shù)據(jù)字節(jié),其是從所接受的單元中提取出來的。如果空單元已經(jīng)被插入,此字段包括由用戶編程的空數(shù)據(jù)的值。
在SDT(結(jié)構(gòu)數(shù)據(jù)傳輸)模式下檢測欠載在根據(jù)本發(fā)明的原理的特定實施例中,所述SDT TDM重新組裝過程將讀出指針的兩個最有效的位與外循環(huán)緩沖器內(nèi)的兩“轉(zhuǎn)”位相比較
1-比較讀取指針的2MSB(最高有效位)=tdm_ext_數(shù)據(jù)〔13∶12〕,如果比較值是真,那么沒有欠載,并且TDM數(shù)據(jù)一般讀出到TDM總線上。
2-如果前面的比較值為假,進(jìn)行第二次比較。第二次比較讀出指針的2MSB=tdm_ext_數(shù)據(jù)〔13∶12〕+1。如果這個比較值為真,則檢查重播N禁止位。如果其已經(jīng)設(shè)定,那么重新組裝過程保持讀取循環(huán)緩沖器。如果未設(shè)定,將禁止字節(jié)寫入連接到TDM總線的TDM雙口RAM中。如果比較是真,則發(fā)生了“簡單的”欠載。
3-如果前面的兩次比較都是假,那么進(jìn)行第3次比較。第三次比較讀出指針的2MSB=tdm_ext_數(shù)據(jù)〔13∶12〕+2或讀出指針的2MSB=tdm_ext_數(shù)據(jù)〔13∶12〕+3。如果這個比較值為真,則檢查重播N禁止位。如果其已經(jīng)設(shè)定,那么重新組裝過程保持讀取循環(huán)緩沖器。如果未設(shè)定,將禁止字節(jié)釋放到TDM中。如果此步驟的兩次比較有一次是真,則發(fā)生了“永久的”欠載。
本領(lǐng)域技術(shù)人員可以理解也可以有多種變化形式。更具體而言,可以改變使用的“轉(zhuǎn)”位的數(shù)字。本發(fā)明可以用于檢測過載以及欠載,并且用戶能給出選擇,是否區(qū)分短期欠載和長期欠載。
所述的發(fā)明因此允許在一數(shù)據(jù)循環(huán)緩沖器內(nèi)識別讀出欠載,無需信號或緩沖數(shù)據(jù)反寫入循環(huán)緩沖器。本發(fā)明特別適用于ATM和聲音互聯(lián)網(wǎng)(VoIP)循環(huán)緩沖器。
本發(fā)明還可以有多種用途,其中循環(huán)緩沖器用于數(shù)據(jù)儲存和/或在兩個不同的數(shù)據(jù)率之間的跳躍(即過載或欠載)能發(fā)生的情況下。
權(quán)利要求
1.一種管理循環(huán)緩沖器的方法,其包括將數(shù)據(jù)在由寫入指針指向的地址處寫入循環(huán)緩沖器,并且在所述地址內(nèi)寫入第一數(shù)字,所述數(shù)字在每次循環(huán)緩沖器由寫入指針遍歷時使模數(shù)增加一預(yù)定數(shù)目。
2.如權(quán)利要求1所述的方法,其中第二數(shù)字與所述循環(huán)緩沖器的讀出指針有關(guān),所述第二數(shù)字還使模數(shù)增加一比每次所述循環(huán)緩沖器由讀出指針遍歷時所增加的數(shù)值大的預(yù)定的數(shù)值,并且當(dāng)所述數(shù)據(jù)從所述緩沖器讀出時,所述第二數(shù)字與所述第一數(shù)字進(jìn)行比較以識別跳躍。
3.如權(quán)利要求2所述的方法,其中所述第一數(shù)字和第二數(shù)字為相應(yīng)的寫入和讀出指針的擴(kuò)展。
4.如權(quán)利要求3所述的方法,其中作為最有效的為是所述寫入和讀出指針的擴(kuò)展。
5.如權(quán)利要求3所述的方法,其中所述第一數(shù)字和第二數(shù)字包括兩個額外的位。
6.如權(quán)利要求5所述的方法,其中所述兩個額外的位是最有效的位。
7.如權(quán)利要求2所述的方法,其中當(dāng)?shù)谝粩?shù)字和第二數(shù)字是相同的時候,確定“欠載”情況。
8.如權(quán)利要求7所述的方法,其中當(dāng)?shù)谝缓偷诙?shù)字之間的差值等于1時確定“簡單的欠載”,當(dāng)?shù)谝粩?shù)字和第二數(shù)字之間的差值大于1時,確定“永久”的欠載。
9.如權(quán)利要求1~8中任一項所述的方法,其中所述數(shù)據(jù)是在ATM網(wǎng)絡(luò)上傳輸?shù)臅r間敏感通信量。
10.如權(quán)利要求1~8中任一項所述的方法,其中所述數(shù)據(jù)是使用國際互聯(lián)網(wǎng)協(xié)議傳輸?shù)臅r間音頻信息量。
11.一種循環(huán)緩沖器包括多個用于儲存數(shù)據(jù)的地址;指向所述循環(huán)緩沖器內(nèi)輸入數(shù)據(jù)將要寫入的地址的寫入指針;指向所述循環(huán)緩沖器內(nèi)數(shù)據(jù)將要讀出的地址的讀出指針;每個緩沖器地址包括一個寄存器部分,其儲存與所述寫入指針相關(guān)的第一數(shù)字,所述第一數(shù)字每次循環(huán)緩沖器由寫入指針遍歷時使模數(shù)增加一預(yù)定的數(shù)字。
12.如權(quán)利要求11所述的循環(huán)緩沖器,其中所述數(shù)字是每個儲存所述數(shù)據(jù)的地址的擴(kuò)展。
13.如權(quán)利要求12所述的循環(huán)緩沖器,其中所述讀取指針與第二數(shù)字有關(guān),所述第二數(shù)字增加模數(shù)的數(shù)值大于每次循環(huán)緩沖器由讀取指針遍歷時所增加的數(shù)值。
14.如權(quán)利要求13所述的循環(huán)緩沖器,其還包括一個比較器,用于當(dāng)數(shù)據(jù)讀出所述循環(huán)緩沖器時比較所述第一數(shù)字和所述第二數(shù)字,以識別欠載現(xiàn)象的出現(xiàn)。
15.如權(quán)利要求11至14之一所述的循環(huán)緩沖器,其形成用于時間靈敏通信量的ATM RX-SAR裝置的一部分。
16.如權(quán)利要求11至14之一所述的循環(huán)緩沖器,其形成通過國際互聯(lián)網(wǎng)進(jìn)行聲音轉(zhuǎn)換裝置的一部分
全文摘要
數(shù)據(jù)在由寫入指針指向的地址處寫入循環(huán)緩沖器。一數(shù)字隨數(shù)據(jù)寫入所述地址。每次循環(huán)緩沖器由寫入指針遍歷時,所述數(shù)字增加模數(shù)一預(yù)定的數(shù)字。這個數(shù)字使得循環(huán)緩沖器比其實際的情況看起來要長,并能用于識別欠載情況。所述緩沖器可以用在用于ATM恒定位速率業(yè)務(wù)的分段與重新組裝裝置中。
文檔編號G06F5/14GK1359067SQ0114221
公開日2002年7月17日 申請日期2001年9月14日 優(yōu)先權(quán)日2000年9月15日
發(fā)明者道恩·芬, 喬治·杰弗里 申請人:扎爾林克半導(dǎo)體股份有限公司