信號同步系統(tǒng)、節(jié)點同步系統(tǒng)、信號同步方法以及節(jié)點同步方法
【專利說明】信號同步系統(tǒng)、節(jié)點同步系統(tǒng)、信號同步方法以及節(jié)點同步方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及用于使規(guī)定的信號同步的信號同步系統(tǒng)、節(jié)點同步系統(tǒng)、信號同步方法以及節(jié)點同步方法。
【背景技術(shù)】
[0002]以往,在利用處理器等來執(zhí)行規(guī)定的程序這樣的情況下,出于應(yīng)對大規(guī)模處理或加快處理速度、分散負荷等目的,已知有利用多個處理器來執(zhí)行處理的多處理器系統(tǒng)。在這樣的多處理器系統(tǒng)中,為了在多個處理器之間實現(xiàn)計數(shù)器(定時器)的同步,使主處理器對從處理器的計數(shù)器產(chǎn)生中斷信號等,從處理器根據(jù)該中斷信號來實現(xiàn)計數(shù)器的同步。
[0003]另外,在現(xiàn)有的工廠控制用傳輸系統(tǒng)等產(chǎn)業(yè)用網(wǎng)絡(luò)中,構(gòu)成系統(tǒng)的各設(shè)備需要在保證實時性的基礎(chǔ)上來相互進行大容量的數(shù)據(jù)交換。因此,在例如根據(jù)搭載于各設(shè)備的應(yīng)用程序的訪問請求的發(fā)生,事件性地相互訪問的情況下,網(wǎng)絡(luò)負荷取決于應(yīng)用程序,從而有可能無法保證實時性。
[0004]因此,以往存在如下技術(shù):對各設(shè)備設(shè)置虛擬的共享存儲器(共用存儲器),在更新定時(timing)向網(wǎng)絡(luò)上的所有節(jié)點(站)發(fā)送本節(jié)點數(shù)據(jù)。在使用上述技術(shù)的情況下,接收到的各節(jié)點通過更新其數(shù)據(jù),并供應(yīng)用程序來訪問,從而實現(xiàn)保證了實時性的數(shù)據(jù)交換方式。另外,以往,提出有用于在進行上述數(shù)據(jù)交換時,實現(xiàn)網(wǎng)絡(luò)上的有效廣播通信(BROADCAST COMMUNICAT1N)的方法(例如,參照專利文獻I)。
[0005]在專利文獻I中,同時使用利用各節(jié)點的內(nèi)置定時器的時分復(fù)用訪問方式、以及基于來自主控節(jié)點的同步化幀的從屬節(jié)點的內(nèi)置定時器修正。另外,在專利文獻I所示的方法中,構(gòu)成為利用總線或串行電纜來將傳輸路徑相連接的網(wǎng)絡(luò)。
現(xiàn)有技術(shù)文獻專利文獻
[0006]專利文獻1:日本專利特開2005 - 159754號公報
【發(fā)明內(nèi)容】
發(fā)明所要解決的技術(shù)問題
[0007]然而,在上述的主處理器與從處理器等之間進行的計數(shù)器同步修正處理中,優(yōu)選主處理器直接(從硬件上)使從處理器的計數(shù)器復(fù)位。但是,由于該計數(shù)器是作為在內(nèi)部進行的多個程序處理的執(zhí)行標(biāo)準(zhǔn)的計數(shù)器,因此若可隨意地由外部進行改寫,則其它處理可能會產(chǎn)生問題。另外,在計數(shù)器內(nèi)置于從處理器的CPU (Central Processing Unit:中央處理器)等中的情況下,無法從主處理器直接對從處理器的計數(shù)器進行復(fù)位。因此,以往,一旦從主處理器向從處理器發(fā)送中斷信號,則從處理器接收該信號,并利用規(guī)定的軟件來間接地(從軟件上)執(zhí)行計數(shù)器的復(fù)位處理。
[0008]上述情況下,從處理器在從主處理器接收到中斷信號之后,直到執(zhí)行與該信號相對應(yīng)的本計數(shù)器的復(fù)位處理為止的期間,由于系統(tǒng)開銷(overhead)等而產(chǎn)生延遲時間。因此,以往,即使進行了復(fù)位處理,主處理器與從處理器之間也仍然存在計數(shù)器同步誤差。
[0009]另外,對于網(wǎng)絡(luò)間具有主從關(guān)系的節(jié)點間的計數(shù)器的同步,考慮例如通過接收同步化幀來清零定時器等方法。然而,與上述相同,若在接收到同步化幀之后經(jīng)由固件來使定時器清零,則會由于該系統(tǒng)開銷等延遲時間而在計數(shù)器中產(chǎn)生誤差。
[0010]因此,對于作為現(xiàn)有方法的利用同步化幀的節(jié)點間的同步方法,在利用微機的固件來進行主控節(jié)點與各從屬節(jié)點之間的同步時間的測定修正的情況下,會由于微機的處理時間而產(chǎn)生誤差。
[0011]因此,為了抑制因計數(shù)器的改寫而帶來的對其它處理的影響,考慮以下方法:從硬件上對從主處理器發(fā)送至從處理器的中斷信號進行計數(shù),基于與從處理器內(nèi)的計數(shù)器之間的差分,來調(diào)整從處理器的計數(shù)器的計數(shù)目標(biāo)(基準(zhǔn)值),從而實現(xiàn)主處理器與從處理器之間的同步。
[0012]由于主處理器的計數(shù)器與從處理器的計數(shù)器各自的電氣特性不同,因此難以推定主處理器與從處理器之間計數(shù)器有多少偏差。因此,若在每個中斷信號時進行調(diào)整上述從處理器的計數(shù)器的基準(zhǔn)值的同步修正處理,則能確保主處理器與從處理器之間的同步。然而,若頻繁地進行同步修正處理,則其處理負荷增大,有可能對本來要執(zhí)行的其它處理產(chǎn)生影響。
[0013]本發(fā)明鑒于上述內(nèi)容而得以完成,其目的在于提供一種信號同步系統(tǒng)、節(jié)點同步系統(tǒng)、信號同步方法以及節(jié)點同步方法,能夠抑制處理負荷并高精度地使規(guī)定的信號同步。
解決技術(shù)問題所采用的技術(shù)方案
[0014]為了解決上述問題,本發(fā)明的信號同步系統(tǒng)包含根據(jù)第I基準(zhǔn)信號進行動作的主模塊、以及根據(jù)第2基準(zhǔn)信號進行動作的從模塊,并使該第2基準(zhǔn)信號與該第I基準(zhǔn)信號同步,其特征在于,主模塊包括:第I基準(zhǔn)信號生成部,該第I基準(zhǔn)信號生成部通過進行計數(shù),在計數(shù)值達到預(yù)先設(shè)定的基準(zhǔn)值時,生成第I基準(zhǔn)信號,從模塊包括:第2基準(zhǔn)信號生成部,該第2基準(zhǔn)信號生成部通過進行計數(shù),在計數(shù)值達到基準(zhǔn)值時,生成第2基準(zhǔn)信號;間隔計數(shù)部,該間隔計數(shù)部對進行同步修正處理的間隔進行計數(shù);系統(tǒng)開銷計數(shù)部,該系統(tǒng)開銷計數(shù)部在間隔計數(shù)部中計數(shù)值達到進行同步修正處理的修正處理間隔值之后,接收第I基準(zhǔn)信號,從而重新啟動,并進行計數(shù);計數(shù)值獲取部,該計數(shù)值獲取部在間隔計數(shù)部中計數(shù)值達到修正處理間隔值之后,根據(jù)第I基準(zhǔn)信號的接收來獲取第2基準(zhǔn)信號生成部的計數(shù)值及系統(tǒng)開銷計數(shù)部的計數(shù)值;以及同步修正部,該同步修正部將抵消第2基準(zhǔn)信號生成部的計數(shù)值與系統(tǒng)開銷計數(shù)部的計數(shù)值之間的差分的值作為基準(zhǔn)值暫時性地設(shè)定于第2基準(zhǔn)信號生成部。
[0015]此外,本發(fā)明也包含將本發(fā)明的構(gòu)成要素、表現(xiàn)或構(gòu)成要素的任意組合應(yīng)用于方法、裝置、系統(tǒng)、計算機程序、記錄介質(zhì)、數(shù)據(jù)結(jié)構(gòu)等而得到的技術(shù)方案。
發(fā)明效果
[0016]根據(jù)本發(fā)明,能夠在抑制處理負荷的同時高精度地使規(guī)定的信號同步。
【附圖說明】
[0017]圖1是表示實施方式I的信號同步系統(tǒng)的大致結(jié)構(gòu)的一個示例的圖。 圖2是表示處理器模塊的硬件結(jié)構(gòu)的一個示例的圖。
圖3是用于說明實施方式I中的同步修正處理例的時序圖(之一)。
圖4是用于說明實施方式I中的同步修正處理例的時序圖(之二)。
圖5是用于說明實施方式I中的同步修正處理例的時序圖(之三)。
圖6是表示信號同步方法的大致順序的示例的圖。
圖7是表示實施方式2中的節(jié)點同步系統(tǒng)的大致結(jié)構(gòu)的一個示例的圖。
圖8是用于說明實施方式2中的同步修正處理例的時序圖(之一)。
圖9是用于說明實施方式2中的同步修正處理例的時序圖(之二)。
圖10是用于說明實施方式2中的同步修正處理例的時序圖(之三)。
圖11是用于說明實施方式2中的傳輸延遲時間的通知步驟的一個示例的圖。
圖12是表示包含有實施方式2中的使用了主控節(jié)點及從屬節(jié)點的節(jié)點同步系統(tǒng)的網(wǎng)絡(luò)傳輸系統(tǒng)的大致結(jié)構(gòu)的一個示例的圖。
圖13是表示節(jié)點同步方法的大致順序的示例的圖。
【具體實施方式】
[0018]下面,參照附圖對本發(fā)明的優(yōu)選實施方式進行詳細說明。所涉及的實施方式中所示出的尺寸、材料、其它具體數(shù)值等僅僅是為易于理解本發(fā)明而舉出的示例,除明確表示的情況之外,均不局限于本發(fā)明所示出的示例。此外,在本說明書及附圖中,關(guān)于具有實質(zhì)相同的功能、結(jié)構(gòu)的要素,通過標(biāo)注同一標(biāo)號來省略重復(fù)說明,另外,對與本發(fā)明無直接關(guān)系的要素省略圖示。
[0019](關(guān)于本實施方式)
本實施方式中,例如在多個處理器模塊、至少分別包含一個處理器模塊的多個節(jié)點、裝置、基板這樣的具有主從關(guān)系的模塊之間進行計數(shù)器(定時器)同步的情況下,對于來自主模塊側(cè)的中斷信號(計數(shù)器復(fù)位信號)求出從模塊側(cè)的系統(tǒng)開銷值。另外,在本實施方式中,基于求出的系統(tǒng)開銷值與從模塊側(cè)的計數(shù)器來進行同步修正處理。
[0020]然而,若頻繁地執(zhí)行該同步修正處理,則處理負荷會增大,因此在本實施方式中,對進行同步修正處理的間隔進行計數(shù),按規(guī)定的修正處理間隔值來定期地(間歇性地)執(zhí)行同步修正處理。
[0021]另外,在本實施方式中,在將具有主從關(guān)系的裝置設(shè)為主控節(jié)點及從屬節(jié)點的情況下,將通信路徑上的延遲時間(傳輸延遲時間)也考慮在內(nèi)來進行同步修正處理。
[0022]下面,利用附圖對本實施方式中的信號同步系統(tǒng)以及節(jié)點同步系統(tǒng)的優(yōu)選實施方式進行說明。
[0023](實施方式1:信號同步系統(tǒng))
圖1是表示實施方式I的信號同步系統(tǒng)的大致結(jié)構(gòu)的一個示例的圖。圖1所示的信號同步系統(tǒng)10中,作為一個示例,示出了用于在作為模塊的多個處理器模塊(圖1的示例中為處理器模塊Ila?lie)之間,進行計數(shù)器同步的多處理器的一個示例。
[0024]圖1所示的信號同步系統(tǒng)10具有:多個處理器模塊Ila?Ilc (以下根據(jù)需要稱為“處理器模塊11”)、傳輸總線12、1/0(輸入輸出)模塊13 (圖中以13a?13d來示出)、外部設(shè)備14(圖1中以14a?14d來示出)以及編譯裝置15。此處,在圖1的示例中,為了說明方便,將處理器模塊Ila設(shè)為主處理器模塊,將處理器模塊IlbUlc設(shè)為從處理器模塊,對各個處理器模塊的主要結(jié)構(gòu)進行說明。其中,從處理器模塊的數(shù)量等并不局限于圖1中那樣的兩個。
[0025]此外,本實施方式中,并不局限于上述結(jié)構(gòu),單個處理器模塊均具有相同結(jié)構(gòu),以使得其既可以成為主處理器模塊11a,又可以成為從處理器llb、llc。另外,各處理器模塊11通過傳輸總線12相連接。此外,在實施方式I中,設(shè)為不會因為傳輸總線12而產(chǎn)生延遲時間。
[0026]此處,主處理器模塊Ila具有第I基準(zhǔn)信號生成部21、第I運算部22、以及存儲部23。此外,在圖1的示例中,第I基準(zhǔn)信號生成部21內(nèi)置于后述的CPU,但并不局限于此,例如第I基準(zhǔn)信號生成部21與CPU也可以分開構(gòu)成。另外,上述的“內(nèi)置”例如表示僅CPU內(nèi)的各功能部(第I基準(zhǔn)信號生成部21、第I運算部22)能對第I基準(zhǔn)信號生成部21進行訪問。
[0027]另外,從處理器模塊IlbUlc具有第2基準(zhǔn)信號生成部31、第2運算部32、間隔計數(shù)部33、系統(tǒng)開銷計數(shù)部34、計數(shù)值獲取部35、同步判斷部36、同步修正部37、以及存儲部38。此外,在圖1的示例中,第2基準(zhǔn)信號生成部31內(nèi)置于CPU,但并不局限于此,例如第2基準(zhǔn)信號生成部31與CPU也可以分開構(gòu)成。
[0028]第I基準(zhǔn)信號生成部21通過進行計數(shù),使計數(shù)值達到預(yù)先設(shè)定的基準(zhǔn)值,從而生成第I基準(zhǔn)信號。此外,第I基準(zhǔn)信號生成部21起到硬件性的計數(shù)器(以下根據(jù)需要也稱作“定時器”)的功能。基于基準(zhǔn)值周期性地對上述計數(shù)值進行計數(shù)。圖1中,以虛線來表示上述硬件性的計數(shù)器。
[0029]第I運算部22根據(jù)由第I基準(zhǔn)信號生成部21生成的第I基準(zhǔn)信號,執(zhí)行(運算)存儲在存儲部23中的規(guī)定的應(yīng)用程序等。另外,第I基準(zhǔn)信號作為中斷信號(計數(shù)器復(fù)位信號)經(jīng)由傳輸總線12提供(發(fā)送)至從處理器模塊llb、llc。
[0030]存儲部23存儲在第I運算部22進行運算的規(guī)定的應(yīng)用程序(Sequence Program:順序程序)。此外,第I運算部22進行運算的規(guī)定的應(yīng)用程序是對例如與主處理器模塊Ila相連的I/O模塊13a發(fā)出指示,并利用I/O模塊13a對外部設(shè)備14a進行控制的處理。因此,存儲部23中主要存儲有用于對與本處理器模塊Ila相連的I/O模塊13a、外部設(shè)備14a執(zhí)行規(guī)定處理的程序。
[0031]也就是說,主處理器模塊Ila在每個規(guī)定周期生成第I基準(zhǔn)信號,第I運算部22通過根據(jù)第I基準(zhǔn)信號執(zhí)行(運算)應(yīng)用程序(順序程序),來對規(guī)定的設(shè)備進行控制,周期性地執(zhí)行該應(yīng)用程序(順序程序)。
[0032]接著,對從處理器模塊IlbUlc進行說明,但由于從處理器模塊IlbUlc的結(jié)構(gòu)相同,因此在以下說明中,利用從處理器模塊Ilb進行說明,省略從處理器模塊Ilc的說明。
[0033]第2基準(zhǔn)信號生成部31進行計數(shù),并設(shè)定與上述第I基準(zhǔn)信號生成部21中所設(shè)置的基準(zhǔn)值相同的基準(zhǔn)值,并通過使計數(shù)值達到基準(zhǔn)值,從而生成第2基準(zhǔn)信號。此外,第2基準(zhǔn)信號生成部31起到硬件性的計數(shù)器的功能?;诨鶞?zhǔn)值周期性地對上述計數(shù)值進行計數(shù)。另外,第I基準(zhǔn)信號生成部21與第2基準(zhǔn)信號生成部31各自的計數(shù)器是自運行計數(shù)器(free-running counter),自行進行推進。
[0034]第2運算部32根據(jù)由第2基準(zhǔn)信號生成部31生成的第2基準(zhǔn)信號,執(zhí)行(運算)存儲在存儲部38中的規(guī)定的應(yīng)用程序等。
[0035]此外,第2基準(zhǔn)信號生成部31是僅能從例如CPU內(nèi)的第2運算部32進行訪問的計數(shù)器,且內(nèi)置于CPU內(nèi)(CPU內(nèi)置計數(shù)器)。也就是說,第2基準(zhǔn)信號生成部31是無法從主處理器模塊Ila等外部進行硬件式復(fù)位的計數(shù)器。
[0036]另外,第2運算部32將來自主處理器模塊Ila的第I基準(zhǔn)信號(同步基準(zhǔn)信號)作為中斷信號來進行接收,啟動后述的同步修正處理。
[0037]間隔計數(shù)部33進行計數(shù),預(yù)先設(shè)定有與進行同步處理的修正處理間隔相當(dāng)?shù)男拚幚黹g隔值,在計數(shù)值達到修正處理間隔值的情況下,生成表示該情況的修正處理開始信