號。
[0038]此外,修正處理間隔值通過以下的計算來設(shè)定。例如,將為了滿足該信號同步系統(tǒng)所要求的加工精度而所容許的主處理器模塊Ila與從處理器模塊Ilb之間的同步誤差設(shè)為10 μ So該情況下,本實施方式中,對到同步誤差為I?5 μ s為止的最短時間進(jìn)行計算。此處,將同步誤差設(shè)為I μ S以上是由于若比I μ s還要短,則同步修正處理的頻率變高,處理負(fù)荷增大,而將同步誤差設(shè)為5 μ s以下則是考慮到相對于10 μ s的裕量。
[0039]此時,將主處理器模塊Ila與從處理器模塊Ilb中使用的振蕩器的頻率設(shè)為50MHz,振蕩精度設(shè)為50ppm。該條件下,同步誤差變?yōu)镮 μ s的最短時間是一個時鐘的時間X同步允許誤差偏離的振蕩次數(shù),即,20nsX ((I μ s/20ns) X (l/50ppm)) = 20ms。同樣,同步誤差變?yōu)? μ s的最短時間為100ms。因此,修正時間間隔值設(shè)為將20ms?10ms轉(zhuǎn)換成計數(shù)值后得到的值即可。通過將修正處理間隔值設(shè)定在上述范圍內(nèi),并間歇性地執(zhí)行同步修正處理,從而能在抑制處理負(fù)荷的同時,實現(xiàn)更尚的加工精度、提尚生廣質(zhì)量。
[0040]系統(tǒng)開銷計數(shù)部34進(jìn)行計數(shù),并在接收到修正處理開始信號后,S卩,在間隔計數(shù)部33的計數(shù)值達(dá)到修正處理間隔值之后,測量出以上述第I基準(zhǔn)信號的接收為起點、直到執(zhí)行同步修正處理為止的系統(tǒng)開銷值。具體而言,系統(tǒng)開銷計數(shù)部34起到接收到第I基準(zhǔn)信號后重新啟動的硬件性的計數(shù)器(定時器)的功能。
[0041]由于系統(tǒng)開銷計數(shù)部34是由硬件構(gòu)成的計數(shù)器,因此直接對第I基準(zhǔn)信號做出反應(yīng),而同步修正處理例如在用于讀取計數(shù)值的準(zhǔn)備完成之前需要花費時間。用于讀取該計數(shù)值的準(zhǔn)備完成之前所需的時間即為系統(tǒng)開銷。此外,系統(tǒng)開銷表示從發(fā)生某個事件起到實際執(zhí)行針對該事件的處理(軟件)為止的延遲時間,而本示例中系統(tǒng)開銷是從系統(tǒng)開銷計數(shù)部34重啟的起點到實際進(jìn)行同步修正處理為止的時間,但并不局限于此。
[0042]計數(shù)值獲取部35在接收到修正處理開始信號后,S卩,在間隔計數(shù)部33的計數(shù)值達(dá)到修正處理間隔值之后,根據(jù)第I基準(zhǔn)信號的接收,獲取實際執(zhí)行同步修正處理的時刻(開始時刻)的第2基準(zhǔn)信號生成部31的計數(shù)值以及系統(tǒng)開銷計數(shù)部34的計數(shù)值。
[0043]同步判斷部36在由計數(shù)值獲取部35所獲取到的第2基準(zhǔn)信號生成部31的計數(shù)值與系統(tǒng)開銷計數(shù)部34的計數(shù)值相同時,判斷為第I基準(zhǔn)信號與第2基準(zhǔn)信號同步。另外,同步判斷部36在由計數(shù)值獲取部35所獲取到的第2基準(zhǔn)信號生成部31的計數(shù)值與系統(tǒng)開銷計數(shù)部34的計數(shù)值不同時,判斷為上述第I基準(zhǔn)信號與第2基準(zhǔn)信號不同步。
[0044]另外,同步判斷部36可以對由計數(shù)值獲取部35所獲取到的第2基準(zhǔn)信號生成部31的計數(shù)值與系統(tǒng)開銷計數(shù)部34的計數(shù)值進(jìn)行時間換算,在兩者的時間相等時,判斷為同步,另外,在兩者的時間不同時,判斷為不同步。也就是說,在實施方式I中,在各處理器模塊11之間,各計數(shù)器的每一個時鐘的單位時間可能不相等。因此,在該情況下,將各計數(shù)值換算成時間,并利用換算后的時間來進(jìn)行同步/不同步的判斷。
[0045]同步修正部37在同步判斷部36判斷第I基準(zhǔn)信號與第2基準(zhǔn)信號同步的情況下,將基準(zhǔn)值設(shè)定于第2基準(zhǔn)信號生成部31。另外,同步修正部37在同步判斷部36判斷為第I基準(zhǔn)信號與第2基準(zhǔn)信號不同步的情況下,求出與第2基準(zhǔn)信號生成部31的計數(shù)值和系統(tǒng)開銷計數(shù)部34的計數(shù)值之間的差分相抵消的值。具體而言,同步修正部37將由計數(shù)值獲取部35所獲取到的第2基準(zhǔn)信號生成部31的計數(shù)值減去系統(tǒng)開銷計數(shù)部34的計數(shù)值來求出同步修正值。接著,同步修正部37從基準(zhǔn)值減去所求出的同步修正值,將相減后得到的值作為新的基準(zhǔn)值設(shè)定于第2基準(zhǔn)信號生成部31。該新的基準(zhǔn)值是指,相對于同步判斷部36判斷為同步時使用的定時器基準(zhǔn)值(默認(rèn)的基準(zhǔn)值),同步判斷部36在判斷為不同步時暫時使用的定時器基準(zhǔn)值。
[0046]另外,若同步判斷部36判斷為第I基準(zhǔn)信號與第2基準(zhǔn)信號不同步,并將相減后得到的值作為新的基準(zhǔn)值來設(shè)定于第2基準(zhǔn)信號生成部31,且使用了該相減后得到的值的計數(shù)完成,則同步修正部37迅速地將基準(zhǔn)值設(shè)定于第2基準(zhǔn)信號生成部31。由此,能暫時地使基準(zhǔn)值改變同步修正值的量。此處,舉出了執(zhí)行一次與同步修正值相應(yīng)的量的修正的示例,但并不局限于此,也可以分幾次來執(zhí)行。在該情況下,同步修正部37在同步修正處理完成后,將基準(zhǔn)值設(shè)定于第2基準(zhǔn)信號生成部31。
[0047]此外,若同步判斷部36判斷為第I基準(zhǔn)信號與第2基準(zhǔn)信號之間同步,則同步修正部37可以一次一次地對第2基準(zhǔn)信號生成部31設(shè)定上述默認(rèn)的基準(zhǔn)值,但也可以在保持同步的情況下,設(shè)定一次默認(rèn)的基準(zhǔn)值后,無任何進(jìn)一步的動作。
[0048]另外,在本實施方式中,由于每隔修正處理間隔執(zhí)行同步修正處理,因此第2基準(zhǔn)信號生成部31的計數(shù)值與系統(tǒng)開銷計數(shù)部34的計數(shù)值不同的可能性較高,同步判斷部36大多情況下判斷為第I基準(zhǔn)信號與第2基準(zhǔn)信號不同步。因此,可以不利用同步判斷部36來執(zhí)行判斷,即,不論第I基準(zhǔn)信號與第2基準(zhǔn)信號是否同步,都可以由同步修正部37來求出與第2基準(zhǔn)信號生成部31的計數(shù)值和系統(tǒng)開銷計數(shù)部34的計數(shù)值之間的差分相抵消的值,并將該值作為新的基準(zhǔn)值來設(shè)定于第2基準(zhǔn)信號生成部31。
[0049]由此,通過省略同步判斷部36的結(jié)構(gòu),從而無需判斷處理,能夠減輕與判斷所需的處理量相應(yīng)的處理負(fù)荷。
[0050]存儲部38存儲在第2運算部32進(jìn)行運算的規(guī)定的應(yīng)用程序(順序程序)。此外,第2運算部32進(jìn)行運算的規(guī)定的應(yīng)用程序是例如向連接至從處理器模塊Ilb的I/O模塊13b、13c發(fā)出指示,并利用I/O模塊13b、13c對外部設(shè)備14b、14c進(jìn)行控制的處理。因此,存儲部38中主要存儲有用于對與本處理器模塊Ilb相連的I/O模塊13b、13c、外部設(shè)備14b、14c執(zhí)行規(guī)定處理的程序。
[0051]I/O模塊13進(jìn)行與外部設(shè)備14等之間的輸入輸出處理。例如,I/O模塊13將從所連接的外部設(shè)備14等獲得的數(shù)據(jù)等輸出(發(fā)送)至處理器模塊11,或者將由處理器模塊11運算處理出的結(jié)果輸出至外部設(shè)備14等,或?qū)ζ溥M(jìn)行存儲。也就是說,處理器模塊11利用應(yīng)用程序來運算從I/O模塊13獲得的輸入數(shù)據(jù),并將該運算結(jié)果作為輸出數(shù)據(jù)提供至I/O模塊13,從而對外部設(shè)備14進(jìn)行控制。
[0052]外部設(shè)備14例如是各種傳感器、電動機(jī)、記錄裝置等。外部設(shè)備14基于來自I/O模塊13的控制信號等,來進(jìn)行數(shù)據(jù)的檢測或驅(qū)動、數(shù)據(jù)的輸入輸出等。
[0053]此處,基準(zhǔn)值可以分別預(yù)先設(shè)定于處理器模塊11a、處理器模塊11b、處理器模塊11c,也可以分別由外部連接的編譯裝置15 (設(shè)定裝置)來進(jìn)行設(shè)定。
[0054]編譯裝置15可以通過對用戶等所使用的PC(Personal Computer:個人電腦)等增加與處理器模塊11進(jìn)行通信并設(shè)定基準(zhǔn)值的功能來實現(xiàn),但并不局限于此,也可以是專用的設(shè)定裝置。由此,能夠針對每一個用戶任意地調(diào)整基準(zhǔn)值(處理周期)。
[0055]此處,在上述示例中,作為信號同步系統(tǒng)10的一個示例對多處理器進(jìn)行了說明,而信號同步信號系統(tǒng)10只要包含第I基準(zhǔn)信號生成部21、第2基準(zhǔn)信號生成部31、系統(tǒng)開銷計數(shù)部34、計數(shù)值獲取部35、同步判斷部36以及同步修正部37即可。
[0056]此外,關(guān)于信號同步系統(tǒng)10的應(yīng)用例,并不局限于多處理器,也可以應(yīng)用于例如如下定時器同步系統(tǒng):將主裝置側(cè)設(shè)為發(fā)送原子鐘的日期/時間信息的數(shù)字信號的發(fā)送站,而將從裝置側(cè)設(shè)為電子鐘。
[0057](處理器模塊11的硬件構(gòu)成例)
接著,利用附圖對處理器模塊11的硬件構(gòu)成例進(jìn)行說明。圖2是表示處理器模塊11的硬件結(jié)構(gòu)的一個示例的圖。圖2所示的處理器模塊11具有輸入部41、輸出部42、CPU43、FPGA44、存儲器45、以及外部接口 46,這些部件通過共用總線B相連接。
[0058]輸入部41輸入各種操作信號,例如來自用戶等的程序的執(zhí)行。此外,輸入部41可以具有例如供用戶等進(jìn)行操作的鍵盤、鼠標(biāo)、觸摸面板等定點設(shè)備,在通過語音等來進(jìn)行輸入的情況下,也可以具有語音輸入設(shè)備。
[0059]輸出部42具有顯示器,對進(jìn)行本實施方式中的處理的處理器模塊11進(jìn)行操作所需的各種窗口、數(shù)據(jù)等進(jìn)行顯示,并顯示CPU43所執(zhí)行的控制程序的執(zhí)行過程、結(jié)果等。
[0060]CPU43基于OS (Operating System:操作系統(tǒng))等的控制程序、保存在存儲器45中的執(zhí)行程序,通過對整個處理器模塊11的處理進(jìn)行控制,來實現(xiàn)本實施方式中的各處理,例如各種運算、與各硬件構(gòu)成部之間的數(shù)據(jù)的輸入輸出等。另外,CPU43與存儲器45進(jìn)行聯(lián)動,實質(zhì)上起到上述第I運算部22、第2運算部32、計數(shù)值獲取部35、同步判斷部36、同步修正部37的功能,并內(nèi)置第I基準(zhǔn)信號生成部21、第2基準(zhǔn)信號生成部31。此外,執(zhí)行程序的過程中所需的各種信息等也可以從存儲器45獲得,并將執(zhí)行結(jié)果等保存于存儲器45中。
[0061]FPGA (Field-Programmable Gate Array:現(xiàn)場可編程門陣列)44是可改寫邏輯電路的集成電路。FPGA44由輔助CPU43的各種邏輯電路構(gòu)成,本實施方式中,特別起到間隔計數(shù)部33、系統(tǒng)開銷計數(shù)部34的作用。其中,間隔計數(shù)部33也可以由軟件來處理。
[0062]存儲器45保存有由CPU43讀取出的執(zhí)行程序等。此外,存儲器45由ROM (ReadOnly Memory:只讀存儲器)、RAM (Random Access Memory:隨機(jī)存取存儲器)等構(gòu)成。另夕卜,存儲器45也可以具有硬盤等存儲單元,以作為輔助存儲裝置。另外,存儲器45存儲本實施方式中的執(zhí)行程序、設(shè)置于計算機(jī)中的控制程序等,根據(jù)需要來進(jìn)行輸入輸出。此外,存儲器45對應(yīng)于上述存儲部23、38等。
[0063]外部接口 46經(jīng)由傳輸總線12等與其它處理器模塊11之間進(jìn)行數(shù)據(jù)、控制信號的收發(fā)。另外,外部接口 46也與相連的I/O模塊13之間進(jìn)行數(shù)據(jù)、控制信號的收發(fā)等。
[0064]通過上述硬件結(jié)構(gòu),能夠執(zhí)行本實施方式中的同步修正處理。另外,通過安裝執(zhí)行程序,從而能容易地利用通用的個人計算機(jī)等來實現(xiàn)本實施方式中的同步修正處理。
[0065]接下來,以下對實施方式I中的同步修正處理例進(jìn)行說明。
[0066](實施方式I中的同步修正處理例)
圖3?圖5是用于說明實施方式I中的同步修正處理例的時序圖(之一?之三)。在圖3?圖5所示的示例中,示出了主處理器模塊11a、與從處理器模塊Ilb之間的計數(shù)值的同步例。此外,實施方式I中的基準(zhǔn)值(處理周期)設(shè)為1000 μ S,但并不局限于此,例如也可以利用上述的編譯裝置15來適當(dāng)?shù)馗淖冊O(shè)定。
[0067]圖3中,主處理器模塊Ila的第I基準(zhǔn)信號生成部21進(jìn)行計數(shù)。若其計數(shù)值在圖3中的⑴時刻達(dá)到基準(zhǔn)值,則輸出第I基準(zhǔn)信號。然后,第I運算部22根據(jù)該第I基準(zhǔn)信號來執(zhí)行規(guī)定處理。圖3中,陰影三角形的區(qū)域表示計數(shù)值的變化,隨著時間的流逝計數(shù)值增加,若達(dá)到計數(shù)目標(biāo)(例如基準(zhǔn)值),則重置。
[0068]另外,從處理器模塊Ilb的第2基準(zhǔn)信號生成部31進(jìn)行計數(shù)。若其計數(shù)值在圖3中的(2)時刻達(dá)到基準(zhǔn)值,則輸出第2基準(zhǔn)信號。然后,第2運算部32根據(jù)該第2基準(zhǔn)信號來執(zhí)行規(guī)定處理。由此,主處理器模塊Ila及從處理器模塊Ilb中,分別根據(jù)獨立的第I基準(zhǔn)信號及第2基準(zhǔn)信號來執(zhí)行規(guī)定的處理。
[0069]另外,在從處理器模塊Ilb中,間隔計數(shù)部33進(jìn)行計數(shù),在計數(shù)值達(dá)到修正處理間隔值的情況下(圖3的(3)),生成修正處理開始信號。根據(jù)所述修正處理開始信號來開始同步修正處理的準(zhǔn)備。
[0070]主處理器模塊Ila中生成的第I基準(zhǔn)信號作為中斷信號被發(fā)送至從處理器模塊Ilbo從處理器模塊Ilb接收第I基準(zhǔn)信號作為中斷,并利用軟件來啟動同步修正處理(圖3的(4))。與此同時,從處理器模塊Ilb的系統(tǒng)開銷計數(shù)部34將由該硬件構(gòu)成的計數(shù)器的計數(shù)值清零,并重啟(圖3的(5))。接著,在同步修正處理的準(zhǔn)備完成的情況下,在圖3(6)時刻,計數(shù)值獲取部35從第2基準(zhǔn)信號生成部31獲取計數(shù)值(圖3的(7)),并從系統(tǒng)開銷計數(shù)部34獲取計數(shù)值(圖3的(8))。
[0071]同步判斷部36將由計數(shù)值獲取部35提供的計數(shù)值換算成時間。此處,例如根據(jù)第2基準(zhǔn)信號生成部31的計數(shù)值得到300 μ s,根據(jù)系統(tǒng)開銷計數(shù)部34的計數(shù)值得到300 μ S。由此,能夠測量出從第I基準(zhǔn)信號的中斷的起點開始,到同步修正處理中獲取到計數(shù)值為止的系統(tǒng)開銷,并能夠獲取到該時刻的第2基準(zhǔn)信號生成部31的計數(shù)值。在第I基準(zhǔn)信號與第2基準(zhǔn)信號同步的情況下,所述計數(shù)值應(yīng)當(dāng)相等。
[0072]同步判斷部36將由計數(shù)值獲取部35獲取到的第2基準(zhǔn)信號生成部31的計數(shù)值(300 μ s)與系統(tǒng)開銷計數(shù)部34的計數(shù)值(300 μ s)進(jìn)行比較。該情況下,由于兩個值相等,因此同步判斷部36判斷為第I基準(zhǔn)信號與第2基準(zhǔn)信號同步。
[0073]由于同步判斷部36判斷為第I基準(zhǔn)信號與第2基準(zhǔn)信號同步,