專利名稱:同步數(shù)據(jù)通信的制作方法
技術(shù)領(lǐng)域:
0002本公開涉及信息系統(tǒng)。
背景技術(shù):
0003某些應(yīng)用對(duì)通信具有高帶寬要求和嚴(yán)格的同步、時(shí)延和可靠 性要求。例如,機(jī)器人輔助手術(shù)需要高帶寬實(shí)時(shí)地傳輸控制信號(hào)和反 饋信號(hào)。這種應(yīng)用對(duì)同步和時(shí)延的要求是嚴(yán)格的,因?yàn)樵谕饪漆t(yī)生的 移動(dòng)和機(jī)器人的移動(dòng)之間的延遲理想地應(yīng)該是越小越好。在這些應(yīng)用 中通信必須是高可靠性的,因?yàn)閿?shù)據(jù)傳輸錯(cuò)誤會(huì)傷害病人。
0004在機(jī)器人輔助手術(shù)中使用的一個(gè)傳統(tǒng)通訊系統(tǒng)使用數(shù)百個(gè) 路徑(例如電線)以把外科醫(yī)生的控制臺(tái)連接到機(jī)器人手臂。然而, 對(duì)數(shù)百個(gè)路徑的使用導(dǎo)致對(duì)系統(tǒng)的建造和維護(hù)麻煩,而且需要可觀的 空間來(lái)布線所有的路徑。
0005傳統(tǒng)的通信標(biāo)準(zhǔn)在一些方面提供了可接受的性能但是在其 它方面是欠缺的。例如,IEEE-1394接口標(biāo)準(zhǔn)提供了同步、串行、點(diǎn)對(duì) 點(diǎn)通信。正EE-1394通道具有保證的帶寬,但是只能提供大約125毫秒 內(nèi)的同步。這種性能可能對(duì)于某些要求更嚴(yán)格的同步的應(yīng)用是不夠的。
發(fā)明內(nèi)容
0006在一方面,提供了數(shù)據(jù)包,其包括同步字段和應(yīng)答字段,該 應(yīng)答字段指示對(duì)收到在前數(shù)據(jù)包的應(yīng)答。數(shù)據(jù)包也包括包含指示系統(tǒng) 故障的信息的響應(yīng)字段,頭字段以及包含分配給該數(shù)據(jù)包的號(hào)碼的順 序號(hào)字段。該數(shù)據(jù)包進(jìn)一步包括數(shù)據(jù)字段,包結(jié)束字段以及差錯(cuò)校驗(yàn) 字段。0007特定的實(shí)施方式可以包含一個(gè)或多于一個(gè)下述特征。同步字
段、應(yīng)答字段、響應(yīng)字段、頭字段、順序號(hào)字段和包結(jié)束字段的每一
個(gè)可以是一個(gè)字節(jié)長(zhǎng)。數(shù)據(jù)字段可以是32字節(jié)長(zhǎng)。差錯(cuò)校驗(yàn)字段可以 是兩字節(jié)長(zhǎng)。包結(jié)束字段可以含有對(duì)數(shù)據(jù)字段中的32字節(jié)有多少是填 充字節(jié)的指示。同步字段可以含有預(yù)定的移位不變(shift-invariant)值。 響應(yīng)字段可以包含流控制信息,且該流控制信息可以包含多通道的流 控制信息。頭字段可包含指示該數(shù)據(jù)包計(jì)劃使用的通道的通道選擇子 字段。頭字段可包含命令子字段,且該命令子字段可以包含同步命令。
0008在另一個(gè)方面,提供一種方法和計(jì)算機(jī)程序產(chǎn)品,其包含在 第一節(jié)點(diǎn)接收來(lái)自于第二節(jié)點(diǎn)的第一數(shù)據(jù)包中的應(yīng)答字段。作為對(duì)接 收該應(yīng)答字段的響應(yīng),僅在所述第一數(shù)據(jù)包中的應(yīng)答字段是否定應(yīng)答
(NAK)的情況下,先前從所述第一節(jié)點(diǎn)發(fā)送的兩個(gè)或更多個(gè)數(shù)據(jù)包 被重發(fā)。如果相反,該應(yīng)答字段是肯定應(yīng)答(ACK),則第二數(shù)據(jù)包 從所述第一節(jié)點(diǎn)被發(fā)送到所述第二節(jié)點(diǎn),并且在開始發(fā)送該第二數(shù)據(jù) 包之后所述第一數(shù)據(jù)包被差錯(cuò)校驗(yàn)。如果在該第一數(shù)據(jù)包中探測(cè)到差 錯(cuò),則在完成該第二數(shù)據(jù)包的發(fā)送之后,NAK基本立刻從所述第一節(jié) 點(diǎn)發(fā)送到所述第二節(jié)點(diǎn)。如果沒有在該第一數(shù)據(jù)包中探測(cè)到差錯(cuò),在 完成該第二數(shù)據(jù)包的發(fā)送之后,第三數(shù)據(jù)包基本立刻從所述第一節(jié)點(diǎn) 發(fā)送到所述第二節(jié)點(diǎn)。
0009在再一個(gè)方面,提供一種方法和計(jì)算機(jī)程序產(chǎn)品,其包含在 第一節(jié)點(diǎn)接收從第二節(jié)點(diǎn)發(fā)送的第一數(shù)據(jù)包。該第一數(shù)據(jù)包包含故障 信號(hào)。為響應(yīng)該故障信號(hào),所述第一節(jié)點(diǎn)被置于安全狀態(tài),并且在所 述第一節(jié)點(diǎn)上處理該第一數(shù)據(jù)包的數(shù)據(jù)字段中所包含的信息之前,包 含所述故障信號(hào)的第二數(shù)據(jù)包被從所述第一節(jié)點(diǎn)發(fā)送到第三節(jié)點(diǎn)。特 定的實(shí)施方式可以包含在所述第一節(jié)點(diǎn)處接收從所述第二節(jié)點(diǎn)發(fā)送的 第三數(shù)據(jù)包,其中該第三數(shù)據(jù)包不包含該故障信號(hào),并且所述第一節(jié) 點(diǎn)處于安全狀態(tài)。所述第一節(jié)點(diǎn)被置于可操作狀態(tài),并且第四數(shù)據(jù)包 被從所述第一節(jié)點(diǎn)發(fā)送到所述第三節(jié)點(diǎn),其中該第四數(shù)據(jù)包不包含該 故障信號(hào)。
0010特定的實(shí)施例可被執(zhí)行以實(shí)現(xiàn)下面的優(yōu)點(diǎn)中的一個(gè)或多于 一個(gè)。發(fā)送器和接收器可被非常精確地同步(例如到基本在10毫秒之內(nèi)或更少)。時(shí)延可被約束且保持在低水平(例如,基本小于10毫秒)。 數(shù)據(jù)可通過(guò)單獨(dú)的物理路徑連接器以低時(shí)延被傳輸。在單一的系統(tǒng)中 以不同速度運(yùn)行的多個(gè)通信鏈路可使用同樣的通信協(xié)議。該通信協(xié)議 可以被廉價(jià)地在硬件中實(shí)施。帶寬可被用于數(shù)據(jù)傳輸,否則該數(shù)據(jù)傳 輸可用于等待應(yīng)答。差錯(cuò)探測(cè)和恢復(fù)可被同時(shí)在流控制信息和應(yīng)答信 息上被執(zhí)行。故障信息可被迅速地在整個(gè)系統(tǒng)傳輸。處在不同優(yōu)先級(jí) 的多個(gè)獨(dú)立數(shù)據(jù)流可被在整個(gè)所述系統(tǒng)傳輸。
0011這些普通的和特定的方面可使用方法、裝置、系統(tǒng)或任何方 法、裝置和系統(tǒng)的組合而被實(shí)施。
0012本發(fā)明的一個(gè)或多于一個(gè)實(shí)施例的細(xì)節(jié)將通過(guò)附圖和下面
的描述闡明。本發(fā)明的其它的特征、方面和優(yōu)點(diǎn)從描述、附圖和權(quán)利 要求書中將變得明顯。
0013圖l是系統(tǒng)的框圖,該系統(tǒng)包含多個(gè)被鏈路連接的節(jié)點(diǎn)。
0014圖2是數(shù)據(jù)包結(jié)構(gòu)的示意圖。
0015圖3是在節(jié)點(diǎn)間的包傳輸?shù)臅r(shí)序圖。
0016圖4是差錯(cuò)恢復(fù)方案的時(shí)序圖。
0017圖5是差錯(cuò)恢復(fù)方案的時(shí)序圖。
0018圖6是在節(jié)點(diǎn)執(zhí)行的處理的流程圖。
0019在多個(gè)附圖中相似的參考數(shù)字和命名表示相似的元件。
具體實(shí)施例方式
0020描述了在兩個(gè)系統(tǒng)節(jié)點(diǎn)之間使用基本連續(xù)的全雙工串行數(shù) 據(jù)流的鏈路層。節(jié)點(diǎn)可包含,諸如計(jì)算機(jī)、可編程處理器、現(xiàn)場(chǎng)可編 程門陣列(FPGA)或者其它數(shù)據(jù)處理裝置。數(shù)據(jù)被分成固定長(zhǎng)度的包。 每個(gè)固定長(zhǎng)度的包可以含有數(shù)據(jù)、差錯(cuò)校驗(yàn)信息、流控制信息、診斷 信息、故障信息以及重發(fā)控制信息。在每個(gè)包中的數(shù)據(jù)可以包括硬件 層級(jí)數(shù)據(jù)或部分消息(例如軟件消息)。
0021無(wú)論是否有可用于傳輸?shù)臄?shù)據(jù),該固定長(zhǎng)度的包在兩個(gè)節(jié)點(diǎn) 間被持續(xù)地傳輸。當(dāng)沒有可用于傳輸?shù)臄?shù)據(jù)時(shí),包的數(shù)據(jù)字段可被"填充"數(shù)據(jù)所填充,該"填充"數(shù)據(jù)可在接收節(jié)點(diǎn)被丟棄。被發(fā)送的包 包含對(duì)先前被接收的包的應(yīng)答,發(fā)送節(jié)點(diǎn)會(huì)發(fā)送第一包,并且在接收 來(lái)自接收節(jié)點(diǎn)的對(duì)該第一包的應(yīng)答之前發(fā)送至少一個(gè)后續(xù)包。在節(jié)點(diǎn) 處對(duì)包的發(fā)送和接收是互鎖的,這將在下面進(jìn)行更詳細(xì)的闡述。0022如圖1所示,通過(guò)在鏈路上多路復(fù)用數(shù)據(jù),來(lái)自第一節(jié)點(diǎn)110
的數(shù)據(jù)可被發(fā)送到多個(gè)目標(biāo)節(jié)點(diǎn),例如,第二節(jié)點(diǎn)120、第三節(jié)點(diǎn)130 和第四節(jié)點(diǎn)140。第一節(jié)點(diǎn)110和特定的目標(biāo)節(jié)點(diǎn)之間的節(jié)點(diǎn)可以路由 該數(shù)據(jù)。第一節(jié)點(diǎn)110可以通過(guò)第一鏈路125傳輸發(fā)往第二節(jié)點(diǎn)120的數(shù) 據(jù)。第一節(jié)點(diǎn)110也可通過(guò)第一鏈路125將發(fā)往第三節(jié)點(diǎn)130的數(shù)據(jù)傳輸 到第二節(jié)點(diǎn)120,并且第二節(jié)點(diǎn)120可以通過(guò)第二鏈路135路由該數(shù)據(jù)到 第三節(jié)點(diǎn)130。類似地,第一節(jié)點(diǎn)110可以通過(guò)第一鏈路125傳輸發(fā)往第 四節(jié)點(diǎn)140的數(shù)據(jù),并且第二節(jié)點(diǎn)120可以通過(guò)第三鏈路145路由該數(shù)據(jù) 到第四節(jié)點(diǎn)140。
0023在一個(gè)實(shí)施方式中,在被發(fā)送的數(shù)據(jù)中所包含的消息內(nèi)可以 控制對(duì)目標(biāo)節(jié)點(diǎn)的指定。在該實(shí)施方式中,在發(fā)送含有部分消息的包 到目標(biāo)節(jié)點(diǎn)之前,第二節(jié)點(diǎn)120—般處理從第一節(jié)點(diǎn)110發(fā)送的消息的 至少一部分。如果第二節(jié)點(diǎn)120本身是目標(biāo)節(jié)點(diǎn),該消息無(wú)須進(jìn)一步的 傳輸。
0024在一些系統(tǒng)中,第一節(jié)點(diǎn)110和第三節(jié)點(diǎn)130以及第一節(jié)點(diǎn) 110和第四節(jié)點(diǎn)140之間的通信相對(duì)于第三節(jié)點(diǎn)130和第四節(jié)點(diǎn)140之間 的通信發(fā)生得更頻繁。在這樣的系統(tǒng)中,第一鏈路125相對(duì)于第二鏈路 135或第三鏈路145可以是更高速的鏈路,以對(duì)通過(guò)第一鏈路125的更大 量的數(shù)據(jù)提供足夠的容量。
0025節(jié)點(diǎn)IIO、 120、 130和140可包含一個(gè)或多于一個(gè)硬件數(shù)據(jù)緩 沖器152 —164,該硬件數(shù)據(jù)緩沖器接收消息且一直保存消息,直到在 各自的節(jié)點(diǎn)上執(zhí)行的軟件或與各自的節(jié)點(diǎn)通信的數(shù)據(jù)處理裝置準(zhǔn)備好 接收該消息。
0026如圖2所示, 一個(gè)實(shí)施方式的固定長(zhǎng)度的包200可包括多個(gè)字 節(jié)201—240。雖然示出的是40字節(jié)的包,該固定長(zhǎng)度的包可以是其它 長(zhǎng)度。在示出的實(shí)施方式中,控制消息被置于40字節(jié)的8個(gè)字節(jié)中,并 且數(shù)據(jù)被置于剩下的32字節(jié)中。第一字節(jié)201是同步字段,其可被用于在接收包的節(jié)點(diǎn)處保持字節(jié)結(jié)構(gòu)。附加的同步字節(jié)可被周期性地添加 到包上(例如每128字節(jié)一個(gè)),以補(bǔ)償節(jié)點(diǎn)間的時(shí)鐘漂移。第二字節(jié)
202是應(yīng)答字段,其指示發(fā)送包200的節(jié)點(diǎn)所接收的上一個(gè)包是否被正 確地接收(例如包括有效差錯(cuò)校驗(yàn)信息)。第二字節(jié)202可被設(shè)置為用 于指示上一個(gè)包被正確地接收的肯定應(yīng)答(ACK)的一個(gè)值(例如 OxAC),以及用于指示上一個(gè)包沒有被正確地接收(否定應(yīng)答,或NAK) 的相反值(例如0x53)。在一個(gè)實(shí)施方式中,任何異于該肯定應(yīng)答值 的值都可被解釋為否定應(yīng)答。在該實(shí)施方式中,如果NAK值是ACK值 的相反值,則需要8位差錯(cuò)來(lái)將被傳輸?shù)腘AK轉(zhuǎn)換成為ACK。
0027第三字節(jié)203是響應(yīng)字段,其含有多個(gè)控制位,例如指示系 統(tǒng)處于診斷測(cè)試模式的測(cè)試模式位,和多個(gè)消息通道(例如低優(yōu)先級(jí)、 中優(yōu)先級(jí)和高優(yōu)先級(jí))中的每一個(gè)消息通道的XOFF位。控制位也可以 包含重發(fā)位,當(dāng)其被置位時(shí)指示包200是較早的包的重發(fā)。 一個(gè)或多于 一個(gè)控制位也可以是故障位,其指示在系統(tǒng)中發(fā)生了錯(cuò)誤。
0028第四字節(jié)204是頭字段。頭字段可以包含多個(gè)子字段,諸如 通道選擇子字段和命令子字段。所述通道選擇子字段用于指示在哪個(gè) 優(yōu)先級(jí)通道中發(fā)送包200中的數(shù)據(jù)。命令子字段可以包含對(duì)閃存緩沖器 和重啟消息流的指令。命令子字段也可以包含請(qǐng)求通過(guò)硬件通道發(fā)送 的特定數(shù)據(jù)的指令或識(shí)別這種數(shù)據(jù)的代碼。所述命令子字段也可以被 用來(lái)同步系統(tǒng)。例如,在同步循環(huán)的開始,可以發(fā)送含有同步命令的 包,使系統(tǒng)中的子系統(tǒng)保持同步(例如,在10毫秒內(nèi))。第五字節(jié)205 是順序號(hào)字段,其含有可被接收節(jié)點(diǎn)用來(lái)探測(cè)傳輸差錯(cuò)的順序號(hào)。第 六字節(jié)206到第37字節(jié)237屬于數(shù)據(jù)字段,其包含32字節(jié)數(shù)據(jù),諸如消
息或部分消息。
0029第38字節(jié)238是包結(jié)束字段,其可以指定數(shù)據(jù)字段中對(duì)應(yīng)于 消息的字節(jié)數(shù)量,和填充字節(jié)的字節(jié)數(shù)量。該包結(jié)束字段也可以包含 消息結(jié)束指示位,其在數(shù)據(jù)字段中的字節(jié)結(jié)束消息時(shí)被置位。該消息 結(jié)束指示位可以在接收節(jié)點(diǎn)處觸發(fā)中斷。第39字節(jié)239和第40字節(jié)240 是差錯(cuò)校驗(yàn)字段的一部分,在一個(gè)實(shí)施方式中,其可含有16位CRC(循 環(huán)冗余校驗(yàn))值(例如使用CCITT 16位CRC算法來(lái)計(jì)算)。當(dāng)節(jié)點(diǎn)接 收包時(shí),該節(jié)點(diǎn)可以使用差錯(cuò)校驗(yàn)字段來(lái)判斷在所述包被發(fā)送或被接收時(shí)是否發(fā)生了錯(cuò)誤。
0030包200的結(jié)構(gòu)允許指示節(jié)點(diǎn)中故障的故障反應(yīng)邏輯(FRL)信 號(hào)以多種方式來(lái)通信。例如,F(xiàn)RL信號(hào)可以在包控制信息(例如在包200 的響應(yīng)字段的控制位中)和/或在消息中被傳輸。直接在包控制信息中 傳輸FRL信號(hào)允許故障信息在系統(tǒng)范圍內(nèi)被非常迅速地傳輸,并且在很 低的層級(jí)被處理。系統(tǒng)范圍的故障信息可以在沒有軟件介入的情況下 被傳播,并且故障反應(yīng)硬件可以在故障信號(hào)被接收時(shí)將系統(tǒng)置于安全 狀態(tài)。 一旦導(dǎo)致該故障的問(wèn)題己被解決(例如,通過(guò)人類操作員的介 入),該故障信號(hào)可被清除,并且所述系統(tǒng)可以返回到操作狀態(tài)。當(dāng) 所述故障信號(hào)被清除時(shí),指示故障的FRL信號(hào)直到另一個(gè)故障發(fā)生之前
一般不會(huì)在包控制信息中傳輸。
0031故障信號(hào)在其中迅速傳播的系統(tǒng)有利的例子是機(jī)器人手術(shù) 系統(tǒng)。這種系統(tǒng)可包含多個(gè)持有手術(shù)器械或設(shè)備(例如腹腔鏡、內(nèi) 窺鏡、燈、照相機(jī)和吹入器)的機(jī)器人手臂。其中的一些可以在病人 體內(nèi)。該機(jī)器人手臂一般由外科醫(yī)生遠(yuǎn)程地操縱。外科醫(yī)生操作的控 制與控制該機(jī)器人手臂的節(jié)點(diǎn)之間的通信可以使用本公開中描述的方 法、系統(tǒng)和裝置。如果在這種系統(tǒng)中發(fā)生故障,機(jī)器人手臂可被鎖定 在適當(dāng)位置,這樣病人不會(huì)被機(jī)器人手臂的非預(yù)期的動(dòng)作所傷害。當(dāng) 系統(tǒng)故障發(fā)生并且一個(gè)系統(tǒng)故障在節(jié)點(diǎn)之間傳播時(shí),制動(dòng)可以被施加 在機(jī)器人手臂的連接處,并且對(duì)運(yùn)動(dòng)命令的通信可以被中止,直到該 故障被人類操作員或被系統(tǒng)監(jiān)視單元自動(dòng)地清除。
0032被描述的包結(jié)構(gòu)允許在單獨(dú)通道上或在串行連接上復(fù)用的 多個(gè)通道上發(fā)送數(shù)據(jù)(諸如消息)。特定的消息在哪個(gè)通道上被發(fā)送 由包200中的通道選擇子字段來(lái)指示。系統(tǒng)軟件可以將信息放置在每個(gè) 通道(例如,使用不同的地址)的不同的硬件緩沖器中,并且系統(tǒng)硬 件基于所述消息被放在其內(nèi)的緩沖器自動(dòng)將消息分配到通道。多個(gè)通 道可被分配不同的優(yōu)先級(jí)。在一個(gè)實(shí)施方式中,當(dāng)不同優(yōu)先級(jí)的消息 在等待被傳輸時(shí),在高優(yōu)先級(jí)通道上被傳輸?shù)陌瑪?shù)據(jù)的包或包組先 于低優(yōu)先級(jí)通道上被傳輸?shù)陌瑪?shù)據(jù)的包或包組被傳輸。在另一個(gè)實(shí) 施方式中,高優(yōu)先級(jí)通道上被傳輸?shù)陌瑪?shù)據(jù)的包比低優(yōu)先級(jí)通道上 被傳輸?shù)陌瑪?shù)據(jù)的包被分配更多的傳輸槽(slot)。時(shí)間苛刻的消息可在高優(yōu)先級(jí)通道上被傳輸,而相對(duì)不重要的消息可在低優(yōu)先級(jí)通道 上被傳輸。 一旦被寫入緩沖器的數(shù)據(jù)足夠填充包,系統(tǒng)硬件可以自動(dòng) 地傳輸部分消息。這就是說(shuō),當(dāng)數(shù)據(jù)可用時(shí),消息傳輸可被執(zhí)行而無(wú) 須等到整個(gè)消息被寫入到緩沖器。
0033在第三字節(jié)203中的XOFF位控制通道中的數(shù)據(jù)流。每個(gè)節(jié)點(diǎn) 可以包括多個(gè)硬件緩沖器,這些硬件緩沖器接收在多個(gè)通道的相應(yīng)一 個(gè)通道上的消息。例如,高優(yōu)先級(jí)消息被存儲(chǔ)在高優(yōu)先級(jí)緩沖器上, 而低優(yōu)先級(jí)消息被存儲(chǔ)在低優(yōu)先級(jí)緩沖器上。當(dāng)發(fā)送包200的第一節(jié)點(diǎn) 置位包200中的XOFF位時(shí),該第一節(jié)點(diǎn)指示接收包200的第二節(jié)點(diǎn)停止 在相應(yīng)的數(shù)據(jù)通道上發(fā)送數(shù)據(jù)到第一節(jié)點(diǎn)。例如,當(dāng)?shù)谝还?jié)點(diǎn)放置來(lái) 自該數(shù)據(jù)通道的消息的緩沖器變滿時(shí),第一節(jié)點(diǎn)的硬件可以自動(dòng)地置 位數(shù)據(jù)通道的XOFF位。在一個(gè)實(shí)施方式中,節(jié)點(diǎn)何時(shí)置位給定通道的 XOFF位的閾值被設(shè)置為等于節(jié)點(diǎn)中相應(yīng)通道的接收緩沖器的大小(例 如512字)減去32個(gè)字(4個(gè)包)。該32個(gè)字的余量范圍給予接收節(jié)點(diǎn) 時(shí)間來(lái)接收和處理帶有誤差的余量范圍的XOFF信號(hào)。其它閾值水平是 可能的。當(dāng)大量(例如12)消息位于接收緩沖器時(shí),第一節(jié)點(diǎn)的硬件 也可以置位數(shù)據(jù)通道的XOFF位。 一旦從緩沖器移除包或消息,硬件可 以自動(dòng)地清除數(shù)據(jù)通道的XOFF位。每一個(gè)優(yōu)先級(jí)通道可以在節(jié)點(diǎn)中具 有相應(yīng)的接收緩沖器。因?yàn)閄OFF位在每個(gè)包中被傳輸,施加于XOFF 位上的差錯(cuò)校驗(yàn)字段防止對(duì)XOFF位的破壞。
0034通信的多個(gè)通道可以通過(guò)使用上述的通道選擇子字段而在 鏈路層可用。例如,可實(shí)現(xiàn)硬件通道、高優(yōu)先級(jí)通道、中優(yōu)先級(jí)通道 和低優(yōu)先級(jí)通道。消息的長(zhǎng)度可變(例如在3字和128字之間),并且 可根據(jù)消息的長(zhǎng)度,在一個(gè)或多于一個(gè)包中被發(fā)送。消息的第一字節(jié) 可以含有消息的目標(biāo)節(jié)點(diǎn)的地址。系統(tǒng)硬件可以在發(fā)送節(jié)點(diǎn)處將消息 分段為多個(gè)包,并且在接收節(jié)點(diǎn)處重組消息。如果消息沒有填滿包的 數(shù)據(jù)部分,則填充數(shù)據(jù)可被插入到消息部分的剩余部分。消息的發(fā)送 和接收緩沖器可以在硬件中被實(shí)施。例如,節(jié)點(diǎn)可包含每個(gè)通道(例 如,高優(yōu)先級(jí)通道、中優(yōu)先級(jí)通道和低優(yōu)先級(jí)通道)的硬件發(fā)送和接 收緩沖器。在一個(gè)實(shí)施方式中,通道的發(fā)送和接收緩沖器是最大消息 長(zhǎng)度的1.5倍。0035圖3示出使用諸如在圖2的上下文中討論的那些包的兩個(gè)節(jié) 點(diǎn)之間的通信的概念性的時(shí)序圖。包301 — 304從主節(jié)點(diǎn)順序地發(fā)送到 次節(jié)點(diǎn)。包311—314在次節(jié)點(diǎn)被接收,并且對(duì)應(yīng)于包301—304,雖然 在發(fā)生傳輸錯(cuò)誤的情況下,包311—314可能是相應(yīng)的包301 — 304的損 壞形式。由于包沿著鏈路的有限的傳播時(shí)間,對(duì)包311—314的接收在 時(shí)間上相對(duì)于包301 — 304的發(fā)送被延遲。在圖3示出的例子中,包的傳 播時(shí)間小于包的持續(xù)時(shí)間(主節(jié)點(diǎn)發(fā)送包所需要的時(shí)間總量)。
0036次節(jié)點(diǎn)將包355 — 358發(fā)送到主節(jié)點(diǎn)。包365—368在延遲后在 主節(jié)點(diǎn)處被接收,并且對(duì)應(yīng)于包355 —358。包356包含施加于包301的 應(yīng)答字段。如果包311 (其對(duì)應(yīng)于包301)在次節(jié)點(diǎn)處被正確地接收, 則包356包含對(duì)包301的ACK。如果包31 l沒有被正確地接收,則包356 包含NAK。包357包含對(duì)應(yīng)于包302的應(yīng)答字段。類似地,包303包含指 示包365是否在主節(jié)點(diǎn)處被正確地接收的應(yīng)答字段,并且包304包含對(duì) 包366的應(yīng)答字段。
0037在一個(gè)實(shí)施方式中,次節(jié)點(diǎn)直到接收到來(lái)自于主節(jié)點(diǎn)第一個(gè) 應(yīng)答字段之后才開始發(fā)送包。例如,次節(jié)點(diǎn)直到次節(jié)點(diǎn)接收到包311中 的應(yīng)答字段之后才開始發(fā)送包355。為便于在主節(jié)點(diǎn)和次節(jié)點(diǎn)之間的初 始同步,在主節(jié)點(diǎn)發(fā)送包301之前,兩個(gè)節(jié)點(diǎn)可以相互發(fā)送多個(gè)時(shí)序同
步字節(jié)。
0038圖3圖解說(shuō)明在主節(jié)點(diǎn)和次節(jié)點(diǎn)之間的兩個(gè)包"流水線"的 例子。包356含有對(duì)包301的應(yīng)答字段。如果該應(yīng)答字段含有ACK,則 主節(jié)點(diǎn)發(fā)送包303。然而如果包356的應(yīng)答字段含有NAK,則主節(jié)點(diǎn)可 以對(duì)包301和302進(jìn)行再成幀(reframe)和重發(fā)包301和302。在這個(gè)實(shí) 施方式中,當(dāng)接收到兩個(gè)包中的第一包的NAK時(shí),兩個(gè)包被重發(fā),以 便再同步系統(tǒng)。如果沒有正確地接收到兩個(gè)包中的第一包,則可以重 發(fā)第二包,而無(wú)須檢查第二包是否在其第一次被傳輸時(shí)被正確地接收。 在第一包中的差錯(cuò)是由在兩個(gè)節(jié)點(diǎn)之間的同步丟失而導(dǎo)致的情況下, 第二包可能含有差錯(cuò),所以第二包被先占性地重發(fā)。發(fā)送NAK的節(jié)點(diǎn) 也會(huì)重發(fā)在發(fā)送NAK之前它發(fā)送的最后兩個(gè)包。圖3被描述為在主節(jié)點(diǎn) 和次節(jié)點(diǎn)之間的兩個(gè)包流水線,這是因?yàn)閮H在另一個(gè)包被發(fā)送之后才 接收對(duì)給定包的應(yīng)答字段。在主節(jié)點(diǎn)和次節(jié)點(diǎn)之間的往返時(shí)間等于或稍小于發(fā)送一個(gè)包所需的時(shí)間,這就是說(shuō),主節(jié)點(diǎn)在它停止發(fā)送包301
之前開始接收包365。所述往返時(shí)間一般取決于鏈路上的傳輸延遲和節(jié) 點(diǎn)處的處理時(shí)間。更長(zhǎng)的往返時(shí)間(絕對(duì)時(shí)間更長(zhǎng)或相對(duì)于包持續(xù)時(shí) 間較長(zhǎng))也可被用在系統(tǒng)中,并且導(dǎo)致比兩個(gè)包更深的流水線。0039包在主節(jié)點(diǎn)和次節(jié)點(diǎn)之間基本連續(xù)地傳輸,不管有無(wú)消息被 放置在包的數(shù)據(jù)字段內(nèi)。如圖3所示,包被以互鎖的方式傳輸。固定長(zhǎng) 度包的互鎖傳輸引起在節(jié)點(diǎn)處被接收的包和在此節(jié)點(diǎn)處被發(fā)送的包之 間的固定的相位偏移。在發(fā)送先前發(fā)送的包之后的預(yù)定時(shí)間量,節(jié)點(diǎn) 從遠(yuǎn)程節(jié)點(diǎn)接收含有對(duì)先前發(fā)送的包的無(wú)錯(cuò)接收的應(yīng)答的包?;ユi包 的連續(xù)傳輸容許節(jié)點(diǎn)之間精確同步的高帶寬、低時(shí)延的通信。此外, 包的連續(xù)傳輸容許系統(tǒng)精確地和基本連續(xù)地計(jì)算在節(jié)點(diǎn)之間的連接的 誤碼率(BER)。
0040如圖4所示,當(dāng)次節(jié)點(diǎn)接收來(lái)自于主節(jié)點(diǎn)的包411并且判斷導(dǎo) 致包411中的數(shù)據(jù)被毀壞的傳輸錯(cuò)誤發(fā)生過(guò),該次節(jié)點(diǎn)停止發(fā)送包,而 不是發(fā)送下一個(gè)包,次節(jié)點(diǎn)將NAK和再成幀(reframing)序列456發(fā)送 到主節(jié)點(diǎn)。該再成幀序列456被發(fā)送,以重建在主節(jié)點(diǎn)和次節(jié)點(diǎn)之間的 同步,因?yàn)榘?11可能已被毀壞的一個(gè)原因是在主節(jié)點(diǎn)和次節(jié)點(diǎn)之間的 同步可能己被削弱或丟失。該再成幀序列可以包括交替同步字段和鏈 路字段,其中該鏈路字段可以是預(yù)定的代碼(例如0xA3)。在一個(gè)實(shí) 施方式中,在節(jié)點(diǎn)被認(rèn)為在再成幀之前,必須接收四個(gè)鏈路字節(jié)。主 節(jié)點(diǎn)接收NAK和再成幀序列466,并且發(fā)送再成幀序列403。在主節(jié)點(diǎn) 已發(fā)送再成幀序列403之后,該主節(jié)點(diǎn)重發(fā)送在接收NAK之前被發(fā)送的 最后的幾個(gè)包。在N個(gè)包流水線的情況下,最后的N個(gè)包被重發(fā)送。一 旦次節(jié)點(diǎn)接收到第一重發(fā)的包414中的ACK,該次節(jié)點(diǎn)也開始重發(fā)包。
0041如圖5所示,當(dāng)主節(jié)點(diǎn)接收到來(lái)自于次節(jié)點(diǎn)的包565,并且判 斷發(fā)生了導(dǎo)致包565中的數(shù)據(jù)被毀壞的傳輸錯(cuò)誤時(shí),該主節(jié)點(diǎn)將NAK和 再成幀序列503發(fā)送到次節(jié)點(diǎn)。該次節(jié)點(diǎn)接收NAK和再成幀序列513, 并且發(fā)送再成幀序列557。在主節(jié)點(diǎn)已發(fā)送NAK和再成幀序列503之后,
該主節(jié)點(diǎn)重發(fā)送在接收到被毀壞的包之前被發(fā)送的最后的幾個(gè)包。一 旦次節(jié)點(diǎn)接收到第一重發(fā)的包514中的ACK時(shí),該次節(jié)點(diǎn)也開始重發(fā)包。0042差錯(cuò)計(jì)數(shù)器可以跟蹤發(fā)生在節(jié)點(diǎn)中的硬件傳輸錯(cuò)誤的數(shù)量。
當(dāng)計(jì)數(shù)器達(dá)到閾值時(shí),中斷可被開啟。在一個(gè)實(shí)施方式中,該差錯(cuò)計(jì) 數(shù)器可以被節(jié)點(diǎn)中的軟件讀取,并且該軟件可以設(shè)置中斷閾值。差錯(cuò) 探測(cè)和校正可以在該系統(tǒng)中很低的層級(jí)中處理,并且在所描述的鏈路 層之上運(yùn)行的軟件層不需要實(shí)現(xiàn)附加的差錯(cuò)探測(cè)和校正。
0043圖6圖解說(shuō)明在一個(gè)實(shí)施方式中在節(jié)點(diǎn)處執(zhí)行的處理600。該 節(jié)點(diǎn)開始接收第一包(步驟610),并且接收第一包中的應(yīng)答字段(步 驟615)。該節(jié)點(diǎn)判斷該應(yīng)答字段是ACK還是NAK (步驟620)。如果 該應(yīng)答字段是NAK,則該節(jié)點(diǎn)發(fā)送再成幀序列(步驟625),并且重發(fā) 接收到的NAK所對(duì)應(yīng)的包以及在該包之后被發(fā)送的任何包(步驟630)。 如果該應(yīng)答字段是ACK,則該節(jié)點(diǎn)開始發(fā)送第二包(步驟635),并且 例如,通過(guò)檢驗(yàn)包中的CRC值,來(lái)檢測(cè)第一包的差錯(cuò)(步驟640),。 如果在第一包中檢測(cè)到差錯(cuò),該節(jié)點(diǎn)停止發(fā)送第二包(步驟645),并 且發(fā)送NAK和再成幀序列(步驟650)。
0044如果沒有在第一包中檢測(cè)到差錯(cuò),該節(jié)點(diǎn)判斷在第一包中的 故障位是否被置位(步驟655)。如果故障位被置位,則該節(jié)點(diǎn)被置于 故障模式或安全狀態(tài)(步驟660)。如果故障位沒有被置位,或者一旦 該節(jié)點(diǎn)被置于故障模式,則該節(jié)點(diǎn)停止發(fā)送第二包(步驟665),并且 開始發(fā)送第三包(步驟670)。
0045本發(fā)明的實(shí)施例和在本說(shuō)明書中描述的所有功能性的操作 可被實(shí)施在數(shù)字電子電路中,或在計(jì)算機(jī)軟件、固件或硬件中,其包 含本說(shuō)明書中公開的結(jié)構(gòu)和它們的結(jié)構(gòu)等價(jià)物,或被實(shí)施在它們中一 個(gè)或多于一個(gè)的組合中。
本發(fā)明的實(shí)施例可被實(shí)施為一個(gè)或多于一個(gè)計(jì)算機(jī)程序產(chǎn) 品,即在計(jì)算機(jī)可讀介質(zhì)上編碼的一個(gè)或多于一個(gè)計(jì)算機(jī)程序指令模 塊,用以由數(shù)據(jù)處理裝置執(zhí)行或用于控制數(shù)據(jù)處理裝置的操作。所述 計(jì)算機(jī)可讀介質(zhì)可以是機(jī)器可讀的存儲(chǔ)設(shè)備、機(jī)器可讀的存儲(chǔ)襯底、 存儲(chǔ)器設(shè)備、影響機(jī)器可讀的傳播信號(hào)的物質(zhì)的合成,或者它們中的 一個(gè)或多于一個(gè)的組合。術(shù)語(yǔ)"數(shù)據(jù)處理裝置"包含所有用于處理數(shù) 據(jù)的裝置、設(shè)備和機(jī)器,例如包括,可編程處理器、計(jì)算機(jī)或多處理 器或計(jì)算機(jī)。除了硬件,所述裝置還可以包含為所討論的計(jì)算機(jī)程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如組成處理器固件、協(xié)議棧、數(shù)據(jù)庫(kù)管理系 統(tǒng)、操作系統(tǒng)或它們中的一個(gè)或多于一個(gè)的組合的代碼。被傳播信號(hào) 是人工生成的信號(hào),例如機(jī)器生成的電子的、光學(xué)的或電磁的信號(hào), 該信號(hào)被生成以編碼要被發(fā)送到合適的接收裝置的信息。
0046計(jì)算機(jī)程序(也被稱為程序、軟件、軟件應(yīng)用、腳本或代碼) 可以用任何形式的編程語(yǔ)言(包括編譯語(yǔ)言或解釋性語(yǔ)言)來(lái)編寫, 并且計(jì)算機(jī)程序可以任何形式來(lái)部署,包含作為獨(dú)立程序或作為模塊、 組件、子程序或適合在計(jì)算環(huán)境中使用的其它單元。計(jì)算機(jī)程序不必 對(duì)應(yīng)于文件系統(tǒng)中的文件。程序可被存儲(chǔ)在保存其它程序或數(shù)據(jù)的文 件(例如,存儲(chǔ)在標(biāo)記語(yǔ)言文檔中的一個(gè)或多于一個(gè)腳本)的一部分 之中,存儲(chǔ)在所討論的程序?qū)S玫膯为?dú)的文件中,或存儲(chǔ)在多協(xié)調(diào)文 件(例如,存儲(chǔ)一個(gè)或多于一個(gè)模塊、子程序或部分代碼的文件)中。 計(jì)算機(jī)程序可被部署,從而在一臺(tái)計(jì)算機(jī)上或在位于一個(gè)地點(diǎn)或分布 在多個(gè)地點(diǎn)而被通信網(wǎng)絡(luò)相互連接的多臺(tái)計(jì)算機(jī)上被執(zhí)行。
0047在本說(shuō)明書中描述的處理和邏輯流程可以由執(zhí)行一個(gè)或多
于一個(gè)計(jì)算機(jī)程序的一個(gè)或多于一個(gè)可編程處理器來(lái)實(shí)現(xiàn),從而通過(guò) 操作輸入數(shù)據(jù)和生成輸出來(lái)實(shí)現(xiàn)功能。該處理和邏輯流程也可由專用
邏輯電路實(shí)現(xiàn),并且裝置也可被實(shí)現(xiàn)為專用邏輯電路,例如FPGA (現(xiàn) 場(chǎng)可編程門陣列)或ASIC (專用集成電路)。
0048適合執(zhí)行計(jì)算機(jī)程序的處理器包括,例如,通用微處理器和 專用微處理器,以及任何種類的數(shù)字計(jì)算機(jī)的任何一個(gè)或多于一個(gè)處 理器。 一般地,處理器會(huì)從只讀存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器或兩者中接 收指令和數(shù)據(jù)。計(jì)算機(jī)的主要元件是執(zhí)行指令的處理器和用于存儲(chǔ)指 令和數(shù)據(jù)的一個(gè)或多于一個(gè)存儲(chǔ)器設(shè)備。 一般地,計(jì)算機(jī)也可包括, 或可操作地被耦連用以從其中接收數(shù)據(jù)或發(fā)送數(shù)據(jù)或既接收又發(fā)送到 其上的、用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多于一個(gè)海量存儲(chǔ)器設(shè)備,例如磁盤、 磁光盤或光盤。然而,計(jì)算機(jī)不必具有這種設(shè)備。此外,計(jì)算機(jī)可被 嵌入到另外的設(shè)備中,例如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、移動(dòng) 音樂播放器、全球定位系統(tǒng)(GPS)接收器,僅試舉幾例。適合存儲(chǔ)計(jì) 算機(jī)程序指令和數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)包含所有形式的非易失性存儲(chǔ) 器、介質(zhì)和存儲(chǔ)器設(shè)備,例如包括半導(dǎo)體存儲(chǔ)器設(shè)備,例如EPROM、EEPROM和閃速存儲(chǔ)器設(shè)備;磁盤,例如內(nèi)部硬盤或可移動(dòng)盤;磁光
盤;以及CD-ROM和DVD-ROM盤。該處理器和存儲(chǔ)器可由專用邏輯電 路補(bǔ)充或被合并到專用邏輯電路中。
0049為提供與用戶的交互,本發(fā)明的實(shí)施例可以在計(jì)算機(jī)上被實(shí) 施,該計(jì)算機(jī)具有顯示設(shè)備,例如CRT (陰極射線管)或LCD (液晶 顯示器)監(jiān)控器,用以給用戶顯示信息,并且具有用戶可以對(duì)計(jì)算機(jī) 提供輸入的鍵盤或點(diǎn)擊設(shè)備,例如鼠標(biāo)或軌跡球。也可使用其它類型 的設(shè)備來(lái)提供與用戶的交互;例如提供給用戶的反饋可以是任何形式 的傳感器反饋,例如,視覺反饋、聽覺反饋或觸覺反饋;并且來(lái)自用 戶的輸入可以任何形式接收,包括聲學(xué)輸入、語(yǔ)音輸入或觸覺輸入。
0050雖然本說(shuō)明書含有很多細(xì)節(jié),它們不應(yīng)構(gòu)成對(duì)本發(fā)明范圍的 或要求保護(hù)的范圍的限制,而是對(duì)本發(fā)明的特定實(shí)施例的具體的特性 描述。在本說(shuō)明書中的以不同的(多個(gè))實(shí)施例的方式描述的特定的 特征也可以在單個(gè)的實(shí)施例的組合中實(shí)施。相反地,以單個(gè)的實(shí)施例 方式描述的各種特征也可以在多個(gè)實(shí)施例中分別實(shí)施,或者在任何合 適的子組合中實(shí)施。此外,盡管特征可能在前面被描述為特定組合甚 至起初這樣被要求保護(hù),要求保護(hù)的組合中的一個(gè)或多于一個(gè)特征在 一些情況下可從該組合中被去除,且該要求保護(hù)的組合可能會(huì)是子組 合或子組合的變體。
0051類似地,雖然在附圖中以特定的順序?qū)Σ僮鬟M(jìn)行描述,但這 不應(yīng)被理解為,要求以示出的特定的順序或以相繼的順序來(lái)執(zhí)行這種 操作,或者要求執(zhí)行所有圖解說(shuō)明的操作,以實(shí)現(xiàn)所需的結(jié)果。在特 定的狀況下,多任務(wù)和并行處理可能是有利的。此外,在上述的實(shí)施 例中的各種系統(tǒng)組件的分隔不應(yīng)理解為在所有的實(shí)施例中都要求這種 分隔,其應(yīng)被理解為描述的程序組件和系統(tǒng)可以一般地在單獨(dú)的軟件 產(chǎn)品中被集成到一起或打包為多軟件產(chǎn)品。
0052因此,本發(fā)明的特定的實(shí)施例已被闡述。其它的實(shí)施例在權(quán) 利要求的范圍內(nèi)。例如,在權(quán)利要求中描述的動(dòng)作可以不同的順序被 執(zhí)行,并且仍然實(shí)現(xiàn)所需結(jié)果。上述的方法、系統(tǒng)和裝置可以與各種 物理的傳輸機(jī)制一起使用,包括光纖(例如,運(yùn)行在160兆位每秒)、 低壓差分信號(hào)(運(yùn)行在122兆位每秒),源同步串行和異步底板線。在一個(gè)實(shí)施方式中,當(dāng)這些包含有可容錯(cuò)的數(shù)據(jù)時(shí),被毀壞的包不必被 重發(fā)。例如,在視頻或音頻流中偶爾的假信號(hào)是可被接受的。在這個(gè) 實(shí)施中仍然可以使用差錯(cuò)檢測(cè)和再成幀,以允許從幀差錯(cuò)中快速的硬 件實(shí)現(xiàn)的恢復(fù)。
權(quán)利要求
1. 一種數(shù)據(jù)包,其包括同步字段;應(yīng)答字段,其指示對(duì)在前的數(shù)據(jù)包的接收的應(yīng)答;響應(yīng)字段,其包含指示系統(tǒng)故障的信息;頭字段;順序號(hào)字段,其包含分配給所述數(shù)據(jù)包的號(hào)碼;數(shù)據(jù)字段;包結(jié)束字段;以及差錯(cuò)校驗(yàn)字段。
2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)包,其中 所述同步字段長(zhǎng)為一個(gè)字節(jié)長(zhǎng); 所述應(yīng)答字段為一個(gè)字節(jié)長(zhǎng); 所述響應(yīng)字段為一個(gè)字節(jié)長(zhǎng); 所述頭字段為一個(gè)字節(jié)長(zhǎng); 所述序列號(hào)字段為一個(gè)字節(jié)長(zhǎng); 所述數(shù)據(jù)字段為32字節(jié)長(zhǎng); 所述包結(jié)束字段為一個(gè)字節(jié)長(zhǎng);以及 所述差錯(cuò)校驗(yàn)字段為兩個(gè)字節(jié)長(zhǎng)。
3. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)包,其中所述包結(jié)束字段含有對(duì)所述數(shù)據(jù)字段的32字節(jié)中填充字節(jié)的 數(shù)量的指示。
4. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)包,其中 所述同步字段含有預(yù)定的移位不變值。
5. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)包,其中 所述響應(yīng)字段包含流控制信息。
6. 根據(jù)權(quán)利要求5所述的數(shù)據(jù)包,其中 所述流控制信息包含多個(gè)通道的流控制信息。
7. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)包,其中所述頭字段包含通道選擇子字段,所述通道選擇子字段指示所述 數(shù)據(jù)包計(jì)劃使用的通道。
8. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)包,其中 所述頭字段包含命令子字段。
9. 根據(jù)權(quán)利要求8所述的數(shù)據(jù)包,其中 所述命令子字段包含同步命令。
10. —種方法,其包括在第一節(jié)點(diǎn)處接收來(lái)自第二節(jié)點(diǎn)的第一數(shù)據(jù)包中的應(yīng)答字段; 響應(yīng)對(duì)所述應(yīng)答字段的接收,僅在所述第一數(shù)據(jù)包中的所述應(yīng)答字段是否定應(yīng)答NAK的情況下,重發(fā)先前從所述第一節(jié)點(diǎn)發(fā)送的兩 個(gè)或更多個(gè)數(shù)據(jù)包;以及響應(yīng)對(duì)所述應(yīng)答字段的接收,僅在所述應(yīng)答字段是肯定應(yīng)答ACK的情況下,從所述第一節(jié)點(diǎn)發(fā)送第二數(shù)據(jù)包到所述第二節(jié)點(diǎn), 在開始發(fā)送所述第二數(shù)據(jù)包之后,校驗(yàn)在所述第一數(shù)據(jù)包中的差錯(cuò),僅在所述第一數(shù)據(jù)包中檢測(cè)到差錯(cuò)的情況下,在完成所述第二數(shù)據(jù)包的發(fā)送之后,立刻從所述第一節(jié)點(diǎn)發(fā)送NAK到所述第二節(jié)點(diǎn),以 及僅在沒有在所述第一數(shù)據(jù)包中檢測(cè)到差錯(cuò)的情況下,在完成所 述第二數(shù)據(jù)包的發(fā)送之后,立刻從所述第一節(jié)點(diǎn)發(fā)送第三數(shù)據(jù)包到所述 第二節(jié)點(diǎn)。
11. 一種方法,其包括在第一節(jié)點(diǎn)處接收從第二節(jié)點(diǎn)發(fā)送的第一數(shù)據(jù)包,所述第一數(shù) 據(jù)包包括故障信號(hào);響應(yīng)所述故障信號(hào),將所述第一節(jié)點(diǎn)置于安全狀態(tài);以及在所述第一節(jié)點(diǎn)上處理所述第一數(shù)據(jù)包的數(shù)據(jù)字段中所包含 的信息之前,將包含所述故障信號(hào)的第二數(shù)據(jù)包從所述第一節(jié)點(diǎn)發(fā)送到 第三節(jié)點(diǎn)。
12. 根據(jù)權(quán)利要求11所述的方法,其進(jìn)一步包括在所述第一節(jié)點(diǎn)處接收從所述第二節(jié)點(diǎn)發(fā)送的第三數(shù)據(jù)包,所 述第三數(shù)據(jù)包不包含所述故障信號(hào),所述第一節(jié)點(diǎn)處于所述安全狀態(tài);將所述第一節(jié)點(diǎn)置于操作狀態(tài);以及將第四數(shù)據(jù)包從所述第一節(jié)點(diǎn)發(fā)送到所述第三節(jié)點(diǎn),所述第四 數(shù)據(jù)包不包含所述故障信號(hào)。
13. —種計(jì)算機(jī)程序產(chǎn)品,其有形地被嵌入在計(jì)算機(jī)可讀介質(zhì)上,所述計(jì)算機(jī)程序產(chǎn)品包括可操作為使可編程處理器執(zhí)行如下操作的指 令在第一節(jié)點(diǎn)處接收來(lái)自第二節(jié)點(diǎn)的第一數(shù)據(jù)包中的應(yīng)答字段;響應(yīng)對(duì)所述應(yīng)答字段的接收,僅在所述第一數(shù)據(jù)包中的所述應(yīng) 答字段是否定應(yīng)答NAK的情況下,重發(fā)先前從所述第一節(jié)點(diǎn)發(fā)送的兩 個(gè)或更多個(gè)數(shù)據(jù)包;以及響應(yīng)對(duì)所述應(yīng)答字段的接收,僅在所述應(yīng)答字段是肯定應(yīng)答 ACK的情況下,從所述第一節(jié)點(diǎn)發(fā)送第二數(shù)據(jù)包到所述第二節(jié)點(diǎn),在開始發(fā)送所述第二數(shù)據(jù)包之后,校驗(yàn)在所述第一數(shù)據(jù)包中的差錯(cuò),僅在所述第一數(shù)據(jù)包中檢測(cè)到差錯(cuò)的情況下,在完成所述 第二數(shù)據(jù)包的發(fā)送之后,立刻從所述第一節(jié)點(diǎn)發(fā)送NAK到所述第二節(jié) 點(diǎn),以及僅在沒有在所述第一數(shù)據(jù)包中檢測(cè)到差錯(cuò)的情況下,在完 成所述第二數(shù)據(jù)包的發(fā)送之后,立刻從所述第一節(jié)點(diǎn)發(fā)送第三數(shù)據(jù)包到 所述第二節(jié)點(diǎn)。
14. 一種計(jì)算機(jī)程序產(chǎn)品,其有形地被嵌入在計(jì)算機(jī)可讀介質(zhì)上, 所述計(jì)算機(jī)程序產(chǎn)品包括可操作為使可編程處理器執(zhí)行如下操作的指 令在第一節(jié)點(diǎn)處接收從第二節(jié)點(diǎn)發(fā)送的第一數(shù)據(jù)包,所述第一數(shù) 據(jù)包包含故障信號(hào);響應(yīng)所述故障信號(hào),將所述第一節(jié)點(diǎn)置于安全狀態(tài);以及在所述第一節(jié)點(diǎn)上處理所述第一數(shù)據(jù)包中的數(shù)據(jù)字段所包含 的信息之前,從所述第一節(jié)點(diǎn)發(fā)送包含所述故障信號(hào)的第二數(shù)據(jù)包到第三節(jié)點(diǎn)。
15.根據(jù)權(quán)利要求14所述的產(chǎn)品,其進(jìn)一步包括可操作為執(zhí)行如下操作的指令在所述第一節(jié)點(diǎn)處接收從所述第二節(jié)點(diǎn)發(fā)送的第三數(shù)據(jù)包,所述第三數(shù)據(jù)包不包含所述故障信號(hào),所述第一節(jié)點(diǎn)處于所述安全狀態(tài); 將所述第一節(jié)點(diǎn)置于操作狀態(tài);以及從所述第一節(jié)點(diǎn)發(fā)送第四包到所述第三節(jié)點(diǎn),所述第四包不包 含所述故障信號(hào)。
全文摘要
提供了包含同步字段和指示對(duì)在前的數(shù)據(jù)包的應(yīng)答的應(yīng)答字段。所述數(shù)據(jù)包也包含指示系統(tǒng)故障的信息的響應(yīng)字段、頭字段以及包含被分配給該數(shù)據(jù)包的號(hào)碼的序列號(hào)字段。該數(shù)據(jù)包進(jìn)一步包含數(shù)據(jù)字段、包結(jié)束字段以及差錯(cuò)校驗(yàn)字段。在一些實(shí)施方式中,方法和計(jì)算機(jī)程序產(chǎn)品被提供,其包括如果在接收到的數(shù)據(jù)包中的應(yīng)答字段是否定應(yīng)答(NAK),則重發(fā)多個(gè)包,和/或響應(yīng)該接收到的數(shù)據(jù)包中所包含的故障信號(hào),而將節(jié)點(diǎn)置于安全狀態(tài)。
文檔編號(hào)G01R31/08GK101432629SQ200680047046
公開日2009年5月13日 申請(qǐng)日期2006年12月20日 優(yōu)先權(quán)日2005年12月22日
發(fā)明者C·雅克思, M·德呂克 申請(qǐng)人:直觀外科手術(shù)公司