專利名稱:具有低延遲的通信總線的制作方法
技術領域:
本發(fā)明涉及對在發(fā)送器和接收器之間的物理通信信道上的數(shù)據(jù)和命令流進行的控制,更具體地,涉及一種用于點對點總線結構的協(xié)議,對于任何數(shù)據(jù)分組幀長,該點對點總線結構對流控制信令和其它信令具有低的延遲時間。
背景技術:
典型數(shù)據(jù)處理器總線系統(tǒng)配置當其用于片上系統(tǒng)(SoC)類型的結構通信時速度過慢并且笨重,特別是當同時需要多數(shù)據(jù)流的時候。常規(guī)的平行總線能夠提供數(shù)據(jù)傳輸能力,但是它們會曲解錯誤,而常規(guī)的串行總線需要硬連線的時鐘或重新生成的時鐘。另外一個可能是使用多層級的信令。即使在連續(xù)的比特期間發(fā)送相同的符號,多層級總線也可用于使得傳輸?shù)姆雀淖?,以便提供固有時鐘信號。然而這個信令方法現(xiàn)在更多地用于提供從零到很高值的可調級的異步比特率,而不是用于增加信息內容。應當理解,如果能夠使用快速低延遲的信令而不用硬連接的控制信號或者使用短分組,則串行多層級總線以及其它總線類型的可應用性會得到加強。
通信鏈路通常被描述為分層模型,如圖1所示,圖1表示如何在發(fā)送處理101和接收處理102之間的不同協(xié)議層上對信息進行封裝。例如,應用層報頭(AH)加在應用層上,表示層報頭(PH)加在表示層上,等等。雖然實際的傳輸僅在物理層100上發(fā)生,但是在概念上僅是接收層與匹配的發(fā)送層聯(lián)系,并且在概念上可以在相同層級上使用相逆的信道發(fā)送信號。
實際上,每層僅與它上面的一層或下面的一層進行通信,并且在處理過程中加入各個報頭103和104信息??梢钥吹降氖鞘褂昧骺刂频娜魏胃邔佣紩黾臃磻獣r間,這是因為增加了額外的報頭103。要注意的是,通常數(shù)據(jù)終止報頭106插在數(shù)據(jù)鏈路層上,但是這可以通過自己在報頭104中包括幀的大小而略去,或者通過規(guī)定下一個報頭被認為是數(shù)據(jù)終止而略去。
無論采用什么樣的帶有獨立時鐘線或重新生成的時鐘信號的電接口方法,串行或并行,異步或同步,當對于流控制信號使用相同層時的系統(tǒng)限制是延遲時間。在常規(guī)的串行鏈路中,延遲時間在很大程度上直接與最低協(xié)議層上的信息分組幀長相關。短幀長可以提供所需要的短的延遲時間,因為不需要握手信令或中斷信令等待前一個長幀結束。一個方法是丟棄在幀的中間正在進行傳輸?shù)娜魏伍L幀,然后發(fā)送包含低延遲信號的新的短幀。但是,當中斷信號或握手信號的相對強度高的時候,這種方法是浪費的。使用最低層級上的短幀不象丟棄幀一樣浪費,但是由于形成幀報頭的開銷這種方法不太可取,該開銷無論對于怎樣的發(fā)送低延遲信號的要求都是常數(shù)。
移動介質終端包含由標準化的高帶寬點對點串行或并行鏈接連接的模塊。許多這些鏈接必須同時支持等時的連接和異步連接以及高速數(shù)據(jù)傳輸和低速數(shù)據(jù)傳送,并且為控制信號提供非??斓难舆t時間,即使對于不同的信號和流,幀長從非常短到非常長發(fā)生變化。當集成快速硬件(HW)處理來處理語音、視頻和其它的多媒體流時,多媒體應用和所需的高速第三代(3G)性能的出現(xiàn)都要求非常短以及得到保證的延遲時間。這些應用及其類似應用需要SoC上的低延遲時間。另外,典型的由圖形用戶界面(GUI)驅動的多媒體應用生成也需要在硬件平臺上執(zhí)行的各種變化的數(shù)據(jù)傳送和處理任務。
串行總線對于快速片外通信是優(yōu)選的選擇,而并行數(shù)據(jù)總線對于片上通信是優(yōu)選的選擇。但是,當用于高速數(shù)據(jù)傳送時,并行總線易于曲解錯誤。用于片外通信的典型的片外串行總線的使用受到限制,因為需要提供時鐘信號。時鐘可以重新生成,而這會使系統(tǒng)變慢,或者可選擇地可以利用異步信令。在這個方法中,多層級異步總線的時鐘由多層級信號自己提供。
單個總線不能提供足夠的數(shù)據(jù)傳送速度是系統(tǒng)的瓶頸,從而使得在典型的SoC結構中使用多個點對點的連接是有利的。但是,這些多個點對點數(shù)據(jù)流對于以靈活的方式進行控制是復雜的,并且當實施靈活的軟件驅動應用時,SoC結構中數(shù)據(jù)流的動態(tài)控制是必須的。
明確地需要靈活快速的方法來處理具有低延遲時間的控制和中斷信號。專用的硬件連接的使用是最優(yōu)的,但是這種連接并不總是在連接不同芯片或外圍單元的總線上可用。
即使幀長是短的,例如在內部集成電路(I2C)總線(在20世紀80年代開發(fā)的簡單雙線串行總線)的情況下,當信號通過多個節(jié)點時,多節(jié)點系統(tǒng)將施加與延遲相關的系統(tǒng)限制。根據(jù)I2C規(guī)范,逆向的確定必須在接收到字符之后的下一個時鐘跳變處由源進行接收,并且在多節(jié)點系統(tǒng)中,這個確定通過一串節(jié)點。在這種情況下,對于處理隧道的確認而言總的環(huán)路延遲時間可能太長,從而阻止了使用隧道協(xié)議。
發(fā)明內容
在本發(fā)明的一個方面中,提供了一種包括連接到物理層的數(shù)據(jù)鏈路層的通信總線,其中,數(shù)據(jù)鏈路層用作能夠對至少一個抽象協(xié)議進行復用以疊加到數(shù)據(jù)鏈路層的幀及信道協(xié)議上的復用器。
在本發(fā)明的另一個方面中,提供了一種包括節(jié)點的終端,可用多個協(xié)議棧工作的通信總線將至少一些所述節(jié)點連接到一起,該多個協(xié)議棧中的單個協(xié)議棧與節(jié)點中的單個節(jié)點相關聯(lián)。每個協(xié)議棧包括連接到物理層的數(shù)據(jù)鏈路層,其中,所述數(shù)據(jù)鏈路層將至少一個抽象協(xié)議復用到數(shù)據(jù)鏈路層的幀和信道協(xié)議上。在本發(fā)明的優(yōu)選實施例中,一個幀包括多個信道,其中至少一個信道可以被定義為盡力服務信道,并且其中,如果存在未使用的幀帶寬,則所述數(shù)據(jù)鏈路層將未使用的幀帶寬分配給所述至少一個盡力服務信道。
在本發(fā)明的另一個方面中,還提供了一種通信方法。該方法包括提供連接到物理層的具有多個幀的數(shù)據(jù)鏈路層,所述數(shù)據(jù)鏈路層使用協(xié)議進行工作,每個所述幀包括多個信道,其中,至少一個信道被定義為盡力服務信道;以及如果存在未使用的幀帶寬,則將未使用的幀帶寬分配給所述至少一個盡力服務信道。
在本發(fā)明的另一個方面中,還提供一種包括節(jié)點的終端,其中,用多個協(xié)議棧工作的通信總線將至少一些所述節(jié)點連接到一起,所述多個協(xié)議棧的單個與所述節(jié)點的單個相關聯(lián)。所述協(xié)議棧包括連接到物理層的具有多個幀的數(shù)據(jù)鏈路層,所述數(shù)據(jù)鏈路層使用協(xié)議進行工作,所述幀包括多個信道,其中信道包括令牌。至少一個信道被定義為用于具有低延遲要求的業(yè)務流的信令信道,所述數(shù)據(jù)鏈路層可用于將信令信道令牌與來自至少一個非信令信道的令牌交替布置。
在本發(fā)明的另一個方面中,提供了一種附屬模塊,包括用于連接到包括節(jié)點的終端的節(jié)點,其中,該附屬模塊適用于將節(jié)點通過通信總線連接到終端的至少一個節(jié)點。
當結合附圖閱讀下面關于優(yōu)選實施例的詳細描述時,本發(fā)明的這些啟示的上述方面和其它方面將變得明顯,其中圖1表示根據(jù)現(xiàn)有技術的協(xié)議層的分級示意圖;圖2表示本發(fā)明所用的協(xié)議層;圖3表示數(shù)據(jù)鏈路層編碼;圖4a-4f一起被稱為圖4,表示了通信協(xié)議,其中,圖4a表示具有源字段和目標字段的命令,圖4b表示一個命令,圖4c表示另一個協(xié)議的隧道,圖4d表示控制流命令,圖4e表示信道命令的開始,圖4f表示開始幀和結束幀;圖5a-5d一起被稱為圖5,表示幀結構,其中,圖5a表示幀的邏輯視圖,圖5b表示沒有令牌重新安排的幀結構,圖5c表示具有令牌重新安排的幀結構,圖5d表示具有令牌重新安排的幀結構;圖6表示用于流控制的令牌處理;
圖7a和7b一起被稱為圖7,描述了路由表;圖8-12為描述隧道層操作期間所參考的框圖;圖13為例如蜂窩電話的便攜終端的簡化框圖,該便攜終端由互連的節(jié)點構成,這些節(jié)點通過這里所述的多值高速串行總線(MVHSS_Bus)及其協(xié)議進行互連;以及圖14a-14c一起被稱為圖14,表示具有附加選通電平的4電平邏輯示例波形圖(圖14a),以及100mV信號幅度(圖14b)和200mV信號幅度(圖14c)的選通信號。
具體實施例方式
可以參照共同轉讓的、2003年10月10日提交的、主題為“Method and Apparatus Employing PAM-5 Coding with ClockEmbedded in Data Stream and Having A Transition When Data BitsRemain Unchanged”、發(fā)明人為Martti Voutilainen的美國專利申請S.N.10/684,169以及共同轉讓的、申請日為__、主題為“MicrocodeArchitecture for a system of a Chip(SoC)”、發(fā)明人為Kim Sanstrom的美國專利申請S.N.10/__,后者主張申請日為2003年10月10日的美國臨時專利申請No.60/510,680的優(yōu)先權,這些參考文獻在此引入作為參考。
通過介紹的方式,本發(fā)明的優(yōu)選實施例提供與點對點總線結構一起使用的協(xié)議,其中,該協(xié)議表示用于流控制和其它信令的低延遲時間,而不管數(shù)據(jù)分組幀的長度如何。
數(shù)據(jù)流控制協(xié)議可以由各種片上總線和片外總線使用。該協(xié)議僅與最低協(xié)議層相互作用,并且單獨地緩沖數(shù)據(jù)和控制信號。根據(jù)本發(fā)明的當前的優(yōu)選實施例,僅使用傳送層下的協(xié)議層,并且可以使用的最高協(xié)議層是數(shù)據(jù)鏈路層及其上的抽象路由層。通常的數(shù)據(jù)鏈路層用于傳送凈荷數(shù)據(jù)。
該協(xié)議還使得總線與較低的總線相兼容,較低的總線例如但不限于可以連接到通信信道的I2C總線。該協(xié)議還使得總線也能夠支持額外的控制功能,而不涉及例如傳送層的較高的協(xié)議層。使用本發(fā)明實施例的一個特別的但不是僅有的優(yōu)點是大大降低了中斷信號或任何在總線上被發(fā)送并且用于例如喚醒或擁擠控制的其它控制信號的延遲。
本發(fā)明的實施例提供了疊加在數(shù)據(jù)鏈路協(xié)議層上的抽象協(xié)議。該抽象協(xié)議是通用的而不依賴于總線,并且能夠適于使用各種物理層。該抽象協(xié)議可以用于片上和片外總線并且可以與較低的總線互連。優(yōu)選的抽象協(xié)議允許其它總線協(xié)議的隧道。抽象協(xié)議優(yōu)選地僅與最低的協(xié)議層相互作用。在本發(fā)明實施例的一個方面中,最簡單的總線節(jié)點能夠在某些情況中僅與協(xié)議棧中的兩個最低層(例如,數(shù)據(jù)鏈路層和物理層)一起工作。為了降低延遲,可以在總線的每個接收節(jié)點中采用單獨的用于數(shù)據(jù)和控制信號的緩沖器。
當前抽象數(shù)據(jù)鏈路層的優(yōu)選實施例用于將不同物理層的特質從較高協(xié)議層級中分開,從而無論使用什么物理層,它具有共同的到數(shù)據(jù)鏈路層的接口。
當前抽象數(shù)據(jù)鏈路層的優(yōu)選實施例還用于提供具有經改善的延遲時間的流控制和其它信令,而不用使用單獨的物理介質,并且獨立于數(shù)據(jù)的幀長。
當前抽象數(shù)據(jù)鏈路層的優(yōu)選實施例還用于提供具有經改善的延遲時間的流控制和其它信令,而不需要對數(shù)據(jù)流進行緩沖。
當前抽象數(shù)據(jù)鏈路層的優(yōu)選實施例還用于通過例如檢測和發(fā)送關機狀態(tài)、同步狀態(tài)、異步狀態(tài)、電源節(jié)省模式狀態(tài)、無電源狀態(tài)和各種錯誤狀態(tài)提取關于下面的物理層的狀況信息。
優(yōu)選地,協(xié)議棧獨立于正在使用的物理層生成,并且可以提供帶內信令以獲得允許例如協(xié)議隧道的低延遲。
使用本發(fā)明的優(yōu)選實施例,當使用帶內方法時,例如當有限的電連接可用時或者當需要以通用的方式統(tǒng)一控制方法時,幀長不再是為控制和中斷信號提供低延時的阻礙。
在根據(jù)本發(fā)明的實施例中,通過將抽象層從凈荷數(shù)據(jù)緩沖中分開,數(shù)據(jù)鏈路層之上的抽象低延遲層使得可能使用更長的幀,而不用增加延遲時間。
這里還要描述的是一種通信總線,其中,通過允許其它總線協(xié)議的一個或多個低層級、高層級和混合隧道,從而允許協(xié)議與其它類型的總線進行互連。
這里還要描述的是一種通信總線,其中,協(xié)議允許協(xié)議兼容率(Protocol Compatibility Rating)被分配給單獨的總線節(jié)點用于確定總線網絡的完整性。
這里還要描述的是一種通信總線,其中,設備是可熱插拔的,并且,協(xié)議包括使用存儲讀取技術發(fā)現(xiàn)與總線連接的設備的標識符的機制。協(xié)議還可以包括對設備連接和斷開連接以及由于串行總線結構的自鎖特性導致的失去同步所產生的錯誤進行檢測和恢復。
這里還要描述的是一種通信總線,其中,協(xié)議允許分配帶寬,由數(shù)據(jù)鏈路層發(fā)送和接收的數(shù)據(jù)被分割為幀,幀表示在給定的時間可用的帶寬的總量,每個幀被分割為信道,分配給信道的多個字節(jié)表示可以由給定信道使用的幀的百分比。帶寬分配過程優(yōu)選地基于對給定幀的信道中被發(fā)送的字節(jié)數(shù)進行計數(shù),如果字節(jié)數(shù)等于或大于信道的幀百分比所允許的字節(jié)數(shù),則在當前幀期間這個具體信道上不允許進一步發(fā)送數(shù)據(jù)。信道可以被分割為固定大小的單元,在幀中所有的單元都可以進行混合,而不管他們所來自的信道。
首先在串行通信總線的上下文中對本發(fā)明的實施例進行描述和說明。但是,應當記住,根據(jù)本發(fā)明的啟示同樣可以用于并行通信總線,并且一般地可以用于任何類型的點對點通信總線。因此,隨后對于本發(fā)明的某些串行總線實施例的描述不應當被解釋為對于本發(fā)明的啟示和實踐的限制。
圖2表示根據(jù)本發(fā)明的協(xié)議結構,包括低延遲信令機制和正常的數(shù)據(jù)路由。圖2表示包括多個節(jié)點的網絡帶有協(xié)議棧210的傳輸器211、帶有協(xié)議棧240的接收器241以及帶有協(xié)議棧220和230的路由器250。
圖2中所示的協(xié)議結構的至少一部分可以認為是結合下面將要詳細描述的協(xié)議的各個方面實施當前優(yōu)選的比特串行數(shù)據(jù)通信網絡,這里稱之為多值高速串行總線(MVHSS_Bus)200。
以示例的方式而不是限制的方式,MVHSS_Bus200的速度范圍可以從幾個Mbit/s到至少2Gbit/s。在總線上可以使用二個或三個電壓水平,雖然三個以上的電壓水平也可以使用。
作為MVHSS_Bus200波形的一個非限制性的例子,可以參照圖14,也可以參照前面所述的共同轉讓的申請日為2003年10月10日、發(fā)明人為Martti Voutilainen、主題為“Method and ApparatusEmployiing PAM-5 Coding with Clock Embedded in Data Stream andHaving A Transition When Data Bits Remain Unchanged”的美國專利申請S.N.10/684,169。圖14表示有不同的5電平脈沖幅度調制(PAM-5)信號。圖14a表示4電平邏輯和當連續(xù)的數(shù)據(jù)沒有改變時用于指示期間的一個選通電平。與2電平二進制邏輯相比,發(fā)送的帶寬為log(4)/log(2)=2。在接收器電路上,上升和下降邊緣用于對從接收器電路輸出的數(shù)據(jù)比特進行取樣,選通電平表示重復數(shù)據(jù)的在線情況(其中,在PAM-5波形中通常不會存在上升邊緣或下降邊緣)。100mV信號幅度的選通信號顯示在圖14b中,而200mV信號幅度的選通信號顯示在圖14c中。這些波形示意圖僅是可以用于MVHSS_Bus200的可能的多值波形的例子(例如,PAM-3類型的信令可以用于其它實施例中)。
每個協(xié)議棧210、220、230和240包括物理層201、數(shù)據(jù)鏈路層202和網絡層203,雖然為了簡明起見僅列舉了協(xié)議棧210中的各層。這里使用了OSI層定義。物理層201將邏輯信號轉換為傳輸介質213上的電信號或其它信號,并且也將接收到的信號243轉換為邏輯信號。
數(shù)據(jù)鏈路層202用于使得能夠進行點對點(peer-to-peer)通信,而網絡層203提供從網絡的一個節(jié)點發(fā)送信息到另一個節(jié)點的可能性。
為了對網絡中的數(shù)據(jù)抖動進行補償以及在更高層上減小中斷限制,數(shù)據(jù)鏈路層202包括緩沖器216、226、236和246。緩沖器216、226、236和246使得快速、低電平的控制流成為可能??焖倭骺刂坪途彌_能夠減少在別處所需的緩沖器的數(shù)量和大小。
路由層250用于對那些還沒有到達它們目的地的分組進行轉發(fā)。將分組轉發(fā)給網絡的給定部分的決定基于對路由器中存儲的動態(tài)路由表進行檢查。
存在許多路由器結構,但是為了簡潔以及易于理解起見,在圖2中,路由器250(路由層)簡單地由一組輸入緩沖器227和一組輸出緩沖器237作為示例,路由發(fā)生在這些緩沖器和其它緩沖器之間,圖中沒有示出。
當中斷212或者控制信號或者任何低延遲信號被觸發(fā)時,網絡層203被旁路并且在數(shù)據(jù)鏈路層202上對這個信號進行編碼。在路由器250的接收點節(jié)點中,數(shù)據(jù)鏈路層202以具體的方式處理低延遲信號222它對正常的數(shù)據(jù)緩沖進行旁路并立即將它轉發(fā)到抽象低延遲路由層250,在短時間內,典型地僅在幾個時鐘周期之內,并且在路由表的輔助之下,抽象低延遲路由層250可以決定將低延遲信號222作為信號232并最終作為信號242轉發(fā)到的位置。
在將低延遲信號路由到它的目的節(jié)點之后,路由器250和接收器數(shù)據(jù)鏈路層202以具體的方式傳輸這個信號通過對數(shù)據(jù)鏈路層202的緩沖器236和246進行旁路以獲得優(yōu)化的反應時間。
提供的信令機制還可以用于數(shù)據(jù)流控制當接收器240能夠處理更多數(shù)據(jù)時,它通過發(fā)送數(shù)據(jù)流控制命令通知傳輸器210,該數(shù)據(jù)流控制命令包括關于仍然剩余在接收緩沖器246中的自由字節(jié)數(shù)的指示。
在這一點上,重要的是要理解數(shù)據(jù)流控制優(yōu)選地在數(shù)據(jù)鏈路層202中進行處理,因此可用于相鄰的節(jié)點。數(shù)據(jù)流控制在這兩個節(jié)點之間進行操作,并且由路由器250進行處理以便傳遞。在當前優(yōu)選的MVHSS_Bus200中,各種MVHSS_Bus路由器可以在總線的兩段之間鏈接數(shù)據(jù)流控制。
圖6表示路由層250處理流控制的技術。雖然圖2和圖6中沒有顯示,但是通常地兩個節(jié)點之間的連接是雙向的,從而流控制消息可以在相反的方向230/220上進行傳遞。這使得流控制從最近的節(jié)點到先前的可能的節(jié)點。
輸出緩沖器充滿了來自輸入緩沖器的數(shù)據(jù),并且反方向上的流控制保證了在輸出緩沖器中不會出現(xiàn)溢出。流控制信息然后從一段總線傳播到另一段總線。在圖6中,節(jié)點220控制來自節(jié)點210的數(shù)據(jù)流,節(jié)點240控制來自節(jié)點230的流。在路由層250中,節(jié)點230控制來自節(jié)點220的流。后者的流控制優(yōu)選地不使用低延遲控制實現(xiàn),這個本地(路由器內部層)功能能夠以多種合適的方式實施(例如,可以為硬連接)。
數(shù)據(jù)鏈路層的使用所需要的其它控制信號也可以使用所描述的方法進行實施。例如,圖4f描述了開始幀451和結束幀452的使用。這種幀可以用于例如額外的信令并作為標志。
圖3表示基于8比特字對數(shù)據(jù)鏈路層進行編碼的典型技術。比特位置301從數(shù)據(jù)(d)字節(jié)中區(qū)分出命令(c)。在實踐中,10比特用于對例如8比特字節(jié)進行編碼其中,一個比特(301)用于區(qū)分數(shù)據(jù)字節(jié)或命令;隨后的8個比特是數(shù)據(jù)凈荷或命令;最后(第十個)比特用于指示前面比特的奇偶(P)。
圖4a表示命令字中使用的比特。每個具體的命令唯一地由6比特寬的命令標識符412進行描述。每個命令具有額外的2比特寬度大小的字段411,字段411可被解釋為完成命令所需要的10個比特字的數(shù)量,但是也可以是具體命令的參數(shù)而不需要額外的字。
圖4a進一步表示示例的命令。以410作為例子的中斷命令為三個字的命令,包括具有大小411和區(qū)分符412字段的命令字410、保存中斷發(fā)起者(源)的網絡地址的一個字413和保存目的地網絡地址的一個字414。
低延遲信令可以額外地用于在例如MVHSS_Bus200的更快的總線上生成現(xiàn)有協(xié)議的隧道。例如,參照圖4b、4c、4d和4e,根據(jù)I2C協(xié)議定義兩個命令一個命令421用于發(fā)送I2C信號SDA和SCL的邏輯狀態(tài);另一個命令431用于相同的目的,并且就什么樣的虛擬I2C(432)發(fā)布了該命令而進行的額外的定義。使用后面的命令,通過使用這里所述的方法提供所期望的低延遲信令,就可能透明地對于幾個完全獨立的I2C總線在另一個(更快的)例如MVHSS_Bus200的總線上建立隧道。字節(jié)數(shù)(441)和信道標識符(442)也可以被指定。
圖5a表示幀540的邏輯視圖。幀540被分割為各個信道511、512和513,例如數(shù)據(jù)信道和控制信道。一個控制信道514用于在幀540中保留一定量的空間以保持可能在幀期間隨時出現(xiàn)的低延遲命令。這個保留的空間被動態(tài)地進行分配,并且保證在數(shù)據(jù)流中插入中斷或控制命令不會導致幀540超過定義的大小。
為了避免當使用長信道時導致延遲的增加,可以將令牌插入到信道中,并且當被插入到信道時來自不同信道的令牌可以有利地進行插幀或混合。圖5a、5b、5c和5d表示對來自不同信道的令牌重新安排的結果。圖5a中幀540的信道511、512和513可以被分割為令牌,例如圖5b中所示的信道-1512的令牌521、522和523。每個令牌包括標識符531、532和533,用于識別令牌所來自的信道。正如圖5c和圖5d中所示的,來自不同信道的令牌可以被混合并且重新安排以在數(shù)據(jù)鏈路層202中傳輸,并且,低延遲信令指示,例如中斷(INT)和控制(CTRL)信號544、545、546(圖5b中)和568和569(圖5c和圖5d中)可以使用信道令牌進行交替布置(具體地如圖5d中所示)。在這種方式中,低延遲鏈路信令消息可以更加快速地提供給需要這個消息的網絡節(jié)點(s)。
在圖5b中,中斷544和546和控制命令545表示為在信道541和542中進行插幀?!氨M力服務”信道被指定為543,并且它的令牌也可以被重新安排并且與來自其它信道的令牌交替布置,如圖5c和圖5d中所示。這種盡力服務信道將在下面進行描述。
這里所采用的令牌被認為是可以從數(shù)據(jù)鏈路層發(fā)送到物理層的最小數(shù)據(jù)量。也就是說,可以認為令牌表示信息的“原子”單元。這里所用的單元表示至少為一個的一定量的令牌,但是優(yōu)選地超過一個令牌。信道的動態(tài)重新安排可能在單元層級上發(fā)生。每個單元的令牌數(shù)越大,用于規(guī)劃和重新安排任務的數(shù)據(jù)的粒度就越大。
不同信道的單元大小并不必須相同。還有,單元可能具有動態(tài)大小??梢哉J為單元是小片的信道,包括信道號,并且單元機制的使用使得在給定幀內具有超過一個給定的信道。
假定所有的單元按順序出現(xiàn)。這樣,為了重建信道,接收器需要以接收到的次序包裝單元。對于數(shù)據(jù)鏈路沒有必要知道給定幀內的單元的數(shù)量,因為幀的開始和結束被明示地指定(見圖4f)。
返回到圖5a-5d的說明,根據(jù)圖5b的幀540也可以如圖5d所示使用一個中斷568和一個控制命令569進行重新安排。
圖5c和圖5d中所示的幀540的剩余未使用部分(帶寬)557對于低延遲信令可用。
圖5d表示用一個中斷568和一個控制命令569從圖5c進行相同的重新安排。另外,與圖5c相比,幀的主要結構相同,并且令牌551、552、553、554和555分別與561、562、563、564和565相同。但是現(xiàn)在所保留的空間557更小了,因為兩個低延遲控制信號568和569已經被重新安排,并且現(xiàn)在可以發(fā)現(xiàn)它們分別被插入到了令牌552和555中。
一般地,主處理器為中斷的接收者并且通過開始中斷例程在它們上面進行動作。這個例程可以是通用的,包括中斷節(jié)點的標識。在本發(fā)明當前的優(yōu)選實施例中,有利地在中斷令牌(例如568)中包括這種信息,以便減少處理時間并且改善對于中斷的反應時間。在這個上下文中,處理器對中斷令牌的接收被認為是中斷,而該令牌從服務命令節(jié)點傳遞到處理器被認為是延遲時間,即使發(fā)布第一中斷令牌和開始正在處理的處理器的上下文交換之間的實際時間為實際的延遲時間。
但是,執(zhí)行中斷導致的上下文交換所需要的時間通常比傳遞中斷請求令牌所需的時間短得多。
在典型的介質終端(參見圖13中介質終端1500的當前的優(yōu)選實施例)中,例如當畫面數(shù)據(jù)被傳送時,來自照相機部件1360的中斷總是由平臺處理器接收,所以中斷令牌的路由非常簡單,即,中斷令牌總是被路由至處理器,所以不需要路由表。但是,能夠想像到可能會存在幾個可能的中斷接收器。在這種情況下,令牌包括關于有意的接收器的身份的信息,并且傳遞節(jié)點具有路由表,該路由表可以在終端配置或操作模式改變的任何時候由主處理器動態(tài)地改變。這個身份可以如前面參照圖4a所述的進行傳遞。
一般地,MVHSS_Bus200上的每個節(jié)點可能具有生成和接收中斷的能力。在這種情況下,每個中斷令牌優(yōu)選地用接收節(jié)點、發(fā)起節(jié)點和中斷類型進行編碼。中斷類型可以包含在中斷命令自身中。
使用路由表的網絡層地址意味著包括路由表中唯一網絡地址的長文字串,每個文字串為幾個字節(jié)的長度。基于網絡層地址的字節(jié)數(shù),這可以會導致不希望的將會增加延遲時間的長路由消息。
另一個方法假定總線上僅有幾個節(jié)點請求中斷服務,僅使用幾個比特來對中斷的目標進行編碼。在這種情況下,在對能夠發(fā)送或接收中斷的這種節(jié)點進行登記之后,可以向每個所登記的節(jié)點分配唯一的號碼。這些號碼可以表示中斷信道。圖7舉例說明了常規(guī)的IP LAN路由表(圖7a)和根據(jù)本發(fā)明使用短信道號碼的減小了尺寸的路由表之間的區(qū)別。很清楚,在多個節(jié)點被連接到一起的任何時候,使用短信道號碼能夠獲得基本上整個存儲器的節(jié)約,因為每個節(jié)點具有自己的存儲在本地讀/寫存儲器中的路由表。正如前面所述的,這些路由表優(yōu)選地在系統(tǒng)配置改變的任何時候被動態(tài)地進行重寫。
基于前面所述的,應當清楚本發(fā)明提供至少一個可以疊加在數(shù)據(jù)鏈路協(xié)議層202上的抽象協(xié)議,以便向點對點串行總線結構提供用于流控制和其它信令的低延遲時間,而不管分組幀的長度如何。該抽象協(xié)議是通用的并且不依賴于總線,并且它可以適用于使用各種物理層。它可以用于各種總線,并且通過允許其它總線協(xié)議的隧道而能夠與較慢總線進行互連。
本發(fā)明的一個方面是在傳輸器和接收器之間的物理通信信道上對數(shù)據(jù)和命令流進行控制,更具體地,提供一種無論所用的數(shù)據(jù)分組幀的長度如何具有用于流控制和其它信令的低延遲時間的點對點串行總線結構的協(xié)議。該抽象數(shù)據(jù)流控制協(xié)議可以由各種片上總線或片外總線使用。該協(xié)議僅與最低的協(xié)議層相互作用,并且單獨地對數(shù)據(jù)和控制信號進行緩沖。作為附加的好處,該協(xié)議允許總線與其它可能更慢的總線兼容,例如可以連接到通信信道的12C,還允許總線支持附加的控制功能而不用涉及更高的協(xié)議層。
一個方法的實施例傳遞快速的控制信令,并且可用于各種總線系統(tǒng)中,無論該總線是異步還是同步、是否使用硬連接時鐘信號或該時鐘信號是否在接收器中重新生成。該方法傳遞快速控制信令的性能不依賴于所用的幀長并且可生成得到保證的小延遲時間。
使用該方法來傳遞快速控制信令并不降低整個系統(tǒng)的性能,因為不需要丟棄幀。使用該方法來傳遞快速控制信令還允許對于凈荷的所有可用幀空間的有效利用,因為相同的信令方法可以用在反向信道上以將剩余幀空間以信號發(fā)送到傳輸末端。另外,傳遞快速控制信令的方法可以以相同的方式用于以信號發(fā)送節(jié)點和系統(tǒng)狀況信息。
在許多應用中的一個重要的好處在于,數(shù)據(jù)鏈路層202向流控制和其它信令提供改善的延遲時間,而不用使用單獨的物理介質,也不用依賴于數(shù)據(jù)幀的長度。
使用數(shù)據(jù)鏈路層202的一個好處在于它通過對數(shù)據(jù)流緩沖進行旁路從而向快速控制和其它信令提供改善的延遲時間。而使用數(shù)據(jù)鏈路層202的另一個好處在于它能夠適用于提取關于下面的物理層201的狀態(tài)信息并且以信號發(fā)送該信息,并且它能夠適用于將不同物理層的特質與上面的協(xié)議層級進行分離,從而無論使用什么物理層,它都具有到數(shù)據(jù)鏈路層202的公共接口。
正如前面所述的,MVHSS_Bus 200為設計為通用模塊總線的低功率高速串行鏈路總線,非常適合于例如蜂窩電話的便攜式終端,但是并不僅限于這個重要的應用。與常規(guī)總線相比,MVHSS_Bus 200的典型的優(yōu)點在于a)僅需要少量的信號,減少了IC封裝上的管腳和球形凸點的數(shù)量,從而降低了成本并且提高了可靠性;b)提高了抗電磁干擾性;c)由于它的模塊性和通用性,所以能夠替換許多現(xiàn)有類型的總線;以及d)該總線是可熱插拔的,能夠將部件從總線移開或者將部件添加到總線上而不用關閉電源。
關于后面的這個特征,使用不同的技術來檢測錯誤和斷開連接,并且更一般地,從錯誤或故障中恢復。
在本發(fā)明的一個方面中,MVHSS_Bus 200為高速可插拔的串行鏈路。當MVHSS_Bus 200鏈路正常工作時,可能會出現(xiàn)錯誤事件,該錯誤事件包括誤碼、斷開連接和失去同步,因此希望快速地恢復到完全工作的狀態(tài)。本發(fā)明的一個方面使用一種可配置的靈活的恢復機制集。
本發(fā)明的一個期望的特征是它可以用于許多不同的應用中以及各種電環(huán)境中。換句話說,根據(jù)MVHSS_Bus 200所使用的場合,一些恢復機制可能會變成無效或多余。因為每個恢復機制都使用資源和帶寬,所以選擇哪種恢復機制最適合某個操作環(huán)境是本發(fā)明這一方面的特征。
在典型的MVHSS_Bus 200網絡中,可能存在具有不同電環(huán)境的點對點(peer-to-peer)的鏈路例如,一部分網絡在電纜上,另一部分網絡在印制電路板上,而另一部分網絡用于連接到可分開的模塊。本發(fā)明能夠在一組恢復機制中進行選擇以發(fā)現(xiàn)一個或多個最適合具體環(huán)境的恢復機制。
誤碼能夠導致許多其它不同種的錯誤。這些錯誤包括但不限于失去同步以及對控制代碼的誤解。根據(jù)MVHSS_Bus 200所使用的場合,誤碼率可以會變化很大(例如,電纜vs.印制電路板)。
在最低的層級上,使用奇偶校驗比特或小CRC碼對錯誤進行處理。在低誤碼率環(huán)境中,令牌可以為10比特1個比特用于對命令令牌和數(shù)據(jù)令牌進行區(qū)分,8個比特的數(shù)據(jù)以及1個奇偶校驗比特(參見圖4)。
如果該環(huán)境具有更高的誤碼率,則可以使用一個以上的奇偶校驗比特(例如,可以使用3比特CRC)。在這種情況中,令牌的長度可以為36比特1個比特用于區(qū)分命令令牌和數(shù)據(jù)令牌,32比特用于數(shù)據(jù),3個比特用于CRC。當檢測出誤碼時,可以丟棄錯誤令牌。
因為MVHSS_Bus 200可以使用熱插拔鏈接,所以任何時候都有可能出現(xiàn)斷開連接。為了避免總線的錯誤數(shù)據(jù)或者錯誤行為,能夠檢測到斷開事件是重要的。物理層在這個處理中能夠起到幫助作用,因為它被規(guī)定為能夠以信號發(fā)送電連接斷開到數(shù)據(jù)鏈路層。但是,并不是每個斷開連接事件都會導致錯誤的傳輸或錯誤的數(shù)據(jù)。在最好的情況下,當在鏈路上沒有進行任何傳輸時會出現(xiàn)斷開連接,而這并不需要復雜而耗時的機制來進行恢復。
在一個有利于確定斷開連接是否會導致任何錯誤的實施例中,特殊的命令令牌用于在檢測到斷開連接之后對鏈路進行“ping”操作。如果“ping”的發(fā)送者在給定的時間內接收到回應,則不需要進行進一步的動作,并且該鏈路被認為是完全工作的。該“ping”機制能夠顯著地降低該鏈路的恢復時間。
“ping”令牌還可以在正常操作的任何時間用作附加的安全檢查。例如,當鏈路空閑了一個特定的時間之后,可以進行周期性的檢查以保證該鏈路仍然是連接的以及工作的。
失去同步事件可能比誤碼或斷開連接更難處理。對它們進行檢測以及恢復也更加復雜。一個主要的原因是失去同步事件可能具有不同的誘因和效應。例如,如果不能看到時鐘邊沿或如果生成人工時鐘邊沿,則誤碼也可以導致失去同步事件。反過來也是如此,即當鏈路失去同步,則可能會出現(xiàn)許多誤碼。
基于前面所述的,應當理解到能夠準確地檢測到失去同步事件的出現(xiàn)是重要的,由于失去同步檢測可能會花費非常多的時間所以這經常會導致長的恢復時間。
為了檢測“不同步”的鏈路,一個技術假定在接收到一定量的帶有誤碼的連續(xù)的令牌之后已經出現(xiàn)失去同步事件。這與誤碼率有關如果該鏈路具有非常低的誤碼率,則一些連續(xù)的錯誤令牌的出現(xiàn)是非常不可能的。
為了檢測“不同步”的鏈路,也可以使用“ping”命令令牌。如果在發(fā)送“ping”之后沒有接收到回應,則可以假定鏈路斷開連接,或者鏈路失去同步。當數(shù)據(jù)鏈路層202不忙的時候具有“低層級ping”是有利的,因為該回應可以在更短的時間內被接收,這有利于更快速地識別出這個問題。
為了檢測“不同步”鏈路,當節(jié)點的接收器檢測到失去同步情況時,可以發(fā)送“不同步”命令令牌。這是因為MVHSS_Bus 200鏈路被指定為總是雙向的。
為了從“不同步”情形中進行恢復,優(yōu)選地使用重復同步模型。因為傳輸器總是被用作參考,所以接收器用于重新同步。重復方式也可以周期地發(fā)送以作為預防措施,因為如果將出現(xiàn)失去同步則它的使用會縮短恢復時間。
根據(jù)前面所述,很明顯不同的機制優(yōu)選地被用來促進錯誤檢測和恢復,包括從物理層檢測電連接的斷開、用至少1個奇偶校驗比特或3個(或更多個)CRC比特對鏈路上傳輸?shù)臄?shù)據(jù)進行編碼、“不同步”命令令牌、計算連續(xù)錯誤令牌的數(shù)量以及使用重復的同步方式。
現(xiàn)在對帶寬分配進行討論。對于連接到MVHSS_Bus 200的某些設備,對于適當操作而言,當接收或發(fā)送數(shù)據(jù)時總線能夠保證一定量的帶寬是重要的。當然,由于緩沖和其它的相關操作,任何帶寬分配機制本身都會消耗一定量的帶寬,并且會增加一定量的總線延遲。然而,在許多應用中得到保證的帶寬比少量增加的延遲更重要。另一方面,在其它的應用中,盡力服務傳輸技術更加合適,而在其它的一些應用中,最小總線延遲是最重要的要求。然后問題變?yōu)槿绾螌M足各種服務的要求以適合多數(shù)請求接入MVHSS_Bus200的應用。
關于盡力服務要求和帶寬分配的共存問題,在MVHSS_Bus200網絡中可能需要帶寬分配機制僅將兩個節(jié)點相連例如被分割為兩個實體并且將MVHSS_Bus200作為通信信道的引擎。在這種情況下,許多處理可能需要共享一個單獨的鏈路。最近的觀察導致這樣的結論,即優(yōu)選地在數(shù)據(jù)鏈路層202上執(zhí)行帶寬分配機制(見圖2)。一個當前優(yōu)選地但是非限制性的方法使用了數(shù)據(jù)鏈路層202的特別編碼。
為了區(qū)分盡力服務和帶寬分配數(shù)據(jù),可以將每個幀540分割為多個信道(正如聯(lián)系圖5所討論的)。信道的開始和結束分別用“開始信道”控制令牌和“結束信道”控制令牌來標記,并且向每個信道分配號碼以便對它們進行區(qū)分。
一個信道(例如,圖5b中的信道543)保留用于盡力服務的數(shù)據(jù)傳輸,一個信道可以用作特殊的控制信道(例如,圖5a中的信道514),剩余的信道由帶寬分配機制使用。每個剩余的信道可以實施相同的通信協(xié)議,或者它們可以實施不同的協(xié)議,這將在后面進行進一步的詳細討論。
對于連接網絡兩個給定節(jié)點的給定路由進行帶寬的分配。換句話說,當分配帶寬時,在兩個節(jié)點之間建立整個路由在這個時候已經在兩個節(jié)點之間創(chuàng)建電路或虛擬信道。同樣,可能實際上不需要網絡層203(圖2),因為可以通過將數(shù)據(jù)置于管道(虛擬信道)的一端中從而將數(shù)據(jù)從一個節(jié)點發(fā)送到另一個節(jié)點。這個分析的一個結果是網絡層203可以僅使用盡力服務信道543。然而,為了用帶寬分配來建立電路,網絡層203用于保留沿著連接兩個節(jié)點的路由的節(jié)點到節(jié)點的所需帶寬。
當路由被配置時,盡力服務業(yè)務和帶寬分配流量相互獨立地生成,然后可以在路由層250中更加有效地被處理。
對于帶寬的分配,數(shù)據(jù)鏈路層202發(fā)送或接收的所有數(shù)據(jù)被分割為幀540,其中,幀表示以給定速度發(fā)送的許多字節(jié)或者在給定時間內可用的總的帶寬。然后每個幀540被分割為信道,如圖5中所示。分配給信道的字節(jié)數(shù)表示可以由給定信道使用的幀540的百分比。因為實際的鏈路帶寬是已知的,所以分配給每個信道的帶寬可以由分配給該信道的幀540的百分比指定。
因此,當前優(yōu)選的帶寬分配機制基于在給定的幀540中對信道中發(fā)送的字節(jié)數(shù)進行計算。如果字節(jié)數(shù)等于或大于分配給該信道的幀百分比所允許的字節(jié)數(shù),則在當前幀540期間在這個特定的信道上不再發(fā)送數(shù)據(jù)。在開始后面的幀的時候,所有的計數(shù)量被置零并且所有的信道能夠再一次在鏈路上進行傳輸。
可以理解,可能會出現(xiàn)這樣的情形,即所需的緩沖量成為實質性的。例如,一種這樣的情形是存在長幀并且具有帶寬分配的信道使用幀的很大的部分。這種配置可能會導致需要能夠對幀540的很大的部分進行緩沖。通常地,當在MVHSS_Bus200上這個信道是活動的時候接收到的所有數(shù)據(jù)優(yōu)選地被緩沖,并且能夠僅在信道終止時被發(fā)送。還有,這種情況不僅能夠導致使用更大的緩沖器,而且會導致系統(tǒng)中更大的延遲和抖動。
一種方案是將信道分割為多個單元,如前所述,其中每個單元具有固定的大小。在給定的幀540中,這些單元能夠被混合而不管它們所來自的信道。也就是,來自不同信道的單元能夠被傳輸從而暫時地相互鄰近。利用這個機制可以在較長信道的單元之間插入較短信道的單元,從而在幀540中獲得更加統(tǒng)一的信道的重新劃分。當然,在數(shù)據(jù)鏈路層202中增加了一些復雜度,但是緩沖器大小、抖動和總線延遲的降低已經超過了對于額外的數(shù)據(jù)鏈路層202復雜度的補償。
正如前面所述的,當前優(yōu)選的MVHSS_Bus200是可熱插拔的。為了最有效地使用總線,提供了一種動態(tài)的機制來對連接到總線的設備進行識別。因為期望允許MVHSS_Bus200連接到非常簡單的設備,即不需要實施完整的MVHSS_Bus200協(xié)議棧的設備,所以設備識別系統(tǒng)優(yōu)選地使用相對低級的識別機制。
在本說明中,提供低級和簡單的機制來支持對新加入到MVHSS_Bus200的設備進行識別。這個支持機制可以稱為發(fā)現(xiàn)機制。該機制稱為“發(fā)現(xiàn)”是因為它并沒有規(guī)定如何識別給定的設備,而是提供了獲得設備識別處理所需要的信息的必須的工具。
在優(yōu)選的實施例中,該信息通過使用最少資源的機制從連接到MVHSS_Bus200的設備獲得。支持這個優(yōu)選機制的設備優(yōu)選地接入到MVHSS_Bus200的物理層201以及至少一小部分數(shù)據(jù)鏈路層202(參見圖2)。該發(fā)現(xiàn)機制包括在數(shù)據(jù)鏈路層202中。
一種最簡單的最通用的技術使用“從存儲器讀取”類型的機制。通過MVHSS_Bus200鏈路,這個機制用于讀取包括在設備中的小配置和/或標識存儲器。為了支持這種發(fā)現(xiàn)機制,在數(shù)據(jù)鏈路層202中使用“發(fā)現(xiàn)命令”。這個命令的格式可以根據(jù)數(shù)據(jù)鏈路層上的令牌的大小稍微有些變化,但是一般地它提供一個字節(jié)用于對所讀取信息的大小進行編碼,提供二個字節(jié)用于對讀操作的開始地址進行編碼。
當讀命令被發(fā)布時,設備通過發(fā)送命令中所請求的精確字節(jié)數(shù)作出回應。請求和回應可以包括在數(shù)據(jù)鏈路層202的配置信道中或不包括在其中。
相同的發(fā)現(xiàn)機制可以被擴展為支持將少量的數(shù)據(jù)寫入設備的寫操作。
對于發(fā)現(xiàn)MVHSS_Bus200設備的能力,優(yōu)選地,通過保留在地址0x0000開始的少量的存儲器,可以提供節(jié)點所需的最小信息以確定點節(jié)點的能力和限制。一個重要的信息項是節(jié)點所支持的最大速度,但是其它有用的信息項包括但不限于節(jié)點是否支持熱插拔;數(shù)據(jù)鏈路層所支持的編碼;以及所支持的物理層的模式或類型。要注意的是,這個信息自身與MVHSS_Bus200接口相關,并且本身不是識別機制的一部分。
現(xiàn)在披露了一種對MVHSS_Bus200實施或網絡的整體性進行驗證并且從該驗證機制獲得正確結果的技術。
MVHSS_Bus200是通用且具有靈活性的這一事實會帶來某些兼容性的問題。例如,MVHSS_Bus200允許不同層級的協(xié)議實施以便能夠盡可能多地減少將要連接的節(jié)點所需的門的數(shù)量。采用這個方法,通過將復雜度從葉節(jié)點移到網絡內核可以將非常簡單的設備連接到MVHSS_Bus200。
現(xiàn)在描述一種控制兩個節(jié)點之間的兼容性的簡單方法。使用相同的方法,可以確定是否適當?shù)亟⒘苏麄€網絡,并且確保網絡將是工作的。
根據(jù)本發(fā)明的這個方面,存在附著于每個MVHSS_Bus200節(jié)點實施的號碼,該號碼被稱為協(xié)議兼容率(PCR)。PCR表示給定節(jié)點所具有的實施或兼容性的層級。
為了確定是否適當?shù)亟⒘司W絡,應用下面的規(guī)則。首先,放置MVHSS_Bus200網絡的內核,其中,該內核表示一組具有最高PCR號碼的節(jié)點。內核可以包括一個或多個節(jié)點。第二,通過在MVHSS_Bus200網絡和樹之間生成拓樸模擬,可以定義一個遞歸法則,意味著從內核開始并且向網絡(樹)的葉子移動的每個跳上,PCR應當?shù)扔诨蛐∮谄渌鶃碜缘姆种У腜CR。
為了控制PCR的編號,創(chuàng)建兼容性階梯用于規(guī)定使用了哪些號碼以及在節(jié)點中必須實現(xiàn)什么最小的功能性以符合給定的PCR。如果給出了兼容性階梯以及前面給出的兩個規(guī)則,則可以容易地檢查給定網絡的正確性。
從前面的定義和規(guī)則中,應當清楚重要的考慮是保證給定節(jié)點的PCR是正確的,并且/或者節(jié)點實際地實施所有由該節(jié)點的PCR暗示的的所有特征。為了幫助進行PCR層級的測試,優(yōu)選地利用系統(tǒng)級模型和基準測試程序,然后針對這些系統(tǒng)級模型測試MVHSS_Bus200節(jié)點或設備的每個實施。僅當節(jié)點成功地通過PCR測試時,才向該節(jié)點分配相應的PCR。從標準化的角度來看,這暗示著這些模型是標準的一部分并且支持標準的發(fā)展。
現(xiàn)在參照圖8-12進一步地討論前面簡要討論的協(xié)議隧道的建立過程。MVHSS_Bus200的一個重要方面是其它協(xié)議的隧道建立和/或通過接口將MVHSS_Bus200與不支持MVHSS_Bus200接口的其它設備進行連接的可能性?,F(xiàn)在描述各種獲得與現(xiàn)有設備向后兼容的技術。
在許多系統(tǒng)中向后兼容是一個重要的問題。對于MVHSS_Bus200,向后兼容意味著一個協(xié)議能夠與不同的較低速的協(xié)議進行互連例如I2C協(xié)議。在這個方面,有益地是要注意到對給定協(xié)議建立隧道不是完全針對一個協(xié)議的,更多是該協(xié)議屬于哪個類別?;趩蜗蛳⒌膮f(xié)議對于建立隧道而言是最簡單的,因為在低層級上不存在交互(例如,消息確認)。在相反的極端上,對于基于低層級讀/寫操作的協(xié)議建立隧道要困難得多。事實上,這些協(xié)議的特征在于展示“結構的存儲器類型”。雖然在一些情況下寫操作可以被認為是單向操作,但是在IC的情況下因為存在確認比特所以并非如此。在低層級上讀操作是雙向操作,因此其總是出現(xiàn)問題。
同樣地,應當理解,展示低層級雙向操作的每個協(xié)議可能很難建立隧道。但是許多這種協(xié)議可通過使用相同的技術建立隧道,導致了相同基本結構的協(xié)議棧。作為一個例子,如果該系統(tǒng)能夠成功地對I2C建立隧道,則它將極有可能能夠為許多涉及相同類型低層級操作的許多其它協(xié)議建立隧道。
處理使得不同網絡互相配合的一般情況是非常困難的。但是,存在易處理的特殊情況。這種情況是,源主機和目標主機在相同類型的網絡上,但是它們中間有著不同的網絡。一個已知的例子是在IPv4網絡上建立IPv6協(xié)議的隧道。為了處理這個問題,IPv4網絡的一些外圍節(jié)點具有特殊的功能能夠將IPv6分組封裝在IPv4分組中。在這些節(jié)點中(多協(xié)議路由器節(jié)點),還需要某些特殊的路由表。當IPv6分組需要通過IPv4網絡時,將IPv6分組路由到IPv4網絡的多個協(xié)議路由器的一個,并且將其封裝在IPv4分組中。這個分組然后以這種方式被路由,使得該分組到達另一個連接到另一個IPv6網絡的多協(xié)議路由器。然后這個多協(xié)議路由器從IPv4分組中提取出該封裝的IPv6分組并將其在IPv6網絡上進行轉發(fā)。
根據(jù)傳統(tǒng)定義,隧道技術用在位于協(xié)議棧的相同層級的兩個相同類型的網絡之間。
作為例子,假定一個一般協(xié)議用于進行點對點的數(shù)據(jù)傳輸。這意味著僅對物理層和數(shù)據(jù)鏈路層進行定義。根據(jù)本發(fā)明的這個方面的一般協(xié)議的描述幾乎包括所有的沒有對路由機制進行定義的協(xié)議。本發(fā)明的大多數(shù)相關方的是包括但不限于I2C和系統(tǒng)分組接口(SPI)以及各種存儲器總線的協(xié)議。還可以假定物理層201和數(shù)據(jù)鏈路層202以硬件實現(xiàn)。
在根據(jù)本發(fā)明實施例的一般協(xié)議中,數(shù)據(jù)鏈路層202提供的接口被稱為“宏接口”。對于許多協(xié)議,“宏接口”可以粗略地由一組寄存器描述,在一些情況下由中斷機制和直接存儲器存取(DMA)機制描述。
可以參照圖8,圖8表示兩節(jié)點總線800中的協(xié)議棧802和804以及與協(xié)議A相關的兩個宏接口806和808。
在此之后該一般協(xié)議稱為協(xié)議A。為了從一個節(jié)點向其它節(jié)點發(fā)送數(shù)據(jù),發(fā)送節(jié)點的軟件使用協(xié)議A的宏接口。然而,應當注意到,該軟件與數(shù)據(jù)鏈路層202或物理層201無關,對于軟件而言協(xié)議A的僅有相關部分是宏接口806和808。
作為對低層級隧道的定義,假定一種協(xié)議A的硬件實施。如圖9中所示,協(xié)議需要創(chuàng)建對協(xié)議的物理層201的狀態(tài)進行編碼的隧道層810,并且允許協(xié)議B,即傳輸協(xié)議的數(shù)據(jù)鏈路層202’進行封裝。使用協(xié)議B的數(shù)據(jù)鏈路層202’,編碼后的狀態(tài)經由協(xié)議B的物理層201’進行發(fā)送。當數(shù)據(jù)到達接收節(jié)點(協(xié)議B)的數(shù)據(jù)鏈路層202’時,隧道層810對編碼后的狀態(tài)進行解碼并將它轉發(fā)到協(xié)議A的物理層201。
即使基于這個簡單的描述,也可以理解存在許多由低層級隧道帶來的難題。例如,協(xié)議B的傳輸層的性能由建立隧道的協(xié)議固定。事實上,如果協(xié)議B是存儲器總線800’,則協(xié)議B中所允許的最大延遲將由存儲器的存取時間固定。結果是,協(xié)議B的設計需要考慮所有用于隧道的可能的協(xié)議候選。或者,如果協(xié)議B是現(xiàn)有的協(xié)議,則它的性能確定對于哪些協(xié)議能夠建立隧道以及對于哪些協(xié)議不能建立隧道。
因為協(xié)議B的性能是苛求的,所以低層級的隧道建立盡可能低地在協(xié)議B的協(xié)議棧中發(fā)生如果可能則在物理層201’,或者如果不在物理層201’則在數(shù)據(jù)鏈路層202’。當然,這個方法導致了另一個難題,因為具有對協(xié)議建立隧道的機制,但是僅在點對點的配置下,而不是對穿過網絡的協(xié)議建立隧道。
為了避免這個潛在的限制,并且因為點對點物理層201存在于MVHSS_Bus200中,所以當存在超過兩個的節(jié)點時優(yōu)選地使用可選的Hub 1300(見圖13)來對數(shù)據(jù)進行路由。同樣,可以向已經存在于Hub 1300中的路由機制添加第二個路由機制,該第二個路由機制對包括建立了隧道的協(xié)議的路由數(shù)據(jù)進行處理。
軟件兼容性主要依賴于建立了隧道的協(xié)議的容量以處理分組的丟失和/或被破壞的分組。在每個協(xié)議棧中,物理層201容易出錯,并且上層的協(xié)議被設計來考慮一個給定的出錯率。通過對協(xié)議建立隧道,物理層201的出錯率可能會增加,并且可以會引入新類型的錯誤。
在實踐中,一些建立了隧道的協(xié)議可能需要在低層級驅動器中進行一些修改。但是,在操作系統(tǒng)層級上或在應用層級上仍然可以獲得100%的軟件兼容性。
通過以擴展的方式使用隧道層,至少可以部分地解決軟件兼容性帶來的部分困難,特別是當考慮到MVHSS_Bus200的熱插拔特性時所帶來的困難。當物理層201允許時,隧道層810還可以處理設備的斷開連接狀態(tài),并且為物理層201生成已知類型的錯誤。這個錯誤到達軟件,該軟件然后對該錯誤消息再次進行傳輸。通過這種做法,系統(tǒng)可以處理短時間的斷開連接或其它的錯誤。
一個高層級隧道的定義使用協(xié)議B的網絡層203’來傳送隧道協(xié)議。從描述高層級隧道協(xié)議棧的圖10中可以看出,從建立了隧道的協(xié)議A使用的僅有部分是宏接口806和808,而物理層201A和數(shù)據(jù)鏈路層202A被去除。這種特定類型的高層級隧道優(yōu)選地用在高層級節(jié)點之間。
對于軟件兼容性,前面針對低層級隧道所進行的描述同樣可以用在這里。從軟件的角度來看,如果存在物理層201和數(shù)據(jù)鏈路層202也沒有關系,重要的是宏接口806和808。
圖11表示混合隧道的例子,其中,網絡的一側包括引擎1150?;旌纤淼揽梢远x為低層級隧道和高層級隧道的優(yōu)勢的混合。但是,混合隧道并不需要實施協(xié)議的不同的IP塊?;旌纤淼缹?100可以被認為是網關,混合隧道可以被認為是等同于在現(xiàn)有的總線和MVHSS_Bus200之間提供網關。與低層級隧道相比,這個方法使用非常小的帶寬,并且當對協(xié)議建立隧道時減少了功率消耗。從軟件的角度來看,混合隧道是一種對協(xié)議建立隧道的強大的方式在實施中有許多限制和大量的靈活性?;旌纤淼缹?100通過接口連接到協(xié)議B的網絡層203’,并且連接到(所嵌入的)協(xié)議A的宏接口807。宏接口807連接到協(xié)議A的數(shù)據(jù)鏈路層202,并且從協(xié)議A的數(shù)據(jù)鏈路層202連接到與宏接口808相關的協(xié)議A的接收協(xié)議棧。
圖12表示建立隧道時宏接口的某些細節(jié)。當詳細地考慮如何對宏命令建立隧道時,將宏接口(例如806)表示為兩塊是有利的上宏接口806A(直接連接到上層的部分)和下宏接口806B(直接連接到諸如數(shù)據(jù)鏈路層202的稍低層的接口部分)。然后可以將建立隧道操作簡單地看成在宏接口的兩個部分之間通過的信息的編碼和解碼,并且任何協(xié)議層都可以將這個編碼后的信息從一個點傳送到另一個點。
建立隧道的概念將在對I2C協(xié)議建立隧道的原理示例的上下文描述中進行進一步的解釋。使得難以對I2C協(xié)議建立隧道的一個因素是確認比特的存在,因為它對于整個系統(tǒng)的最大延遲規(guī)定了嚴格的邊界,以及多控制的可能性,因為多控制的可能性使得出現(xiàn)Hub1300間的通信,以及需要時鐘同步機制的存在。
對于單一控制I2C總線建立隧道的情況,其中在總線上僅有一個控制者,可以假定該控制者為例如蜂窩電話的引擎1150。這是一種最直接地對I2C建立隧道的方法,有不同的可供選擇的方法。例如,可以使用高層級隧道,這意味著僅宏命令通過MVHSS_Bus200發(fā)送,并且I2C兼容外設靠近I2C部件放置。可選擇地,可以使用低層級隧道建立,這意味著I2C物理層的引腳狀態(tài)通過MVHSS_Bus200發(fā)送。
一般地,建立高層級隧道是最易于執(zhí)行的,其意味著僅在事務處理的引擎1150側上有限制。一個限制是用非閉鎖機制或具有超時時間的閉鎖機制來執(zhí)行到I2C總線的接入。
對于多控制者I2C總線建立隧道的情況,在I2C總線上可以有一個或多個微控制器。在這種情況下,通常不可能使用I2C的高層級隧道建立,因為簡單的微控制器直接位于非常低的層級上,即非常接近硬件處,使用I2C。沒有了軟件兼容性問題,僅有的選擇是通過MVHSS_Bus200將每個I2C控制者的管腳狀態(tài)向每個控制者進行廣播。然后可以對具有長的電線的多控制者I2C總線進行仿真和模仿以便計算系統(tǒng)中所增加的延遲。當然,可能對可以忍受的延遲有一些限制,這些延遲可會增加隧道建立的復雜度,例如,當使用低層級隧道建立的方法時通過MVHSS_Bus200的I2C高速(HS)模式(3.4MHz時鐘)。
關于虛擬I2C總線(再次參見圖4b)的概念,要注意的是MVHSS_Bus200上I2C的傳送方式與帶有長電纜的物理I2C總線相類,因為增加了關于隧道建立的延遲。因此,這里提出的是一種對一個或多個物理I2C總線進行仿真的技術,從而可以對虛擬的I2C總線進行定義。
在實踐中,這意味著幾個獨立的虛擬I2C總線可以存在于相同的MVHSS_Bus200總線上,這是一個有利于例如對在MVHSS_Bus200中建立隧道的內部I2C總線進行隔離以增加安全性的特征。
要注意的是,如果使用了混合建立隧道方法(見圖11),則這種虛擬I2C總線更容易實現(xiàn),因為當使用網關時不需要任何嚴格的定時要求。
可以參照圖13的框圖,圖13表示用由這里所描述的MVHSS_Bus200進行互連的節(jié)點構成的例如蜂窩電話的便攜終端1500的示例實施例。上述的可選Hub1300顯示為將蜂窩移動終端(CMT)ASIC1310連接到海量存儲器1320以及至少一個外部模塊1330。外部模塊1330可能包括附屬模塊,也稱為外圍設備,例如打印機、外部存儲器、音樂播放器或任何對終端1500的功能進行補充的所期望類型的功能設備。在CMT ASIC 1310和應用引擎(APE)ASIC 1340之間直接進行連接,應用引擎(APE)ASIC 1340又通過MVHSS_Bus200連接到顯示器1350和照相機1360。觸摸面板1370顯示為使用例如遺留接口(例如,I2C或API)的非MVHSS_Bus接口經由顯示器1350連接到APE 1340。可以看到,每個MVHSS_Bus節(jié)點1300、1310、1320、1330、1340、1350和1360包括具有不同復雜度的協(xié)議棧,某些節(jié)點(1300、1310和1340)還包括MVHSS_Bus路由表1400(見圖7b)。
根據(jù)前面對本發(fā)明實施例的描述,可以理解,MVHSS_Bus200可用于使用幀540和信道511、512、513和514實現(xiàn)電路交換網絡,從而實現(xiàn)簡單并魯棒的服務質量(QoS)。也就是說,信道、幀和分配的帶寬可以用于“模擬”電路切換系統(tǒng),該電路切換系統(tǒng)可用于在網絡中提供“嚴格的”QoS。
根據(jù)這個發(fā)明實施例的前面描述,可以進一步理解,通過保留給定信道的使用用于盡力服務網絡而將其它信道用于電路交換網絡的實現(xiàn),MVHSS_Bus200可以以透明的方式用于在例如使用“蟲孔尋徑”的網絡的盡力服務網絡協(xié)議上實施QoS。
一般地,蟲孔尋徑描述了一種消息傳遞系統(tǒng)的屬性,其中,消息的每個部分被獨立地傳輸,并且在接收到整個消息之前能夠將一部分轉發(fā)給下一個節(jié)點。單條消息的所有部分遵循相同的路由。消息的獨立部分典型地較小,例如一個32比特的字。與節(jié)點開始將消息轉發(fā)給下一節(jié)點之前節(jié)點接收到整個消息時的消息切換比較,這降低了在每個節(jié)點上的延遲和存儲要求。作為例子,使用直通轉發(fā)切換,蟲孔尋徑被用于分組交換系統(tǒng)中的分組,從而在整個分組到達之前一旦它的目標已知就開始分組的轉發(fā)。
根據(jù)本發(fā)明的這個方面,可以通過加入一些機制來提供蟲孔網絡以去除對于使用蟲孔的網絡的一些限制。
優(yōu)選地,可以提供信道511、512、513和514中的一個信道專用于蟲孔網絡,并且該專用信道被用作盡力服務信道543。這意味著沒有帶寬被事先分配給該專用信道,而是在已經分配其它信道之后將剩余的帶寬分配給盡力服務信道543。在這個方式中可以理解,可以經由盡力服務信道543對蟲孔網絡建立“隧道”,并且并行地可以使用其它信道來實現(xiàn)例如電路切換的類似網絡。盡力服務信道543的QoS然后由所選擇的例如蟲孔尋徑路由的盡力服務信道協(xié)議來建立;帶寬分配QoS、低延遲QoS等可以由電路切換的類似網絡獲得。
在這方面要注意的是,盡力服務網絡協(xié)議可以由許多包括蟲孔尋徑協(xié)議的不同協(xié)議來表示。
還可以在相同通信網絡上并行地提供多個網絡層203協(xié)議。例如,一個信道可用于使用蟲孔尋徑的“SpaceWire”或“RapidIO”或者一些其它的協(xié)議。
進一步地,因為信道511、512、513和514可用于“模擬”電路交換網絡,所以可以在使用相同網絡協(xié)議或不同網絡協(xié)議的網絡中定義子域。例如,可以確定信道-0 511被分配用于使用了蟲孔尋徑的子域A,信道-1 512被分配用于也使用了蟲孔尋徑的子域B,其中為了安全目的子域A和子域B完全相互隔離;信道-2 513被分配用于使用諸如RapidIO的另一種網絡協(xié)議的域C。為了創(chuàng)建這些子域,可以在每個節(jié)點中簡單地配置允許使用的信道。因為數(shù)據(jù)鏈路層202至少部分地作為復用器工作,這可以看作是許多“邏輯網絡”并行工作,所以促進了本發(fā)明這些特征的實現(xiàn)。
有關地,本發(fā)明的這些實施例通過替換網絡協(xié)議和在相同的通信網絡上使得不同的網絡協(xié)議能夠透明地共存,有助于網絡的發(fā)展。
如果需要,網絡上的每個節(jié)點可以由盡力服務網絡協(xié)議建立和配置以模擬帶有某個QoS的電路交換網絡,這里的盡力服務網絡例如是使用蟲孔尋徑的網絡。
有關地,數(shù)據(jù)鏈路層202中的帶寬分配機制可以用于并行地對其中每個都具有給定帶寬的多個物理層進行“模擬”。
前面的描述已經以示例而非限制的方式提供了由發(fā)明人構想的用于實施本發(fā)明的最佳方法和裝置的完整的含有大量資料的描述。但是,應當理解,至少基于前面對諸如通過使用蟲孔尋徑的盡力服務尋徑的討論以有帶寬分配等的相關方面,相關技術領域的技術人員在結合附圖和所附的權利要求書閱讀了前面的描述的情況下,各種修改和改編會變得明顯。但是,所以這種或類似的對于本發(fā)明啟示的修改將仍然落入本發(fā)明實施例中的范圍中。
另外,本發(fā)明的優(yōu)選實施例的一些特征在不使用相應的基它特征的情況下可以用來取得優(yōu)勢。同樣,前面的描述應當被認為是僅對本發(fā)明的原理、啟示和實施例的描述,而不是用于限制。
權利要求
1.一種通信總線,包括連接到物理層的數(shù)據(jù)鏈路層,所述數(shù)據(jù)鏈路層包括可用于對至少一個抽象協(xié)議進行復用以將其疊加到數(shù)據(jù)鏈路層的幀和信道協(xié)議上的復用器。
2.根據(jù)權利要求1所述的通信總線,其中,一個幀包括多個信道,其中至少一個信道被定義為盡力服務信道,并且其中,如果存在未使用的幀帶寬,則所述數(shù)據(jù)鏈路層將未使用的幀帶寬分配給所述至少一個盡力服務信道。
3.根據(jù)權利要求1所述的通信總線,其中,每個所述信道由多個單元組成,并且其中,來自所述信道中不同信道的單元能夠被傳輸,從而暫時互相鄰近。
4.根據(jù)權利要求1所述的通信總線,其中,一個幀包括多個信道,其中至少一個信道被定義為用于具有低延遲要求的業(yè)務流的信令信道。
5.根據(jù)權利要求2所述的通信總線,其中,帶寬分配包括對幀中的特定信道中發(fā)送的字節(jié)數(shù)進行計數(shù),如果所述字節(jié)數(shù)至少等于在所述幀中分配給所述特定信道的總字節(jié)的百分比所允許的字節(jié)數(shù),則在所述幀期間的所述特定信道上不再發(fā)送數(shù)據(jù)。
6.根據(jù)權利要求1所述的通信總線,其中,一個幀包括多個信道,其中至少一個信道被定義為盡力服務信道,并且其中,至少一個其它信道被定義為電路交換信道。
7.根據(jù)權利要求1所述的通信總線,其中,一個幀包括多個信道,并且其中,超過一個信道被定義為盡力服務信道。
8.根據(jù)權利要求7所述的通信總線,其中,所述盡力服務信道模擬電路交換網絡。
9.根據(jù)權利要求2所述的通信總線,其中,所述盡力服務信道實現(xiàn)蟲孔尋徑。
10.根據(jù)權利要求1所述的通信總線,其中,在用于對SoC內的節(jié)點進行互連的芯片(SoC)結構上的系統(tǒng)中實現(xiàn)所述總線。
11.根據(jù)權利要求10所述的通信總線,其中,所述總線還對所述SoC之外的至少一個節(jié)點進行互連。
12.根據(jù)權利要求2所述的通信總線,其中,所述至少一個抽象協(xié)議獨立于幀長。
13.根據(jù)權利要求1所述的通信總線,其中,通過允許對另一個協(xié)議建立隧道,所述至少一個抽象協(xié)議允許與至少一個其它類型的總線進行互連。
14.根據(jù)權利要求1所述的通信總線,其中,協(xié)議兼容率被分配給單個總線節(jié)點,用于確定所述總線網絡的完整性。
15.根據(jù)權利要求1所述的通信總線,其中,總線節(jié)點是可熱插拔的,并且所述通信總線還包括使用存儲器讀取技術發(fā)現(xiàn)總線連接的節(jié)點的身份的機制。
16.根據(jù)權利要求1所述的通信總線,還包括使用被傳輸?shù)剿隹偩€的ping命令發(fā)現(xiàn)節(jié)點的連接狀態(tài)和同步狀態(tài)中的至少一個的機制。
17.根據(jù)權利要求1所述的通信總線,其中,總線節(jié)點是可熱拔的,所述通信總線還包括一種機制,所述機制用于檢測由節(jié)點連接和斷開連接導致的錯誤并從中恢復,以及檢測由于總線的自同步性質而導致的失去同步并從中恢復。
18.根據(jù)權利要求1所述的通信總線,其中,一個幀包括其中每個都包括令牌的多個信道,其中,至少一個信道被定義為用于具有低延遲要求的業(yè)務流的信令信道,并且其中,信令信道的令牌與來自至少一個非信令信道的令牌交替布置。
19.根據(jù)權利要求1所述的通信總線,還包括連接到所述數(shù)據(jù)鏈路層的隧道層,所述隧道層將來自另一個協(xié)議的業(yè)務流封裝在所述抽象協(xié)議的業(yè)務流中。
20.根據(jù)權利要求2所述的通信總線,還包括至少一個路由表,所述路由表將信道號碼作為網絡節(jié)點地址信息存儲。
21.一種包含節(jié)點的終端,可用多個協(xié)議棧工作的通信總線將至少一些所述節(jié)點連接到一起,所述多個協(xié)議棧中的單個協(xié)議棧與所述節(jié)點中的單個節(jié)點相關聯(lián),每個所述協(xié)議棧包括連接到物理層的數(shù)據(jù)鏈路層,其中,所述數(shù)據(jù)鏈路層將至少一個抽象協(xié)議復用到數(shù)據(jù)鏈路層的幀和信道協(xié)議上,其中,一個幀包括多個信道,其中至少一個信道被定義為盡力服務信道,并且其中,如果存在未使用的幀帶寬,則所述數(shù)據(jù)鏈路層將未使用的幀帶寬分配給所述至少一個盡力服務信道。
22.根據(jù)權利要求21所述的終端,其中,至少一些所述協(xié)議棧包括連接到所述數(shù)據(jù)鏈路層的隧道層,所述隧道層將來自至少一個其它協(xié)議的業(yè)務流封裝進所述抽象協(xié)議的業(yè)務流中。
23.根據(jù)權利要求22所述的終端,其中,所述至少一個協(xié)議包括I2C、SPI和存儲器總線協(xié)議中的至少一個。
24.根據(jù)權利要求21所述的終端,還包括至少一個路由表,所述路由表將信道號碼作為網絡節(jié)點地址信息存儲。
25.根據(jù)權利要求21所述的終端,其中,一個幀包括多個信道,其中,至少一個信道被定義為用于具有低延遲要求的業(yè)務流的信令信道。
26.根據(jù)權利要求21所述的終端,其中,帶寬分配包括對幀內特定信道中發(fā)送的字節(jié)數(shù)進行計數(shù),如果所述字節(jié)數(shù)至少等于在所述幀中分配給所述特定信道的總字節(jié)的百分比所允許的字節(jié)數(shù),則在所述幀期間的所述特定信道上不再發(fā)送數(shù)據(jù)。
27.根據(jù)權利要求21所述的終端,其中,至少一個信道用于模擬電路交換網絡。
28.根據(jù)權利要求21所述的終端,其中,所述至少一個盡力服務信道實施蟲孔尋徑。
29.根據(jù)權利要求21所述的終端,其中,所述總線也在節(jié)點內實現(xiàn),其中,所述節(jié)點作為芯片(SoC)結構中的系統(tǒng)實現(xiàn)。
30.根據(jù)權利要求21所述的終端,其中,所述總線進一步對所述終端外的至少一個節(jié)點進行互連。
31.根據(jù)權利要求21所述的終端,其中,協(xié)議兼容率被分配給單個總線,用于至少確定所述總線網絡的的完整性。
32.根據(jù)權利要求21所述的終端,還包括一種機制,所述機制用于檢測由節(jié)點連接和斷開連接導致的錯誤并從中恢復,以及檢測由于總線的自同步性質而導致的失去同步并從中恢復。
33.根據(jù)權利要求21所述的終端,其中,信道被分割為令牌,其中,至少一個信道被定義為用于具有低延遲要求的業(yè)務流的信令信道,并且其中,信令信道令牌與來自至少一個非信令信道的令牌交替布置。
34.根據(jù)權利要求21所述的終端,其中,信道被分割為令牌,來自不同信道的令牌被交錯地插入在幀內。
35.根據(jù)權利要求21所述的終端,其中,所述節(jié)點中的一個節(jié)點包括蜂窩移動終端(CMT)節(jié)點。
36.根據(jù)權利要求35所述的終端,其中,所述節(jié)點中的另一個節(jié)點包括將所述CMT節(jié)點連接到至少一個其它節(jié)點的Hub節(jié)點。
37.一種進行通信的方法,包括提供連接到物理層的具有多個幀的數(shù)據(jù)鏈路層,所述數(shù)據(jù)鏈路層使用協(xié)議進行工作,每個所述幀包括多個信道,其中,至少一個信道被定義為盡力服務信道;以及如果存在未使用的幀帶寬,則將未使用的幀帶寬分配給所述至少一個盡力服務信道。
38.根據(jù)權利要求37所述的方法,其中,每個所述信道包括多個令牌,所述方法還包括交錯插入來自所述信道中不同信道的令牌,從而所述令牌暫時相互鄰近地被傳輸。
39.根據(jù)權利要求37所述的方法,還包括將至少一個信道定義為用于具有低延遲要求的業(yè)務流的信令信道。
40.根據(jù)權利要求37所述的方法,還包括通過對幀內的特定信道中發(fā)送的字節(jié)數(shù)進行計數(shù)來分配帶寬,如果所述字節(jié)數(shù)至少等于在所述幀中分配給所述特定信道的總字節(jié)的百分比所允許的字節(jié)數(shù),則在所述幀期間的所述特定信道上終止發(fā)送數(shù)據(jù)。
41.根據(jù)權利要求37所述的方法,還包括將至少一個其它信道定義為電路交換信道。
42.根據(jù)權利要求37所述的方法,還包括對多個盡力服務信道進行操作以對電路交換信道進行模擬。
43.根據(jù)權利要求37所述的方法,還包括對至少一個盡力服務信道進行操作以執(zhí)行蟲孔尋徑。
44.根據(jù)權利要求37所述的方法,還包括,經過所述物理層提供連接到所述數(shù)據(jù)鏈路層的總線,以及在芯片(SoC)結構上的系統(tǒng)中實現(xiàn)所述總線用于對所述SoC中的節(jié)點進行互連。
45.根據(jù)權利要求44所述的方法,還包括將所述總線連接到所述SoC之外的至少一個節(jié)點。
46.根據(jù)權利要求37所述的方法,還包括通過對至少一個不同協(xié)議建立隧道而使用至少一個不同的協(xié)議工作。
47.根據(jù)權利要求37所述的方法,還包括將協(xié)議兼容率分配給連接到實施所述協(xié)議的總線的單個節(jié)點。
48.根據(jù)權利要求37所述的方法,其中,存在連接到實施所述協(xié)議的總線的節(jié)點,至少一些節(jié)點為可熱插拔的,所述方法還包括使用存儲器讀技術發(fā)現(xiàn)節(jié)點的身份。
49.根據(jù)權利要求37所述的方法,其中,存在連接到實施所述協(xié)議的總線的節(jié)點,所述方法還包括使用傳輸?shù)剿隹偩€的ping命令發(fā)現(xiàn)節(jié)點的連接狀態(tài)和同步狀態(tài)中的至少一個狀態(tài)。
50.根據(jù)權利要求37所述的方法,其中,存在連接到實施所述協(xié)議的總線的節(jié)點,其中至少一些節(jié)點是可熱插拔的,所述方法還包括檢測由節(jié)點連接和斷開連接引起的錯誤并從中恢復,以及檢測由于總線的自同步引起的失去同步并從中恢復。
51.根據(jù)權利要求37所述的方法,其中,信道包含令牌,所述方法還包括將至少一個信道定義為用于具有低延遲要求的業(yè)務流的信令信道,并且將信令信道令牌與來自至少一個非信令信道的令牌交替布置。
52.根據(jù)權利要求37所述的方法,還包括定義連接到所述數(shù)據(jù)鏈路層的隧道層,所述隧道層對來自另一個協(xié)議的業(yè)務流進行封裝。
53.根據(jù)權利要求37所述的方法,還包括提供至少一個路由表,所述路由表將信道號碼作為網絡節(jié)點地址信息存儲。
54.根據(jù)權利要求37所述的方法,還包括對至少一個串行總線協(xié)議進行的封裝操作。
55.一種包含節(jié)點的終端,可用多個協(xié)議棧工作的通信總線將至少一些所述節(jié)點連接到一起,所述多個協(xié)議棧的單個與所述節(jié)點的單個相關聯(lián),所述協(xié)議棧包括連接到物理層的具有幀的數(shù)據(jù)鏈路層,所述數(shù)據(jù)鏈路層使用協(xié)議進行工作,每個所述幀包括多個信道,其中信道包括令牌,并且其中,至少一個信道被定義為用于具有低延遲請求的業(yè)務流的信令信道,所述數(shù)據(jù)鏈路層可用于將信令信道令牌與來自至少一個非信令信道的令牌交替布置。
56.根據(jù)權利要求55所述的終端,其中,連接到所述通信總線的一個所述節(jié)點包括蜂窩移動終端(CMT)節(jié)點。
57.根據(jù)權利要求55所述的終端,其中,連接到所述通信總線的一個所述節(jié)點包括位于所述終端外部的附屬節(jié)點。
58.根據(jù)權利要求55所述的終端,其中,所述通信總線包括點對點串行通信總線。
59.一種附屬模塊,包括用于連接到包括節(jié)點的所述終端的節(jié)點,所述附屬模塊適用于將所述節(jié)點通過通信總線連接到所述終端的至少一個節(jié)點,所述通信總線可使用多個協(xié)議棧工作,單個所述協(xié)議棧與單個所述節(jié)點相關聯(lián),所述協(xié)議棧包括連接到物理層的用協(xié)議工作的具有幀的數(shù)據(jù)鏈路層,每個所述幀包括多個信道,其中,信道包括令牌,并且至少一個信道被定義為用于具有低延遲要求的業(yè)務流的信令信道,所述數(shù)據(jù)鏈路層可用于將信令信道令牌與來自至少一個非信令信道的令牌交替布置。
60.根據(jù)權利要求59所述的附屬模塊,其中,連接到所述通信總線的一個所述終端節(jié)點包括蜂窩移動終端(CMT)節(jié)點。
61.根據(jù)權利要求59所述的附屬模塊,其中,所述通信總線包括點對點串行通信總線。
全文摘要
披露了對在發(fā)送器和接收器之間的物理通信信道上的數(shù)據(jù)和命令流進行控制的方法和裝置,更具體地,提供一種用于點對點串行總線結構的協(xié)議,對于任何的數(shù)據(jù)分組幀(241)長,該點對點總線結構具有流控制及其它信令的低的延遲時間。各種總線都可以使用該抽象數(shù)據(jù)流控制協(xié)議,因為它僅與最低的協(xié)議層(201,202,203)相互作用。單獨的數(shù)據(jù)和控制的緩沖器(216,226,236,246)可用于使總線能夠與稍低的總線相兼容,并且可以支持附加的控制功能而不用涉及更高的協(xié)議層。
文檔編號H04L12/56GK101061679SQ200480031750
公開日2007年10月24日 申請日期2004年10月7日 優(yōu)先權日2003年10月10日
發(fā)明者米歇爾·吉勒斯 申請人:諾基亞公司