JP2010196619A - 内燃機関の制御装置 - Google Patents
内燃機関の制御装置 Download PDFInfo
- Publication number
- JP2010196619A JP2010196619A JP2009043672A JP2009043672A JP2010196619A JP 2010196619 A JP2010196619 A JP 2010196619A JP 2009043672 A JP2009043672 A JP 2009043672A JP 2009043672 A JP2009043672 A JP 2009043672A JP 2010196619 A JP2010196619 A JP 2010196619A
- Authority
- JP
- Japan
- Prior art keywords
- crank angle
- internal combustion
- combustion engine
- processor
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】マルチプロセッサを搭載した内燃機関の制御装置において、内燃機関の回転数に左右されることなく、各プロセッサに演算処理の負荷を均等に分配でき、しかも、マルチプロセッサ全体での負荷の抑制を図った内燃機関の制御装置を提供する。
【解決手段】マルチプロセッサを搭載した内燃機関の制御装置において、各プロセッサがクランク角に同期して割込みルーチンcaを順番に処理するルーチン処理手段を備えることを特徴とする。
【選択図】図3
【解決手段】マルチプロセッサを搭載した内燃機関の制御装置において、各プロセッサがクランク角に同期して割込みルーチンcaを順番に処理するルーチン処理手段を備えることを特徴とする。
【選択図】図3
Description
本発明は、内燃機関の制御装置に関する。特に、マルチプロセッサを搭載した内燃機関の制御装置に関する。
従来より、自動車のエンジンの制御装置は、クランク角センサ、カム・ポジションセンサ等が検出する検出値を用いた演算結果に基づいて燃料噴射制御、点火制御などを行っている。
また、従来より、自動車のエンジンの制御装置として、マルチプロセッサを搭載したものが知られている(例えば特許文献1〜4を参照)。
ところが、エンジンの制御装置にマルチプロセッサを搭載したものを採用した場合、各プロセッサに演算処理の負荷を均等に分配することが難しいという問題があった。これは、一定のクランク角(例えばクランク角30°,60°,90°,・・・)に同期して実行すべき演算処理(以下「クランク角同期処理」ともいう。)の負荷がエンジン回転数に応じて変動することが1つの要因となっている。
また、演算処理の順序性も負荷を均等に分配することを難しくする要因となっている。
また、エンジンの制御装置にマルチプロセッサを搭載したものを採用した場合、各プロセッサ間における同期制御や排他制御を少なくして、制御装置全体での負荷を軽減することが望ましい。つまり、各プロセッサに均等に負荷を分配することができたとしても、同期制御や排他制御が頻繁に行われれば、エンジン制御以外の演算処理の負担が増加してしまう。
また、エンジンの制御装置にマルチプロセッサを採用するに当たっては、制御プログラムをマルチプロセッサ対応のものに変更する必要があり、その際に、同期・排他制御の設計、リエントラント設計等に多くの工数を費やさなければならない。このため、なるべく実績のある既存のプログラムを利用して上記工数を減らすことが望まれる。
また、エンジン回転数が10000rpmなどの高回転になると、クランク角同期処理を極めて短い時間で処理しなければならず、さもなければ、プロセッサの使用効率が大きく下がってしまう。
一方、プロセッサ間での負荷分散を動的に行うことは、品質保証上、現実的ではない。
上記問題点を解決するために、例えば、マルチプロセッサの中の1つのプロセッサのみに、クランク角同期処理を割り当てることが考えられる。
しかし、この場合は、エンジンの回転変動によって特定のプロセッサの負荷がばらついてしまう。また、エンジンの高回転時にあわせて演算処理の負荷を均等に分配できるようにしても、低回転時に特定のプロセッサが暇になり過ぎてしまう。また、プロセッサの数を増してもクランク角同期処理の負荷は1つのプロセッサが担うこととなり分散できない。
また上記問題点を解決するために、例えば、クランク角同期信号から、あるプロセッサがクランクカウンタを生成した後、オペレーティングシステムのプロセッサ間割込みなどを用いて、他のプロセッサが持っているクランク角同期処理を全て起床させることが考えられる。
しかし、この場合は、プロセッサが増えると同期制御と排他制御のコストが大きくなるという別の問題が増える。また、クランク角同期処理には、順序性や同時性が必要となるため、プロセッサが増えると演算処理の負荷分配が更に困難となる。
本発明は、既述の問題点に鑑みて創案されたものであり、マルチプロセッサを搭載した内燃機関の制御装置において、内燃機関の回転数に左右されることなく、各プロセッサに演算処理の負荷を均等に分配でき、しかも、マルチプロセッサ全体での演算処理の負荷の抑制を図った内燃機関の制御装置を提供することを目的とする。
上述の課題を解決するための手段として、本発明の内燃機関の制御装置は、以下のように構成されている。
すなわち、本発明の内燃機関の制御装置は、マルチプロセッサを搭載した内燃機関の制御装置において、各プロセッサがクランク角に同期して割込みルーチンを順番に処理するルーチン処理手段を備えることを特徴としている。
かかる構成を備える内燃機関の制御装置によれば、内燃機関の回転数に左右されることなく、各プロセッサに演算処理の負荷を均等に分配できる。しかも、クランク角同期処理の分配については、同期制御、排他制御等を必要としないため、その分、マルチプロセッサ全体での演算処理の負荷の増加を抑えることができる。
また、前記ルーチン処理手段は、例えば、一定のクランク角毎に、割込み信号を発生する割込み信号発生手段と、各プロセッサが、前記一定のクランク角、前記割り込み信号発生時のクランク角、および割り当てられたプロセッサ識別情報に基づいて、割り込みルーチンを実行すべきか否かを判定する割り込みルーチン実行可否判定手段と、を有するものとすることができる。
本発明によれば、内燃機関の回転数に左右されることなく、各プロセッサに演算処理の負荷を均等に分配できる。しかも、クランク角同期処理の分配については、同期制御、排他制御等を必要としないため、その分、マルチプロセッサ全体での演算処理の負荷の増加を抑えることもできる。
以下、本発明の実施の形態について図面を参照して説明する。図1は、エンジンの制御装置であるECU(電子制御ユニット)に搭載されているマイクロコントローラ1の構成を示す図である。
マイクロコントローラ1は、割り込み信号発生部2、第1プロセッサ3、第2プロセッサ4、ROM(Read Only Memory)5、RAM(Random Access Memory)6、パルス生成ユニット7等を備えている。割り込み信号発生部2と第1および第2プロセッサ3,4は、システムバス8によって通信可能に接続されており、第1および第2プロセッサ3,4とROM5、RAM6とはメモリバス9を介して通信可能に接続されている。また、割り込み信号発生部2と各プロセッサ3,4の割り込みコントローラ3a,4aとは割り込み信号線11にて接続されている。
ECUは、上記マイクロコントローラ1以外の制御部によって、クランクポジションセンサによって検出される10°毎のクランク回転信号からクランク角30°毎にクランク角同期信号を生成し、これを割り込み信号発生部2に入力する。なお、クランク角同期信号は、プロセッサ3,4にも入力される。
割り込み信号発生部2は、入力されるクランク角同期信号に基づいて、クランク角30°毎に割り込み信号を発生する。発生した割り込み信号は2つのプロセッサ3,4に同時に入力される。
第1および第2プロセッサ3,4は、SMP型(対象型)マルチプロセッサからなる。各プロセッサ3,4には、割り込み信号を検出するための割り込みコントローラ3a,4aがそれぞれ搭載されている。2つのプロセッサ3,4は、複数チップからなるものであってもよいし、シングルチップのマルチコアプロセッサであってもよい。なお、通信コストが低い構成とすることが好ましい。
ROM5およびRAM6は、2つのプロセッサ3,4の共有メモリである。つまり、このマイクロコントローラ1には、UMA(Uniform Memory Access)構成が採用されており、2つのプロセッサ3,4に共通の物理アドレス空間がマッピングされている。但し、2つのプロセッサ3,4が共有するリソースへのアクセスコストが数クロックの誤差内で済むのであれば、NUMA(Non-Uniform Memory Access)構成を採用することも可能である。
パルス生成ユニット7は、プロセッサ3,4の指示に従って、インジェクタの通電信号、イグナイタの通電信号、VVT(可変バルブタイミング機構)用アクチュエータの通電信号等を生成し、出力する。
つぎに、マイクロコントローラ1の処理動作について上記図1および図2に示すフローチャートに基づいて説明する。
割り込み信号発生部2において、クランク角同期信号に基づいて、エンジンのクランク角30°毎に割り込み信号が発生すると、この割り込み信号は第1および第2プロセッサ3,4の割り込みコントローラ3a,4aによって検出される(ST1)。
つぎに、各プロセッサ3,4は、(CA/30)/PENUMの剰余を算出し、算出した剰余が自身の識別番号(本実施形態では第1プロセッサ3に識別番号は「0」が、第2プロセッサ4に識別番号は「1」が付与されている。)に等しいか否かを判定(割込実行可否判定)する(ST2)。なお、CAは、割り込み信号検出時のクランク角であり、PENUMはプロセッサの数量(本実施形態では「2」)である。割り込み信号検出時のクランク角は、クランク角同期信号から取得される。
前記ST2において肯定判定をした場合は、クランク角同期処理(クランク角30°毎に演算が必要な処理)、例えば燃料噴射制御、点火制御等に関する演算処理を実行する(ST3)。
次いで、クランク角同期処理以外の演算処理(以下「クランク角非同期処理」ともいう。)、例えばVVT制御等の演算処理を実行する(ST4)。そして、クランク角同期処理およびクランク角非同期処理が終了した後は、アイドル状態(idle)に遷移する(ST5)。
一方、前記ST2において否定判定をした場合は、ST3、ST4の処理を行わずに、処理手順をST5へ進める。
図3は、エンジン(6気筒エンジン)の低回転時における、クランク角(クランク・アングル)、クランク角同期信号、第1プロセッサ3の処理内容、第2プロセッサ4の処理内容を示すタイムチャートである。割り込み信号発生部2によりクランク角30°毎に割り込み信号が発生されると、各プロセッサ3,4は、交互に割り込みルーチンを処理する。すなわち、クランク角30°毎に発生する割り込み信号は、両プロセッサ3,4の割り込みコントローラ3a,4aによって同時に検出されるが、前記ST2の判定が双方のプロセッサ3,4において実行されることにより、割り込みルーチンの処理は、何れか一方のプロセッサ3又は4によって実行されることとなる。
例えば、クランク角0°のときに発生する割り込み信号が双方のプロセッサ3,4の割り込みコントローラ3a,4aに検出されると、双方のプロセッサ3,4において既述の演算式(0/30)/2の剰余として0が算出される。そして、算出された値に等しい識別番号0が割り当てられている第1プロセッサ3のみによって、クランク角同期処理ca、クランク角非同期処理msが順に実行される。なお、図中「idle」はプロセッサがアイドル状態であることを示す。
また、クランク角30°のときに発生する割り込み信号が双方のプロセッサ3,4の割り込みコントローラ3a,4aに検出されると、双方プロセッサ3,4において既述の演算式(30/30)/2の剰余として1が算出される。そして、算出された値に等しい識別番号1が割り当てられている第2プロセッサ4のみによって、割り込みルーチンとしてのクランク角同期処理caおよびクランク角非同期処理msが順に実行される。
その後、クランク角60°、90°、・・・において発生する割り込み信号も双方プロセッサ3,4の割り込みコントローラ3a,4aに検出されて、既述の演算式により剰余として、0、1、0、1、・・・が順に算出される。つまり、識別番号0が割り当てられている第1コントローラ3と識別番号1が割り当てられている第2コントローラ4とによって交互に割り込みルーチンが処理されるようになっている。
なお、各プロセッサ3,4によって交互に順次実行される上記クランク角同期処理caの例としては、第1気筒の燃料噴射制御に関する演算処理、第1気筒の点火制御に関する演算処理、第2気筒の燃料噴射制御に関する演算処理、第2気筒の点火制御に関する演算処理、・・・第6気筒の燃料噴射制御に関する演算処理、第6気筒の点火制御に関する演算処理等が挙げられる。
図4はエンジンの高回転時における、クランク角(クランク・アングル)、クランク角同期信号、第1プロセッサ3の処理内容、第2プロセッサ4の処理内容を示すタイムチャートである。この図に示すように、エンジンの回転数が高回転になると、アイドル状態idleの時間が削減されて、クランク角同期処理ca、クランク角非同期処理msの処理時間は確保される。
クランク角同期処理ca、クランク角非同期処理ms以外の割り込み処理は、優先度に応じて、クランク角同期処理ca又はクランク角非同期処理msからCPU実行権を奪って処理、又はアイドル状態において処理される。
また、本実施形態のように、エンジン制御の1サイクルで発生するクランク角同期信号数(本実施形態では24)がプロセッサの数(本実施形態では2)で割り切れる場合は、1番気筒についてのクランク角同期処理ca、クランク角非同期処理msは同じプロセッサ3によって実行される。
以上の説明から明らかように、本発明のエンジンの制御装置によれば、エンジン回転数に左右されることなく、演算処理の負荷を、複数のプロセッサ3,4に均等に分配することができる。
この結果、マイクロコントローラ1における部品のスペックを抑えることがきる。例えば、低周波数駆動を採用することができ、これにより低速トランジスタを採用できる。さらに、低速トランジスタの採用により、マイクロコントローラ1の部品のコストダウンを図れるとともに、消費電力を抑制できる。
また、クランク角同期処理ca、クランク角非同期処理msに係るプログラムはシーケンシャルに走るため、プロセッサ3,4間での同期制御および排他制御を減らすことができる。これにより、設計コストの低減も期待できる。
また、クランク角同期処理ca、クランク角非同期処理msに関するプログラムは各プロセッサ3,4に共通のものであるため、マイクロコントローラ1に新たにプロセッサを追加する場合であっても、ソフトウエアの変更量が少なくて済む。
本発明は、マルチプロセッサを搭載した内燃機関の制御装置に適用可能である。
1 マイクロコントローラ
2 割り込み信号発生部
3 第1プロセッサ
3a 割り込みコントローラ
4 第2プロセッサ
4a 割り込みコントローラ
11 割り込み信号線
2 割り込み信号発生部
3 第1プロセッサ
3a 割り込みコントローラ
4 第2プロセッサ
4a 割り込みコントローラ
11 割り込み信号線
Claims (2)
- マルチプロセッサを搭載した内燃機関の制御装置において、
各プロセッサがクランク角に同期して割込みルーチンを順番に処理するルーチン処理手段を備えることを特徴とする内燃機関の制御装置。 - 請求項1に記載の内燃機関の制御装置において、
前記ルーチン処理手段は、
一定のクランク角毎に、割込み信号を発生する割込み信号発生手段と、
各プロセッサが、前記一定のクランク角、前記割り込み信号発生時のクランク角、および割り当てられたプロセッサ識別情報に基づいて、割り込みルーチンを実行すべきか否かを判定する割り込みルーチン実行可否判定手段と、
を有することを特徴とする内燃機関の制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009043672A JP2010196619A (ja) | 2009-02-26 | 2009-02-26 | 内燃機関の制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009043672A JP2010196619A (ja) | 2009-02-26 | 2009-02-26 | 内燃機関の制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010196619A true JP2010196619A (ja) | 2010-09-09 |
Family
ID=42821578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009043672A Pending JP2010196619A (ja) | 2009-02-26 | 2009-02-26 | 内燃機関の制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010196619A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013024103A (ja) * | 2011-07-20 | 2013-02-04 | Toyota Motor Corp | 内燃機関の制御装置 |
JP2016165912A (ja) * | 2015-03-09 | 2016-09-15 | 株式会社デンソー | 電子制御装置 |
JP2020091508A (ja) * | 2018-12-03 | 2020-06-11 | 株式会社Subaru | 独立連動冗長システム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61198541U (ja) * | 1985-05-31 | 1986-12-11 | ||
JPH03174647A (ja) * | 1989-12-04 | 1991-07-29 | Toshiba Corp | マルチプロセッサ制御方式 |
JPH07174038A (ja) * | 1991-08-14 | 1995-07-11 | Honda Motor Co Ltd | 内燃エンジンの燃料噴射制御装置 |
JP2004521250A (ja) * | 2001-06-23 | 2004-07-15 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 内燃機関の制御方法および制御装置 |
-
2009
- 2009-02-26 JP JP2009043672A patent/JP2010196619A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61198541U (ja) * | 1985-05-31 | 1986-12-11 | ||
JPH03174647A (ja) * | 1989-12-04 | 1991-07-29 | Toshiba Corp | マルチプロセッサ制御方式 |
JPH07174038A (ja) * | 1991-08-14 | 1995-07-11 | Honda Motor Co Ltd | 内燃エンジンの燃料噴射制御装置 |
JP2004521250A (ja) * | 2001-06-23 | 2004-07-15 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 内燃機関の制御方法および制御装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013024103A (ja) * | 2011-07-20 | 2013-02-04 | Toyota Motor Corp | 内燃機関の制御装置 |
US8996278B2 (en) | 2011-07-20 | 2015-03-31 | Toyota Jidosha Kabushiki Kaisha | Control device for internal combustion engine |
JP2016165912A (ja) * | 2015-03-09 | 2016-09-15 | 株式会社デンソー | 電子制御装置 |
JP2020091508A (ja) * | 2018-12-03 | 2020-06-11 | 株式会社Subaru | 独立連動冗長システム |
JP7132837B2 (ja) | 2018-12-03 | 2022-09-07 | 株式会社Subaru | 独立連動冗長システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9385691B2 (en) | Timing control device and control method thereof | |
JP6321807B2 (ja) | 車両のための制御装置 | |
US8943505B2 (en) | Hardware assisted real-time scheduler using memory monitoring | |
WO2013125294A1 (ja) | 車両用制御装置 | |
JP5817505B2 (ja) | 内燃機関の制御装置 | |
US7636812B2 (en) | Cache memory control method and cache memory control device | |
JP5515792B2 (ja) | 内燃機関制御装置 | |
JP2009245009A (ja) | 車両制御装置及びマルチコアプロセッサ | |
JP7147615B2 (ja) | タスク管理装置 | |
CN1848042A (zh) | 芯片启动控制电路,存储器控制电路和数据处理*** | |
JP2010196619A (ja) | 内燃機関の制御装置 | |
JP5533789B2 (ja) | 車載電子制御装置 | |
US20070260791A1 (en) | Data processing device | |
JP2010122752A (ja) | 制御装置 | |
JP6519515B2 (ja) | マイクロコンピュータ | |
EP2667199B1 (en) | Semiconductor data processing apparatus and engine control apparatus | |
JP2008262340A (ja) | デュアルコア向け自動コード生成装置 | |
JP2013061783A (ja) | マルチコア・プロセッサ | |
JP2010176403A (ja) | マルチスレッドプロセッサ装置 | |
JP2011233085A (ja) | プロセッサ、電子制御ユニット、負荷分散方法 | |
JP2013104387A (ja) | エンジン制御装置 | |
JP5614395B2 (ja) | 内燃機関の制御装置 | |
JP2013147998A (ja) | 内燃機関の制御装置 | |
US20180173559A1 (en) | Electronic Control Device and Stack Usage Method | |
JP2011076584A (ja) | 半導体集積回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120508 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120925 |