專利名稱:微型計算機的邏輯開發(fā)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及微型計算機的邏輯開發(fā)裝置,特別涉及用于開發(fā)在被嵌入到電子控制機器中使用的嵌入用微型計算機中的邏輯開發(fā)的裝置。
背景技術(shù):
以往,由電子控制機器的控制,例如由ECU(電子控制單元)控制的引擎(發(fā)動機)的控制,為了實現(xiàn)與排氣限制等的法規(guī)要求以及微型計算機性能提高相適應(yīng)的性能提高,需要年年改進,而現(xiàn)實狀況是領(lǐng)先于現(xiàn)有的ECU性能開發(fā)新的邏輯。因此,領(lǐng)先的邏輯,往往成為期待性能提高的下一代微型計算機的目標(biāo)。并且,根據(jù)領(lǐng)先的邏輯所需要的性能,選擇性能提高后的下一代微型計算機。
但是,因為嵌入性能提高后的下一代微型計算機的ECU實際并不存在,所以上述領(lǐng)先的邏輯,在大多數(shù)情況下把現(xiàn)實的微型計算機作為基礎(chǔ)進行開發(fā)。
但是,當(dāng)使用嵌入現(xiàn)有的微型計算機的ECU進行領(lǐng)先的邏輯的開發(fā)時,存在以下的問題。
(1)微型計算機的CPU的處理能力不足。
(2)微型計算機的存儲器的容量不足。
(3)外圍資源(リソ一ス)不足。
(4)開發(fā)制作下一代ECU需要時間。
因此,由于存在這樣的問題,下一代微型計算機的開發(fā)落后,阻礙了由嵌入有該下一代微型計算機的ECU控制的電子控制機器的新產(chǎn)品的開發(fā)。
進而,嵌入到現(xiàn)有的電子控制機器中的嵌入用微型計算機,為了控制電子控制機器的成本,在現(xiàn)有的系統(tǒng)中以最佳的規(guī)格選擇CPU性能,以及外圍功能,另外,因為把CPU、微型計算機外圍資源嵌入1個封裝(パツケ一ジ)中,所以各自的功能變更只要微型計算機不變更是不可能的。另外,為了進行嵌入用微型計算機的邏輯開發(fā),對于CPU功能需要處理領(lǐng)先的邏輯所需要的處理性能,在微型計算機外圍資源中需要確保與領(lǐng)先的系統(tǒng)配合的資源。進而,在每次開發(fā)新的微型計算機時,需要與微型計算機一致地制作ECU。
發(fā)明內(nèi)容
因而,本發(fā)明的第1個目的在于提供一種微型計算機的邏輯開發(fā)裝置,它能消除伴隨這樣的領(lǐng)先邏輯開發(fā)的問題,對于CPU功能可以確保為了處理領(lǐng)先邏輯所需要的性能,對于微型計算機外圍資源,可以確保與領(lǐng)先系統(tǒng)配合的資源,可以以短時間開發(fā)能實現(xiàn)領(lǐng)先邏輯的嵌入用微型計算機,同時,可以反復(fù)利用。
這樣的領(lǐng)先邏輯的開發(fā)裝置,可以通過把嵌入到現(xiàn)有的電子控制機器中的嵌入用微型計算機置換為設(shè)置在外部的高性能的微型計算機來實現(xiàn)。
另外,這樣的微型計算機的邏輯開發(fā)裝置的ECU,一般可以由具備微型計算機的CPU功能的母板、具備微型計算機的輸入輸出(I/O)資源功能的芯板(コアボ一ド),以及,具備硬件功能的接口板(以后,稱為IF板)構(gòu)成。母板和芯板間用PCI總線(外圍機器相互連接總線)連接,進行I/O信息的通信。各板自身的性能,由安裝在各板上的零件性能確定,但能否把各板的性能作為微型計算機的邏輯開發(fā)裝置自身的性能有效地調(diào)動,已知受到在母板和芯板間的I/O信息的通信速度、母板和芯板中的運算處理能力的影響很大。
另一方面,例如,當(dāng)電子控制機器是高性能的引擎控制系統(tǒng)的情況下,已知還有以下問題。
(1)由于I/O數(shù)據(jù)的異常對引擎控制系統(tǒng)的影響大。
(2)以嚴(yán)格的定時進行I/O操作時的處理增加,處理時間增大。
(3)數(shù)據(jù)處理量多的運算處理增加。
因而,本發(fā)明的第2個目的在于提供一種微型計算機的邏輯開發(fā)裝置,它在可以實現(xiàn)母板和芯板之間的I/O信息的可靠通信的同時,可以實現(xiàn)提高I/O信息通信的速度,以及母板和芯板的運算處理能力的提高,可以與更高性能的引擎控制系統(tǒng)相適應(yīng)。
實現(xiàn)上述第1個目的的本發(fā)明的第1方式的微型計算機的邏輯開發(fā)裝置,是開發(fā)嵌入電子控制單元中使用的嵌入用計算機的邏輯的裝置,其特征在于,具備至少具備進行邏輯處理的第1中央處理裝置、存儲包含邏輯程序的數(shù)據(jù)的第1存儲器、和外部進行通信的第1接口,以及連接它們的第1內(nèi)部總線的中央部件(ブロツク);至少具備用軟件模擬實現(xiàn)微型計算機的外圍裝置的模擬微型計算機外圍裝置、和外部進行通信的第2接口,以及連接它們的第2內(nèi)部總線的外圍部件;以及連接中央部件和外圍部件的接口總線;其中,由用這些中央部件和外圍部件以及接口總線,替換嵌入用微型計算機進行邏輯動作。
另外,可以是把該構(gòu)成作為第1方式,可以是在外圍部件上設(shè)置比第1中央處理裝置處理能力低,并且用于由接口總線進行通信的第2中央處理裝置、至少存儲在通信中使用的數(shù)據(jù)的第2存儲器的第2方式;具備安裝有輸入輸出電路的接口電路的部件,在把該接口電路部件與外圍部件連接的狀態(tài)下,可以置換為電子控制單元使用的第3方式。
進而,可以是以下的方式。
(1)在中央部件上,設(shè)置有第1計時器的第4方式。
(2)第2存儲器,由與接口總線連接的共用存儲器,和與第2內(nèi)部總線連接的內(nèi)部存儲器構(gòu)成的第5方式。
(3)在外圍部件中,可以追加地構(gòu)成模擬微型計算機外圍裝置的第6方式。
(4)在外圍部件上,進一步設(shè)置有進行時間管理的第2計時器的第7方式。
而后,在第1方式中,可以是以下的構(gòu)成。
第8方式,其特征在于,在第1存儲器中,具備由在每一規(guī)定時間執(zhí)行的時間系處理應(yīng)用程序、在每一規(guī)定的事件發(fā)生時與時間無關(guān)地執(zhí)行的非時間系處理應(yīng)用程序構(gòu)成的控制應(yīng)用程序;在第1中央處理裝置中,具備至少進行時間系中斷處理和非時間系中斷處理的虛擬中斷控制功能;在第1接口中,具備通過上述接口總線至少發(fā)送接收數(shù)據(jù)以及中斷事件信息的通信軟件;第2中央處理裝置,使用第2存儲器和第2接口通過第1接口和接口總線進行與中斷事件和數(shù)據(jù)的收發(fā)有關(guān)的通信,向模擬微型計算機外圍裝置提供輸入功能和輸出功能。
第9方式,第8方式的輸入功能是輸入端口、鎖存端口、A/D變換,以及捕捉,輸出功能是輸出端口、脈沖輸出、比較、串行。
第10方式,在第8方式中,在第2存儲器上設(shè)置有與接口總線連接的共用存儲器,模擬微型計算機外圍裝置,通過該共用存儲器和接口總線,在第1存儲器的時間系處理應(yīng)用程序和非時間系處理應(yīng)用程序之間進行數(shù)據(jù)的發(fā)送接收。
第11方式,在第10方式中,在共用存儲器中設(shè)置有通信同步計數(shù)器,由該通信同步計數(shù)器,在模擬微型計算機外圍裝置和非時間系處理應(yīng)用程序之間,取得數(shù)據(jù)的發(fā)送接收的同步。
第12方式,在第10方式或者第11方式中,不以規(guī)定的采樣周期固定模擬微型計算機外圍裝置的處理起動定時而設(shè)置為任意,以在中央部件中的非時間系處理應(yīng)用程序的處理結(jié)束時刻作為模擬微型計算機外圍裝置的下一處理起動定時。
第13方式,在第12方式中從模擬微型計算機外圍裝置的處理起動定時開始,到在中央部件中的非時間系處理應(yīng)用程序的處理結(jié)束的時間,當(dāng)超過預(yù)先確定的判定時間時,強制進行模擬微型計算機外圍裝置的處理的起動。
第14方式,在第12或者第13方式中,通過接口總線把在模擬微型計算機外圍裝置中產(chǎn)生的中斷事件傳遞到第1部件,進行非時間系處理應(yīng)用程序的處理,以非時間系處理應(yīng)用程序的處理結(jié)束時刻作為模擬微型計算機外圍裝置的下一處理起動定時。
第15方式,在第12方式至第14方式的任意方式中,在非時間系處理應(yīng)用程序一方,在模擬微型計算機外圍裝置中發(fā)生的中斷事件中預(yù)先設(shè)定優(yōu)先順序,按照優(yōu)先順序非時間系處理應(yīng)用程序處理通過接口總線傳遞到中央部件的中斷事件。
第16方式,在第12方式至第15方式的任意方式中,當(dāng)沒有任何在模擬微型計算機外圍裝置中發(fā)生的中斷事件時,省略通過接口總線向中央部件的信息傳遞。
第17方式,在第12方式至第16方式的任意方式中,在非時間系處理中,在計時器值取得請求時,用來自在中央部件內(nèi)的第1計時器的計時值補正在接口總線中取得的計時值。
第18方式,在第9方式中,當(dāng)根據(jù)來自第2部件的中斷請求,在控制應(yīng)用程序中把使用了在輸出功能中的比較功能的脈沖輸出請求輸出到第2部件時,從控制應(yīng)用程序,輸出選擇被設(shè)定在比較功能的輸出端子上的一般輸出端口功能進行即時輸出的立即輸出,和選擇被設(shè)置在比較功能的輸出端子上的比較輸出功能、設(shè)定輸出時刻、輸出電平進行輸出預(yù)定的定時的輸出的至少一方。
第19方式,在第18方式中,為了對于來自控制應(yīng)用程序的,立即輸出,或者,定時的輸出,還是對于這些輸出的任何組合,外圍部件中的模擬微型計算機外圍裝置都可以對應(yīng)。
第20方式,在第19方式中,來自控制應(yīng)用程序的,立即輸出,或者,定時的輸出,補正在通過接口總線傳遞到外圍部件上時的、經(jīng)由接口總線產(chǎn)生的,從輸出請求開始到實際的輸出的延遲時間。
第21方式,在第20方式中,根據(jù)信號的種類判定是需要從輸出請求到實際的輸出的延遲時間的補正,還是不需要,只在需要補正這種信號的情況下,執(zhí)行補正。
進而,在以上的全部方式中,可以分別由通用端口構(gòu)成第1至第3部件。另外,本發(fā)明的微型計算機的邏輯開發(fā)裝置,可以有效地適用在電子控制內(nèi)燃機用的微型計算機中。
如果采用如上所述那樣構(gòu)成的本發(fā)明的第1至第20方式的微型計算機的邏輯開發(fā)裝置,則可以消除伴隨微型計算機的邏輯開發(fā)的問題,對于CPU功能,可以確保為了處理新的邏輯、下一代邏輯等所需要的處理性能,對于微型計算機外圍資源,可以確保與新系統(tǒng)、下一代系統(tǒng)配合的資源,可以以短時間開發(fā)可以實現(xiàn)新邏輯、下一代邏輯的嵌入用微型計算機。另外,本發(fā)明的微型計算機的邏輯開發(fā)裝置,因為可以在邏輯開發(fā)時反復(fù)使用,所以可以降低開發(fā)成本。
另外,實現(xiàn)上述第2目的的本發(fā)明的微型計算機的邏輯開發(fā)裝置,可以采取以下第21至第44的方式。
第21方式,在由具備高速運算功能、存儲器以及通信功能的中央部件,具備用軟件模擬實現(xiàn)微型計算機外圍裝置的模擬微型計算機外圍裝置、運算功能以及通信功能的、用PCI總線和中央部件連接的外圍部件,具備相當(dāng)于電子控制單元的硬件的電路、與外圍部件連接的接口電路部件構(gòu)成的開發(fā)被嵌入電子控制單元中使用的嵌入用微型計算機的邏輯的裝置中,在用中央部件實施的、運算處理和存儲器的輸入輸出操作混合存在的應(yīng)用程序處理中,在處理單位的分割前后只匯集輸入輸出操作中的輸入輸出信息,一并由PCI總線進行和外圍部件的通信處理。
在第22方式中,第21方式的中央部件,具備進行運算處理和存儲器的輸入輸出操作混合存在的應(yīng)用程序處理的第1部件,和進行只是運算處理的應(yīng)用程序處理的第2部件。
在第23方式中,第22方式的中央部件,與第2部件的應(yīng)用程序處理相比先優(yōu)先進行第1部件的應(yīng)用程序處理。
在第24方式中,第22或者第23方式的中央部件,把在第1部件的應(yīng)用程序處理中的輸入輸出操作的信息,一邊和外圍部件取得同步的一邊進行發(fā)送接收。
在第25方式中,從第22至第24方式的第1部件中的處理,分為不依賴外部狀態(tài)并且在處理中包含上述輸入輸出操作的時間同步處理,和根據(jù)外部狀態(tài)檢測事件信息進行與該事件信息同步的處理的非時間系同步處理這2個處理。
在第26方式中,第25方式的事件信息,被包含在從外圍部件輸入到中央部件的中斷信號中的中斷標(biāo)志信息,第1部件,在把該中斷信號作為觸發(fā)器起動輸入輸出操作和運算處理時,根據(jù)中斷標(biāo)志信息進行各中斷處理。
在第27方式中,從第22到第26的方式的第2部件,和外圍部件的動作無關(guān)地以定期時間間隔進行運算處理。
在第28方式中,第23方式的中央部件,在外圍部件中的輸入輸出操作處理的執(zhí)行中的輸入輸出處理結(jié)束等待狀態(tài)期間,執(zhí)行第2部件的應(yīng)用程序處理。
在第29方式中,第22方式的第1部件,由來自外圍部件的中斷信號起動,第2部件由中央部件的內(nèi)部系統(tǒng)起動。
在第30方式中,第22方式的中央部件,在第2部件的應(yīng)用程序處理中的某一處理結(jié)束時,從計數(shù)前次的第1部件的應(yīng)用程序處理結(jié)束開始的處理時間,在該處理時間超過規(guī)定時間的情況下,禁止某一處理的結(jié)果的數(shù)據(jù)的交接處理。
在第31方式中,在從第21至第30方式的外圍部件上,設(shè)置在存儲對中央部件的輸入信息的同時,存儲來自中央部件的輸出信息的PCI存儲器,該PCI存儲器的輸入信息的存儲區(qū)域和輸出信息的存儲區(qū)域被分開。
在第32方式中,第31方式的外圍部件,在來自中央部件的輸出信息完全被寫入PCI存儲器中后,從PCI存儲器讀出信息。
在第33方式中,從第21至第32方式的中央部件以及外圍部件,在使用PCI總線進行通信時,只抽出數(shù)據(jù)值變化了的部分進行發(fā)送。
在第34方式中,在第25或者第26方式的中央部件和外圍部件之間,除了PCI總線外,還設(shè)置有從外圍部件向中央部件送出中斷信號的中斷信號線,和從中央部件向外圍部件送出同步信號的同步信號線。
在第35方式中,第34方式的外圍部件,通過中斷信號線發(fā)送中斷標(biāo)志信息,在該中斷標(biāo)志信息中加上在外圍部件中生成的時間同步定時信號,當(dāng)以同一采樣定時檢測出多個標(biāo)志的情況下,根據(jù)各標(biāo)志的優(yōu)先程度,中央部件進行中斷處理的調(diào)停。
在第36方式中,第35方式的外圍部件,在把中斷標(biāo)志信息發(fā)送到中央部件后,無條件地清除中斷標(biāo)志信息。
在第37方式中,第36方式的外圍部件,當(dāng)沒有中斷標(biāo)志信息的情況下,停止對中央部件的發(fā)送處理。
在第38方式中,設(shè)置有多個從第21至第37方式的外圍部件。
在第39方式中,第38方式的多個外圍部件,分散從中央部件輸入的輸入輸出處理進行并行處理。
在第40方式中,通過和各外圍部件的同步信號的發(fā)送接收,進行由第39方式的多個外圍部件進行的并行處理。
在第41方式中,當(dāng)在第22方式的第1部件中的應(yīng)用程序處理的處理單位大的情況下,第1部件,分割該處理單位進行處理。
在第42方式中,第41方式的應(yīng)用程序處理的處理單位,被分割為高優(yōu)先度的處理單位和低優(yōu)先度的處理單位。
在第43方式中,第41方式的應(yīng)用程序處理的處理單位,被分成不依賴外部狀態(tài)并且在處理中包含上述輸入輸出操作的時間同步處理,和根據(jù)外部狀態(tài)檢測事件信息進行和該事件同步的處理的非時間系同步處理這2個處理單位。
在第44方式中,第43方式的時間同步處理和非時間系同步處理,分別被進一步分割為高優(yōu)先度的處理單位和低優(yōu)先度的處理單位。
進而,在以上的全部方式中,可以分別用通用的板(ボ一ド)構(gòu)成中央部件、外圍部件、接口電路部件。另外,本發(fā)明的微型計算機的邏輯開發(fā)裝置,可以有效地適用于內(nèi)燃機的控制用微型計算機。
如果采用以上那樣構(gòu)成的本發(fā)明的第21至第44方式的微型計算機的邏輯開發(fā)裝置,則可以消除伴隨微型計算機的邏輯開發(fā)的問題,對CPU功能可以確保為了處理新的邏輯、下一代邏輯所需要的處理性能,對于微型計算機外圍設(shè)備,可以確保與新系統(tǒng)、下一代系統(tǒng)配合的資源,可以在短時間開發(fā)可以實現(xiàn)新的邏輯、下一代邏輯等的嵌入用微型計算機。另外,本發(fā)明的微型計算機的邏輯開發(fā)裝置,因為可以在邏輯開發(fā)時反復(fù)利用,所以可以降低開發(fā)成本。
根據(jù)附圖所示的實施例詳細說明本發(fā)明的上述以及其他的目的、特征、優(yōu)點等。
圖1是展示成為本發(fā)明背景的電子控制式引擎的控制系統(tǒng)中的ECU構(gòu)成的系統(tǒng)結(jié)構(gòu)圖。
圖2是展示在開發(fā)圖1的ECU的邏輯時的本發(fā)明的微型計算機的邏輯開發(fā)裝置的整體構(gòu)成的說明圖。
圖3是把本發(fā)明的微型計算機的邏輯開發(fā)裝置的系統(tǒng)構(gòu)成和以往的電子機器控制用的ECU的構(gòu)成比較進行展示的方框結(jié)構(gòu)圖。
圖4是展示圖3的母板和芯板的內(nèi)部構(gòu)成的一實施例的方框結(jié)構(gòu)圖。
圖5A是展示在以往的ECU中輸入數(shù)目增加時的對應(yīng)的方框圖。
圖5B是與圖5A對應(yīng)的本發(fā)明的ECU的方框結(jié)構(gòu)圖。
圖6是展示本發(fā)明的微型計算機的邏輯開發(fā)裝置的母板和芯板的軟件構(gòu)成的結(jié)構(gòu)圖。
圖7是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的使用了共用存儲器的芯板和母板的通信方法的一實施例的流程圖。
圖8是展示為了實現(xiàn)圖7的通信方法而設(shè)置在芯板上的共用存儲器的構(gòu)成以及功能的說明圖。
圖9是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的數(shù)據(jù)通信的同步方法的一實施例的流程圖。
圖10是在圖9中說明的通信同步方法的定時圖。
圖11是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的數(shù)據(jù)通信的同步方法另一實施例的流程圖。
圖12是在圖11中說明的通信同步方法的定時圖。
圖13是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中使用的通信同步方法中的故障保護(フエ一ルセ一フ)的流程圖。
圖14A是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中由芯板檢測出的中斷事件的設(shè)置以及清除方法的圖。
圖14B是展示本發(fā)明的微型計算機的邏輯開發(fā)裝置中的中斷事件的控制方法的流程圖。
圖15A、15B是展示在圖14中說明的中斷事件的控制方法中在中斷事件中設(shè)定優(yōu)先度時的中斷順序的流程圖。
圖16是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的使用PCI總線的通信處理中的負荷減輕方法的流程圖。
圖17是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置的母板中的使用計時器的處理方法的流程圖。
圖18A是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的使用了比較(コンペア)功能的脈沖輸出處理方法的2個模式的波形圖。
圖18B是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的使用了比較功能的脈沖輸出處理方法的,表示母板內(nèi)的處理順序的流程圖。
圖19A是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的使用了比較功能的脈沖輸出請求模式的種類的組合圖。
圖19B是展示在脈沖請求中的數(shù)據(jù)格式的圖。
圖20A、20B是展示圖19的脈沖輸出請求方法的詳細情況的流程圖。
圖21是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的使用了比較功能的脈沖輸出請求中的脈沖輸出的補正方法的圖。
圖22是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的使用了比較功能的脈沖輸出請求中的脈沖輸出的補正方法的時間圖。
圖23是表示補正后波形的波形圖。
圖24A、24B是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中使用了比較功能的脈沖輸出請求中的脈沖輸出的補正方法的變形例的時間圖。
圖25是展示本發(fā)明的微型計算機的邏輯開發(fā)裝置的母板和芯板的軟件構(gòu)成,以及IF板的硬件構(gòu)成的結(jié)構(gòu)圖。
圖26是展示I/O操作和運算的混合軟件的處理方法的定時圖。
圖27是展示圖26的母板中的輸入信息的取得、應(yīng)用程序處理以及輸出請求的確定的詳細情況的軟件結(jié)構(gòu)圖。
圖28是比較展示I/O處理和運算處理混合存在的處理和只是運算處理的內(nèi)容的比較圖。
圖29是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的I/O操作和運算的混合軟件處理方法的,利用I/O處理結(jié)束等待時間實施只是運算的處理的方法的定時圖。
圖30是展示本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板的軟件的整體構(gòu)成的說明圖。
圖31是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板的,I/O操作和運算操作混合存在的部件(ブロツク)和只是運算處理的部件的優(yōu)先度的圖。
圖32是基于圖31中說明的優(yōu)先度的,母板和芯板之間的通信方法的定時圖。
圖33A是展示用于實施PCI數(shù)據(jù)的破壞防止的結(jié)構(gòu)的圖示。
圖33B是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的PCI總線的通信內(nèi)容的流程圖。
圖34是說明在PCI通信方法中的PCI數(shù)據(jù)的破壞防止方法的說明圖。
圖35是展示在圖34中說明的PCI通信方法中的PCI存儲器上的數(shù)據(jù)確定的確認方法的順序的流程圖。
圖36是說明在PCI通信方法中的PCI通信負荷的降低方法的說明圖。
圖37是說明PCI數(shù)據(jù)的壓縮·解壓縮方法的說明圖。
圖38A、38B是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的同步處理的流程圖。
圖39是在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的同步處理中,在采樣期間發(fā)生了任何中斷事件時的定時圖。
圖40是在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的同步處理中,在中斷事件間歇時的定時圖。
圖41是在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的同步處理中,在發(fā)生時間同步事件時的定時圖。
圖42是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的同步處理中,使用多個芯板進行同步處理時的數(shù)據(jù)流的說明圖。
圖43是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的同步處理中,在使用多個芯板時的PCI通信方法的說明圖。
圖44是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的母板和芯板之間的同步處理中的,同步信號控制的定時圖。
圖45A、45B是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中,在應(yīng)用程序處理單位大時,分割應(yīng)用程序處理時的分割處理的方法的圖。
圖46是說明圖25的分割處理方法中的分割控制方法的說明圖。
圖47A、47B是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置中的中斷控制器的處理的流程圖。
具體實施例方式
以下,使用附圖根據(jù)具體實施例詳細說明本發(fā)明的實施方式,在以下的實施例中,作為適用本發(fā)明的電子控制機器,說明電子控制式內(nèi)燃機(內(nèi)燃機以下稱為引擎)。
圖1是展示以往的電子控制式引擎的控制系統(tǒng)中的ECU(電子控制單元)1的構(gòu)成的系統(tǒng)結(jié)構(gòu)圖。在電子控制式引擎中,向ECU1輸入引擎轉(zhuǎn)速信號、車速信號等的脈沖輸入、來自水溫傳感器、吸氣溫度傳感器等的模擬輸入,以及起動開關(guān)、電氣負荷開關(guān)、檔位位置開關(guān)、空調(diào)信號等的數(shù)字輸入。ECU1的構(gòu)成具備處理這些輸入信號的嵌入用微型計算機2、作為放大在嵌入用微型計算機2中處理的信號并進行輸出的ECU輸入輸出電路的驅(qū)動器16。從該ECU1輸出的信號,是對檔位控制電磁閥(ソレノイド)、VVT(可變配氣相位)電磁閥的模擬輸出,點火信號、燃料噴射信號等的脈沖輸出、ISC(怠速控制)用的脈沖輸出,以及檢查引擎燈、主繼電器、空調(diào)切換(カツト)信號等的數(shù)字信號等。
嵌入用微型計算機2,把進行運算處理的存儲器9和CPU10,以及進行輸入輸出(I/O)控制的外圍資源收納在1個封裝中。在外圍資源中,有輸入系統(tǒng)的資源和輸出系統(tǒng)的資源。在圖1中,作為輸入系統(tǒng)的資源,展示了處理數(shù)字信號的輸入端口3和鎖存端口4、處理模擬輸入的A/D轉(zhuǎn)換器5,以及處理脈沖輸入的捕獲(キヤプチヤ)6,作為輸出系統(tǒng)的資源,展示輸出數(shù)字輸出的輸出端口12、輸出脈沖輸出的PWM(脈沖幅度調(diào)制器)13和比較(コンペア)14,以及輸入輸出模擬輸出的串行(端口)15。這些外圍資源由內(nèi)部總線11與存儲器9以及CPU10相互連接。另外,在嵌入用微型計算機2的內(nèi)部,除了這些外圍資源外,還設(shè)置有內(nèi)部計時器7、嵌入控制器8。
在電子控制式引擎的控制系統(tǒng)中,把來自表示車輛的運行狀態(tài)的各傳感器、開關(guān)類的信號取入ECU1。在ECU1的輸入電路中信號處理輸入信號,并輸入到嵌入用微型計算機2中。被輸入的信號在上述輸入系統(tǒng)的外圍資源中被變換為CPU值,在作為運算部的存儲器9和CPU10中根據(jù)輸入信號檢測出車輛狀態(tài),制作與車輛狀態(tài)相應(yīng)的輸出請求信號。該輸出請求信號在上述輸出系統(tǒng)的外圍資源中被變換為輸出信號,從嵌入用微型計算機2中輸出。作為ECU1的輸入輸出電路的驅(qū)動器16根據(jù)該輸出信號驅(qū)動被安裝在車輛上的各執(zhí)行機構(gòu),其輸出控制的結(jié)果如虛線所示,被反映為來自車輛的輸入信號。
圖2是展示在圖1中說明的ECU1安裝到汽車(車輛)18上的位置的圖。EUC1被安裝在裝有車輛18的引擎19的引擎室內(nèi)。另外,在圖2中,展示本發(fā)明的微型計算機的邏輯開發(fā)裝置20。本發(fā)明的微型計算機的邏輯開發(fā)裝置20,如該圖所示,拆下與安裝在車輛18上的ECU1連接的連接器,可以用連接電線20A直接與該連接器連接使用。21是用于監(jiān)視微型計算機的邏輯開發(fā)裝置20狀態(tài)的顯示器,22是作為用于改變微型計算機的邏輯開發(fā)裝置20的設(shè)定的輸入裝置的鍵盤。
進而,本發(fā)明的微型計算機的邏輯開發(fā)裝置20,除了可以這樣直接連接車輛18使用外,由個人計算機24的控制工作,如果與可以模擬發(fā)生車輛的各種運行狀況的車輛運行狀況發(fā)生裝置23連接,則即使在沒有車輛的狀態(tài)下,也可以開發(fā)電子控制式引擎用嵌入微型計算機的邏輯。
圖3是把可以如圖2那樣連接使用的本發(fā)明的微型計算機的邏輯開發(fā)裝置20的系統(tǒng)構(gòu)成,和以往的電子控制式引擎(電子控制機器)用的ECU1的構(gòu)成比較進行展示的圖。如上所述,在ECU1中,有嵌入用微型計算機2,和由驅(qū)動器16構(gòu)成的ECU輸入輸出電路28,由ECU連接器29與車輛一側(cè)的電子機器連接。另外,在嵌入用微型計算機2中,有被存儲在存儲器9中由CPU10讀出使用的軟件(引擎控制應(yīng)用程序在圖中把引擎記述為ENG)25,和微型計算機外圍資源26,可以用內(nèi)部總線11相互進行數(shù)據(jù)的接收發(fā)送。
另一方面,如圖2所述,在該ECU1中置換使用的本發(fā)明的微型計算機的邏輯開發(fā)裝置20,在本實施例中,由母板(マザ一ボ一ド)30、芯板(コアボ一ド)40以及IF板50這3塊板構(gòu)成。母板30和芯板40是與ECU1的嵌入用微型計算機2對應(yīng)的板,IF板50是與ECU1的ECU輸入輸出電路28對應(yīng)的板。而后,母板30和芯板40,用作為高速總線接口的PCI總線39連接。
在母板30中,設(shè)置有被存儲在后述的存儲器中由CPU讀出使用的軟件(ENG控制應(yīng)用程序)31、用于通過PCI總線39進行通信的PCI通信軟件32。使用了PCI總線39的PCI通信處理,是在PCI總線39中運載與模擬微型計算機外圍資源(以后外圍資源簡稱為外圍)42發(fā)送接收的數(shù)據(jù)的通信處理。在該母板30上,當(dāng)開發(fā)下一代的ECU時,重要的是具備可以承擔(dān)下一代ECU的領(lǐng)先邏輯的開發(fā)的運算性能、存儲器容量。
進而,現(xiàn)有的引擎控制用微型計算機的性能,因為CPU是64MHz,存儲器是1M字節(jié)左右,所以如果使用在個人計算機等中使用的通用設(shè)備,則可以說性能過剩,在長時間內(nèi)怎樣使用都可以。
另外,在芯板40中,包含CPU和存儲器,有用于和上述的PCI總線39進行通信的PCI通信軟件41、與嵌入用微型計算機2的微型計算機外圍資源26對應(yīng)的模擬微型計算機外圍(FPGAField Programmable GateArray)42,可以用內(nèi)部總線43相互進行數(shù)據(jù)的發(fā)送接收。在IF板50上,設(shè)置與ECU1的ECU輸入輸出電路28對應(yīng)的ECU輸入輸出電路51,和ECU連接器29。ECU輸入輸出電路51,以標(biāo)準(zhǔn)電路部件單位獨立,由其組合構(gòu)成,對輸入輸出電路的變更可以靈活地對應(yīng)。
圖4是展示圖3的母板30和芯板40的,硬件構(gòu)成的一實施例的圖。在母板30中,有用于存儲在圖3中說明的軟件(ENG控制應(yīng)用程序)的存儲容量大的存儲器31、通用的高性能的CPU(例如,工作頻率是850MHz)33、內(nèi)部計時器35、與PCI總線39連接的PCI總線接口36,以及相互連接它們的內(nèi)部總線37。
在芯板40上,有與PCI總線39連接的PCI總線接口44、比被安裝在母板30上的CPU33等級低的CPU45、實現(xiàn)和微型計算機外圍的功能同等功能的模擬微型計算機外圍(FPGA)42、內(nèi)部總線43、與PCI總線連接的共用存儲器46,以及與內(nèi)部總線43連接的內(nèi)部存儲器47。另外,被安裝在芯板40上的CPU45,只要有可以進行PCI通信處理的處理能力(例如,在通用32位CPU中工作頻率是16MHz)即可。芯板40的功能,經(jīng)由PCI總線39接收在以往的ECU1中的ENG控制應(yīng)用程序(軟件)25和微型計算機外圍26發(fā)送接收的數(shù)據(jù),交給模擬微型計算機外圍(FPGA)42。
連接到IF板50上的各EPGA42可以由軟件組成,可以靈活地與微型計算機外圍的變更對應(yīng)。即,可以與想增加通道數(shù)的情況,和想追加新的功能的資源等的情況對應(yīng)。
以往,當(dāng)嵌入用微型計算機2的資源不足的情況下,如圖5A所示,在嵌入用微型計算機2的前段部分上追加外掛ADC(A/D轉(zhuǎn)換器)17,但在本發(fā)明的微型計算機的邏輯開發(fā)裝置20中,因為母板的存儲器9的容量大,另外,CPU10的處理速度快,所以可以容易實現(xiàn)使圖5A的AD轉(zhuǎn)換器5和外掛AD轉(zhuǎn)換器17一致的,如圖5B所示的,具備有在微型計算機的資源所需要的輸入數(shù)的AD轉(zhuǎn)換器5A。因此,在本發(fā)明的微型計算機的邏輯開發(fā)裝置20中,不需要用于彌補微型計算機的資源的不足的擴展I/O(輸入輸出裝置)功能。
圖6是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置20中的,母板30和芯板的軟件構(gòu)成的結(jié)構(gòu)圖。在電子控制機器是電子控制式引擎的情況下,母板30中的ENG控制應(yīng)用程序31,被分為時間系中斷處理和非時間系中斷處理這2個處理。時間系中斷處理,是不依賴于外部狀態(tài),以一定的時間感覺定期進行的處理。另一方面,非時間系中斷是依賴于外部狀態(tài),即,依賴于引擎的運行狀態(tài)產(chǎn)生的處理。在該非時間系中斷處理中,例如有引擎的轉(zhuǎn)速信號、車速信號、燃料的噴射定時信號、點火定時信號等的中斷處理。
在此,如果把根據(jù)這樣的外部狀態(tài)變化的情況稱為事件,則非時間系中斷處理,可以說是通過外部狀態(tài)檢測事件信息,與該事件同步地進行的處理。在圖6中,該事件流用虛線表示,數(shù)據(jù)流用實線表示。
在母板30的ENG控制應(yīng)用程序31中,為了進行上述那樣的時間系中斷處理和非時間系中斷處理,CPU33具有作為虛擬(仮想)微型計算機外圍的功能。在該虛擬微型計算機外圍上,設(shè)置有產(chǎn)生時間系中斷和非時間系中斷的虛擬中斷控制器34,和虛擬I/O寄存器38。另外,PCI通信軟件32,作為數(shù)據(jù),處理中斷事件信息和I/O寄存器數(shù)據(jù)。35是在時間系中斷處理中使用的內(nèi)部計時器。有關(guān)在虛擬I/O積存器38和PCI總線39中的計時值以后敘述。
另一方面,在芯板40一側(cè)的模擬微型計算機外圍42上,和以往的微型計算機外圍26一樣,設(shè)置有端口、鎖存、PWM、串行、比較,以及捕獲的各功能。另外,PCI通信軟件41,作為數(shù)據(jù),處理中斷事件信息、I/O寄存器數(shù)據(jù)。進而,在芯板40上,內(nèi)置有產(chǎn)生事件流的計時器48。另外,在PCI總線39上,包含中斷指示用的1個系統(tǒng)的總線。
以下,基于具體實施例詳細說明如圖6所示那樣事件信息和數(shù)據(jù)流的本發(fā)明的微型計算機的邏輯開發(fā)裝置20中的PCI通信方法、通信同步方法、故障保護方法、中斷控制方法(中斷事件的設(shè)置和清除方法,中斷優(yōu)先度管理方法)、PCI通信的處理負荷的減輕方法、計時器處理方法、使用比較功能的脈沖輸出處理方法、脈沖輸出請求方法,以及脈沖輸出補正方法。
(1)PCI通信方法(共用存儲器的使用)圖7是展示本發(fā)明的微型計算機的邏輯開發(fā)裝置20中的,使用了在圖4中說明的共用存儲器46的芯板40和母板30的通信方法的一實施例的圖。另外,圖8是展示為了實現(xiàn)圖7的通信方法而被設(shè)置在芯板40上的共用存儲器46的構(gòu)成以及功能的圖。
如果通過在圖6中說明的芯板40的計時器48,成為I/O采樣周期(例如,100μs),則在步驟701中進行對輸出信息的PCI通信軟件41的設(shè)置,從共用存儲器46中取得輸出信息,交給模擬微型計算機外圍(FPGA)42。在下一步驟702中,進行輸入信息的設(shè)置,從模擬微型計算機外圍(FPGA)42取得輸入信息,存儲在共用存儲器46中。而后,在步驟703中從芯板40對母板30進行中斷請求,該例程(ル一チン)結(jié)束。
在母板30一側(cè),根據(jù)來自該芯板40的中斷請求,開始非時間系處理。在步驟711中,通過PCI通信軟件32進行PCI接收處理,經(jīng)由PCI總線39從共用存儲器46讀出輸入的信息,公開給ENG控制應(yīng)用程序31。在步驟712中,在ENG控制應(yīng)用程序31中進行非時間系處理。而后,在步驟713中進行PCI發(fā)送處理,通過PCI通信軟件32,在EGN控制應(yīng)用程序31中的非時間系處理的計算結(jié)果的輸出信息,經(jīng)由PCI總線39被寫入共用存儲器46,該例程結(jié)束。
另一方面,在母板30一側(cè),可以和來自芯板40的中斷請求無關(guān)地,在ENG控制應(yīng)用程序31中執(zhí)行時間系處理。該時間系處理,通過母板30內(nèi)的計時器35,例如,以1ms周期執(zhí)行。在該時間系處理中,在步驟721中由PCI通信軟件32進行PCI接收處理,經(jīng)由PCI總線39從共有存儲器46讀出輸入的信息,公開在ENG控制應(yīng)用程序31中。在步驟722中,在ENG控制應(yīng)用程序31中進行時間系處理。而后,在步驟723中進行PCI發(fā)送處理,通過PCI通信軟件32,在ENG控制應(yīng)用程序31中的時間系處理的計算結(jié)果的輸出信息,經(jīng)由PCI總線39被寫入共用存儲器46該例程結(jié)束。
(2)PCI通信方法(通信同步方法1)當(dāng)經(jīng)由PCI總線39在母板30和芯板40之間進行數(shù)據(jù)的發(fā)送接收的情況下,把對共用存儲器46從母板30寫入的值在芯板40中讀出。另外,與此相反進行也可以。這種情況下,在寫入定時和讀出定時重合時,不能保證數(shù)據(jù)的值。因而,在本發(fā)明中,在通信中采取同步執(zhí)行PCI總線39的訪問,使得各自的定時不重合。用圖9說明該通信同步的方法。
當(dāng)在PCI總線39的通信中采取同步的情況下,在共用存儲器46上設(shè)置通信同步計數(shù)器,在母板30的非時間系處理和芯板40之間采取處理的同步。通信同步計數(shù)器,如果在母板30一側(cè)的處理結(jié)束則被更新。另外,在芯板40一側(cè)的處理中,確認通信特別計數(shù)器被更新并進行處理,用圖9說明該處理。
如果通過在圖6中說明的芯板40的計時器48,成為I/O采樣周期(例如100μs),則在步驟901中判斷通信同步計數(shù)器的值(syncnt)是否等于通信同步計數(shù)器監(jiān)視器的值(syncnt_m)。在不相等的情況下直接結(jié)束該例程,在相等時進入步驟902,進行輸出信息的設(shè)置。在以下的步驟903中進行輸入信息的設(shè)置,接著在步驟904中對母板30請求中斷。而后,在以下的步驟905中通信同步計數(shù)器監(jiān)視器的值(syncnt_m)被加1更新,該例程結(jié)束。
在母板30一側(cè),根據(jù)來自該芯板40的中斷請求,開始非時間系處理。在步驟911中,由PCI通信軟件32進行PCI接收處理,經(jīng)由PCI總線39從共用存儲器46輸入的通信同步計數(shù)器的值(syncnt),在步驟912中在ENG控制應(yīng)用程序31中作為值(t_syn)存儲。在步驟913中,在EGN控制應(yīng)用程序31中進行非時間系處理。而后,在步驟914中進行PCI發(fā)送處理,在步驟915中只更新1個由步驟912存儲的值(t_syn)作為通信同步計數(shù)器的值(syncnt)存儲。在ENG控制應(yīng)用程序31中的非時間系處理的結(jié)果和通信同步計數(shù)器的值(syncnt),由PCI通信軟件32,經(jīng)由PCI總線39寫入共用存儲器46,該例程結(jié)束。
另一方面,在母板30一側(cè),可以和來自芯板40的中斷請求無關(guān)地,在ENG控制應(yīng)用程序31中執(zhí)行時間系處理。該時間系處理,通過母板30內(nèi)的計時器35,例如,以1ms周期執(zhí)行。在該時間系處理中,在步驟921中由PCI通信軟件32進行PCI接收處理,這時,使用在非時間系處理中取得的最新的值。在步驟922中,在ENG控制應(yīng)用程序31中進行時間系處理。而后,在步驟923中進行PCI發(fā)送處理,只數(shù)據(jù)的更新在下一非時間系發(fā)送處理中被發(fā)送,該例程結(jié)束。
圖10是和時間一同展示在圖9中說明的通信同步方法的處理的進行狀態(tài)的定時圖。在圖10中,展示了通信處理在芯板40的I/O采樣周期(100μs)中結(jié)束時的、通常時的定時圖,以及通信處理在芯板40的I/O采樣周期(100μs)后、至下次的處理開始未結(jié)束時的非通常時的定時圖。
(3)PCI通信方法(通信同步方法2)本實施例,也是采取在經(jīng)由PCI總線39的母板30和芯板40之間的數(shù)據(jù)的發(fā)送接收中的寫入定時和讀出定時的同步。和(2)的方法的不同之處在于,并不用I/O采樣周期固定芯板40的處理起動定時,如果確認母板30一側(cè)的處理狀況處理結(jié)束,則轉(zhuǎn)移到下一處理。因此,芯板40一側(cè)的I/O處理定時是任意的。
用圖11說明該通信同步方法。
如果芯板40的電源為接通(ON),則在步驟1101中判定通信同步計數(shù)器的值(syncnt)是否等于通信同步計數(shù)器監(jiān)視器的值(syncnt_m)。在不相等的情況下直至該值相等,重復(fù)步驟1101的判定。在步驟1101的判定為相等時進入步驟1102,進行輸出信息的設(shè)置。在以下的步驟1103中,進行輸入信息的設(shè)置,在接著的步驟1104中進行對母板30的中斷請求。而后,在下一步驟1105中通信同步計數(shù)器監(jiān)視器的值(syncnt_m)被加1更新該例程結(jié)束。
在母板30一側(cè),根據(jù)來自該芯板40的中斷請求,開始非時間系處理。在步驟1111中,由PCI通信軟件32進行PCI接收處理,經(jīng)由PCI總線39從共用存儲器46輸入的通信同步計數(shù)器的值(syncnt),在步驟1112中在ENG控制應(yīng)用程序31中被作為值(t_syn)存儲。在步驟1113中,在ENG控制應(yīng)用程序31中,進行非時間系處理。而后,在步驟1114中進行PCI發(fā)送處理,在步驟1115中加1更新在步驟1112中存儲著的值(t_syn)作為通信同步計數(shù)器的值(syncnt)存儲。在ENG控制應(yīng)用程序31中的非時間系處理的結(jié)果和通信同步計數(shù)器的值(syncnt),由PCI通信軟件32,經(jīng)由PCI總線39寫入共用存儲器46,該例程結(jié)束。
另一方面,在母板30一側(cè),和來自芯板40的中斷請求無關(guān),在ENG控制應(yīng)用程序31中執(zhí)行時間系處理。該時間系處理,由母板30內(nèi)的計時器35,例如,以1ms的周期執(zhí)行。在該時間系處理中,在步驟1121中由PCI通信軟件32進行PCI接收處理。這時,使用在非時間系處理中取得的最新的值。在步驟1122中,在ENG控制應(yīng)用程序31中進行時間系處理。而后,在步驟1123中進行PCI發(fā)送處理,只是數(shù)據(jù)的更新在下一非時間系發(fā)送處理中被發(fā)送,該例程結(jié)束。
圖12是展示和時間一同展示在圖11中說明的通信同步方法的處理的進行狀況的定時圖。從圖11可知,芯板40的I/O采樣周期,根據(jù)與母板30一側(cè)的處理時間的長度對應(yīng)的芯板40一側(cè)的等待時間的長度,為任意長度。
(4)PCI通信方法(故障保護)在經(jīng)由PCI總線39的母板30的處理和芯板40一側(cè)的處理中,如上所述通過同步計時器實施處理使得防止處理的重復(fù),但當(dāng)同步計數(shù)器因某些原因出現(xiàn)故障或者破壞的情況下,芯板40一側(cè)的處理變?yōu)槟赴?0一側(cè)的處理結(jié)束等待狀態(tài),或者,母板30一側(cè)的處理變?yōu)閺男景?0一側(cè)處理開始的中斷等待狀態(tài),變?yōu)樗梨i循環(huán)(デツドロツクル一プ)。
因而,在本發(fā)明中,因為設(shè)置了回避這樣的死鎖循環(huán)狀態(tài)的故障保護邏輯,所以對此進行說明。在本實施例的故障保護邏輯中,設(shè)置死鎖循環(huán)判定時間,以及當(dāng)檢測出母板30的處理結(jié)束的等待時間超過規(guī)定的判定時間的情況下,作為死鎖循環(huán)狀態(tài)檢測。而后,在檢測出死鎖循環(huán)的情況下,強制再開始通信。用圖13說明該處理。
如果通過在圖6中說明的芯板40的計時器48,成為I/O采樣周期(例如,100μs),則在步驟1301中判定等待計數(shù)器的值(Waitcnt)是否超過判定時間。等待計數(shù)器的值(Waitcnt)在不足判定時間的情況下進入步驟1303,在超過了判定時間的情況下在步驟1302中清除通信同步計數(shù)器的值(syncnt)和通信同步計數(shù)器監(jiān)視器的值(syncnt_m),之后進入步驟1303。
在步驟1303中,判定通信同步計數(shù)器的值(syncnt)是否等于通信同步計數(shù)器監(jiān)視器的值(syncnt_m)。在步驟1301中的等待計數(shù)器的值(waitcnt)的判定中,當(dāng)?shù)却嫈?shù)器的值(waitcnt)不足判定時間的情況下,因為通信同步計數(shù)器的值(syncnt)和通信同步計數(shù)器監(jiān)視器的值(syncnt_m)不相等,所以在步驟1309中加1更新等待計數(shù)器的值(waitcnt)并結(jié)束該例程。另一方面,在步驟1302中當(dāng)通信同步計數(shù)器的值(syncnt)和通信同步計數(shù)器監(jiān)視器的值(syncnt_m)被清除的情況下,因為兩者的值相等,所以從步驟1303進入步驟1304。
在步驟1304中,進行輸出信息的設(shè)置,在下一步驟1305中進行輸入信息的設(shè)置。在接著的步驟1306中,等待計數(shù)器的值(waitcnt)被清除,在接著的步驟1307中進行對母板30的中斷請求。而后,在以下的步驟1308中加1更新通信同步計數(shù)器監(jiān)視器的值(syncnt_m)之后該例程結(jié)束。母板30一側(cè)的處理,因為和在圖9或者圖11中說明的處理一樣,所以在此省略其說明。
(5)中斷控制方法(中斷事件的設(shè)置和清除方法)在經(jīng)由PCI總線39的母板30和芯板40之間的數(shù)據(jù)的發(fā)送接收中,把在芯板40中檢測出的中斷事件經(jīng)由PCI總線39傳遞到母板30,實現(xiàn)母板30上的ENG控制應(yīng)用程序31的中斷控制。中斷事件,雖然需要從芯板40設(shè)置、從母板30清除,從雙方向操作,但為了避免數(shù)據(jù)沖突,在本實施例中,準(zhǔn)備以下那樣的PCI通信數(shù)據(jù),通過來自單方向的操作,實現(xiàn)母板30和芯板40之間的數(shù)據(jù)的發(fā)送接收。
圖14A是展示從芯板40送到母板30的各中斷事件信息(D事件~A事件)、從母板30送到芯板40的各中斷事件清除請求(D清除請求~A清除請求)的圖。通過這樣的各中斷事件信息和各中斷事件清除請求,可以進行圖14B所示那樣的處理。
如果根據(jù)在圖6中說明的芯板40的計時器48,成為I/O采樣周期(例如,100μs),則在步驟1401中進行輸出信息的設(shè)置處理。該處理,是讀入中斷清除信息,清除被設(shè)置的事件信息的處理。如果輸出信息的設(shè)置處理結(jié)束,則在步驟1402中進行輸入信息的設(shè)置處理。該處理,是從模擬微型計算機外圍(EPGA)42取得中斷事件信息,設(shè)置事件信息的處理。在接著的步驟1403中,對母板30進行中斷請求后該例程結(jié)束。
在母板30一側(cè),根據(jù)來自該芯板40的中斷請求,開始非時間系處理。在步驟1411中,由PCI通信軟件32進行PCI接收處理。在該PCI接收處理中,進行清除中斷事件清除信息[I]的處理、經(jīng)由PCI總線39讀入中斷事件信息的處理,以及,對被設(shè)置的中斷事件起動中斷例程的處理。在此,[I]表示內(nèi)部存儲器31,在內(nèi)部存儲器31中準(zhǔn)備數(shù)據(jù),在PCI通信處理部中經(jīng)由PCI總線39更新共用存儲器46。
如果步驟1411結(jié)束則執(zhí)行步驟1412。在步驟1412中,執(zhí)行非時間系處理(ENG控制應(yīng)用程序)。在該處理中,選擇各中斷例程(中斷A例程~中斷D例程)起動,設(shè)置起動完的事件的清除信息[I]。在以下的步驟1413中進行PCI發(fā)送處理。該PCI發(fā)送處理,進行經(jīng)由PCI總線39寫入中斷清除信息的處理并結(jié)束該例程。
(6)中斷控制方法(中斷優(yōu)先度管理方法)在此前的ECU1中,為中斷事件各自設(shè)定優(yōu)先度,管理對各事件處理的處理優(yōu)先度。因而,在本發(fā)明的微型計算機的邏輯開發(fā)裝置20中,通過以被設(shè)定的中斷優(yōu)先度高的順序進行起動處理,從而實現(xiàn)接近實際的ECU1的中斷處理。例如,當(dāng)設(shè)定事件信息的中斷優(yōu)先度為B事件>A事件>D事件>C事件(以后如B>A>D>C那樣省略事件)時,進行圖15A、15B所示的處理。
因為在圖15A的母板30中的中斷請求處理例程中的步驟1501,和在圖14中說明的步驟1411相同,步驟1503和步驟1413相同,所以在此,用圖15B說明以該例程的步驟1502中的中斷優(yōu)先度的順序搜索中斷事件信息,起動各中斷例程的方法。
當(dāng)把事件的中斷優(yōu)先度設(shè)定為B>A>D>C時,在步驟1502的非時間系處理中,首先,在步驟1511中搜索并判定是否有中斷優(yōu)先度高的中斷B。搜索的結(jié)果,當(dāng)沒有中斷B時進入步驟1514,當(dāng)存在中斷B時進入步驟1512,設(shè)置中斷B清除請求。而后,在步驟1513中執(zhí)行中斷B的例程,在該例程結(jié)束后進入步驟1514。
在步驟1514中,搜索并判定是否有下一中斷優(yōu)先度高的中斷A。搜索的結(jié)果,當(dāng)沒有中斷A時進入步驟1517,而中斷A存在時進入步驟1515,設(shè)置中斷A清除請求。而后,在步驟1516中執(zhí)行中斷A的例程,在該例程結(jié)束后進入步驟1517。
在步驟1517中,搜索并判定是否有第3個中斷優(yōu)先度高的中斷D。搜索的結(jié)果,當(dāng)沒有中斷D時進入步驟1520,而在中斷D存在時進入步驟1518,設(shè)置中斷D清除請求。而后,在步驟1519中執(zhí)行中斷D的例程,在該例程結(jié)束后進入步驟1520。
在步驟1520中,搜索并判定是否存在中斷優(yōu)先度最低的中斷C。搜索的結(jié)果,當(dāng)沒有中斷C時結(jié)束中斷例程,而在存在中斷C時進入步驟1521,設(shè)置中斷C清除請求。而后,在步驟1522中執(zhí)行中斷C的例程,在該例程結(jié)束后結(jié)束中斷例程。
(7)PCI通信處理負荷減輕方法ENG控制應(yīng)用程序31的處理,可以通過提高在母板30中采用的CPU板的性能來應(yīng)付,而有關(guān)PCI通信的處理,因為受到PCI通信協(xié)議的限制,所以PCI通信處理負荷,需要盡可能地抑制。在此,當(dāng)沒有任何中斷事件信息的情況下,因為不發(fā)生附帶的中斷處理,所以不需要把輸入信息傳遞到母板30,另外,因為新的輸出請求也沒有發(fā)生,所以不需要把輸出請求傳遞到芯板40,即,不需要PCI通信處理。
因而,在本發(fā)明中,當(dāng)沒有任何中斷事件信息的情況下,省略PCI通信處理,實現(xiàn)PCI通信處理負荷的減輕。進而,因為是不依賴于中斷事件信息的時間系處理,所以即使未發(fā)生任何中斷事件信息的狀態(tài)繼續(xù),也可以通過等待計數(shù)器的處理,在每一定時間發(fā)生PCI通信。下面用圖16對其進行說明。
如果根據(jù)在圖6中說明的芯板40的計時器48,成為I/O采樣周期(例如,100μs),則在步驟1601中判定等待計數(shù)器的值(waitcnt)是否超過了判定時間。當(dāng)?shù)却嫈?shù)器的值(waitcnt)不足判定時間的情況下進入步驟1603,當(dāng)超過了判定時間的情況下在步驟1602中清除通信同步計數(shù)器的值(syncnt)和通信同步計數(shù)器監(jiān)視器的值(syncnt_m),進入步驟1603。
在步驟1603中,判定通信同步計數(shù)器的值(syncnt)是否等于通信同步計數(shù)器監(jiān)視器的值(syncnt_m)。在步驟1601中的等待計數(shù)器的值(waitcnt)的判定中,當(dāng)?shù)却嫈?shù)器的值(waitcnt)不足判定時間的情況下,因為通信同步計數(shù)器的值(syncnt)和通信同步計數(shù)器監(jiān)視器的值(syncnt_m)不相等,所以在步驟1610中加1更新等待計數(shù)器的值(waitcnt),該例程結(jié)束。另一方面,在步驟1602中當(dāng)通信同步計數(shù)器的值(syncnt)和通信同步監(jiān)視計數(shù)器的值(syncnt_m)被清除的情況下,因為兩者的值相等所以從步驟1603進入步驟1604。
在步驟1604中,進行輸出信息的設(shè)置,在下一步驟1605中進行輸入信息的設(shè)置。在以下步驟1606中,判定是否有哪些中斷事件。當(dāng)任何中斷事件都沒有的情況下,在步驟1610中加1更新等待計數(shù)器的值(waitcnt)結(jié)束該例程。另一方面,當(dāng)有任何的中斷事件的情況下進入步驟1607,在步驟1607中,清除等待計數(shù)器的值(waitcnt),在接著的步驟1608中進行對母板30的中斷請求。而后,在下一步驟1609中把通信同步計數(shù)器監(jiān)視器的值(syncnt_m)更新加1并結(jié)束該例程。母板30一側(cè)的處理,因為和在圖9或者圖11中說明的處理一樣,所以在此省略其說明。
(8)計時器處理方法在ENG控制應(yīng)用程序31中,為了計算出利用比較功能的脈沖輸出請求,在運算處理內(nèi)取得計時器值,計算脈沖輸出請求。因而,在計時器值取得請求時,必須可以參照正確的計時器值。另一方面,在本發(fā)明中,計時器值信息在芯板40內(nèi),需要在母板30一側(cè)通過PCI總線39取得??墒?,PCI通信間隔,如在上述實施例中所述,是100μs,因為與作為計時器的系數(shù)間隔的1μs相比長,所以需要用于在母板30一側(cè)取得正確的計時器值的手段。
因而,在本發(fā)明中,通過使用母板30內(nèi)的內(nèi)部計時器35,補正從在PCI通信中取得的來自芯板40的計時器值的取得定時開始,到計時器值取得請求發(fā)生的延遲時間,由此,在母板30一側(cè),可以取得正確的計時器值。有關(guān)此方法用圖17進行說明。
在母板30一側(cè)中,根據(jù)來自芯板40的中斷請求,開始非時間系處理。在步驟1701中,由PCI通信軟件32進行PCI接收處理。在該PCI接收處理中,進行從芯板40取得計時器值(T)的處理,以及,鎖存內(nèi)部計時器值(TO)的處理。如果步驟1701結(jié)束則執(zhí)行步驟1702。在步驟1702中,執(zhí)行非時間系處理(ENG控制應(yīng)用程序)。在該處理中,起動計時器值取得請求例程。
在計時器值取得請求例程中,首先,在步驟1711中,取得內(nèi)部計時器值(T1)。在以下的步驟1712中,算出從由芯板40取得計時器值的時刻(T)開始到現(xiàn)在的延遲時間(Td1)。該計算式,假設(shè)由芯板40取得了計時器值的定時(T),與該時的內(nèi)部計時器值(TO)相等,成為下式。
Td1=T1-TO這樣算出到現(xiàn)在的延遲時間(Td1)后,通過由以下式子在從芯板40取得的計時器值(T)上加上補正,算出補正后的計時器值(T′)。
T′=T+Td1而后,在以下的步驟1714中,返回補正后的計時器值(T′)結(jié)束該例程。
這樣步驟1702結(jié)束后,在步驟1703中進行PCI的發(fā)送處理。
(9)使用了比較功能的脈沖輸出處理方法在ENG控制應(yīng)用程序31中,例如,如點火輸出、燃料噴射輸出等那樣,有使用比較功能進行脈沖輸出請求的情況。在實際的ECU1中,在比較輸出端子上有一般輸出端口功能和比較輸出功能這2個功能,切換這2個功能進行脈沖輸出。當(dāng)選擇一般輸出端口功能,進行即時輸出的情況下,該輸出被稱為立即(イミデイエ一ト)輸出。另外,在選擇比較輸出功能,設(shè)定輸出時刻、輸出電平進行輸出預(yù)定的情況下,該輸出被稱為定時的(タイムド)輸出。
圖18A是說明在使用比較功能的脈沖輸出的定時的輸出(模式1),和立即輸出(圖案2)的圖。
在模式1中,在脈沖輸出開始的規(guī)定時間前的時刻,通過軟件處理使用定時的輸出進行脈沖開始輸出的預(yù)定。而后,在脈沖輸出開始的比較輸出開始的比較一致中斷中,進行使用定時的輸出的脈沖輸出結(jié)束的預(yù)定。另一方面,在模式2中,在脈沖輸出開始時刻,由立即輸出進行脈沖開始輸出,與此同時在脈沖開始輸出之后進行使用定時的輸出的脈沖結(jié)束輸出的預(yù)定。
圖18B,是展示母板30中的非時間系處理(步驟1801~步驟1803)和時間系處理(步驟1811~步驟1813)的圖。在此,在本構(gòu)成的處理單位之間(步驟1801和步驟圖中是1803之間,步驟1811和步驟1813之間),不能對芯板40輸出連續(xù)的請求。在模式2的情況中,因為從立即輸出(脈沖輸出開始)開始,和定時的輸出(脈沖輸出結(jié)束預(yù)定)連續(xù)地發(fā)生處理請求,需要假想該情況的脈沖輸出處理。
(10)脈沖輸出請求方法對使用了比較功能的所謂脈沖輸出請求模式,在本發(fā)明中可以對應(yīng)。
圖19A是展示在單一處理單位中的脈沖請求模式的圖。模式1是定時的輸出,需要比較中斷事件。模式2是從立即輸出轉(zhuǎn)移到定時的輸出的模式,這也需要比較中斷事件。模式3只是立即輸出。
圖19B是在比較的每個通道上展示脈沖輸出請求的數(shù)據(jù)格式的圖。在數(shù)據(jù)格式上,有輸出預(yù)定時刻(定時的輸出用)Tout、定時的輸出請求TMREQ、定時的輸出電平TMLVL、立即輸出請求IMMREQ、立即輸出電平IMMLVL,以及補正需要否ADJ。
在本發(fā)明中,在比較的每個通道上進行圖20A、20B所示那樣的處理。如果根據(jù)圖6中說明的芯板40的計時器48,成為I/O采樣周期(例如,100μs),則在步驟201中,在輸出信息的設(shè)置內(nèi),進行脈沖輸出處理。在該脈沖輸出處理中,在步驟2001中,判定立即輸出請求IMMREQ是否為ON(通)狀態(tài),當(dāng)為ON狀態(tài)時在步驟2002中在進行端口輸出處理(IMMLVL)后進入步驟2003。另一方面,當(dāng)在步驟2001中立即輸出請求IMMREQ不是ON狀態(tài)時不進行步驟2002而進入步驟2003。
在步驟2003中,判定定時的請求輸出TMREQ是否為ON狀態(tài),當(dāng)為ON狀態(tài)時在步驟2004中進行比較輸出預(yù)定處理(Tout/TMLVL)。另一方面,在步驟2003中當(dāng)定時的請求輸出TMREQ不是ON狀態(tài)時省略步驟2004。在以下的步驟2002中,進行輸入信息的設(shè)置,在接著的步驟203中進行對母板30的中斷請求,該例程結(jié)束。
在母板30一側(cè)中,根據(jù)來自芯板40的中斷請求,開始非時間系處理。在步驟211中,由PCI通信軟件32進行PCI接收處理。在以下的步驟212中在ENG控制應(yīng)用程序31內(nèi),制作脈沖輸出請求。由脈沖輸出請求,在步驟2011中立即輸出請求IMMREQ被全部清除,與此同時定時的輸出請求TMREQ也被全部清除。在以下的步驟2012中判定是否有立即輸出,當(dāng)有立即輸出的情況下在步驟2013中在進行立即輸出請求IMMREQ的設(shè)置、立即輸出電平IMMLVL的設(shè)置后進入步驟2014。在步驟2012中當(dāng)判定為沒有立即輸出時,不進入步驟2013而進入步驟2014。在步驟2014中,判定是否有定時的輸出,當(dāng)有定時的輸出的情況下在步驟2015中設(shè)定定時的輸出請求TMREQ的設(shè)置、定時的輸出電平TMLVLL的設(shè)置以及輸出預(yù)定時刻Tout,從步驟212進入步驟213。在步驟2014中當(dāng)判定為沒有定時的輸出的情況下,不執(zhí)行步驟2015而進入步驟2016。在步驟2016中,進行PCI發(fā)送處理,在步驟2016中進行經(jīng)由PCI總線39寫入脈沖輸出請求的處理。
(11)脈沖輸出補正方法在使用了比較功能的脈沖輸出請求中,以立即輸出脈沖開始、以定時的輸出脈沖結(jié)束的脈沖輸出(圖18A的模式2)中,在實際的ECU的輸出脈沖,和本發(fā)明的輸出脈沖中,產(chǎn)生圖21所示的差Td2。該差Td2產(chǎn)生的原因是,因為與在實際的ECU中如果進行立即輸出請求則時值輸出這一點相對,在本發(fā)明中根據(jù)立即輸出請求不立刻輸出。即,在本發(fā)明中,如圖22A所示,因為在母板30中的立即輸出請求經(jīng)由PCI總線39傳遞到芯板40,以其后的芯板40的采樣處理定時輸出,所以從輸出請求到實際的輸出產(chǎn)生延遲時間Td2。
其結(jié)果,實際的ECU的輸出脈沖和本發(fā)明的輸出脈沖一同,因為根據(jù)定時的輸出請求,在預(yù)定時刻輸出,所以輸出定時相同。如果在輸出脈沖的寬度上產(chǎn)生這樣的差,則因為引擎控制的點火時期是輸出脈沖的定時所以沒有問題,而因為燃料噴射料由輸出脈沖的寬度決定,所以在燃料噴射量上產(chǎn)生差將成為大問題。
為了補正該差Td2,在出現(xiàn)以立即輸出脈沖開始、以定時的輸出脈沖結(jié)束的請求時(圖20的步驟2012中為“是”,步驟2014中也為“是”,立即輸出請求IMMREQ和定時的輸出請求TMREQ兩方被設(shè)置的情況下),進行以下的處理。
(a)鎖存在立即輸出請求時,即,在圖22A的立即輸出請求發(fā)生時(A)的現(xiàn)在時刻(Treq)。在(口)輸出執(zhí)行時,即在執(zhí)行相對圖22A的立即輸出請求的輸出時(B),把現(xiàn)在時刻(Tnow)和立即輸出請求時的時刻(Treq)的差(Td2),加算在定時的輸出用的預(yù)定時刻上。此時的延遲時間Td2可以用下式表示。
延遲時間Td2=Tnow-Treq通過這樣的處理,在圖21所示的實際的ECU中的輸出脈沖,和在本發(fā)明中的輸出脈沖中的差Td2,如圖23所示那樣被補正,脈沖寬度變?yōu)橄嗤R蚨?,該脈沖可以用于引擎的燃料噴射。
但是,根據(jù)輸出信號的種類,有需要這樣補正的情況,和不需要這樣補正的情況。例如,在引擎的控制中,點火信號,因為脈沖輸出的結(jié)束定時(點火時期)重要,所以不需要補正。與此相反,燃料的噴射信號,因為由脈沖輸出的脈沖寬度決定噴射量,所以脈沖寬度重要,必須如上述那樣補正。
圖23是展示對應(yīng)信號的種類在判定了在脈沖的結(jié)束時刻需要補正、不需要補正的基礎(chǔ)上進行補正處理的順序的圖。
在芯板40一側(cè),如果根據(jù)在圖6中說明的芯板40的計時器48,成為I/O采樣周期,則在步驟231中,進行輸出信息的設(shè)置內(nèi)的脈沖輸出處理。在該脈沖處理中,在步驟2301中,判斷是否需要補正,并且,立即輸出請求IMMREQ是否是ON狀態(tài),并且定時的輸出請求TMREQ是否是ON狀態(tài),當(dāng)全部是“是”時進入步驟2302進行上述的補正處理。另一方面,當(dāng)步驟2301的判定不全部是“是”的情況下不進行補正處理進入步驟2303。
在步驟2303中,判定立即輸出請求IMMREQ是否是ON狀態(tài),當(dāng)是ON狀態(tài)時在步驟2304中在進行立即輸出處理后進入步驟2305。另一方面,在步驟2303中當(dāng)立即輸出請求IMMREQ不是ON狀態(tài)的情況下不進行步驟2304進入步驟2305。
在步驟2305中,判定定時的請求輸出TMREQ是否是ON狀態(tài),當(dāng)是ON狀態(tài)的情況下在步驟2306中進行比較輸出預(yù)定處理。另一方面,在步驟2305中當(dāng)定時的請求輸出TMREQ不是ON狀態(tài)的情況下省略步驟2306。在以下的步驟232中,進行輸入信息的設(shè)置,在以下的步驟233中進行對母板30的中斷請求,該例程結(jié)束。
在母板30一側(cè)中,根據(jù)來自芯板40的中斷請求,開始非時間系處理。在步驟241中,由PCI通信軟件32進行PCI接收處理。在以下的步驟242中在ENG控制應(yīng)用程序31內(nèi),制作脈沖輸出請求。由脈沖輸出請求,在步驟2401中立即輸出請求IMMREQ被全部清除,與此同時定時的輸出請求TMREQ也被全部清除。在以下的步驟2402中,判定是否有立即輸出,當(dāng)有立即輸出的情況下在步驟2403中在進行立即輸出請求IMMREQ的設(shè)置、立即輸出電平IMMLVL的設(shè)置以及現(xiàn)在時刻(Treq)的鎖存后進入步驟2404。在步驟2402中當(dāng)判定為沒有立即輸出的情況下,不進入步驟2403而進入步驟2404。在步驟2404中,判定是否有定時的輸出,當(dāng)有定時的輸出的情況下在步驟2405中在設(shè)定定時的輸出請求TMREQ的設(shè)置、定時的輸出電平TMLVLL的設(shè)置,以及輸出預(yù)定時刻Tout后從步驟242進入步驟243。當(dāng)在步驟2404中判定為在沒有定時的輸出的情況下,不執(zhí)行步驟2405而進入步驟243。在步驟213中,進行PCI發(fā)送處理,在步驟2406中進行把脈沖輸出請求經(jīng)由PCI總線39寫入芯板40的處理。
進而,在以上說明的實施例中,作為使用本發(fā)明的微型計算機的邏輯開發(fā)裝置開發(fā)的電子控制機器,說明了電子控制式引擎,而本發(fā)明,在其他的電子控制機器用的嵌入用微型計算機的開發(fā)中也可以有效地適用。進而,本發(fā)明的微型計算機的邏輯開發(fā)裝置,除了下一代微型計算機的開發(fā)外,還可以有效地適用在新的微型計算機的開發(fā)中。進而,本發(fā)明的微型計算機的邏輯開發(fā)裝置,通過存儲在母板的存儲器中的程序的變更、根據(jù)用途增減安裝在芯板上的模擬微型計算機外圍,可以相對不同的微型計算機的開發(fā),反復(fù)使用。
圖25是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置20中的,ECU1的軟件的構(gòu)成(也記述了一部分硬件)的圖。在ECU1中,有實現(xiàn)相當(dāng)于微型計算機核心的功能的母板30、實現(xiàn)相當(dāng)于微型計算機資源的功能的芯板40,以及實現(xiàn)相當(dāng)于ECU1的硬件的功能的IF板50。所謂ECU1的硬件,是微型計算機以外的電氣電路。
在母板30以及芯板40上,安裝有實現(xiàn)與微型計算機資源連接的總線相當(dāng)?shù)墓δ艿腎/O驅(qū)動器(母板一側(cè)I/O驅(qū)動器30D和芯板一側(cè)I/O驅(qū)動器40D),其間用PCI總線39和多個信號線A、B連接。信號線A是被設(shè)置在PCI總線39上的1個系統(tǒng)的中斷信號線,可以發(fā)行從芯板40到母板30的中斷請求。另外,通過信號線B,可以從母板30向芯板40發(fā)行同步信號。
在相當(dāng)于ECU1的硬件的IF板50上,有端口分配變換板52和第1至第3標(biāo)準(zhǔn)電路53。另外,54相當(dāng)于ECU1的連接器。IF板50和芯板40,由相當(dāng)于微型計算機端口的線束(ハ一ネス)49連接。
當(dāng)電子控制機器是電子控制式引擎的情況下,在母板30中,有引擎控制應(yīng)用程序31,和在該應(yīng)用程序31和EPGA42之間進行I/O信息傳遞的I/O驅(qū)動器30D這2個大的軟件部件。引擎控制應(yīng)用程序31,進一步被分成只進行運算的部件,和I/O操作和運算處理混合的部件。I/O操作和運算操作混合的部件,被安裝在實際ECU中的軟件大致和其相當(dāng)。只進行運算的部件,是追加研究的邏輯,和I/O操作完全分開。I/O驅(qū)動器,被分為母板一側(cè)I/O驅(qū)動器30D和芯板一側(cè)I/O驅(qū)動器40D,利用母板30和芯板40間的信號線A,采取板間的同步,經(jīng)由PCI總線39進行I/O信息的傳遞。
在只進行引擎控制應(yīng)用程序31的運算的部件中只是時間同步處理(時間系中斷處理),但I/O操作和運算處理混合存在的部件被分為時間同步和非時間同步處理(時間系中斷處理)這2種處理。時間同步處理,是不依賴于外部狀態(tài),以一定的時間間隔定期進行的處理。另一方面,非時間同步處理,是依賴于外部狀態(tài),即,引擎的運行狀態(tài)產(chǎn)生的處理。在該非時間同步處理中,例如,有引擎的旋轉(zhuǎn)信號、車速信號、燃料的噴射定時信號、點火定時信號等的中斷處理。
在此,如果把根據(jù)這樣的外部狀態(tài)變化的情況稱為事件,則非時間同步處理,可以說是根據(jù)外部狀態(tài)檢測事件信息,與該事件同步進行的處理。
在母板30的引擎控制應(yīng)用程序31中,為了進行上述那樣的時間同步處理和非時間同步處理,在圖4中說明的CPU33具有作為虛擬微型計算機外圍的功能。在該虛擬微型計算機外圍上,設(shè)置有產(chǎn)生時間系中斷和非時間系中斷的虛擬中斷控制器,和虛擬I/O寄存器。另外,作為PCI通信軟件的母板一側(cè)的I/O驅(qū)動器,作為數(shù)據(jù),處理中斷事件信息和I/O寄存器數(shù)據(jù)。
另一方面,在芯板40一側(cè)的模擬微型計算機外圍42上,和圖3所示的以往的微型計算機外圍26一樣,設(shè)置有端口、鎖存、PWM、串行、比較,以及捕獲的各功能。另外,作為PCI通信軟件的芯板一側(cè)I/O驅(qū)動器,作為數(shù)據(jù),處理中斷事件信息和I/O寄存器數(shù)據(jù)。進而,在芯板40中,內(nèi)置有產(chǎn)生事件流的計時器。
以下,以下根據(jù)具體的實施例詳細說明實施上述事件信息和數(shù)據(jù)流動的本發(fā)明的微型計算機的邏輯開發(fā)裝置20的(1)對應(yīng)用程序軟件的I/O信息的反映處理方法,(2)PCI通信方法,(3)板間通信同步方法,以及(4)由應(yīng)用程序處理單位的分割引起的I/O處理周期的縮短方法。
進而,在以下的實施例中,主要用實線表示事件流,用虛線表示數(shù)據(jù)流。
(1)對應(yīng)用程序軟件的I/O信息的反映處理方法(1-1)I/O操作/運算混合存在軟件的處理方法圖26是展示I/O操作和運算混合存在軟件的處理方法的定時圖。在I/O操作和運算的混合存在軟件中,在微型計算機中從端口輸出數(shù)據(jù)、讀端口的情況在軟件中混合存在。在圖26中母板30、PCI總線39,以及芯板40中的處理和時間的經(jīng)過一同展示。進而,芯板40如圖所示可以使用多個,但使用多個的情況后述,在本實施例中說明使用1個芯板40的情況。另外,在此,從在芯板40中的輸入信息確定處理,到輸出設(shè)置處理是1個處理周期,以后因為反復(fù)該處理周期,所以只對1個處理周期進行說明。
在1個處理周期中,首先,在芯板40中確定對母板30的輸入信息,該輸入信息被輸出到PCI總線39。如果輸入信息被輸出到PCI總線39,則通過在圖25中說明的信號線A,中斷請求信號被輸出到母板30。母板30根據(jù)從該信號線A輸入的中斷請求信號,從PCI總線39取得輸入信息。該處理是應(yīng)用程序前處理,經(jīng)由PCI總線39從芯板40取得輸入信息,反映在以下的應(yīng)用程序處理中。
在母板30中的應(yīng)用程序處理(引擎控制軟件),因為I/O操作和運算處理混合存在,所以在處理單位的分割前后匯集I/O信息,一并通過PCI總線39進行通信處理,提高數(shù)據(jù)通信效率。在此,所謂應(yīng)用程序處理的處理單位,對于中斷事件,是起動的一連串的處理的全部。
如果應(yīng)用程序處理結(jié)束,則進行應(yīng)用程序后處理。應(yīng)用程序后處理,是將應(yīng)用程序處理的結(jié)果,發(fā)生的輸出請求匯集,經(jīng)由PCI總線39向芯板40傳遞的處理。在母板30中如果確立對芯板40的輸出信息,則該輸出信息被輸出到PCI總線39。如果輸出信息被輸出到PCI總線39,則通過在圖25中說明的信號線B把同步信號輸出到芯板40,通知把輸出信息發(fā)送到了PCI總線39。芯板40根據(jù)從該信號線B輸入的同步信號,從PCI總線39中取得輸出信息。在經(jīng)由PCI總線39芯板40取得了輸出信息后,芯板40根據(jù)該取得的輸出信息設(shè)置輸出。
即,在本實施例中,芯板40在應(yīng)用程序處理單位的前處理中進行輸入確定,在后處理中進行輸出確定,由此,把I/O信息反映在應(yīng)用程序處理軟件中。進而,在本實施例中,在1個處理周期中確定輸出請求,在從母板30通過信號線B把同步信號輸出到芯板40后,母板30在芯板40一側(cè)的I/O處理結(jié)束前,處于I/O處理結(jié)束等待狀態(tài),不進行處理。母板30的處理再開始,在下一處理周期中是從芯板40中,通過信號線A把中斷請求信號輸出到母板30的時刻。
圖27是展示圖26的母板30中的輸入信息的取得、應(yīng)用程序處理,以及輸出請求確定的處理的詳細情況的圖。在輸入信息的取得(I/O驅(qū)動器前處理)中通過PCI總線取得的輸入信息,包含中斷標(biāo)志、端口電平、捕獲值、接收數(shù)據(jù)、AD轉(zhuǎn)換值等的輸入數(shù)據(jù)。中斷標(biāo)志被輸出到中斷控制器,該中斷控制器看中斷標(biāo)志起動附帶的應(yīng)用程序處理。另一方面,輸入數(shù)據(jù)被存儲在虛擬寄存器(RAM)38中。
在應(yīng)用程序處理中有應(yīng)用程序?qū)?、和?yīng)用程序的接口層(APF層)、ECU電路依附層(ECU層),以及微型計算機依賴層(CPU層),在這些層上執(zhí)行必要的運算,當(dāng)需要把輸出存儲在虛擬寄存器38中的情況下,把運算的數(shù)據(jù)存儲在虛擬寄存器38中進行輸出設(shè)定。另外,當(dāng)在運算中需要輸入信息的情況下從虛擬寄存器38中讀入輸入信息。
這樣,如果應(yīng)用程序處理結(jié)束,則執(zhí)行輸出請求的確定(I/O驅(qū)動器后處理)。在I/O驅(qū)動器后處理中,清除返回到中斷控制器中的中斷標(biāo)志表示的中斷,從虛擬寄存器中取得輸出請求。
在I/O驅(qū)動器的后處理中,經(jīng)由PCI總線把得到的端口電平、比較、PWM、發(fā)送數(shù)據(jù)、通信起動數(shù)據(jù)、AD起動數(shù)據(jù)等的輸出信息輸出到芯板。
(1-2)只是運算的軟件的處理方法如上所述,在母板30中的應(yīng)用程序處理中,有I/O操作和運算處理混合存在的處理、只是運算的處理。圖28是展示這些處理的詳細情況的圖。在I/O操作和運算處理混合存在的處理中,有時間同步處理1和非時間系處理(非時間同步處理),只是運算的處理只是時間同步處理2。在I/O操作和運算處理混合存在的處理中的時間同步處理1,是以定期時間間隔進行的處理,是不依賴于外部狀態(tài)的處理。另外,在處理中有I/O操作。在I/O操作和運算處理混合存在的處理中的非時間系處理,是根據(jù)引擎(E/G)旋轉(zhuǎn)信號、車速信號、噴射定時、點火定時等的外部狀態(tài)檢測出事件信息,與該事件同步地進行的處理,在處理中有I/O存在。另一方面,在只運算的處理中的時間同步處理2是以定期時間間隔進行的處理,不依賴與外部狀態(tài)。另外,在運算處理中沒有I/O操作。
圖29是展示有I/O操作和運算處理混合存在的處理,和只是運算的處理兩方的軟件的處理方法的定時圖,是在圖26中說明的定時圖中增加了只是運算的處理的圖示。因為有關(guān)I/O操作和運算的混合處理已在圖26中進行了說明,所以在此省略說明。只是運算的處理,和芯板的40動作無關(guān)地,以一定周期進行起動。
另外,如上所述,在I/O操作和運算處理混合存在的處理中,在芯板40一側(cè)進行I/O操作處理的期間,處于I/O操作處理結(jié)束等待狀態(tài)。因而,在本實施例中,利用在母板30中的該I/O操作處理結(jié)束等待區(qū)間,執(zhí)行只是運算的處理。根據(jù)該處理,可以實現(xiàn)母板30的CPU的有效活用。
圖30是展示有I/O操作和運算的混合處理,和只是運算的處理兩方的軟件的全體構(gòu)成的圖。引擎(ENG)控制應(yīng)用程序31,被分割為I/O操作和運算處理混合存在的處理部和只是運算的處理部的2個部件中。I/O操作和運算處理混合存在的部件,因為和芯板40發(fā)送接收I/O信息,所以一邊和芯板40取得同步一邊進行起動。該部件,進一步被分為時間同步處理1和非時間同步處理的2個,但各中斷事件,被包含在來自芯板40的中斷標(biāo)志信息中,在來自芯板40的中斷信號中匯集。I/O操作和運算處理混合存在的處理部件,以來自芯板40的中斷信號為起源起動,只是運算的處理部件,由母板內(nèi)部系統(tǒng)起動。
在母板30的ENG控制應(yīng)用程序31中,為了進行如上所述那樣的時間同步處理1、2和非時間系處理,CPU33具有作為虛擬微型計算機外圍的功能。在該虛擬微型計算機外圍33上,設(shè)置有產(chǎn)生時間系中斷和非時間系中斷的虛擬中斷控制器34,和虛擬I/O寄存器38。另外,作為PCI通信軟件的母板一側(cè)I/O驅(qū)動器32,作為數(shù)據(jù),處理中斷事件信息、包含計時器值的I/O寄存器數(shù)據(jù)。35是在時間同步處理2中使用的內(nèi)部計時器。以后說明虛擬I/O寄存器38和PCI總線39中的計時器值。
另一方面,在芯板40一側(cè)的模擬微型計算機外圍42上,和以往的微型計算機外圍26一樣,設(shè)置有端口、鎖存、PWM、串行、比較,以及捕獲的各功能。另外,作為PCI通信軟件的芯板一側(cè)I/O驅(qū)動器41,作為數(shù)據(jù),處理中斷事件信息、包含計時器值的I/O寄存器數(shù)據(jù)。進而,在模擬微型計算機外圍42上,內(nèi)置有產(chǎn)生事件流的計時器。另外,在PCI總線39中包含中斷指示用的1系統(tǒng)的總線(圖25的信號線A)。
在此,說明在ENG控制應(yīng)用程序31中,當(dāng)有I/O操作和運算處理混合存在的處理,和只是運算的處理兩方的情況下,為了極力抑制在芯板40中的I/O操作的延遲,優(yōu)先進行I/O操作和運算處理混合存在的部件的處理的實施例。
圖31是展示有I/O操作和運算處理混合存在的部件,和只是運算處理的部件的情況下的軟件構(gòu)成的圖,I/O操作和運算處理混合存在的部件的軟件構(gòu)成,和在圖27中說明的相同。I/O操作和運算處理混合存在的處理,用RAM(在圖4中說明的存儲器)31進行。I/O操作和運算處理混合操作的處理,因為和芯板40發(fā)送接收數(shù)據(jù),所以優(yōu)先度高,和芯板40不進行發(fā)送接收的只是運算的處理,優(yōu)先度低。在只是運算的處理中只有應(yīng)用程序?qū)?研究邏輯),在本發(fā)明的系統(tǒng)中以一定時間間隔起動,與RAM31發(fā)送接收運算結(jié)果。該一定時間間隔,與上述處理周期相比是足夠長的時間間隔,例如,是4ms。進而,在圖31中,同時記述了優(yōu)先度高的I/O操作和運算處理混合存在的處理、優(yōu)先度低的只是運算的處理,但兩者并非同時進行。以下說明它。
(1-3)I/O和運算混合存在軟件、只是運算軟件間的數(shù)據(jù)傳遞方法圖32是和時間一同展示芯板40、PCI總線39,以及母板30的I/O操作和運算處理混合存在的處理部和只是運算的處理部的,各處理中的數(shù)據(jù)的交接的進行狀態(tài)的定時圖,是展示確保多個數(shù)據(jù)的同時性的圖。交接的數(shù)據(jù),因為是只是運算的處理部的輸入輸出數(shù)據(jù),所以在只運算的處理部的前后實施。進而,圖32中的“入”表示圖26中的輸入信息,“接收”表示輸入信息取得,“處理”表示I/O操作和運算處理混合存在的應(yīng)用程序處理,“處理1”、“處理2”表示只是運算的應(yīng)用程序處理、“發(fā)送”表示輸出請求確定、“出”表示輸出請求取得。進而,只是運算的應(yīng)用程序處理“處理1”、“處理2”,以一定周期的只是運算的起動定時開始處理。
在此,因為把I/O操作和運算處理混合存在的處理部設(shè)置為高優(yōu)先度,把只是運算的處理設(shè)置為低優(yōu)先度進行中斷處理,所以在只是運算的處理部的數(shù)據(jù)交接處理(數(shù)據(jù)的拷貝處理)中,有可能發(fā)生起動I/O操作和運算處理混合存在的處理部的中斷。而后,當(dāng)該中斷發(fā)生時,在只是運算的處理部的數(shù)據(jù)交接過程中更新數(shù)據(jù),因為不能確保數(shù)據(jù)的同時性,所以需要進行中斷的排他。但是如果要使用中斷禁止功能進行中斷的排他時,因為在中斷禁止中發(fā)生的來自芯板40的中斷請求(I/O操作和運算處理混合存在的處理部的起動請求)有可能變?yōu)闊o效,所以不能使用中斷禁止功能。
因而,在本實施例中,在I/O操作和運算處理混合存在的處理部的每一“發(fā)送”的結(jié)束時,鎖存母板的內(nèi)部計時器的值(timchk)進行更新。而后,在用只是運算的處理部的“處理1”表示的運算處理的結(jié)束時請求數(shù)據(jù)交接處理。由此,執(zhí)行數(shù)據(jù)交接處理判定例程,在步驟121中把母板30內(nèi)部計時器的值設(shè)置為timnow,取得現(xiàn)在時刻。在下一步驟122中,判定從現(xiàn)在時刻Timnow減去在I/O操作和運算處理混合存在的處理部的“發(fā)送”結(jié)束時被鎖存的內(nèi)部計時器值timchk的值的差值是否不足20μs。在差值在20μs或以上的情況下,不實施數(shù)據(jù)交接處理,結(jié)束該例程,在差值不足20μs的情況下,實施數(shù)據(jù)交接處理,結(jié)束該例程。
在圖32中展示差值在20μs或以上的情況。這種情況下,在下一I/O操作和運算處理混合存在的處理部的“發(fā)送”的結(jié)束后,再次請求數(shù)據(jù)交接處理。這種情況下,因為在步驟122中的,從現(xiàn)在時刻timnow減去在I/O操作和運算處理混合存在的處理部的“發(fā)送”結(jié)束時鎖存的內(nèi)部計時器值timchk值得到的差值不足20μs,所以實施步驟123的數(shù)據(jù)交接處理。該數(shù)據(jù)交接處理,如附加陰影所示,在下一處理周期的母板的I/O操作處理結(jié)束等待的期間執(zhí)行。在只是運算處理的處理部的“處理2”中表示的應(yīng)用程序處理,在該數(shù)據(jù)交接處理的結(jié)束后的,在只是運算的起動定時中開始。
這樣,當(dāng)從I/O操作和運算處理混合存在的處理部的“發(fā)送”的結(jié)束時開始,到其后的只是運算的處理部的運算處理結(jié)束時的時間超過20μs的情況下不進行數(shù)據(jù)交接處理的理由,是因為在數(shù)據(jù)交接處理的過程中開始了下一“I/O操作和運算處理混合存在的處理部”的“接收”處理的緣故。
以下,詳細說明事件信息和數(shù)據(jù)流動的本發(fā)明的微型計算機的邏輯開發(fā)裝置20中的PCI通信方法。
(2)PCI通信方法(2-1)PCI數(shù)據(jù)的破壞防止方法在本實施例中,為了防止PCI數(shù)據(jù)的破壞,如圖33A所示,其構(gòu)成為在芯板40的I/O驅(qū)動器40D上設(shè)置PCI存儲器39M,經(jīng)由PCI總線39,從母板30進行讀出/寫入。而后,為了防止數(shù)據(jù)沖突,在PCI存儲器39M中,分為存儲從母板30向芯板40輸入的數(shù)據(jù)(輸出請求)的存儲器區(qū)域,和存儲從芯板40向母板30輸出的數(shù)據(jù)(輸入信息)的存儲器區(qū)域。
圖33B是展示母板30一側(cè)的ENG控制應(yīng)用程序31的處理,以及在芯板40一側(cè)的每一I/O采樣周期(芯板計時器基準(zhǔn))進行的處理的圖。進而,從圖33B中的※1到※6與圖33A中從※1到※6所示的部分的處理對應(yīng)。
在芯板40一側(cè),在每一I/O采樣周期在步驟131中進行輸入信息的設(shè)置,從FGPA42取得輸入信息,存儲在PCI存儲器39M中。而后,在步驟132中對母板30輸出中斷請求。在以下的步驟133中等待來自母板30的輸出請求,如果輸出請求被輸入,則在步驟134中進行輸出信息的設(shè)置,從PCI存儲器39M取得輸出信息送到FGPA42并結(jié)束該例程。
在芯板一側(cè)的處理的步驟132中如果向母板30輸出中斷請求,則開始母板一側(cè)的I/O操作和運算處理混合存在的處理部的處理,在步驟135中進行PCI接收處理了。在PCI接收處理中,經(jīng)由PCI總線39從PCI存儲器39M中讀出輸入信息,把該信息公開在ENG控制應(yīng)用程序31中。在下一步驟136中,由實際ECU安裝軟件執(zhí)行時間同步處理1或者非時間系處理。而后,在步驟137中進行PCI發(fā)送處理。PCI發(fā)送處理,是把ENG控制應(yīng)用程序31計算出的結(jié)果的輸出信息,經(jīng)由PCI總線39寫入PCI存儲器39M的處理。如果把步驟137的輸出信息寫入PCI存儲器39的處理結(jié)束,則在步驟138中對芯板40進行輸出請求,并結(jié)束該例程。
進而,在母板一側(cè)中,不管芯板一側(cè)的狀態(tài)如何,在每一規(guī)定時間,例如,以由母板計時器計數(shù)的4ms周期,只有運算的處理部工作,執(zhí)行時間同步處理2(研究邏輯)。
在此,用圖34和圖35說明防止PCI數(shù)據(jù)的破壞的方法。為了防止PCI數(shù)據(jù)的破壞,在本實施例中如圖34所示,在具備輸出請求1~n的輸出請求數(shù)據(jù)的末尾附加校驗用數(shù)據(jù)。而后,從母板30的虛擬寄存器38經(jīng)由PCI總線39,如(1)所示,當(dāng)向芯板40的PCI存儲器39M的PCI區(qū)域1寫入輸出請求數(shù)據(jù)的情況下,通過檢測出該校驗用數(shù)據(jù)的有無,判定PCI存儲器39M的數(shù)據(jù)是否完全確定。
在本實施例中,這樣在PCI存儲器39M上的數(shù)據(jù)完全確定后,如(2)所示,進行來自PCI區(qū)域的輸出請求的讀出,在微型計算機(I/O驅(qū)動器)40D中取得該輸出請求,設(shè)置在未圖示的FGPA中。其結(jié)果,不會在數(shù)據(jù)確定前讀出輸出請求,沒有出現(xiàn)輸出請求成為不定值的可能性。
圖35是展示在PCI存儲器39M中的數(shù)據(jù)確定的確認方法的一實施例的圖。在母板一側(cè)的處理中,在步驟155中,在應(yīng)用程序處理中制成輸出請求。而后,在步驟156中從母板30經(jīng)由PCI總線39把輸出請求寫入PCI存儲器39M。在把輸出請求全部寫入PCI存儲器39M后,在步驟157中使校驗用數(shù)據(jù)的值反轉(zhuǎn),把它從母板30經(jīng)由PCI總線39M寫入芯板40的PCI存儲器39M。
另一方面,在芯板40一側(cè),在步驟151中,確認PCI存儲器39M內(nèi)的校驗用數(shù)據(jù),判斷是否有反轉(zhuǎn)。當(dāng)在校驗用數(shù)據(jù)中沒有反轉(zhuǎn)的情況下,直至有反轉(zhuǎn)前重復(fù)步驟151。如果在步驟151中確認校驗用數(shù)據(jù)的反轉(zhuǎn),則在下一步驟152中判定為經(jīng)由PCI總線39被寫入PCI存儲器39M中的輸出請求數(shù)據(jù)已確定,并進入步驟153。在步驟153中從PCI存儲器39M中讀出輸出請求,在下一步驟154中把該輸出請求設(shè)置到FGPA并結(jié)束該例程。通過以上的處理,可以防止PCI數(shù)據(jù)的破壞。
(2-2)PCI通信負荷的減輕方法在圖26所示的實施例中,如果從芯板40發(fā)送到母板30的輸入信息的數(shù)據(jù)量多,則流過PCI總線39的數(shù)據(jù)量多,PCI通信的負荷增大,通信時間增長。因而,在本實施例中如圖36所示,不直接發(fā)送從芯板40送到母板30的輸入信息,而只抽出值變化了的輸入信息在PCI總線39中作為PCI數(shù)據(jù)設(shè)置,因而降低PCI總線39的通信數(shù)據(jù)量并降低PCI通信負荷。另外,反之,在從母板30向芯板40送出的輸出請求中,也是不直接發(fā)送對輸入信息的輸出請求,如果只抽出值變化了的輸出請求在PCI總線39中作為PCI數(shù)據(jù)設(shè)置,就可以進一步減輕PCI總線39的通信數(shù)據(jù)量可以減輕PCI通信負荷。
進而,這種情況下,在母板30和芯板40上,具有作為輸入信息或者輸出請求發(fā)送的I/O信息的全規(guī)格(フルスペツク)的I/O信息的表,把抽出后發(fā)送的I/O的信息,在母板30和芯板40一側(cè)進行全規(guī)格的I/O信息復(fù)原,只降低PCI總線39的通信數(shù)據(jù)量。用圖37說明它。
圖37是展示從母板30向芯板40一側(cè)的PCI通信處理的圖。在母板30一側(cè)和芯板40一側(cè),具備全規(guī)格的I/O信息的表(記載有I/O操作的全部信息)。而后,在被存儲在I/O信息的表中的數(shù)據(jù)中,ID號碼被附加在每個數(shù)據(jù)上。在此,為了使說明簡單,說明附加在I/O信息上的ID號碼是ID=1~8的情況。
例如,在母板一側(cè)的I/O信息中,考慮只在ID=3和ID=6的數(shù)據(jù)中有變化,在其他的數(shù)據(jù)中沒有變化的情況。這種情況下,從I/O信息中只抽出ID=3和ID=6的數(shù)據(jù)(壓縮處理),它們作為PCI數(shù)據(jù)被輸出到PCI總線39。這時,作為頭部(ヘツダ),數(shù)據(jù)個數(shù)是2個,數(shù)據(jù)ID號碼是3、6的信息也經(jīng)由PCI總線39被發(fā)送到芯板40。
在芯板40一側(cè),通過解讀頭部,進行把通過PCI總線39從母板30發(fā)送來的數(shù)據(jù),存儲在全規(guī)格的I/O信息的表的規(guī)定位置上的處理(解壓縮處理)。通過這樣的處理,以最小的數(shù)據(jù)個數(shù)的發(fā)送,可以減輕PCI總線39的通信負荷。
(3)板間通信同步方法以下,說明通過利用從芯板40向母板30的中斷信號,以及從母板30向芯板40的同步信號線,可以極力抑制時間損失(タイムロス)的板間的通信同步方法。
(3-1)母板-芯板之間的同步處理方法圖38A、38B是展示芯板40一側(cè)的處理的主例程,以及,母板30一側(cè)的根據(jù)來自芯板40的中斷請求的處理(I/O操作和運算的混合存在處理)的例程的圖。
在芯板40的主例程中,首先,在步驟1801中把引擎控制應(yīng)用程序的基準(zhǔn)時間作為計時器值Time取得。在以下的步驟1802中,求出前一次的時刻Timeo和此次的時刻time的時間間隔,判定該時間間隔是否比1ms大。在時間間隔為1ms或以下的情況下進入步驟1805,而在時間間隔超過1ms的情況下在步驟1803中設(shè)置時間同步中斷標(biāo)志,把在前次時刻timeo上加上1ms的時刻作為新的前次時刻timeo進入步驟1805。該處理,是用于使前次時刻timeo不產(chǎn)生累計誤差的處理。
在步驟1805中,判定前次的時刻Timeo和這次的時刻Time的時間間隔是否不足0.9ms,在時間間隔為0.9ms或以上的情況下返回步驟1801,當(dāng)時間間隔不足0.9ms時進入步驟1806。該處理,就是用于確保時間同步定時的處理,時間同步定時發(fā)生前的0.1ms禁止母板30和芯板40之間的通信。在該禁止期間產(chǎn)生的其他的中斷主要原因,以此后產(chǎn)生的時間同步定時一致地被發(fā)送到母板一側(cè)。
在步驟1806中把輸入信息設(shè)置到PCI總線39,在設(shè)置后無條件地清除中斷標(biāo)志信息和鎖存數(shù)據(jù)。該處理,是為了在實現(xiàn)信號交換(ハンドシエ一ク)的通信時,不出現(xiàn)數(shù)據(jù)取丟。在以下的步驟1807中判定中斷標(biāo)志的值是否全部是0(在有中斷標(biāo)志時標(biāo)志值是1)。而后,在中斷標(biāo)志的值全部是0的情況下(中斷標(biāo)志不存在的情況下),因為母板30一側(cè)的處理也未發(fā)生,所以不需要母板30和芯板40之間的通信,返回步驟1801。另一方面,在步驟1807中當(dāng)判定為中斷標(biāo)志是1時進入步驟1808。在步驟1808中進行對母板30的中斷請求。
在步驟1808中在對母板30進行中斷請求后,在步驟1809中判定是否有來自母板30的輸出請求。在沒有輸出請求的情況下,等待直至有來自母板30的輸出請求,在得到輸出請求時進入步驟1810。在步驟1810中檢查經(jīng)由PCI總線39輸入到PCI存儲器39M的數(shù)據(jù)的確定。該確定處理因為在母板30一側(cè)設(shè)定PCI數(shù)據(jù)后,到數(shù)據(jù)確定前有延遲時間,所以是必要的。在以下的步驟1811中在FPGA中設(shè)置輸出信息后返回步驟1801,重復(fù)該例程。
另一方面,在母板30一側(cè),如果有來自芯板40一側(cè)的中斷請求,則開始I/O操作和運算處理的混合處理,在步驟1812中進行從PCI總線39輸入的輸入信息的接收處理。而后,在以下步驟1813中在虛擬寄存器38中設(shè)置輸入信息,在步驟1814中根據(jù)中斷標(biāo)志信息起動應(yīng)用程序。在步驟1815中進行ENG控制應(yīng)用程序31的處理,如果處理結(jié)束則在步驟1816中清除中斷標(biāo)志,在以下的步驟1817中從虛擬寄存器38中抽出輸出請求,在步驟1818中進行PCI發(fā)送處理。而后,在步驟1819中向芯板40一側(cè)發(fā)行輸出請求,結(jié)束該例程。
在以上的處理中,時間同步定時,在芯板30中生成,加在中斷標(biāo)志信息中。另外,在以相同采樣定時設(shè)立多個標(biāo)志的情況下,根據(jù)各優(yōu)先度,在母板30中調(diào)停。進而,在圖38中,在母板30中的只是運算的處理例程的描述,因為與芯板40一側(cè)的狀態(tài)沒有關(guān)系所以省略。
圖39是在采樣區(qū)間發(fā)生任何中斷事件的情況下的,圖38所示的處理的時間圖。在采樣區(qū)間發(fā)生的中斷事件(捕獲中斷、比較一致中斷、接收中斷等),被反映在下一采樣區(qū)間的處理中。另外,中斷事件信息,被反映在中斷標(biāo)志中,作為輸入信息從芯板40被發(fā)送到母板30。在母板30中,以中斷標(biāo)志信息為源起動附帶于各事件的處理。進而,采樣周期,根據(jù)在該區(qū)間中的I/O信息量、母板30的處理量進行變動。
圖40,是中斷事件被打斷的情況下的,圖38所示的處理的時間圖。中斷事件,在采樣區(qū)間中并不是必須發(fā)生,有發(fā)生間隔拉開的情況。如果沒有中斷事件,則因為不進行母板30的應(yīng)用程序處理,所以也不需要進行I/O信息的通信。另外,為了減輕通信負荷在沒有事件發(fā)生的情況下,不進行處理。
圖41是時間同步事件發(fā)生時的圖38所示的處理的時間圖。一旦開始通信,因為約100μs不能進行下一處理,所以當(dāng)在此期間發(fā)生了時間同步事件時,時間同步的定時有可能偏移。因而,為了遵守時間同步事件的定時,把時間同步的中斷事件發(fā)生的100μs前的區(qū)間,作為通信開始禁止區(qū)間。在此期間發(fā)生的中斷事件,被反映在其后的時間同步事件信息發(fā)送時。
(3-2)由多個芯板進行的處理分散方法圖42是展示在本發(fā)明的微型計算機的邏輯開發(fā)裝置20中的母板30和芯板40間的同步處理中,使用多個芯板40進行同步處理時的數(shù)據(jù)流的圖。通過使用多個芯板40,在可以提高I/O數(shù)據(jù)的擴沖性的同時,可以實現(xiàn)處理時間的縮短。另外,在多個芯板40的各自中,通過并行處理I/O操作,可以進行處理負荷的分散。在本實施例中N塊芯板40-1~40-N并列地經(jīng)由PCI總線39與母板30連接。另外,在本實施例中,在被輸入到第N塊芯板40-N的PCI數(shù)據(jù)中,包含用于確認母板30的處理結(jié)束的數(shù)據(jù)。
(3-3)由多個芯板進行的PCI通信方法圖43是說明在本發(fā)明的微型計算機的邏輯開發(fā)裝置20中的母板30和芯板40間的同步處理中,使用了多個芯板40的情況下的PCI通信方法的圖。
在使用了在圖26中的說明的1塊芯板40的PCI通信方法中,在母板30中的應(yīng)用程序處理結(jié)束后使輸出請求確定,把它經(jīng)由PCI總線39寫入1塊芯板40進行I/O操作。與此相反,在使用了圖43的N塊芯板40-1~40-N的PCI通信方法中,在母板30中的應(yīng)用程序處理結(jié)束后,把輸出請求分為從第1至第N芯板40-1~40-N使其確定,把它經(jīng)由PCI總線39寫入N塊芯板40進行I/O操作。母板30一側(cè)的處理結(jié)束,根據(jù)對第N塊芯板40-N的輸出請求的確定判定為對全部芯板的輸出請求已確定。
在根據(jù)對第N塊芯板40-N的輸出請求的確定,確認母板30一側(cè)的處理結(jié)束后,發(fā)行芯板中的處理開始信號,由多個芯板40-1~40-N,進行I/O操作的并行處理。在I/O操作結(jié)束時刻從各芯板發(fā)行處理結(jié)束信號。而后,硬件地取從第1塊芯板40-1的處理結(jié)束信號到第N塊芯板40-N的處理結(jié)束信號的邏輯積(AND),如果確認全部芯板的處理結(jié)束,則對母板30發(fā)行中斷信號。
(3-4)多個芯板的同步方法圖44是展示本發(fā)明的微型計算機的邏輯開發(fā)裝置20中的母板30和芯板40之間的同步處理中的,同步信號控制的定時圖。在本實施例中,使用了第1至第3這3塊芯板。
如果從第1至第3芯板的輸出處理結(jié)束,則在各自處理結(jié)束時刻各板的處理結(jié)束信號變?yōu)橛行?アクテイブ,高電平)。而后,如果全部芯板的處理結(jié)束信號變?yōu)橛行?,則全部處理結(jié)束信號變?yōu)橛行?。在全部處理結(jié)束信號變?yōu)橛行У臅r刻,各芯板轉(zhuǎn)移到下一處理(輸入處理)。如果各芯板的輸入處理被開始,則從第1至第3芯板的處理結(jié)束信號,以及全部處理結(jié)束信號被復(fù)位變?yōu)榈碗娖健?br>
另一方面,如果第1至第3芯板的輸入處理結(jié)束,則同樣在各個處理結(jié)束時刻各板的處理結(jié)束信號變?yōu)橛行?高電平)。而后,如果全部的芯板的處理結(jié)束信號變?yōu)橛行?,則全部處理結(jié)束信號變?yōu)橛行АT谌刻幚斫Y(jié)束信號變?yōu)橛行У臅r刻,確認各芯板是否有中斷事件匯集信號。而后,當(dāng)沒有中斷事件時,再次開始輸入處理,重復(fù)該動作。如果各芯板的輸入處理被開始,則同樣第1至第3芯板的處理結(jié)束信號以及全部處理結(jié)束信號被復(fù)位變?yōu)榈碗娖健?br>
另外,當(dāng)在第1至第3芯板的任何中有中斷請求的情況下,在此時刻中斷事件匯集信號(各板信號的邏輯和(OR))變?yōu)橛行А6?,在全部的芯板的處理結(jié)束信號變?yōu)橛行У臅r刻,各芯板確認中斷事件匯集信號是否是有效。中斷事件匯集信號為有效時,是有中斷事件的情況,向母板30發(fā)行中斷請求。
(4)由應(yīng)用程序處理單位的分割進行的I/O處理周期的縮短方法(4-1)由應(yīng)用程序處理分割進行的處理周期的縮短方法在應(yīng)用程序處理單位大的情況下,通過分割圖45A所示的應(yīng)用程序處理單位可以縮短處理周期。這時,只分割應(yīng)用程序處理單位,I/O操作中的處理時間未被縮短,但是如果如圖45B所示把應(yīng)用程序處理分為高優(yōu)先度的應(yīng)用程序處理和低優(yōu)先度的應(yīng)用程序處理,則因為可以在早的時刻在芯板40中執(zhí)行優(yōu)先度高的I/O操作,所以可以在早的時刻執(zhí)行與實際的處理有關(guān)的重要的I/O操作。其結(jié)果,可以把處理周期抑制得短,至反映I/O信息的時間縮短,提高應(yīng)答性。
(4-2)應(yīng)用程序處理分割的中斷控制方法在引擎控制ECU1中,I/O操作和運算處理混合存在的部件如上所述被分為時間同步處理和非時間系處理2個。進而,在非時間系處理中規(guī)模大的處理,是引擎轉(zhuǎn)動信號的曲柄(クランク)同步處理。因而,處理規(guī)模大的時間同步處理和曲柄同步處理,分割為多個優(yōu)先度進行處理。
這種情況下的處理分割對象的中斷事件的中斷標(biāo)志結(jié)構(gòu),關(guān)于進行處理分割的時間同步處理和曲柄同步處理,對于1個中斷事件,準(zhǔn)備多個中斷標(biāo)志。例如,把時間同步中斷標(biāo)志設(shè)置成2位結(jié)構(gòu),在由高優(yōu)先度用標(biāo)志和低優(yōu)先度用標(biāo)志這2個標(biāo)志構(gòu)成的同時,對于曲柄同步中斷標(biāo)志也是2位結(jié)構(gòu),由高優(yōu)先度用標(biāo)志和低優(yōu)先度用標(biāo)志這2個標(biāo)志構(gòu)成。
使用記載有與通過分割圖45B記載的應(yīng)用程序處理單位得到的處理周期同樣的處理周期的圖46說明這個例子。
在圖46中,如果在芯板40的輸入信息確定時,發(fā)生了時間同步事件,則在芯板40的內(nèi)部設(shè)立標(biāo)志“1”、“1”。該標(biāo)志作為事件同步中斷標(biāo)志“1”、“1”,經(jīng)由PCI總線39,如虛線S1所示,作為輸入信息送到母板30中。發(fā)送到母板30后,芯板40的內(nèi)部數(shù)據(jù),從高優(yōu)先度一側(cè)被清除1個,PCI數(shù)據(jù)是“1”、“1”,芯板內(nèi)部標(biāo)志從“1”、“1”變化為“0”、“1”。
在母板30一側(cè),根據(jù)經(jīng)由PCI總線30取得的輸入信息,如“IN”所示,從高優(yōu)先度一側(cè)起動中斷處理(應(yīng)用程序處理),清除已起動的標(biāo)志。母板30的內(nèi)部數(shù)據(jù),從高優(yōu)先度一側(cè)被清除1個,PCI數(shù)據(jù)是“1”、“1”,母板的內(nèi)部標(biāo)志從“1”、“1”變化為“0”、“1”。此后的處理周期的動作和圖45B中的處理周期的動作完全相同。
在以下的芯板40的輸入信息確定時,如用虛線S2表示那樣在把輸入信息發(fā)送到母板30后,芯板40的內(nèi)部數(shù)據(jù),從高優(yōu)先度一側(cè)被清除1個,PCI數(shù)據(jù)是“0”、“1”,芯板的內(nèi)部標(biāo)志從“0”、“1”變化為“0”、“0”。如果時間同步中斷請求這樣結(jié)束,則在至下次的事件發(fā)生前,時間同步中斷請求不發(fā)生。
在母板30一側(cè),如虛線S2所示,根據(jù)經(jīng)由PCI總線30取得的輸入信息,如“IN”所示,從高優(yōu)先度一側(cè)起動中斷處理,清除已起動的標(biāo)志。母板30內(nèi)部的內(nèi)部數(shù)據(jù),從高優(yōu)先度一側(cè)被清除1個,PCI數(shù)據(jù)是“0”、“1”,母板的內(nèi)部標(biāo)志從“0”、“1”變化為“0”、“0”。
這樣,即使高優(yōu)先度中斷標(biāo)志被清除1位,因為低優(yōu)先度標(biāo)志是設(shè)立的狀態(tài),所以在下一次處理定時從芯板40向母板30發(fā)生中斷請求。此后,如果實施時間同步的低優(yōu)先度處理,則低優(yōu)先度標(biāo)志被清除。其結(jié)果,時間同步中斷標(biāo)志被全部清除,在下次處理定時不發(fā)生時間同步的中斷請求。
以下,用圖47A、48B的流程圖展示把時間同步中斷分割成高優(yōu)先度處理(高)和低優(yōu)先度處理(低),把曲柄同步中斷分割為高優(yōu)先度處理(高)和低優(yōu)先度處理(低),進而,對于某一中斷處理A設(shè)置在不進行處理分割的處理分割對象外,把這些處理的優(yōu)先度設(shè)置成“時間同步中斷(高)”>“曲柄同步中斷(高)”>“曲柄同步中斷(低)”>“時間同步中斷(低)”時的母板30內(nèi)的I/O驅(qū)動器30D的中斷控制處理的順序的一例。
在步驟2701中,把處理分割對象處理實施完標(biāo)志XINH,設(shè)置為表示未實施處理分割對象處理的OFF。在以下的步驟2702中,判定是否有時間同步中斷(高)標(biāo)志,在有該標(biāo)志的情況下進行從步驟2703至2705的處理。在步驟2703中清除時間同步中斷(高)標(biāo)志,在步驟2704中把處理分割對象處理實施完標(biāo)志XINH,設(shè)置為表示實施了處理分割對象處理的ON。而后,在步驟2705中起動時間同步中斷(高)例程進入步驟2706。另一方面,在步驟2702中當(dāng)判定為沒有時間同步中斷(高)標(biāo)志時,不進行步驟2703~2705的處理進入步驟2706。
在步驟2706中判定是否有曲柄同步中斷(高)標(biāo)志,在有該標(biāo)志的情況下進入步驟2708判定處理分割對象處理實施完標(biāo)志XINH是否是OFF。處理分割對象處理實施完標(biāo)志XINH,在時間同步中斷(高)例程被起動時,因為在步驟2704中被設(shè)置為ON,所以不進行步驟2709~2771的處理而進入步驟2712。另外,當(dāng)在步驟2706中判定為沒有曲柄同步中斷(高)標(biāo)志時也進入步驟2712。
在步驟2712中,判定是否有中斷處理A的標(biāo)志,在沒有標(biāo)志的情況下進入步驟2715,而在有標(biāo)志的情況下進入步驟2713。在步驟2713中清除中斷處理A的標(biāo)志,在步驟2714中起動中斷處理A的例程進入步驟2715。如上所述,因為中斷處理A是處理分割對象外,所以即使時間同步中斷(高)例程已被起動也起動。
在步驟2715中判定是否有曲柄同步中斷(低)標(biāo)志,但即使有該標(biāo)志因為在步驟2716的判定中判定為處理分割對象處理實施完標(biāo)志XINH是ON,所以進入步驟2720,不進行步驟2717~2719的處理。另外,當(dāng)在步驟2715中判斷為沒有曲柄同步中斷(低)標(biāo)志時也進入步驟2720。
在步驟2720中判定是否有時間同步中斷(低)標(biāo)志,但即使在有該標(biāo)志的情況下因為在步驟2721的判定中判定為處理分割對象處理實施完標(biāo)志XINH是ON,所以不進行步驟2722和步驟2723的處理,結(jié)束該例程。另外,在步驟2720中當(dāng)判定為沒有時間同步中斷(低)標(biāo)志的情況下也結(jié)束該例程。
這樣,曲柄同步中斷(高)處理、曲柄同步中斷(低)處理,以及時間同步中斷(低)處理,在比其優(yōu)先度高的處理被起動時不被執(zhí)行。
曲柄同步中斷(高)處理起動,是在步驟2701中處理分割對象處理實施完標(biāo)志XINH被設(shè)置為OFF后,在步驟2702中時間同步中斷(高)標(biāo)志沒有的情況下(從來沒有的情況下,或者在步驟2704中清除標(biāo)志的情況下)。此時從步驟2706進入步驟2708,因為步驟2708的判定變?yōu)槭?,所以進行步驟2709~步驟2711的處理。在步驟2709中清除曲柄同步中斷(高)標(biāo)志,在步驟2710中把處理分割對象處理實施完標(biāo)志XINH設(shè)置為ON,而后,在步驟2711中起動曲柄同步中斷(高)例程進入步驟2712。這樣,在起動曲柄同步中斷(高)例程后,到再次進行步驟2701,不進行曲柄同步中斷(低)處理和時間同步中斷(低)處理。
曲柄同步中斷(低)處理起動,是在步驟2701中把處理分割對象處理實施完標(biāo)志XINH設(shè)置為OFF后在步驟2702中沒有時間同步中斷(高)標(biāo)志,在步驟2706中沒有曲柄同步中斷(高)標(biāo)志的情況下。這時從步驟2715進入步驟2716,因為步驟2716的判定為是,所以進行步驟2717~步驟2719的處理。在步驟2717中清除曲柄同步中斷(低)標(biāo)志,在步驟2718中把處理分割對象處理實施完標(biāo)志XINH設(shè)置為ON,而后,在步驟2719中起動曲柄同步中斷(低)例程進入步驟2720。這樣,在起動曲柄同步中斷(低)例程后,到再次進行步驟2701,不進行時間同步中斷(低)處理。
時間同步中斷(低)處理起動,是在步驟2701中把處理分割對象處理實施完標(biāo)志XINH設(shè)置為OFF后在步驟2702中沒有時間同步中斷(高)標(biāo)志,在步驟2706中沒有曲柄同步中斷(高)標(biāo)志,在步驟2715中沒有曲柄同步中斷(低)標(biāo)志的情況下。這時從步驟2720進入步驟2721,因為步驟2721的判定為是,所以進行步驟2722和步驟2723的處理。在步驟2722中清除時間同步中斷(低)標(biāo)志,在步驟2723中起動時間同步中斷(低)例程,結(jié)束該例程。
進而,在以上說明的實施例中,作為使用本發(fā)明的微型計算機的邏輯開發(fā)裝置開發(fā)的電子控制機器,說明了電子控制式引擎,但本發(fā)明,也可以有效地適用在其他的電子控制機器用的嵌入用微型計算機的開發(fā)中。進而,本發(fā)明的微型計算機的邏輯開發(fā)裝置,除了下一代微型計算機開發(fā)外,還可以有效地適用在新的微型計算機的開發(fā)中。進而,本發(fā)明的微型計算機的邏輯開發(fā)裝置,通過根據(jù)用途增減存儲在母板的存儲器中的程序的變更、安裝在芯板中的模擬微型計算機外圍,對于不同的微型計算機的開發(fā),可以反復(fù)使用。
如果采用本發(fā)明所示的,微型計算機的邏輯開發(fā)裝置,則可以消除伴隨邏輯開發(fā)的問題,對于CPU功能可以確保為了處理新的邏輯、下一代邏輯所需要的處理性能,對于微型計算機外圍資源,可以確保與下一代系統(tǒng)配合的資源??梢栽诙虝r間開發(fā)可以實現(xiàn)新的邏輯、下一代邏輯的嵌入用微型計算機。另外,本發(fā)明的微型計算機的邏輯開發(fā)裝置,因為在微型計算機開發(fā)時可以重復(fù)使用,所以可以減少開發(fā)成本。
進而,如果采用本發(fā)明所示的微型計算機的邏輯開發(fā)裝置,則可以消除伴隨邏輯開發(fā)的問題,在可以實現(xiàn)母板和芯板之間的I/O信息的可靠通信的同時,可以提高I/O信息通信的速率,以及,可以實現(xiàn)母板和芯板的運算處理能力的提高,可以提供能夠與更高性能的引擎控制系統(tǒng)適應(yīng)的微型計算機的邏輯開發(fā)裝置。另外,本發(fā)明的微型計算機的邏輯開發(fā)裝置,因為在微型計算機的開發(fā)時可以反復(fù)利用,所以可以降低開發(fā)成本。
權(quán)利要求
1.一種微型計算機的邏輯開發(fā)裝置,是開發(fā)被嵌入在電子控制單元中使用的嵌入用微型計算機的邏輯的裝置,其特征在于,具備至少具備進行上述邏輯處理的第1中央處理裝置、存儲包含上述邏輯的程序的數(shù)據(jù)的第1存儲器、與外部進行通信的第1接口、以及連接它們的第1內(nèi)部總線的中央部件;至少具備用軟件模擬地實現(xiàn)微型計算機的外圍裝置的模擬微型計算機外圍裝置、與外部進行通信的第2接口、以及連接它們的第2內(nèi)部總線的外圍部件;以及連接上述中央部件和外圍部件的接口總線;其中,由這些中央部件和外圍部件以及接口總線,置換上述嵌入用微型計算機使上述邏輯工作。
2.根據(jù)權(quán)利要求1所述的微型計算機用邏輯開發(fā)裝置,其特征在于,在上述外圍部件上設(shè)置有比上述第1中央處理裝置處理能力還低、并且用于進行通過上述接口總線的通信的第2中央處理裝置,和至少存儲在上述通信中使用的數(shù)據(jù)的第2存儲器。
3.根據(jù)權(quán)利要求1或者2所述的微型計算機的邏輯開發(fā)裝置,其特征在于,進一步具備安裝有輸入輸出電路的接口電路部件,在該借口電路部件與上述外圍部件連接的狀態(tài)下,可以置換上述電子控制單元使用。
4.根據(jù)權(quán)利要求1至3的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述中央部件上,設(shè)置有第1計時器。
5.根據(jù)權(quán)利要求1至4的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述第2存儲器,由與上述接口總線(39)連接的共用存儲器和與上述第2內(nèi)部總線連接的內(nèi)部存儲器構(gòu)成。
6.根據(jù)權(quán)利要求1至5的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述外圍部件中,可以追加地構(gòu)成上述模擬微型計算機外圍裝置。
7.根據(jù)權(quán)利要求1至6的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述外圍部件上,進一步設(shè)置有進行時間管理的第2計時器。
8.根據(jù)權(quán)利要求1所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述第1存儲器中,具備由在每一規(guī)定時間執(zhí)行的時間系處理應(yīng)用程序和在規(guī)定的事件每次發(fā)生時與時間無關(guān)地執(zhí)行的非時間系處理應(yīng)用程序構(gòu)成的控制用應(yīng)用程序;在上述第1中央處理裝置中,具備至少進行時間系中斷處理和非時間系中斷處理的虛擬中斷控制功能;在上述第1接口中,具備通過上述接口總線至少發(fā)送接收數(shù)據(jù)以及中斷事件的信息的通信軟件;上述第2中央處理裝置,使用上述第2存儲器和上述第2接口,通過上述第1接口和上述接口總線進行與中斷事件和數(shù)據(jù)的接收發(fā)送有關(guān)的通信;在上述模擬微型計算機外圍裝置中,具備輸入功能和輸出功能。
9.根據(jù)權(quán)利要求8所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述輸入功能,是輸入端口、鎖存端口、A/D轉(zhuǎn)換以及捕獲,上述輸出功能,是輸出端口、脈沖輸出、比較、串行。
10.根據(jù)權(quán)利要求8所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述第2存儲器中,設(shè)置有與上述接口總線連接的共用存儲器,上述模擬微型計算機外圍裝置,通過該共用存儲器和上述接口總線,在上述第1存儲器的時間系處理應(yīng)用程序和非時間系處理應(yīng)用程序之間進行數(shù)據(jù)的發(fā)送接收。
11.根據(jù)權(quán)利要求10所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述共用存儲器中設(shè)置有通信同步計數(shù)器,通過該通信同步計數(shù)器,取得上述模擬微型計算機外圍裝置和上述非時間系處理應(yīng)用程序之間的數(shù)據(jù)發(fā)送接收的同步。
12.根據(jù)權(quán)利要求10或者11所述的微型計算機的邏輯開發(fā)裝置,其特征在于,把上述模擬微型計算機外圍裝置的處理起動定時設(shè)置為任意而不是以規(guī)定的采樣周期固定;以在上述中央部件中的上述非時間系處理應(yīng)用程序的處理結(jié)束設(shè)為上述模擬微型計算機外圍裝置的下一處理起動定時。
13.根據(jù)權(quán)利要求12所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在從上述模擬微型計算機外圍裝置的處理起動定時開始到在上述中央部件中的上述非時間系處理應(yīng)用程序的處理結(jié)束的時間超過預(yù)先規(guī)定的判定時間的情況下,強制地進行上述模擬微型計算機外圍裝置的處理的起動。
14.根據(jù)權(quán)利要求12或者13所述的微型計算機的邏輯開發(fā)裝置,其特征在于,把在上述模擬微型計算機外圍裝置中產(chǎn)生的中斷事件通過上述接口總線傳遞到上述中央部件,使上述非時間系處理應(yīng)用程序的處理進行,以把上述非時間系處理應(yīng)用程序的處理的結(jié)束設(shè)為上述模擬微型計算機外圍裝置的下一處理起動定時。
15.根據(jù)權(quán)利要求12至14的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述非時間系處理應(yīng)用程序一側(cè),在上述模擬微型計算機外圍裝置中產(chǎn)生的中斷事件上設(shè)定優(yōu)先順序,按照上述優(yōu)先順序上述非時間系處理應(yīng)用程序處理通過上述接口總線傳遞到上述第1部件上的上述中斷事件。
16.根據(jù)權(quán)利要求12至15的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,當(dāng)在上述模擬微型計算機外圍裝置中沒有產(chǎn)生任何中斷事件時,省略通過上述接口總線的對上述中央部件的信息傳遞。
17.根據(jù)權(quán)利要求12至16的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述非時間系處理中,在計時器值取得請求時,用來自在上述中央部件內(nèi)的第1計時器的計時器值補正由上述接口總線取得的計時器值。
18.根據(jù)權(quán)利要求9所述的微型計算機的邏輯開發(fā)裝置,其特征在于,根據(jù)來自上述外圍部件的中斷請求,當(dāng)在上述控制應(yīng)用程序中把使用了在上述輸出功能中的比較功能的脈沖輸出請求輸出到外圍部件時,從上述控制應(yīng)用程序中,輸出選擇被設(shè)置在上述比較功能的輸出端子上的一般輸出端口功能進行即時輸出的立即輸出,和選擇被設(shè)置在上述比較功能的輸出端子上的比較輸出功能,設(shè)定輸出時刻、輸出電平進行輸出預(yù)約的定時的輸出的至少一方。
19.根據(jù)權(quán)利要求18所述的微型計算機的邏輯開發(fā)裝置,其特征在于,對于來自上述控制應(yīng)用程序的上述立即輸出或者定時的輸出,即使對于在這些輸出中任何的組合,在上述外圍部件中的上述模擬微型計算機裝置也可以對應(yīng)。
20.根據(jù)權(quán)利要求19所述的微型計算機的邏輯開發(fā)裝置,其特征在于,補正來自上述控制應(yīng)用程序的上述立即輸出或者定時的輸出,在通過上述接口總線傳遞到上述外圍部件時的,經(jīng)由上述接口總線產(chǎn)生的,從上述輸出請求開始到實際的輸出的延遲時間。
21.根據(jù)權(quán)利要求20所述的微型計算機的邏輯開發(fā)裝置,其特征在于,根據(jù)信號的種類判定是需要從上述輸出請求到實際輸出的延遲時間的補正,還是不需要,只在需要補正的種類信號的情況下,執(zhí)行上述補正。
22.根據(jù)權(quán)利要求1至21的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述第1至第3部件分別由通用的端口構(gòu)成。
23.根據(jù)權(quán)利要求1至22的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述微型計算機,是內(nèi)燃機控制用的微型計算機。
24.一種微型計算機的邏輯開發(fā)裝置,是由具備高速運算功能、存儲器以及通信功能的中央部件,具備用軟件模擬地實現(xiàn)微型計算機的外圍裝置的模擬微型計算機外圍裝置、運算功能以及通信功能、用PCI總線與上述中央部件連接的外圍部件,具備相當(dāng)于電子控制單元的硬件的電路、與上述外圍部件連接的接口電路部件構(gòu)成的,開發(fā)被嵌入到電子控制單元中使用的嵌入用微型計算機的邏輯的裝置,其特征在于在用上述中央部件實施的、運算處理和與上述存儲器的輸入輸出操作混合存在的應(yīng)用程序處理中,在處理單位分割前后只匯集在上述輸入輸出操作中的輸入輸出信息,一并通過上述PCI總線進行和上述外圍部件的通信處理。
25.根據(jù)權(quán)利要求24所述的微型計算機用邏輯開發(fā)裝置,其特征在于,在上述中央部件上,設(shè)置進行運算處理和與上述存儲器的輸入輸出操作混合存在的應(yīng)用程序處理的第1部件,和進行只是運算處理的應(yīng)用程序處理的第2部件。
26.根據(jù)權(quán)利要求25所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述中央部件,先于上述第2部件的應(yīng)用程序處理,進行上述第1部件的上述應(yīng)用程序處理。
27.根據(jù)權(quán)利要求25或者26所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述中央部件,一邊和上述外圍部件取得同步,一邊發(fā)送接收在上述第1部件的應(yīng)用程序處理中的上述輸入輸出操作的信息。
28.根據(jù)權(quán)利要求25至27的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,把上述第1部件中的處理,分為不依賴于外部狀態(tài)并且在處理中包含上述輸入輸出操作的時間同步處理,和通過外部狀態(tài)檢測事件信息進行與該事件同步的處理的非時間系同步處理的2個。
29.根據(jù)權(quán)利要求28所述的微型計算機的邏輯開發(fā)裝置,其特征在于,使上述事件信息包含在從上述外圍部件輸入到上述中央部件的中斷信號中的中斷標(biāo)志信息中,上述第1部件,在把該中斷信號作為觸發(fā)器起動上述輸入操作和運算處理時,根據(jù)上述中斷標(biāo)志信息進行各中斷處理。
30.根據(jù)權(quán)利要求25至29的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述第2部件,和上述外圍部件的動作無關(guān)地以規(guī)定時間間隔進行運算處理。
31.根據(jù)權(quán)利要求26所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述中央部件,在上述外圍部件中的輸入輸出操作處理的執(zhí)行中的、輸入輸出處理結(jié)束等待狀態(tài)期間,執(zhí)行上述第2部件的應(yīng)用程序處理。
32.根據(jù)權(quán)利要求25所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述第1部件,根據(jù)來自上述外圍部件的中斷信號起動,上述第2部件由上述中央部件的內(nèi)部系統(tǒng)起動。
33.根據(jù)權(quán)利要求25所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述中央部件,在上述第2部件的應(yīng)用程序處理中的某處理結(jié)束時,計數(shù)從前次的上述第1部件的上述應(yīng)用程序處理的結(jié)束開始的處理時間,在該處理時間超過規(guī)定時間的情況下,禁止上述某處理結(jié)果的數(shù)據(jù)交接處理。
34.根據(jù)權(quán)利要求24至33的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述外圍部件上,設(shè)置有在存儲給上述中央部件的輸入信息的同時、存儲來自上述中央部件的輸出信息的PCI存儲器,將該PCI存儲器的上述輸入信息的存儲區(qū)域和上述輸出信息的存儲區(qū)域分開。
35.根據(jù)權(quán)利要求34所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述外圍部件,在來自上述中央部件的輸出信息被完全寫入上述PCI存儲器后,從上述PCI存儲器進行信息的讀出。
36.根據(jù)權(quán)利要求24至36的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述中央部件以及上述外圍部件,在使用上述PCI總線的通信時,只抽出數(shù)據(jù)值變化了的部分進行發(fā)送。
37.根據(jù)權(quán)利要求28或者29所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在上述中央部件和上述外圍部件之間,除了上述PCI總線外,設(shè)置有從上述外圍部件向上述中央部件發(fā)送中斷信號的中斷信號線和從上述中央部件向上述外圍部件發(fā)送同步信號的同步信號線。
38.根據(jù)權(quán)利要求37所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述外圍部件,通過上述中斷信號線發(fā)送上述中斷標(biāo)志信息,在該中斷標(biāo)志信息中加上由上述外圍部件生成的時間同步定時信號,當(dāng)在相同采樣定時中檢測出多個上述標(biāo)志時,根據(jù)各標(biāo)志的優(yōu)先度,上述中央部件進行中斷處理的調(diào)停。
39.根據(jù)權(quán)利要求38所述的微型計算機的邏輯開發(fā)裝置,其特征在于,在把上述中斷標(biāo)志信息發(fā)送到上述中央部件后,上述外圍部件,無條件地清除上述中斷標(biāo)志信息。
40.根據(jù)權(quán)利要求39所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述外圍部件,當(dāng)沒有上述中斷標(biāo)志信息時,停止對上述中央部件的發(fā)送處理。
41.根據(jù)權(quán)利要求24至40的任意一項所述的微型計算機的邏輯開發(fā)裝置,其特征在于,設(shè)置有多個上述外圍部件。
42.根據(jù)權(quán)利要求41所述的微型計算機的邏輯開發(fā)裝置,其特征在于,上述多個外圍部件,分散從上述中央部件輸入的輸入輸出處理進行并行處理。
43.根據(jù)權(quán)利要求42所述的微型計算機的邏輯開發(fā)裝置,其特征在于,通過與各外圍部件的同步信號的發(fā)送接收使上述多個外圍部件進行的并行處理進行。
44.根據(jù)權(quán)利要求25所述的微型計算機的邏輯開發(fā)裝置,其特征在于,當(dāng)在上述第1部件中的應(yīng)用程序處理的處理單位大時,上述第1部件,分割該處理單位進行處理。
45.根據(jù)權(quán)利要求44所述的微型計算機的邏輯開發(fā)裝置,其特征在于,把上述應(yīng)用程序處理的處理單位分割為高優(yōu)先度的處理單位和低優(yōu)先度的處理單位。
46.根據(jù)權(quán)利要求44所述的微型計算機的邏輯開發(fā)裝置,其特征在于,把上述應(yīng)用程序處理的處理單位分割為不依賴于外部狀態(tài)并且在處理中包含上述輸入輸出操作的時間同步處理,和根據(jù)外部狀態(tài)檢測事件信息、進行與該事件同步的處理的非時間系同步處理的2個處理單位。
47.根據(jù)權(quán)利要求46所述的微型計算機的邏輯開發(fā)裝置,其特征在于,把上述時間同步處理和非時間系同步處理,分別進一步分割為高優(yōu)先度的處理單位和低優(yōu)先度的處理單位。
全文摘要
一種可以確保領(lǐng)先邏輯所需要的CPU功能、與領(lǐng)先系統(tǒng)配合的資源數(shù),可以短時間開發(fā)實現(xiàn)I/O信息的可靠的通信和CPU的運算處理能力的提高的嵌入用微型計算機的,開發(fā)嵌入電子控制單元中使用的嵌入用微型計算機領(lǐng)先邏輯的裝置。構(gòu)成包括用第1內(nèi)部總線連接第1CPU、第1存儲器、和外部進行通信的第1接口的母板;用第2內(nèi)部總線連接第2CPU、第2存儲器、用軟件模擬實現(xiàn)微型計算機的外圍裝置的模擬微型計算機外圍裝置、和外部進行通信的第2接口的芯板;連接母板和芯板的PCI總線;其中把該開發(fā)裝置置換為嵌入用微型計算機使領(lǐng)先邏輯工作。
文檔編號G06F15/177GK1529854SQ0280436
公開日2004年9月15日 申請日期2002年11月29日 優(yōu)先權(quán)日2001年11月30日
發(fā)明者樋口崇, 今田昭吾, 柏原俊浩, 口崇, 吾, 浩 申請人:富士通天株式會社