欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

容錯以太網(wǎng)中的時鐘同步方法

文檔序號:7865644閱讀:180來源:國知局
專利名稱:容錯以太網(wǎng)中的時鐘同步方法
技術(shù)領(lǐng)域
一般來說,本發(fā)明涉及網(wǎng)絡(luò)中連接的多個計算節(jié)點之間的時鐘同步,更具體來說,涉及用于實現(xiàn)容錯以太網(wǎng)環(huán)境中的同步的方法及裝置。
背景技術(shù)
在許多應(yīng)用中需要同步網(wǎng)絡(luò)的計算節(jié)點的本地時鐘以免出錯。這在其中計算節(jié)點正處理事件序列的過程控制應(yīng)用中特別需要,因為時鐘誤差可能使某個事件被解釋為錯誤出現(xiàn)在另一個事件之前或之后。對于大約1毫秒的分辨率的發(fā)電要求,當(dāng)前方法不夠精確。
以太網(wǎng)環(huán)境中的每個計算節(jié)點一般包括能夠使該節(jié)點上的計算機(jī)與其它節(jié)點上的計算機(jī)相互連接的組件。這些組件包括物理(PHY)層或者收發(fā)信機(jī)和媒體訪問控制器(MAC)。PHY收發(fā)信機(jī)連接到網(wǎng)絡(luò),以及MAC連接在PHY收發(fā)信機(jī)與計算節(jié)點上的本地計算機(jī)之間。美國專利第5953345號描述了一種用于以太網(wǎng)環(huán)境的時鐘同步技術(shù)。這種技術(shù)采用各分布在連接到各節(jié)點的PHY收發(fā)信機(jī)和MAC控制器的分開的專用線路上的分開的全局時鐘信號和同步脈沖。這種技術(shù)不適合許多其中分開的線路未提供或太昂貴的應(yīng)用。
本發(fā)明向以太網(wǎng)組件傳遞同步信息,它精確到足以得到所需分辨率而不需要專用布線。
本發(fā)明還提供其它許多優(yōu)點,它們隨著以下描述將變得明顯。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的方法使控制系統(tǒng)中的計算節(jié)點同步。各計算節(jié)點包括主計算機(jī)和收發(fā)信機(jī)。該方法監(jiān)測主時間數(shù)據(jù)包以得到其中包含的時標(biāo)。對于主定時器模式,數(shù)據(jù)包由主計算機(jī)提供給收發(fā)信機(jī),而對于收聽模式,則由收發(fā)信機(jī)提供給主計算機(jī)。在收聽模式中,所監(jiān)測的時標(biāo)被保存,并就所保存時標(biāo)通知主計算機(jī)。在主定時器模式中,當(dāng)前時標(biāo)值取代被監(jiān)測時標(biāo)。具有已替換時標(biāo)的時間數(shù)據(jù)包提供給收發(fā)信機(jī)。
在該方法的一個實施例中,還監(jiān)測時間數(shù)據(jù)包的校驗和值。在主定時器模式中,所計算的校驗和值取代被監(jiān)測校驗和值,并提供給收發(fā)信機(jī)。在收聽模式中,根據(jù)被監(jiān)測校驗和值與所計算校驗和值的比較結(jié)果將被監(jiān)測時標(biāo)通知或不通知主計算機(jī)。
在本發(fā)明的方法的另一個實施例中,當(dāng)檢測到被監(jiān)測時標(biāo)時還保存當(dāng)前時間值。計算節(jié)點最好還包括本地定時器,由該方法在收聽模式中根據(jù)所保存的時標(biāo)和所保存的當(dāng)前時間進(jìn)行調(diào)整。本地時鐘對主時鐘的偏差和錯位因網(wǎng)絡(luò)擁塞而減少到僅為網(wǎng)絡(luò)等待時間加上可變性。
在該方法的又一個實施例中,還監(jiān)測時間數(shù)據(jù)包中的時間數(shù)據(jù)包的發(fā)送方的身份。如果身份無效,則該方法重新開始。
在該方法的又一個實施例中,還監(jiān)測時間數(shù)據(jù)包的多播地址。如果計算節(jié)點不是多播地址的訂戶,則該方法重新開始。
在該方法的另一個實施例中,計算節(jié)點還包括設(shè)置在主計算機(jī)和收發(fā)信機(jī)之間的網(wǎng)絡(luò)控制器。網(wǎng)絡(luò)最好是容錯以太網(wǎng),收發(fā)信機(jī)是PHY收發(fā)信機(jī),以及網(wǎng)絡(luò)控制器是MAC控制器。
本發(fā)明的實時同步電路設(shè)置在計算節(jié)點的主計算機(jī)與收發(fā)信機(jī)之間。實時同步電路包括本地定時器和邏輯裝置。邏輯裝置可按照主時間發(fā)送模式以及收聽模式進(jìn)行工作。在主時間發(fā)送模式中,邏輯裝置用本地定時器的當(dāng)前時間值代替主計算機(jī)所提供的數(shù)據(jù)包中包含的主時標(biāo)。具有已替換的當(dāng)前時間值的數(shù)據(jù)包被轉(zhuǎn)發(fā)給收發(fā)信機(jī),從而補償因主計算機(jī)而引起的延遲。在收聽模式中,邏輯裝置保存(或存儲)從收發(fā)信機(jī)接收的數(shù)據(jù)包中包含的主時標(biāo),以及還保存本地定時器的當(dāng)前值。
在本發(fā)明的實時時鐘同步電路的一個實施例中,如果數(shù)據(jù)包包含其發(fā)送方的無效身份,則在收聽模式中不保存主時標(biāo)。
在實時時鐘同步電路的另一個實施例中,如果數(shù)據(jù)包包含多播地址并且該電路不是此多播地址的訂戶,則在收聽模式中不保存主時標(biāo)。
在本發(fā)明的實時時鐘同步電路的又一個實施例中,計算節(jié)點還包括設(shè)置在主計算機(jī)與收發(fā)信機(jī)之間的網(wǎng)絡(luò)控制器。計算節(jié)點最好是連接在容錯以太網(wǎng)中,收發(fā)信機(jī)是PHY收發(fā)信機(jī),以及網(wǎng)絡(luò)控制器是MAC控制器。
本發(fā)明的計算節(jié)點包括適合于網(wǎng)絡(luò)中連接的主計算機(jī)和收發(fā)信機(jī)以及實時同步電路。實時同步電路包括本地定時器以及可按照主時間發(fā)送模式和收聽模式工作的邏輯裝置。在主時間發(fā)送模式中,邏輯裝置用本地定時器的當(dāng)前時間值代替主計算機(jī)所提供的數(shù)據(jù)包中包含的實時主時標(biāo)。具有已替換的當(dāng)前時間值的數(shù)據(jù)包被轉(zhuǎn)發(fā)給收發(fā)信機(jī),從而補償因主計算機(jī)而引起的延遲。在收聽模式中,邏輯裝置保存從收發(fā)信機(jī)接收的數(shù)據(jù)包中包含的主時標(biāo),以及還保存本地定時器的當(dāng)前值。
在本發(fā)明的計算節(jié)點的一個實施例中,主計算機(jī)通過根據(jù)所保存的主時標(biāo)以及所保存的當(dāng)前時間值調(diào)整本地定時器來執(zhí)行更新操作。
在本發(fā)明的計算節(jié)點的另一個實施例中,主時標(biāo)和本地當(dāng)前時間值分別保存在第一和第二寄存器中。
在本發(fā)明的計算節(jié)點的又一個實施例中,實時同步電路還包括移位寄存器,用于從主計算機(jī)接收數(shù)據(jù)包;以及復(fù)用器,用于切換收發(fā)信機(jī)的輸入以接收來自移位寄存器、除主時標(biāo)以外的數(shù)據(jù)包以及接收取代它的本地定時器的當(dāng)前時間值。
在本發(fā)明的計算節(jié)點的又一個實施例中,網(wǎng)絡(luò)控制器設(shè)置在主計算機(jī)和收發(fā)信機(jī)之間。
在本發(fā)明的計算節(jié)點的另一個實施例中,計算節(jié)點連接在容錯以太網(wǎng)中,收發(fā)信機(jī)是PHY收發(fā)信機(jī),以及網(wǎng)絡(luò)控制器是MAC控制器。
在所述方法、實時時鐘同步電路和計算節(jié)點的任一個實施例中,時標(biāo)包括實時值。
附圖概述通過參考以下結(jié)合附圖的說明,將了解本發(fā)明的其它和進(jìn)一步的目的、優(yōu)點及特征,附圖中相似的參考標(biāo)號表示相似的結(jié)構(gòu)要素,以及

