專利名稱::用于同步數(shù)據(jù)處理網絡的系統(tǒng)和方法
技術領域:
:本發(fā)明涉及用于同步數(shù)據(jù)處理網絡的系統(tǒng)及其方法。技術背景10未來的數(shù)據(jù)處理系統(tǒng)將會包括大量的模塊。使用具有明確功能和良好定義的接口的模塊有助于這種系統(tǒng)的快速發(fā)展。這種應用的一個例子是移動電話。模塊例如是RF模塊、差錯編碼/解碼模塊、信號編碼/解碼模塊、用于在軟件中實現(xiàn)各種用戶定義的特征的通用處理器和用于從其他模塊之間引導數(shù)據(jù)流的路由器或交換機。以網絡的形式來15實現(xiàn)是有利的,因為網絡可以較容易地縮放于任意規(guī)模之內。網絡的交換機或路由器和其他模塊可以在相互不同的芯片中結合。作為網絡拓撲結構的可選項,模塊可以在一個或多個總線上排列,或具有點對點的連接。在總線和網絡拓撲中,各種數(shù)據(jù)流都可以共享兩個模塊之間的公共通信路徑,也表示為鏈路。20現(xiàn)在,假設系統(tǒng)中的數(shù)據(jù)傳輸是以流的方式來安排的,也就是,數(shù)據(jù)是周期性地傳輸?shù)?。為了使各個流存在較少的問題,這些流應當相互獨立,也就是,增加額外的流不應影響已有的流。如果系統(tǒng)中的所有模塊都由完全相同的時鐘來控制,則可能通過網絡來安排傳輸(即,調度),這樣不同流的數(shù)據(jù)不會在網絡中沖突。25但是,在各種實際的情況中,所有的模塊只是標稱地使用相同的頻率。該頻率還可以由于溫度引起的漂移而在時間上不同。這意味著,允許它們的實際頻率值在給定的容差內(準同步鏈路)略有不同?;蛘邠Q句話說,每個設備/交換機/發(fā)射機自身具有在頻率誤差范圍之內的獨立時鐘。30長期這樣會分別在較慢的交換機內(讀取速率小于寫入速率)或較快的交換機內(讀取速率高于寫入速率)引起緩沖器溢出/下溢,以及引起在共享相同鏈路的屬于不同流的數(shù)據(jù)之間的傳輸沖突。能夠通過在模塊之間交換流控制消息來克服這些問題。但是,在功率消耗的方面,特別是當使用串行鏈路的時候,流控制消息的交換會消耗很大。5例如,考慮基于2.5GHz10b/8bPLL的串行鏈路。當該鏈路活躍時,或當在低功率模式后被激活時,該鏈路消耗功率。通常的激活時間是上千ns的數(shù)量級(例如,2000ns)。為了僅發(fā)送例如32比特(16ns)的流控制消息,鏈路將需要消耗2016ns的功率,該功率消耗太大。另一種已知的在US6026133中所描述的方法是使用中央參考時10鐘,用來調整模塊的快速本地時鐘。該調整是通過控制壓控振蕩器的電壓來實現(xiàn)的。但是,這種設置在每個模塊中都需要鎖相環(huán),這使設計復雜了。
發(fā)明內容15本發(fā)明的目的是提供相對簡單的用于操作系統(tǒng)的系統(tǒng)和方法,其中避免了緩沖器溢出/下溢,而不需要流控制消息。根據(jù)本發(fā)明,在如權利要求1所述的系統(tǒng)中實現(xiàn)該目的。該目的進一步在用于操作根據(jù)權利要求5的系統(tǒng)的方法中實現(xiàn)。在根據(jù)本發(fā)明的系統(tǒng)和方法中,整個系統(tǒng)中的數(shù)據(jù)傳輸速度適于20最慢的鏈路的速度。為此,以規(guī)律的間隔校正在所有模塊中的本地時間,以補償最慢的時鐘/交換機/鏈路的差值。在這些間隔中,即在校正情況之間,可以在所有的鏈路上都進行數(shù)據(jù)部分的傳輸,該數(shù)據(jù)部分不超過指定的最大值。假設在物理鏈路上設置這種數(shù)據(jù)部分需要N個時鐘周期。因此,在本地時鐘的每N個周期之后,模塊等待與該組25中其他模塊的對齊。同步算法按如下進行在鏈路傳輸?shù)某跏蓟瘯r,每個交換機計數(shù)N個時隙,并通過返回鏈路向它所有直接的活躍鄰居發(fā)送它準備好的信號。時隙與本地時鐘的時鐘周期具有固定的關系。當交換機已經從它所有直接的活躍鄰居接收到了準備好的反饋,并完成了自身的N個時隙的計數(shù)后,將再次開始計數(shù)N個時隙,并再30次當完成時,向它的鄰居發(fā)出準備好的反饋。這個步驟將重復。這樣,將以有效的方式避免在各個流之間的溢出/下溢或沖突。優(yōu)選地,多個模塊的時鐘的周期時間最多相差平均周期時間的預定分數(shù),以及預定數(shù)量的時隙的持續(xù)時間小于所述分數(shù)的倒數(shù)值。該分數(shù)是由時鐘周期時間中的最大差值(AT)除以平均時鐘周期時間(T)5來定義的。通過在T/AT之后執(zhí)行時隙計數(shù)器的初始化,避免了一個模塊會提供比其他模塊所能處理的數(shù)據(jù)更多的數(shù)據(jù)。更優(yōu)選的是,預定數(shù)量的時隙的持續(xù)時間大于倒數(shù)值的四分之一,并小于倒數(shù)值的四分之三。通過使用小于四分之三的持續(xù)時間,10避免了在所允許的容差內的偏移會立即引起溢出。比倒數(shù)比值的四分之一小的持續(xù)時間會引起較大的開銷。驚訝的是,系統(tǒng)的每個模塊并不需要被每個其他模塊通知。在實施例中,根據(jù)本發(fā)明的系統(tǒng)具有如權利要求l所述的另一模塊組,其中當所述組和所述另一組處于第二操作狀態(tài)中時,來自所述組的子組15的模塊通知來自所述另一組的子組的模塊,以及當所述組和所述另一組處于第二操作狀態(tài)中時,來自所述另一組的子組的模塊通知來自所述組的子組的模塊。同樣在這種情況中,會避免發(fā)生數(shù)據(jù)業(yè)務的溢出/下溢。同樣己知的重復采樣策略可以用于對從另一個模塊所接收的數(shù)20據(jù)進行重復采樣。這種策略在US5644604中舉例描述。結合附圖對本發(fā)明的上述和其他方面進行更詳細的描述。其中圖1表示根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的第一實施例,25圖2表示更詳細的根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的第二實施例,圖3表示根據(jù)本發(fā)明的方法,以及圖4表示根據(jù)本發(fā)明的進一步的實施例。具體實施方式30圖1示意性地表示了包括多個模塊的數(shù)據(jù)處理系統(tǒng)。實施例所示的數(shù)據(jù)處理系統(tǒng)包括具有四個交換機SWl,SW2,SW3和SW4的網絡。該網絡交換機以類鏈狀的方式排列,即SW1和SW2可以相互交換數(shù)據(jù),SW2和SW3可以相互交換數(shù)據(jù),SW3和SW4可以相互交換數(shù)據(jù)。數(shù)據(jù)交換信道以對稱的塊箭頭來示意性地表示。網絡交換機還與功能5模塊?1^1,...^]/[8相連。每個模塊都具有數(shù)據(jù)處理裝置,例如,交換機具有數(shù)據(jù)路由和緩沖裝置,功能模塊提供了用于數(shù)學和邏輯運算、存儲等的裝置。為了清楚起見,圖2更詳細地表示了具有兩個模塊M1,M2的另一系統(tǒng)。盡管拓撲結構不同,對模塊的更詳細的描述也與圖1的模塊10相關。其中,模塊具有相互獨立的時鐘CL1,CL2。在所示的實施例中,時鐘是本地時鐘發(fā)生器,但是,也可以是接收時鐘信號的輸入。該時鐘用于對從一個模塊到另一個模塊的數(shù)據(jù)傳輸計時。如圖2所示,每個模塊Ml,M2都分別具有時隙計數(shù)器CNT1,CNT2,用于對傳輸數(shù)據(jù)可用的時隙的數(shù)量進行計數(shù)。在系統(tǒng)上電或重置時,計數(shù)器被初始15化為計數(shù)0。模塊具有第一操作狀態(tài),其中所計數(shù)的時隙的數(shù)量小于或等于預定值。在該第一狀態(tài)中,啟用數(shù)據(jù)傳輸。數(shù)據(jù)與模塊的本地時鐘同步傳輸。本地時鐘可以獨立地傳輸,或嵌在數(shù)據(jù)中一起傳輸,例如在10b/8b編碼中。模塊具有第二操作狀態(tài),其中所計數(shù)的時隙的數(shù)量超過了預定值。在該第二操作狀態(tài)中,禁用數(shù)據(jù)傳輸。20每個模塊都具有通知裝置,用于當該模塊在第二操作模式時進行通知。在所示的實施例中,模塊M1具有通知信號線路N12,模塊M2具有通知信號線路N22。處理系統(tǒng)具有檢測裝置DET,用于檢測是否有其他模塊通知了它們處于第二操作狀態(tài)中。在所示的實施例中,Ml,M2共用一個檢測25裝置DET。可替換地,每個模塊都可以具有獨立的檢測裝置。該檢測功能可以例如是與門,如果兩個模塊都使用邏輯"l"來通知它們處于第二操作狀態(tài),則該與門發(fā)出邏輯信號"r??商鎿Q地,該檢測裝置可以是或門,如果兩個模塊都使用邏輯"O"來通知它們處于第二操作狀態(tài),則該或門發(fā)出邏輯信號"0"。很清楚,檢測裝置可以從任意數(shù)量的模塊30中接收通知信號。時隙計數(shù)器CNT1,CNT2具有重置輸入RES,它與檢測裝置的輸出端相連接。當有來自檢測裝置DET的信號指示每個模塊都處于第二操作模式時,將時隙計數(shù)器初始化為0。這樣,模塊重新進入第一操作狀態(tài),并恢復數(shù)據(jù)傳輸。5圖3示意性地表示了模塊組之一的處理步驟。該組中的其他模塊以相同的方式進行操作。在步驟S1,初始化計數(shù)器,以對時隙的數(shù)量計數(shù)。該時隙具有固定的大小,這與本地時鐘的時鐘周期有關。例如,該時隙具有時鐘周期的分數(shù)、單個時鐘周期或多個時鐘周期的持續(xù)時間。10在步驟S2,在每個時隙執(zhí)行數(shù)據(jù)是否可以傳輸給另一個模塊的確定,以及如果是,則在步驟S3傳輸所述數(shù)據(jù)。可替換地,可以接收數(shù)據(jù)。盡管數(shù)據(jù)處于總是被傳送給該組中的模塊的第一位置,但是也還可以被傳送至該組以外的模塊。如果沒有可用的數(shù)據(jù),則在步驟S4中無傳輸?shù)囟冗^該時隙。15在步驟S5,在時隙過去之后,或在該時隙中的另一時刻,增加對該時隙的數(shù)量的計數(shù)。在步驟S6,確定所計數(shù)的數(shù)量是否超過了預定數(shù)量。如果沒有,則該方法繼續(xù)進行步驟S2。如果所計數(shù)的數(shù)量超過了預定數(shù)量,則在步驟S7通知該組的其20他模塊。這可以例如由信號或消息來傳送。在步驟S8,模塊一直等待,直到該組中的其他模塊都通知了超過預定數(shù)量。如果該組中的每個其他模塊都通知了它己經完成了它的時隙周期,則該方法從步驟S1開始重復。25并不需要每個模塊都從每個其他模塊得到它處于第二操作狀態(tài)的通知。對模塊的時隙計數(shù)器的初始化依賴于來自與該模塊直接通信的那些模塊的通知便是足夠的。例如,考慮圖4所示的4個模塊線性陣列。該實施例具有以下的通知依賴性模塊M1通知模塊M2,模塊M2通知模塊Ml和M3,模塊M3通知模塊M2和M4,模塊M430通知模塊M3。圖4中的系統(tǒng)可以被認為是具有另一模塊組M3,M4,其中當來自Ml,M2的組的子組M2的模塊處于第二操作狀態(tài)時,通知來自另一M3,M4的組的子組M3的模塊,且當來自另一M3,M4的組的子組M3的模塊處于第二操作狀態(tài)時,通知來自Ml,M2的組的子組M2的模塊。為了舉例,假設模塊M1具有較慢的時鐘,并且5需要參考時鐘的10個時間單位的處理時間來達到預定的時隙的計數(shù),而其他模塊只需要相同的參考時鐘的9個時間單位。下表表示了在哪個時刻初始化該系統(tǒng)中的時隙計數(shù)器。<table>tableseeoriginaldocumentpage9</column></row><table>10在上表,可以看出,模塊M1在IO個時間單位后發(fā)出通知,而其他模塊在9個時間單位后發(fā)出通知。從通知依賴性的角度,模塊M2等待模塊Ml,并都在時間10初始化它們的時隙計數(shù)器。M3和M4在時間9初始化。從處理時間的角度,模塊會在完成2的時候給出下—個通知。Ml在時間20處完成。由于M2等待M2的初始化,因此15現(xiàn)在M2在時間19完成。其他兩個模塊在時間18處完成。Ml的時隙計數(shù)器在時間20處初始化。M2的時隙計數(shù)器等待M1,也在時間20處初始化。盡管M3在時間18處發(fā)送了它自身的通知,但是只有在也接收到來自M2的通知的時間19時,才初始化它的時隙計數(shù)器。M4在時間18處完成,并在相同的時間從M3接收通知。因此,M420在時間18處初始化它的時隙計數(shù)器。在完成3這一行,表示了模塊在哪個時間第三次達到第二操作狀態(tài)?,F(xiàn)在可以看出,模塊M4不會立即重置它的時隙計數(shù)器,而是等待一個時間單位,因為它仍必須從模塊M3接收通知。這樣,對每個模塊之間的數(shù)據(jù)業(yè)務被同步,從而避免了緩沖器的溢出/下溢。應當強調,本發(fā)明的保護范圍并不限于在此所描述的實施例。系5統(tǒng)部分可以在硬件、軟件或其結合中實現(xiàn)。本發(fā)明的保護范圍也不受到權利要求中的附圖標記的限制。單詞"包括"不排除在權利要求以外的其他部分。部件前的單詞"一個"不排除這些部件的多個。組成本發(fā)明的部分的裝置既可以在專用硬件的形式中實現(xiàn),也可以在編程的通用處理器中實現(xiàn)。本發(fā)明在于每個新特征或這些特征的結合。權利要求1、一種數(shù)據(jù)處理系統(tǒng),包括至少第一和第二模塊的組,其中每5個模塊具有-數(shù)據(jù)處理裝置,-時鐘,用于對從所述模塊到另一個模塊的數(shù)據(jù)傳輸進行計時,-時隙計數(shù)器,用于對數(shù)據(jù)傳輸可用的時隙的數(shù)量進行計數(shù),所述模塊具有第一操作狀態(tài)和第二操作狀態(tài),其中,第一操作狀態(tài)中的時隙的數(shù)量的計數(shù)小于或等于預定數(shù)量,在該操作狀態(tài)中啟用數(shù)據(jù)傳輸,而第二操作狀態(tài)中的所述數(shù)量超過了預定數(shù)量,在該第二操作狀態(tài)中禁用數(shù)據(jù)傳輸,每個模塊具有通知裝置,用于當所述模塊處于第二操作狀態(tài)中時進行通知,所述數(shù)據(jù)處理系統(tǒng)具有檢測裝置,用于檢測是否所有其他模塊都已經通知了它們處于第二操作狀態(tài)中,所述模塊具有初始化裝置,用于當所述模塊處于第二操作狀態(tài),且每個其他模塊都已經通知了所述其他模塊處于第二操作狀態(tài)中時,重置時隙計數(shù)器。2、根據(jù)權利要求1所述的系統(tǒng),其中所述模塊的時鐘的周期時間最多相差平均周期時間的預定分數(shù),以及預定數(shù)量的時隙的持續(xù)時間小于所述分數(shù)的倒數(shù)。3、根據(jù)權利要求2所述的系統(tǒng),其中預定數(shù)量的時隙的持續(xù)時間大于倒數(shù)值的四分之一,并小于倒數(shù)值的四分之三。4、根據(jù)權利要求1所述的系統(tǒng),具有如權利要求1所述的另一模塊組,其中當來自所述組的子組的模塊處于第二操作狀態(tài)中時,通知來自所述另一組的子組的模塊,以及當來自所述另一組的子組的模塊處于第二操作狀態(tài)中時,通知來自所述組的子組的模塊。5、一種用于操作數(shù)據(jù)處理系統(tǒng)的方法,該系統(tǒng)包括至少具有相互獨立的時鐘的第一和第二模塊的組,對于每個模塊,所述方法包括以下步驟a.初始化計數(shù)器,用于對時隙的數(shù)量進行計數(shù),b.在每個時隙,確定數(shù)據(jù)是否可用于向另一個模塊傳輸,如果是,則傳輸所述數(shù)據(jù),C.在每個時隙增加對于時隙的數(shù)量的計數(shù),d.如果所計數(shù)的數(shù)量沒有超過預定數(shù)量,則從步驟b重復所述方法,e.如果所計數(shù)的數(shù)量超過了預定數(shù)量,則將所計數(shù)的數(shù)量超過了預定數(shù)量通知給所述組的其他模塊,f.等待,直到所述組中的其他模塊通知超過預定數(shù)量,g.從步驟a重復所述方法。全文摘要根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng),包括至少第一和第二模塊的組,其中每個模塊具有數(shù)據(jù)處理裝置;時鐘,用于對從一個模塊到另一個模塊的數(shù)據(jù)傳輸計時;時隙計數(shù)器,用于對數(shù)據(jù)傳輸可用的時隙的數(shù)量計數(shù)。所述模塊具有第一操作狀態(tài)和第二操作狀態(tài),其中第一操作狀態(tài)中的時隙的數(shù)量的計數(shù)小于或等于預定數(shù)量,在該操作狀態(tài)中啟用數(shù)據(jù)傳輸,而第二操作狀態(tài)中的數(shù)量超過了預定數(shù)量,在該第二操作狀態(tài)中禁用數(shù)據(jù)傳輸。每個模塊具有通知裝置,用于當該模塊處于第二操作狀態(tài)中時進行通知。數(shù)據(jù)處理系統(tǒng)具有至少一個檢測裝置,用于檢測是否其他模塊都已經通知了它們處于第二操作狀態(tài)中,且每個模塊具有初始化裝置,用于當模塊處于第二操作狀態(tài),且每個其他模塊都已經通知處于第二操作狀態(tài)中時,重置時隙計數(shù)器。文檔編號H04J3/06GK101147345SQ200680006809公開日2008年3月19日申請日期2006年3月1日優(yōu)先權日2005年3月4日發(fā)明者埃瓦·赫克斯特拉-諾瓦卡,安德烈·勒杜列斯庫,彼得·范登哈默,科內利斯·H·范貝克萊申請人:Nxp股份有限公司