因此同步修正部37如通常一樣地將基準(zhǔn)值1000 μ S設(shè)定于第2基準(zhǔn)信號(hào)生成部31 (該時(shí)刻下第2基準(zhǔn)信號(hào)生成部31不重啟)。然后,由于在圖3的(9)時(shí)刻計(jì)數(shù)值達(dá)到基準(zhǔn)值1000 μ s,因此第2基準(zhǔn)信號(hào)生成部31重啟。
[0074]此外,第2基準(zhǔn)信號(hào)生成部31內(nèi)置于上述CPU43中,而本實(shí)施方式中,并不局限于此,也可以與CPU43分開(kāi)設(shè)置。
[0075]另外,先提及一下,圖3所示的同步修正處理中,包含計(jì)數(shù)值獲取部35、同步判斷部36、同步修正部37的程序的處理。
[0076]圖4示出了從處理器模塊Ilb的計(jì)數(shù)器相比主處理器模塊Ila的計(jì)數(shù)器延遲3 μ s的情況。
[0077]圖4中,從處理器模塊Ilb的間隔計(jì)數(shù)部33進(jìn)行計(jì)數(shù),在計(jì)數(shù)值達(dá)到修正處理間隔值的情況下(圖4的(I)),生成修正處理開(kāi)始信號(hào)。根據(jù)所述修正處理開(kāi)始信號(hào)來(lái)開(kāi)始同步修正處理的準(zhǔn)備。
[0078]由于計(jì)數(shù)值達(dá)到基準(zhǔn)值,因此主處理器Ila的第I基準(zhǔn)信號(hào)生成部21每隔1000 μ s輸出第I基準(zhǔn)信號(hào)。從處理器模塊Ilb在生成修正處理開(kāi)始信號(hào)后,接收第I基準(zhǔn)信號(hào)作為中斷,并利用軟件來(lái)啟動(dòng)同步修正處理(圖4的(2))。與此同時(shí),從處理器模塊Ilb的系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34將由該硬件構(gòu)成的計(jì)數(shù)器的計(jì)數(shù)值清零,并重啟(圖4的(3))。接著,在同步修正處理的準(zhǔn)備完成的情況下,在圖4的(4)時(shí)刻,計(jì)數(shù)值獲取部35從第2基準(zhǔn)信號(hào)生成部31獲取計(jì)數(shù)值(圖4的(5)),并從系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34獲取計(jì)數(shù)值(圖4的
(6))。
[0079]同步判斷部36將由計(jì)數(shù)值獲取部35提供的計(jì)數(shù)值換算成時(shí)間。此處,例如根據(jù)第2基準(zhǔn)信號(hào)生成部31的計(jì)數(shù)值得到297 μ s,根據(jù)系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34的計(jì)數(shù)值得到300 μ S。同步判斷部36將兩個(gè)計(jì)數(shù)值進(jìn)行比較,由于兩個(gè)計(jì)數(shù)值不同,因此判斷為第I基準(zhǔn)信號(hào)與第2基準(zhǔn)信號(hào)不同步。
[0080]由于同步判斷部36判斷為不同步,因此同步修正部37將臨時(shí)的基準(zhǔn)值設(shè)定于第2基準(zhǔn)信號(hào)生成部31,以使得第2基準(zhǔn)信號(hào)生成部31的計(jì)數(shù)值與系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34的計(jì)數(shù)值之間的差分被抵消。具體而言,同步修正部37利用“基準(zhǔn)值(處理周期)一(系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34的計(jì)數(shù)值一第2基準(zhǔn)信號(hào)生成部31的計(jì)數(shù)值)”這一式子求出第2基準(zhǔn)信號(hào)生成部31的計(jì)數(shù)值的重啟值(復(fù)位值),并將所求出的計(jì)數(shù)值作為臨時(shí)的基準(zhǔn)值來(lái)設(shè)定于第2基準(zhǔn)信號(hào)生成部31。該示例的情況下,臨時(shí)的基準(zhǔn)值為1000 μ s - (300 μ s — 297 μ s)=997 μ so然后,由于在圖4的(7)時(shí)刻計(jì)數(shù)值達(dá)到臨時(shí)的基準(zhǔn)值997 μ s,因此第2基準(zhǔn)信號(hào)生成部31重啟。也就是說(shuō),系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34的計(jì)數(shù)值一第2基準(zhǔn)信號(hào)生成部31的計(jì)數(shù)值后得到的值為同步修正值。
[0081]由此,實(shí)施方式I中,對(duì)于第2循環(huán),能夠在與下一個(gè)第3循環(huán)的第I基準(zhǔn)信號(hào)的輸出時(shí)刻大致相同的時(shí)刻使第2基準(zhǔn)信號(hào)生成部31重啟。因此,實(shí)施方式I能夠使第I基準(zhǔn)信號(hào)與第2基準(zhǔn)信號(hào)同步。此外,圖4的情況下,第3循環(huán)以后基準(zhǔn)值被設(shè)定為1000 μ so
[0082]圖5示出了從處理器模塊Ilb的計(jì)數(shù)器相比主處理器模塊Ila的計(jì)數(shù)器提早3 μ s的情況。
[0083]圖5中,從處理器模塊Ilb的間隔計(jì)數(shù)部33進(jìn)行計(jì)數(shù),在計(jì)數(shù)值達(dá)到修正處理間隔值的情況下(圖5的(I)),生成修正處理開(kāi)始信號(hào)。根據(jù)所述修正處理開(kāi)始信號(hào)來(lái)開(kāi)始同步修正處理的準(zhǔn)備。
[0084]由于計(jì)數(shù)值達(dá)到基準(zhǔn)值,因此主處理器模塊Ila的第I基準(zhǔn)信號(hào)生成部21每隔1000 μ s輸出第I基準(zhǔn)信號(hào)。從處理器模塊Ilb在生成了修正處理開(kāi)始信號(hào)之后,接收第I基準(zhǔn)信號(hào)作為中斷,并利用軟件來(lái)啟動(dòng)同步修正處理(圖5的(2))。與此同時(shí),從處理器模塊Ilb的系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34將由該硬件構(gòu)成的計(jì)數(shù)器的計(jì)數(shù)值清零,并重啟(圖5的(3))。接著,在同步修正處理的準(zhǔn)備完成的情況下,在圖5的(4)時(shí)刻,計(jì)數(shù)值獲取部35從第2基準(zhǔn)信號(hào)生成部31獲得計(jì)數(shù)值(圖5的(5)),并從系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34獲取計(jì)數(shù)值(圖5的
(6))。
[0085]同步判斷部36將由計(jì)數(shù)值獲取部35提供的計(jì)數(shù)值換算成時(shí)間。此處,例如根據(jù)第2基準(zhǔn)信號(hào)生成部31的計(jì)數(shù)值得到303 μ s,根據(jù)系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34的計(jì)數(shù)值得到300 μ S。同步判斷部36將兩個(gè)計(jì)數(shù)值進(jìn)行比較,由于兩個(gè)計(jì)數(shù)值不同,因此判斷為第I基準(zhǔn)信號(hào)與第2基準(zhǔn)信號(hào)不同步。
[0086]由于同步判斷部36判斷為不同步,因此同步修正部37對(duì)第2基準(zhǔn)信號(hào)生成部31設(shè)定臨時(shí)的基準(zhǔn)值,以使得第2基準(zhǔn)信號(hào)生成部31的計(jì)數(shù)值與系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34的計(jì)數(shù)值之間的差分被抵消。具體而言,同步修正部37與圖4的說(shuō)明相同地進(jìn)行計(jì)算,求出臨時(shí)的基準(zhǔn)值,并將該臨時(shí)的基準(zhǔn)值設(shè)定于第2基準(zhǔn)信號(hào)生成部31。該示例的情況下,臨時(shí)的基準(zhǔn)值為1000 μ S — (300 μ S — 303 μ s) = 1003 μ S。然后,由于在圖4的(7)時(shí)刻計(jì)數(shù)值達(dá)到臨時(shí)的基準(zhǔn)值1003 μ s,因此第2基準(zhǔn)信號(hào)生成部31重啟。也就是說(shuō),系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34的計(jì)數(shù)值一第2基準(zhǔn)信號(hào)生成部31的計(jì)數(shù)值后得到的值為同步修正值。
[0087]由此,實(shí)施方式I中,對(duì)于第2循環(huán),能夠在與下一個(gè)第3循環(huán)的第I基準(zhǔn)信號(hào)的輸出時(shí)刻大致相同的時(shí)刻使第2基準(zhǔn)信號(hào)生成部31重啟。因此,本實(shí)施方式的信號(hào)同步系統(tǒng)能夠使第I基準(zhǔn)信號(hào)與第2基準(zhǔn)信號(hào)相同步。另外,圖5的第3循環(huán)以后,基準(zhǔn)值被設(shè)定為1000 μ so如上所述,實(shí)施方式I中,無(wú)論在從處理器模塊Ilb的計(jì)數(shù)器(定時(shí)器)相對(duì)于主處理器模塊Ila的計(jì)數(shù)器(定時(shí)器)延遲的情況或是提早的情況下,均能恰當(dāng)?shù)貙?shí)現(xiàn)計(jì)數(shù)器同步。
[0088](信號(hào)同步方法的順序例)
圖6是表示信號(hào)同步方法的大致順序(sequence)的示例的圖。在圖6的示例中,為了說(shuō)明方便,對(duì)使用了主處理器模塊Ila及從處理器模塊Ilb的同步進(jìn)行說(shuō)明,但本實(shí)施方式并不局限于此,能夠使多個(gè)從處理器模塊與一個(gè)主處理器模塊相同步。
[0089]在圖6的計(jì)數(shù)器同步處理中,首先,主處理器模塊Ila的第I基準(zhǔn)信號(hào)生成部21生成第I基準(zhǔn)信號(hào)(SOl),從處理器模塊Ilb的第2基準(zhǔn)信號(hào)生成部31生成第2基準(zhǔn)信號(hào)(S02) ο此外,該處理以硬件方式周期性地進(jìn)行工作。另外,主處理器模塊Ila也將在SOl的處理中獲得的第I基準(zhǔn)信號(hào)發(fā)送至從處理器模塊lib。因此,從處理器模塊Ilb始終處于能夠接收第I基準(zhǔn)信號(hào)的狀態(tài)。
[0090]另外,從處理器模塊Ilb的間隔計(jì)數(shù)部33對(duì)修正處理間隔進(jìn)行計(jì)數(shù),在計(jì)數(shù)值達(dá)到修正處理間隔值的情況下,生成修正處理開(kāi)始信號(hào),開(kāi)始同步修正處理的準(zhǔn)備(S03)。
[0091]若在間隔計(jì)數(shù)部33的計(jì)數(shù)值達(dá)到修正處理間隔值之后,從處理器模塊Ilb接收到主處理器模塊Ila所發(fā)送的第I基準(zhǔn)信號(hào)(S04),則利用軟件來(lái)啟動(dòng)同步修正處理(S05),并同時(shí)使系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34重啟(S06)。然后,計(jì)數(shù)值獲取部35獲取第2基準(zhǔn)信號(hào)生成部31與系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34的兩個(gè)計(jì)數(shù)值(S07),同步判斷部36基于所述兩個(gè)計(jì)數(shù)值來(lái)進(jìn)行同步判斷(S08),在判斷為不同步的情況下,同步修正部37進(jìn)行同步修正(S09)。
[0092]由此,能夠在抑制處理負(fù)荷的同時(shí)高精度地使規(guī)定的信號(hào)同步。
[0093](實(shí)施方式2:節(jié)點(diǎn)同步系統(tǒng))
第2實(shí)施方式的特征在于,將上述實(shí)施方式I中的傳輸總線(xiàn)12所產(chǎn)生的延遲時(shí)間包含在內(nèi)來(lái)執(zhí)行同步修正處理。圖7是表示實(shí)施方式2中的節(jié)點(diǎn)同步系統(tǒng)的大致結(jié)構(gòu)的一個(gè)示例的圖。圖1所示的節(jié)點(diǎn)同步系統(tǒng)50是在節(jié)點(diǎn)51a?51c等多個(gè)節(jié)點(diǎn)之間進(jìn)行計(jì)數(shù)器同步的一個(gè)示例。
[0094]節(jié)點(diǎn)同步系統(tǒng)50具有:多個(gè)節(jié)點(diǎn)51a?51c (以下根據(jù)需要稱(chēng)為“節(jié)點(diǎn)51”)、通信路徑(通信網(wǎng)絡(luò))52、I/O (輸入輸出)模塊53(圖7中以53a?53d來(lái)示出)、外部設(shè)備54(圖7中以54a?54d來(lái)示出)以及編譯裝置55。也就是說(shuō),節(jié)點(diǎn)同步系統(tǒng)50經(jīng)由作為通信網(wǎng)絡(luò)的通信路徑52將主控節(jié)點(diǎn)51a、與從屬節(jié)點(diǎn)51b、51c相連接。
[0095]此處,為了說(shuō)明方便,對(duì)將節(jié)點(diǎn)51a作為主控節(jié)點(diǎn)、將節(jié)點(diǎn)5 Ib、51c作為從屬節(jié)點(diǎn),其各個(gè)節(jié)點(diǎn)所固有的結(jié)構(gòu)進(jìn)行說(shuō)明,但并不局限于此,各個(gè)節(jié)點(diǎn)可既具有主控節(jié)點(diǎn)的結(jié)構(gòu)也具有從屬節(jié)點(diǎn)的結(jié)構(gòu),以使得各個(gè)節(jié)點(diǎn)既能成為主控節(jié)點(diǎn)又能成為從屬節(jié)點(diǎn)。此外,在實(shí)施方式2中,設(shè)為通信路徑52會(huì)產(chǎn)生傳輸延遲時(shí)間。
[0096]此處,先對(duì)實(shí)施方式2(圖7)與實(shí)施方式1(圖1)的不同點(diǎn)進(jìn)行說(shuō)明。主控節(jié)點(diǎn)51a相當(dāng)于實(shí)施方式I中的主處理器模塊11a,從屬節(jié)點(diǎn)51b、51c相當(dāng)于實(shí)施方式I中的從處理器模塊llb、llc。另外,編譯裝置55與實(shí)施方式I中的編譯裝置15實(shí)質(zhì)相等,此外,I/O模塊53a?53d與實(shí)施方式I中的I/O模塊13a?13d實(shí)質(zhì)相等。另外,外部設(shè)備54a?54d與實(shí)施方式I中的外部設(shè)備14a?14d實(shí)質(zhì)相等。由此,以下說(shuō)明中,省略與實(shí)施方式I相同的結(jié)構(gòu)的說(shuō)明。
[0097]主控節(jié)點(diǎn)51a具有:第I基準(zhǔn)信號(hào)生成部61 (對(duì)應(yīng)于實(shí)施方式I的第I基準(zhǔn)信號(hào)生成部21)、第I運(yùn)算部62 (對(duì)應(yīng)于實(shí)施方式I的第I運(yùn)算部22)、存儲(chǔ)部63 (對(duì)應(yīng)于實(shí)施方式I的存儲(chǔ)部23)、間隔計(jì)數(shù)部64(對(duì)應(yīng)于實(shí)施方式I的間隔計(jì)數(shù)部33)、傳輸延遲時(shí)間通知部65以及同步化幀通知部66。
[0098]主控節(jié)點(diǎn)51a與實(shí)施方式I中的主處理器模塊Ila之間的主要不同點(diǎn)在于,具備實(shí)施方式I中設(shè)置于從處理器模塊Ilb的間隔計(jì)數(shù)部33作為間隔計(jì)數(shù)部64,并還新添加了傳送延遲時(shí)間通知部65、同步化幀通知部66。由此,以下說(shuō)明中,對(duì)實(shí)施方式2的主要部分進(jìn)行說(shuō)明,省略說(shuō)明與實(shí)施方式I相同的動(dòng)作。
[0099]以下,對(duì)實(shí)施方式2的一個(gè)示例進(jìn)行說(shuō)明。實(shí)施方式2中,間隔計(jì)數(shù)部64進(jìn)行計(jì)數(shù),并預(yù)先設(shè)定有與進(jìn)行同步處理的修正處理間隔相當(dāng)?shù)男拚幚黹g隔值,在計(jì)數(shù)值達(dá)到修正處理間隔值的情況下,生成表示該情況的修正處理開(kāi)始信號(hào)。此外,由于修正處理間隔值與實(shí)施方式I實(shí)質(zhì)相等,因此此處省略對(duì)其進(jìn)行說(shuō)明。
[0100]另外,此處在主控節(jié)點(diǎn)51a—側(cè)測(cè)定修正處理間隔,但也可以在從屬節(jié)點(diǎn)51b—側(cè)測(cè)定修正處理間隔。該情況下,若在從屬節(jié)點(diǎn)51b中計(jì)數(shù)值達(dá)到修正處理間隔值,則將修正處理開(kāi)始信號(hào)發(fā)送至主控節(jié)點(diǎn)51a,并開(kāi)始同步修正處理。
[0101]在接收到修正處理開(kāi)始信號(hào)之后,主控節(jié)點(diǎn)51a的傳輸延遲時(shí)間通知部65為了計(jì)算出傳輸延遲時(shí)間而將傳輸延遲時(shí)間請(qǐng)求幀發(fā)送至從屬節(jié)點(diǎn)51b、51c。該傳輸延遲時(shí)間請(qǐng)求幀與后述的同步化幀的格式實(shí)質(zhì)相同,而與同步化幀內(nèi)的規(guī)定部分(例如指令部)的數(shù)據(jù)不同。所述傳輸延遲時(shí)間請(qǐng)求幀與第I基準(zhǔn)信號(hào)生成部61所生成的第I基準(zhǔn)信號(hào)相同步地被發(fā)送。
[0102]接著,傳輸延遲時(shí)間通知部65接收來(lái)自對(duì)傳輸延遲時(shí)間請(qǐng)求幀進(jìn)行了應(yīng)答的從屬節(jié)點(diǎn)的接收完成幀。然后,傳輸延遲時(shí)間通知部65根據(jù)應(yīng)答幀接收時(shí)的時(shí)刻與發(fā)送傳輸延遲時(shí)間請(qǐng)求幀時(shí)的時(shí)刻之間的差分,來(lái)計(jì)算出主控節(jié)點(diǎn)51a與從屬節(jié)點(diǎn)51b、51c之間的往返傳輸延遲時(shí)間。然后,傳輸延遲時(shí)間通知部65將包含計(jì)算出的往返傳輸延遲時(shí)間在內(nèi)的傳輸延遲時(shí)間通知幀與下一個(gè)第I基準(zhǔn)信號(hào)相同步地發(fā)送至從屬節(jié)點(diǎn)51b、51c,從而向從屬節(jié)點(diǎn)51b、51c通知由通信路徑52所產(chǎn)生的延遲時(shí)間。
[0103]在通知了往返傳輸延遲時(shí)間之后,主控節(jié)點(diǎn)51a基于第I基準(zhǔn)信號(hào)(與第I基準(zhǔn)信號(hào)相同步),將預(yù)先準(zhǔn)備的同步化幀經(jīng)由通信路徑52發(fā)送至從屬節(jié)點(diǎn)51b、51c。此外,該處理由同步化幀通知部66來(lái)執(zhí)行。在后面會(huì)詳細(xì)說(shuō)明,同步化幀是用于使從屬節(jié)點(diǎn)51b、51c的第2基準(zhǔn)信號(hào)生成部71的計(jì)數(shù)值與主控節(jié)點(diǎn)51a的第I基準(zhǔn)信號(hào)生成部61的計(jì)數(shù)值相匹配的同步基準(zhǔn)信號(hào)。
[0104]接著,對(duì)從屬節(jié)點(diǎn)51b、51c進(jìn)行說(shuō)明。從屬節(jié)點(diǎn)51b、51c具有:第2基準(zhǔn)信號(hào)生成部71 (對(duì)應(yīng)于實(shí)施方式I的第2基準(zhǔn)信號(hào)生成部31)、第2運(yùn)算部72 (對(duì)應(yīng)于實(shí)施方式I的第2運(yùn)算部32)、系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部74(對(duì)應(yīng)于實(shí)施方式I的系統(tǒng)開(kāi)銷(xiāo)計(jì)數(shù)部34)、計(jì)數(shù)值獲取部75 (對(duì)應(yīng)于實(shí)施方式I的計(jì)數(shù)值獲取部35)、同步判斷部76 (對(duì)應(yīng)于實(shí)施方式I的同步判斷部36)、同步修正部77 (對(duì)應(yīng)于實(shí)施方式I的同步修正部37)、存儲(chǔ)部78 (對(duì)應(yīng)于實(shí)施方式I的存儲(chǔ)部38)、接收完成通知部79以及幀接收部80。此外,CPU43內(nèi)置有第2基準(zhǔn)信號(hào)生成部71。由于從屬節(jié)點(diǎn)51b、51c的結(jié)構(gòu)相同,因此在以下說(shuō)明中,利用從屬節(jié)點(diǎn)51b來(lái)進(jìn)行說(shuō)明,省略從屬節(jié)點(diǎn)51c的說(shuō)明。
[0105]與實(shí)施方式I的處理器模塊Ilb的主要不同點(diǎn)在于,同步判斷部76與實(shí)施方式I的同步判斷部36不同,并且添加了接收完成通知部79以及幀接收部80。其中,由于其它構(gòu)成要素與實(shí)施方式I實(shí)質(zhì)相等,因此此處省略對(duì)其進(jìn)行說(shuō)明。以下,對(duì)包含通信路徑52的傳輸延遲時(shí)間在內(nèi)的從屬節(jié)點(diǎn)51b的同步修正處理進(jìn)行說(shuō)明。
[0106]接收完成通知部79從主控節(jié)點(diǎn)51a接收上述傳輸延遲時(shí)間請(qǐng)求幀,并根據(jù)該傳輸延遲時(shí)間請(qǐng)求幀將接收完成幀發(fā)送至主控節(jié)點(diǎn)51a。
[0107]幀接收部80接收主控節(jié)點(diǎn)51a所發(fā)送的上述傳輸