圖1是包括本發(fā)明的同步裝置的控制系統(tǒng)的框圖;圖2是圖1的控制系統(tǒng)的同步裝置的實時時鐘同步電路的框圖;圖3是根據(jù)本發(fā)明的實時時鐘同步方法的發(fā)送步驟的邏輯流程圖;以及圖4是根據(jù)本發(fā)明的實時時鐘同步方法的接收步驟的邏輯流程圖。
優(yōu)選實施例說明參照圖1,控制系統(tǒng)20包括經(jīng)過設(shè)置以控制、監(jiān)測和/或管理過程30的本發(fā)明的多個計算節(jié)點22、24和26。雖然表示了三個計算節(jié)點,但計算節(jié)點24與26之間的虛線表明可使用或多或少的計算節(jié)點。表示了具有與過程30的連接的計算節(jié)點22和24。這些連接可以到達(dá)各種傳感器和/或控制裝置所連接到的總線。例如,一個或多個計算節(jié)點22和24的本地總線可以是基金會現(xiàn)場總線(FF)局域網(wǎng)。計算節(jié)點26沒有到過程30的直接連接,以及可用于管理計算節(jié)點、觀察和其它目的。
計算節(jié)點22、24和26經(jīng)由網(wǎng)絡(luò)28互連。網(wǎng)絡(luò)28可以是任何適當(dāng)?shù)挠芯€、無線和/或光網(wǎng)絡(luò),并且可包括互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)、公共電話網(wǎng)、局域網(wǎng)和/或廣域網(wǎng)。網(wǎng)絡(luò)28最好是有助于以太網(wǎng)環(huán)境。
由于計算節(jié)點22、24和26實質(zhì)上相同,因此僅詳細(xì)描述計算節(jié)點22。計算節(jié)點22包括本地或主計算機(jī)32、媒體訪問控制器(MAC)控制器34、實時同步電路36和物理接口(PHY)收發(fā)信機(jī)38。主計算機(jī)32、MAC控制器34和PHY收發(fā)信機(jī)38可以適當(dāng)?shù)厥巧虉龀鍪鄣慕M件。
實時同步電路36是本發(fā)明的同步裝置,并且設(shè)置在MAC控制器32與PHY收發(fā)信機(jī)38之間。實時同步電路36能夠使計算節(jié)點可用作主時間時鐘節(jié)點或收聽節(jié)點。主時間時鐘節(jié)點基于多播向控制系統(tǒng)20中的其它計算節(jié)點發(fā)送數(shù)據(jù)包。通過多播意味著數(shù)據(jù)包包含預(yù)訂計算節(jié)點組的標(biāo)識。作為訂戶組的成員的任何節(jié)點能夠接收或收聽數(shù)據(jù)包。
根據(jù)本發(fā)明,實時同步電路36在主時間模式中時,識別由其相關(guān)主計算機(jī)32組裝的主時間時鐘數(shù)據(jù)包,并把來自主本地定時器的實時時標(biāo)插入數(shù)據(jù)包中的適當(dāng)位置。插入盡可能地接近至PHY收發(fā)信機(jī)的接口,從而避免主計算機(jī)32和MAC控制器34中固有的延遲。
在收聽模式中時,實時同步電路36識別數(shù)據(jù)包身份,并捕捉所接收的主時間數(shù)據(jù)包的實時時標(biāo)以及本地定時器的本地時間值。這些保存的值使主計算機(jī)32能夠把本地定時器調(diào)整為與所接收主時標(biāo)同步。也就是說,本地主計算機(jī)32控制增大或減小本地實時時鐘、從而使本地實時時鐘加速或減速的本地時基時鐘。因此,本地時鐘可與時間主時鐘同步。本地時鐘對主時鐘的偏差和錯位因網(wǎng)絡(luò)擁塞而減少到僅為網(wǎng)絡(luò)等待時間加上可變性。消除兩個計算機(jī)平臺(時間主節(jié)點和本地節(jié)點)的中斷及處理等待時間。
時間同步數(shù)據(jù)包在本發(fā)明的一個實施例中,使收聽節(jié)點與主節(jié)點同步所需的信息將以基金會現(xiàn)場總線(FF)高速以太網(wǎng)(HSE)測試數(shù)據(jù)包被發(fā)送。這個數(shù)據(jù)包被多播到參與容錯以太網(wǎng)(FTE)社區(qū)的所有節(jié)點。沒有參與FTE社區(qū)的節(jié)點可通過預(yù)訂FTE測試消息正發(fā)送的多播地址來同步時間。HSE測試數(shù)據(jù)包包含時標(biāo)的位置。HSE規(guī)范沒有規(guī)定這個時標(biāo)是精確的。但是,可采用這個時標(biāo)來發(fā)送精確的時間簽名。收聽節(jié)點可通過配置成識別時間主節(jié)點的源FF HSE裝置ID來使用這個精確時間,以及使用其時標(biāo)作為精確的時間參考。
HSE時標(biāo)HSE時標(biāo)是64位字,它包含作為1/32毫秒的二進(jìn)制倍數(shù)的帶符號數(shù)。該數(shù)字表示與1984年1月1日子夜的偏差。這個標(biāo)準(zhǔn)的可能來源在于1/32毫秒為32KHz、手表的通用頻率晶體、嵌入式計算機(jī)實時時鐘等等。
系統(tǒng)20中的時標(biāo)的FTE使用例如,主計算機(jī)32的基本時鐘可以是33MHz。由于難以達(dá)到1/32毫秒,因此本發(fā)明人已經(jīng)發(fā)現(xiàn),最好的折衷是把33MHz時鐘除以33 1/3,并達(dá)到1微秒的基本報時信號。這個時鐘可除以125,從而達(dá)到125微秒,它為1/8毫秒。為了事件序列(SOE)確定,125微秒足以達(dá)到1毫秒時間精度。時鐘主節(jié)點將采用125微秒以及來自其中的二進(jìn)制計數(shù)。以HSE測試消息發(fā)送時標(biāo)時,時標(biāo)的兩個最低有效位(LSB)將設(shè)置為零。
誤差源靜態(tài)誤差在以太網(wǎng)系統(tǒng)中,在時鐘定時中存在靜態(tài)誤差源。第一個是在沒有節(jié)點對節(jié)點同步的系統(tǒng)中的晶體頻率的基本差異?,F(xiàn)成的振蕩器的頻率精度通常為百萬分之(PPM)一百。對于額外費用,可得到50PPM。
為了SOE確定,頻率精度只在收聽節(jié)點中才是重要的,因為主節(jié)點為參考。如果用戶希望時間精確到掛鐘,則主時鐘寄存器必須與精確的世界時間源同步。在過去,這通過源自電力網(wǎng)的50或60Hz的頻率來實現(xiàn)。最近,為了這個功能,全球定位衛(wèi)星(GPS)接收機(jī)的使用變?yōu)槠占?。GPS具有精確的日期和時間以及頻率精度的優(yōu)點。
另一個固定誤差源是數(shù)據(jù)包的開始與時標(biāo)在數(shù)據(jù)包中所處的位置之間的時間。同樣,在消息開始時與消息中出現(xiàn)時標(biāo)時之間存在接收機(jī)中引入的誤差。
較小的誤差由用來傳輸數(shù)據(jù)的線路或光纖中的相對延遲引入。
動態(tài)誤差最大的誤差源是系統(tǒng)中的動態(tài)誤差。一個源是當(dāng)數(shù)據(jù)包已經(jīng)離開發(fā)射機(jī)時在系統(tǒng)中存在的等待時間量。這取決于以太網(wǎng)中的詳細(xì)情況。包含在相關(guān)性中的是時間主節(jié)點與收聽者之間路徑中的交換機(jī)數(shù)量、數(shù)據(jù)包在各交換機(jī)中被復(fù)制的次數(shù)以及各交換機(jī)中隊列的擁塞。
另一個動態(tài)誤差源是在接收數(shù)據(jù)包的時間與改變時鐘寄存器的時間之間收聽者中的等待時間??梢杂羞@種誤差的若干源,其中包括中斷響應(yīng)、中斷服務(wù)例程的優(yōu)先級、以太網(wǎng)數(shù)據(jù)包在其中被傳遞的總線上的負(fù)荷和為數(shù)據(jù)提供服務(wù)的處理器的速度、以及在用戶編碼的驅(qū)動器到達(dá)數(shù)據(jù)之前操作系統(tǒng)復(fù)制數(shù)據(jù)包的次數(shù)。
在發(fā)射機(jī)中,在從時鐘寄存器取數(shù)據(jù)的時間與數(shù)據(jù)被寫入數(shù)據(jù)包緩沖器的時間之間存在動態(tài)誤差。這個時間差別可能受到處理器速度、時間寄存器駐留的總線上的負(fù)荷以及以太網(wǎng)發(fā)射機(jī)得到數(shù)據(jù)包數(shù)據(jù)的總線上的負(fù)荷、對數(shù)據(jù)包進(jìn)行排隊以便發(fā)送的操作系統(tǒng)開銷的影響。
還存在接收機(jī)和發(fā)射機(jī)振蕩器的頻率誤差的動態(tài)變化。這種隨時間和溫度的漂移包含在裝置的100PPM或50PPM規(guī)范中。
使動態(tài)等待時間最小發(fā)射機(jī)等待時間對發(fā)射機(jī)等待時間誤差的主要影響是在操作系統(tǒng)和總線負(fù)荷中。這兩種影響都無法控制,而對系統(tǒng)硬件設(shè)計沒有大的影響。最好的方式是使時間值盡可能地接近傳輸媒體。在以太網(wǎng)傳輸路徑中存在便利的位置來執(zhí)行這個功能。數(shù)據(jù)被格式化在稱作媒體無關(guān)接口(MII)的標(biāo)準(zhǔn)接口中。這是一個已知接口,它可由一組邏輯截收,并用于消除發(fā)射機(jī)中的許多等待時間。從發(fā)送MAC控制器34到PHY收發(fā)信機(jī)38的MII接口可被中斷及饋入實時同步電路36以便處理。實時同步電路36可監(jiān)測輸出到PHY收發(fā)信機(jī)38的所有數(shù)據(jù)包數(shù)據(jù),以及當(dāng)它識別HSE測試數(shù)據(jù)包時可開始工作。數(shù)據(jù)包將未經(jīng)修改地傳遞給PHY收發(fā)信機(jī)38,直到它到達(dá)數(shù)據(jù)包的時標(biāo)部分。然后,實時同步電路36可插入在實時同步電路36中保持的時間寄存器中包含的值。這個過程將消除發(fā)射機(jī)中所有的操作系統(tǒng)/處理器/總線相關(guān)的等待時間。實時同步電路36還當(dāng)數(shù)據(jù)包中的數(shù)據(jù)已經(jīng)改變時計算新的幀校驗序列(FCS)。重新計算的FCS在適當(dāng)位置插入數(shù)據(jù)包,并發(fā)送給PHY收發(fā)信機(jī)38。
收聽者等待時間當(dāng)處于收聽模式時,相似的技術(shù)可用于實時同步電路36,以便消除操作系統(tǒng)/處理器/總線引起的等待時間。PHY收發(fā)信機(jī)38與MAC控制器34之間的MII總線通過實時同步電路36來截收。實時同步電路36還在接收節(jié)點中包含時間寄存器。實時同步電路36將需要由節(jié)點中的主計算機(jī)32進(jìn)行的配置。實時同步電路36需要知道時間主節(jié)點的裝置ID上的HSE測試數(shù)據(jù)包的IP多播地址。輸入MII接口上的數(shù)據(jù)包由實時同步電路36窺探,當(dāng)找到已配置的IP地址時,該邏輯則查找時間主節(jié)點FF HSE裝置ID。當(dāng)發(fā)現(xiàn)主節(jié)點ID時,該邏輯一直等到數(shù)據(jù)包的時標(biāo)部分開始。時標(biāo)則存儲在臨時寄存器中。這時,邏輯捕捉可由主計算機(jī)32讀取的寄存器中的本地時標(biāo)寄存器。當(dāng)整個數(shù)據(jù)包完成時,邏輯采用已經(jīng)從包數(shù)據(jù)計算的FCS檢驗最終的FCS。如果FCS正確,則臨時寄存器中的時間被傳遞給主計算機(jī)32可讀取的寄存器,并設(shè)置對主計算機(jī)32的中斷。主計算機(jī)32為中斷提供服務(wù),以及根據(jù)本地時間與時間主節(jié)點時間之間的差異進(jìn)行計算??刂票镜貢r基的實時同步電路36的邏輯被調(diào)整為與時間主節(jié)點同步。由于采用在數(shù)據(jù)包到達(dá)時捕捉的時間來計算時基誤差,因此不存在等待時間誤差。如果路徑等待時間可保持在0.5毫秒以內(nèi),則總誤差將在期望的1毫秒以內(nèi)。主計算機(jī)32可對等待時間求平均,并在必要時消除固定延遲。
路徑等待時間計算512個節(jié)點的最大值所用的HSE測試數(shù)據(jù)包含有大約400字節(jié)。在100兆比特/秒,存在每位10ns或者每字節(jié)80ns。因此,400字節(jié)為32微秒。如果在交換機(jī)中存在一個數(shù)據(jù)包的隊列,則每個交換機(jī)將存在每個數(shù)據(jù)包32微秒的延遲。在繁忙系統(tǒng)中,可能在隊列的輸出之前存在全長數(shù)據(jù)包。對于0.122毫秒的延遲,全長數(shù)據(jù)包為1518字節(jié)。如果需要把等待時間保持在0.5毫秒以內(nèi),則在大負(fù)荷系統(tǒng)上時間主節(jié)點與收聽者之間的交換機(jī)數(shù)量應(yīng)當(dāng)保持為4或5。應(yīng)當(dāng)進(jìn)行控制系統(tǒng)20中的數(shù)據(jù)包類型的分析,以便對網(wǎng)絡(luò)拓?fù)涮岢鼋ㄗh。為此,時間主節(jié)點應(yīng)當(dāng)處于交換機(jī)分級結(jié)構(gòu)的頂部。
時基在實時同步電路36中,時基由計算節(jié)點中包含的基本33MHz振蕩器驅(qū)動。這個時鐘首先除以33 1/3,以便得到1微秒時鐘。1微秒時鐘驅(qū)動產(chǎn)生標(biāo)稱上每125微秒一個時鐘寬的脈沖的邏輯。125微秒脈沖的控制允許調(diào)節(jié)定時電路。
1微秒時鐘最好用來驅(qū)動兩個定時鏈。這些鏈之一用于HSE時標(biāo)。這個鏈?zhǔn)菃握{(diào)增加的64位寄存器,它可由主計算機(jī)32在當(dāng)前日期、年和時間的起始時間進(jìn)行編程。這個寄存器由1微秒時鐘來定時,并由大約每125微秒一個時鐘寬的脈沖來啟動。125微秒脈沖由控制邏輯調(diào)節(jié),以便得到時鐘同步。
第二個鏈提前1微秒時鐘,共計1秒,并且與另一個邏輯結(jié)合用于調(diào)節(jié)125微秒脈沖以及每秒中斷主計算機(jī)32。
調(diào)節(jié)方法基于主計算機(jī)32對10微秒增量的數(shù)目編程,以便向啟動HSE時間計數(shù)器的125微秒脈沖加入或從中減少每秒。如果計數(shù)器為每秒短了或長了10微秒,則加或減百萬分之10的改變是可行的??刂萍拇嫫鳛?2位,其中一位用于頻率控制的百萬分之+或-40960的概率的符號。例如,如果主計算機(jī)32在寄存器中安排1,則125微秒啟動脈沖之一將以每秒124微秒的間隔出現(xiàn)。這將使HSE時鐘加速百萬分之10。如果主計算機(jī)32在寄存器中安排1以及在符號位中安排1,則將有每秒為126微秒的一個啟動脈沖間隔。這將使HSE時鐘減速百萬分之10。
收聽者中的MII窺探參照圖2,PHY收發(fā)信機(jī)38包括PHY接收機(jī)40和PHY發(fā)射機(jī)42。PHY收發(fā)信機(jī)38與MAC控制器之間的接口是媒體無關(guān)接口(MII)。
PHY接收機(jī)40經(jīng)由網(wǎng)絡(luò)28(圖1)接收來自其它計算節(jié)點的數(shù)據(jù)包,并經(jīng)由所選A或B信道以半字節(jié)(每半字節(jié)四位)向?qū)崟r同步電路36提供PHY時鐘信號和數(shù)據(jù)包數(shù)據(jù)。PHY發(fā)射機(jī)經(jīng)由B信道接收來自MAC控制器的MAC時鐘信號以及待發(fā)送的數(shù)據(jù)包的數(shù)據(jù)半字節(jié)。PHY發(fā)射機(jī)42經(jīng)由所選A或B信道從實時時鐘同步電路36接收HSE測試數(shù)據(jù)包。
實時時鐘同步電路36包括接收移位寄存器44,時鐘信號將半字節(jié)逐個移入其中。實時時鐘同步電路36還包括比較邏輯和狀態(tài)機(jī)控制器46、時標(biāo)捕捉寄存器48、本地時間捕捉寄存器50、本地時間計數(shù)器52、發(fā)送移位寄存器54、比較邏輯和狀態(tài)機(jī)控制器56以及輸出復(fù)用器58。
參照圖2和圖4,對于收聽模式描述實時時鐘同步36的操作,其中,計算模式中的另一個用作時間主節(jié)點,定期(例如以0.5秒間隔)發(fā)送HSE測試數(shù)據(jù)包。PHY時鐘信號把半字節(jié)記錄到接收移位寄存器44以及記錄到MAC控制器34的寄存器(未示出)中。PHY接收機(jī)40向控制器46提供何時通過分開的線路RX_DV(未示出)接收有效數(shù)據(jù)的指示??刂破?6在圖4的步驟70進(jìn)行響應(yīng),開始查找數(shù)據(jù)中幀的開始。一旦找到幀的開始,步驟72啟動控制器46的半字節(jié)計數(shù)器(未示出)以便對半字節(jié)計數(shù)。對各半字節(jié)進(jìn)行計數(shù)時,步驟78確定當(dāng)前半字節(jié)是否是幀的結(jié)束。如果是,則步驟76清除半字節(jié)計數(shù)器,以及控制轉(zhuǎn)到步驟70。
如果步驟74確定當(dāng)前半字節(jié)不是幀的結(jié)束,則步驟78把該半字節(jié)移入控制器46的數(shù)據(jù)寄存器和校驗和計算器(未示出)。步驟80確定半字節(jié)計數(shù)是否等于目標(biāo)地址。如果不是,則步驟74、78和80重復(fù)進(jìn)行,直至遇到目標(biāo)地址或IP地址。然后,步驟82確定目標(biāo)地址是否是診斷多播數(shù)據(jù)包。如果不是,則步驟76清除半字節(jié)計數(shù)器,以及控制返回到步驟70。如果步驟82確定目標(biāo)地址為多播地址,則目標(biāo)地址被保存并與主計算機(jī)32配置的診斷多播地址進(jìn)行比較。根據(jù)這個比較,認(rèn)為檢測到HSE測試消息。步驟84對半字節(jié)計數(shù),直到半字節(jié)計數(shù)等于服務(wù)字節(jié)計數(shù)(FF HSE診斷消息類型標(biāo)識符的位置)。
步驟86把消息類型與FF HSE診斷消息的值進(jìn)行比較,以便確定該消息是否是診斷消息。如果不是,則步驟76清除半字節(jié)計數(shù)器,并且控制返回到步驟70。如果步驟86確定該消息為FF HSE診斷消息,則步驟88對半字節(jié)計數(shù),直到半字節(jié)計數(shù)等于裝置索引(FF HSE裝置ID)。出現(xiàn)這種情況時,步驟90確定裝置索引和編程值(配置的ID)是否相同。主計算機(jī)32事先已經(jīng)在配置的ID中編入了時間主節(jié)點的ID。如果不是,則步驟76清除半字節(jié)計數(shù)器,以及控制返回到步驟70。如果是,則在步驟92,邏輯將對半字節(jié)計數(shù),直至遇到社區(qū)字段中的節(jié)點數(shù)量。當(dāng)遇到節(jié)點數(shù)量字段時,邏輯將把節(jié)點數(shù)量與8相乘,并將這個值保存在臨時寄存器中。邏輯將對半字節(jié)計數(shù),直到節(jié)點狀態(tài)字段開始。在這時,啟動遞降計數(shù)器。當(dāng)遞降計數(shù)器達(dá)到0時,它表明節(jié)點狀態(tài)表的結(jié)束。下一個字段是時標(biāo)。
然后,步驟96把時標(biāo)(來自步驟84)存儲到可由主計算機(jī)32讀取的時標(biāo)捕捉寄存器48中。同時,步驟98捕捉本地時間計數(shù)器52的時間值,并將它存儲在本地時間捕捉寄存器50中。主計算機(jī)32可訪問寄存器48和50,并比較這兩個值,從而確定誤差值以及計算校正值,以便放入圖2的125微秒脈沖展寬器/縮減器60。步驟100對半字節(jié)計數(shù),直至達(dá)到FCS字節(jié)位置。控制器46已經(jīng)計算了自幀開始(SFD)以來的整個消息的校驗和。步驟102把所接收的FCS與所計算的FCS進(jìn)行比較。如果FCS正確,則步驟104設(shè)置狀態(tài)位,并產(chǎn)生中斷以通知主計算機(jī)32已經(jīng)到達(dá)新時間值。如果FCS沒有比較,則步驟106將清除狀態(tài)位,并且不產(chǎn)生中斷。然后,步驟76清除半字節(jié)計數(shù)器,而控制返回到步驟70。
控制器46將由主計算機(jī)32來編程,以便采用電纜A或電纜B用于時間窺探。在主計算機(jī)32中運行的FTE測試算法將查明是否存在不良路徑,以及主計算機(jī)32可采用這個信息來確定應(yīng)當(dāng)監(jiān)測哪條電纜以得到最可靠的時間數(shù)據(jù)。
時鐘主節(jié)點中的MII窺探參照圖2和圖3,下面將描述操作的主定時器模式??刂破?6可編程為收聽來自MAC控制器的發(fā)送端口。操作與收聽模式相似,但有幾個例外。圖3中的步驟具有100系列的參考標(biāo)號,其中的十位和個位對應(yīng)于具有相同功能的圖4的步驟的參考標(biāo)號。發(fā)送MII接口不具有表明何時數(shù)據(jù)好的RX_DV信號,但具有將有效數(shù)據(jù)組幀的TX_EN發(fā)送啟動信號。TX_EN發(fā)送啟動信號可按照相似方式用于在步驟170使控制器56能夠開始查看SFD的數(shù)據(jù)。從步驟170到步驟220的操作(當(dāng)遇到時標(biāo)時與接收信道相同)。步驟170還可用來操作復(fù)用器58,從而把HSE測試數(shù)據(jù)包的半字節(jié)耦合到PHY發(fā)射機(jī)42。當(dāng)時標(biāo)到達(dá)時,步驟220將把本地HSE時間寄存器(未示出)的當(dāng)前時間值代入發(fā)送流。主計算機(jī)32可把此字段中的任何值放入HSE測試數(shù)據(jù)包,但在構(gòu)建數(shù)據(jù)包時,最好采用本地HSE時間寄存器值。步驟202繼續(xù)對半字節(jié)計數(shù),直至達(dá)到FCS??刂破?6與控制器46相似,在對半字節(jié)計數(shù)時不斷地計算FCS。步驟224替換來自傳遞數(shù)據(jù)的已計算FCS及新時標(biāo),以及操作復(fù)用器58,在HSE測試數(shù)據(jù)包的適當(dāng)位置將已計算的FCS和新時標(biāo)耦合到PHY發(fā)射機(jī)42。那樣一來,產(chǎn)生測試數(shù)據(jù)包的主計算機(jī)代碼不需要測試它是否為時間主節(jié)點。當(dāng)這個功能完成時,不需要任何中斷。
公共邏輯由于計算節(jié)點22、24或26的操作或者作為收聽節(jié)點或者作為主節(jié)點,因此節(jié)點的控制器46和56可以是單個控制器,其中的邏輯進(jìn)行大部分工作,從而被復(fù)用以進(jìn)行一種功能或另一種功能。對于至邏輯的輸入,需要4對1復(fù)用器從接收A、接收B、發(fā)送A或發(fā)送B選擇MII端口。對于至PHY接收機(jī)40或PHY發(fā)射機(jī)42的發(fā)送MII接口,每一個需要2對1復(fù)用器。復(fù)用器直接從MAC控制器34選擇數(shù)據(jù),或者采用新時標(biāo)和新FCS從控制器56選擇修改數(shù)據(jù)包。
RMII轉(zhuǎn)換在計算節(jié)點體系結(jié)構(gòu)中,可能需要從MAC控制器34使用的MII接口和某些PHY收發(fā)信機(jī)使用的簡化MII(RMII)接口進(jìn)行轉(zhuǎn)換。這個轉(zhuǎn)換也可由實時時鐘同步電路36來處理。這實際上更可取,因為RMII所需的引腳數(shù)目遠(yuǎn)小于MII接口。
雖然已經(jīng)表示和描述了根據(jù)本發(fā)明的若干實施例,但是應(yīng)當(dāng)清楚地理解,可對它們進(jìn)行本領(lǐng)域的技術(shù)人員十分清楚的許多變更。因此,本申請不限于所示及所述的詳細(xì)情況,而是意在表明落入所附權(quán)利要求的范圍內(nèi)的所有變更和修改。
權(quán)利要求
1.一種用于使控制系統(tǒng)中的計算節(jié)點同步的方法,各計算節(jié)點包括主計算機(jī)和收發(fā)信機(jī),所述方法包括監(jiān)測主時間數(shù)據(jù)包以得到其中包含的時標(biāo),對于主定時器模式,所述數(shù)據(jù)包由所述主計算機(jī)提供給所述收發(fā)信機(jī),而對于收聽模式,所述數(shù)據(jù)包由所述收發(fā)信機(jī)提供給所述主計算機(jī);在所述收聽模式期間保存所述監(jiān)測的時標(biāo);在所述收聽模式期間將所述保存的時標(biāo)通知所述主計算機(jī);以及用當(dāng)前時標(biāo)值替換所述監(jiān)測的時標(biāo),以及在所述主定時器模式期間向所述收發(fā)信機(jī)提供具有所述已替換時標(biāo)的所述時間數(shù)據(jù)包。
2.如權(quán)利要求1所述的方法,其特征在于,所述計算節(jié)點中的每一個還包括設(shè)置在所述主計算機(jī)與所述收發(fā)信機(jī)之間的網(wǎng)絡(luò)控制器。
3.如權(quán)利要求2所述的方法,其特征在于,所述計算節(jié)點連接在容錯以太網(wǎng)中,所述收發(fā)信機(jī)是物理接口(PHY)收發(fā)信機(jī),以及所述網(wǎng)絡(luò)控制器是媒體訪問控制器(MAC)。
4.如權(quán)利要求1所述的方法,其特征在于,還監(jiān)測所述時間數(shù)據(jù)包以得到幀校驗序列(FCS)值;以及還包括在所述主定時器模式期間,用所計算的FCS值取代所述監(jiān)測的FCS值,并把所述已替換FCS值提供給所述收發(fā)信機(jī)。
5.如權(quán)利要求4所述的方法,其特征在于,在所述收聽模式期間,根據(jù)所述監(jiān)測的FCS值與所述計算的FCS值的比較,將所述監(jiān)測的時標(biāo)通知或不通知所述主計算機(jī)。
6.如權(quán)利要求1所述的方法,其特征在于,還包括以下步驟當(dāng)所述監(jiān)測步驟檢測所述監(jiān)測的時標(biāo)時,保存當(dāng)前時間值。
7.如權(quán)利要求6所述的方法,其特征在于,所述計算節(jié)點還包括本地定時器,以及所述方法還包括根據(jù)所述保存的時標(biāo)和所述保存的當(dāng)前時間在所述收聽模式期間調(diào)整所述本地定時器的步驟。
8.如權(quán)利要求1所述的方法,其特征在于,還監(jiān)測所述時間數(shù)據(jù)包以得到所述時間數(shù)據(jù)包的發(fā)送方的身份,以及所述方法還包括在所述身份無效時重新開始所述方法的步驟。
9.如權(quán)利要求1所述的方法,其特征在于,還監(jiān)測所述時間數(shù)據(jù)包以得到多播地址,以及還包括在所述計算節(jié)點不是所述多播地址的訂戶時重新開始所述方法的步驟。
10.如權(quán)利要求1所述的方法,其特征在于,所述時標(biāo)包括實際時間。
11.一種用于適合于網(wǎng)絡(luò)中連接的計算節(jié)點的實時同步電路,所述計算節(jié)點包括主計算機(jī)和收發(fā)信機(jī),所述電路包括本地定時器,以及邏輯裝置,可工作(1)在主時間發(fā)送模式中,用所述本地定時器的當(dāng)前時間值替換所述主計算機(jī)提供的數(shù)據(jù)包中包含的主時標(biāo),以及把具有所述已替換當(dāng)前時間值的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述收發(fā)信機(jī),從而補償因所述主計算機(jī)而引起的延遲,以及(2)在收聽模式中,保存從所述收發(fā)信機(jī)接收的數(shù)據(jù)包中包含的主時標(biāo),以及保存所述本地定時器的當(dāng)前值。
12.如權(quán)利要求11所述的電路,其特征在于,如果所述數(shù)據(jù)包包含其發(fā)送方的無效身份,則在所述收聽模式期間不保存所述主時標(biāo)。
13.如權(quán)利要求12所述的電路,其特征在于,如果所述數(shù)據(jù)包包含多播地址并且所述電路不是所述多播地址的訂戶,則在所述收聽模式期間不保存所述主時標(biāo)。
14.如權(quán)利要求11所述的電路,其特征在于,所述計算節(jié)點還包括設(shè)置在所述主計算機(jī)與所述收發(fā)信機(jī)之間的網(wǎng)絡(luò)控制器。
15.如權(quán)利要求14所述的電路,其特征在于,所述計算節(jié)點連接在容錯以太網(wǎng)中,所述收發(fā)信機(jī)是物理接口(PHY)收發(fā)信機(jī),以及所述網(wǎng)絡(luò)控制器是媒體訪問控制器(MAC)。
16.如權(quán)利要求11所述的電路,其特征在于,所述時標(biāo)包括實際時間。
17.一種計算節(jié)點,包括適合于網(wǎng)絡(luò)中連接的主計算機(jī)和收發(fā)信機(jī);實時同步電路,包括本地定時器,以及邏輯裝置,可工作(1)在主時間發(fā)送模式中,用所述本地定時器的當(dāng)前時間值替換所述主計算機(jī)提供的數(shù)據(jù)包中包含的實時主時標(biāo),以及把具有所述已替換當(dāng)前時間值的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述收發(fā)信機(jī),從而補償因所述主計算機(jī)而引起的延遲,以及(2)在收聽模式中,保存從所述收發(fā)信機(jī)接收的數(shù)據(jù)包中包含的主時標(biāo),以及保存所述本地定時器的當(dāng)前值。
18.如權(quán)利要求17所述的計算節(jié)點,其特征在于,所述主計算機(jī)通過根據(jù)所述保存的主時標(biāo)以及所述保存的當(dāng)前時間值調(diào)整所述本地定時器來執(zhí)行更新操作。
19.如權(quán)利要求17所述的計算節(jié)點,其特征在于,所述主時標(biāo)和所述本地當(dāng)前時間值分別保存在第一和第二寄存器中。
20.如權(quán)利要求17所述的計算節(jié)點,其特征在于,所述實時同步電路還包括移位寄存器,用于從所述主計算機(jī)接收所述數(shù)據(jù)包;以及復(fù)用器,用于切換所述收發(fā)信機(jī)的輸入以接收來自所述移位寄存器、除所述主時標(biāo)以外的所述數(shù)據(jù)包,以及接收取代它的所述本地定時器的所述當(dāng)前時間值。
21.如權(quán)利要求17所述的計算節(jié)點,其特征在于,還包括設(shè)置在所述主計算機(jī)與所述收發(fā)信機(jī)之間的網(wǎng)絡(luò)控制器。
22.如權(quán)利要求21所述的計算節(jié)點,其特征在于,所述計算節(jié)點連接在容錯以太網(wǎng)中,所述收發(fā)信機(jī)是PHY收發(fā)信機(jī),以及所述網(wǎng)絡(luò)控制器是MAC控制器。
23.如權(quán)利要求17所述的計算節(jié)點,其特征在于,所述時標(biāo)包括實際時間。
全文摘要
識別時間同步數(shù)據(jù)包并把來自內(nèi)部主計數(shù)器的實時值代入數(shù)據(jù)包中的適當(dāng)位置的裝置被設(shè)置在以太網(wǎng)媒體訪問控制器(MAC)與物理接口收發(fā)信機(jī)(PHY)之間。第二裝置監(jiān)測從MAC傳遞到PHY的數(shù)據(jù)包,并確定何時它是來自時間主節(jié)點的時間同步數(shù)據(jù)包。在識別正確數(shù)據(jù)包時,第二裝置同時捕捉主節(jié)點的時間值以及捕捉本地實時時鐘的值。這些捕捉的結(jié)果提供給本地主計算機(jī),它控制增大本地實時時鐘以加速或減速這個本地時鐘的時基時鐘,從而使本地時鐘與時間主時鐘同步。本地時鐘對主時鐘的偏差和錯位因網(wǎng)絡(luò)擁塞而減少到僅為網(wǎng)絡(luò)等待時間加上可變性。
文檔編號H04L12/28GK1675864SQ03819438
公開日2005年9月28日 申請日期2003年6月24日 優(yōu)先權(quán)日2002年6月24日
發(fā)明者J·W·古斯丁 申請人:霍尼韋爾國際公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
兴和县| 东港市| 封开县| 夏邑县| 北流市| 钦州市| 凤凰县| 南陵县| 金平| 博湖县| 平泉县| 西丰县| 盐城市| 双柏县| 山阳县| 临西县| 故城县| 合作市| 广汉市| 永兴县| 太和县| 新津县| 洪雅县| 安西县| 泰安市| 当阳市| 年辖:市辖区| 赤城县| 若羌县| 金山区| 邢台县| 巴马| 定日县| 渭南市| 麟游县| 连州市| 望谟县| 宿松县| 太湖县| 奇台县| 武夷山市|