JP2010196619A - 内燃機関の制御装置 - Google Patents

内燃機関の制御装置 Download PDF

Info

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
Application number
JP2009043672A
Other languages
English (en)
Inventor
Kento Nakamura
健人 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Renesas Electronics Corp
Original Assignee
Toyota Motor Corp
Renesas Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp, Renesas Electronics Corp filed Critical Toyota Motor Corp
Priority to JP2009043672A priority Critical patent/JP2010196619A/ja
Publication of JP2010196619A publication Critical patent/JP2010196619A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

【課題】マルチプロセッサを搭載した内燃機関の制御装置において、内燃機関の回転数に左右されることなく、各プロセッサに演算処理の負荷を均等に分配でき、しかも、マルチプロセッサ全体での負荷の抑制を図った内燃機関の制御装置を提供する。
【解決手段】マルチプロセッサを搭載した内燃機関の制御装置において、各プロセッサがクランク角に同期して割込みルーチンcaを順番に処理するルーチン処理手段を備えることを特徴とする。
【選択図】図3

Description

本発明は、内燃機関の制御装置に関する。特に、マルチプロセッサを搭載した内燃機関の制御装置に関する。
従来より、自動車のエンジンの制御装置は、クランク角センサ、カム・ポジションセンサ等が検出する検出値を用いた演算結果に基づいて燃料噴射制御、点火制御などを行っている。
また、従来より、自動車のエンジンの制御装置として、マルチプロセッサを搭載したものが知られている(例えば特許文献1〜4を参照)。
特開昭61−277849号公報 特開平10−213001号公報 特開2005−259023号公報 特開2006−17054号公報
ところが、エンジンの制御装置にマルチプロセッサを搭載したものを採用した場合、各プロセッサに演算処理の負荷を均等に分配することが難しいという問題があった。これは、一定のクランク角(例えばクランク角30°,60°,90°,・・・)に同期して実行すべき演算処理(以下「クランク角同期処理」ともいう。)の負荷がエンジン回転数に応じて変動することが1つの要因となっている。
また、演算処理の順序性も負荷を均等に分配することを難しくする要因となっている。
また、エンジンの制御装置にマルチプロセッサを搭載したものを採用した場合、各プロセッサ間における同期制御や排他制御を少なくして、制御装置全体での負荷を軽減することが望ましい。つまり、各プロセッサに均等に負荷を分配することができたとしても、同期制御や排他制御が頻繁に行われれば、エンジン制御以外の演算処理の負担が増加してしまう。
また、エンジンの制御装置にマルチプロセッサを採用するに当たっては、制御プログラムをマルチプロセッサ対応のものに変更する必要があり、その際に、同期・排他制御の設計、リエントラント設計等に多くの工数を費やさなければならない。このため、なるべく実績のある既存のプログラムを利用して上記工数を減らすことが望まれる。
また、エンジン回転数が10000rpmなどの高回転になると、クランク角同期処理を極めて短い時間で処理しなければならず、さもなければ、プロセッサの使用効率が大きく下がってしまう。
一方、プロセッサ間での負荷分散を動的に行うことは、品質保証上、現実的ではない。
上記問題点を解決するために、例えば、マルチプロセッサの中の1つのプロセッサのみに、クランク角同期処理を割り当てることが考えられる。
しかし、この場合は、エンジンの回転変動によって特定のプロセッサの負荷がばらついてしまう。また、エンジンの高回転時にあわせて演算処理の負荷を均等に分配できるようにしても、低回転時に特定のプロセッサが暇になり過ぎてしまう。また、プロセッサの数を増してもクランク角同期処理の負荷は1つのプロセッサが担うこととなり分散できない。
また上記問題点を解決するために、例えば、クランク角同期信号から、あるプロセッサがクランクカウンタを生成した後、オペレーティングシステムのプロセッサ間割込みなどを用いて、他のプロセッサが持っているクランク角同期処理を全て起床させることが考えられる。
しかし、この場合は、プロセッサが増えると同期制御と排他制御のコストが大きくなるという別の問題が増える。また、クランク角同期処理には、順序性や同時性が必要となるため、プロセッサが増えると演算処理の負荷分配が更に困難となる。
本発明は、既述の問題点に鑑みて創案されたものであり、マルチプロセッサを搭載した内燃機関の制御装置において、内燃機関の回転数に左右されることなく、各プロセッサに演算処理の負荷を均等に分配でき、しかも、マルチプロセッサ全体での演算処理の負荷の抑制を図った内燃機関の制御装置を提供することを目的とする。
上述の課題を解決するための手段として、本発明の内燃機関の制御装置は、以下のように構成されている。
すなわち、本発明の内燃機関の制御装置は、マルチプロセッサを搭載した内燃機関の制御装置において、各プロセッサがクランク角に同期して割込みルーチンを順番に処理するルーチン処理手段を備えることを特徴としている。
かかる構成を備える内燃機関の制御装置によれば、内燃機関の回転数に左右されることなく、各プロセッサに演算処理の負荷を均等に分配できる。しかも、クランク角同期処理の分配については、同期制御、排他制御等を必要としないため、その分、マルチプロセッサ全体での演算処理の負荷の増加を抑えることができる。
また、前記ルーチン処理手段は、例えば、一定のクランク角毎に、割込み信号を発生する割込み信号発生手段と、各プロセッサが、前記一定のクランク角、前記割り込み信号発生時のクランク角、および割り当てられたプロセッサ識別情報に基づいて、割り込みルーチンを実行すべきか否かを判定する割り込みルーチン実行可否判定手段と、を有するものとすることができる。
本発明によれば、内燃機関の回転数に左右されることなく、各プロセッサに演算処理の負荷を均等に分配できる。しかも、クランク角同期処理の分配については、同期制御、排他制御等を必要としないため、その分、マルチプロセッサ全体での演算処理の負荷の増加を抑えることもできる。
本発明の実施の形態に係る内燃機関の制御装置におけるマイクロコントローラの構成を示す図である。 本発明の実施の形態に係る内燃機関の制御装置における処理動作の手順を示すフローチャートである。 エンジンの低回転時における、クランク角、クランク角同期信号、第1プロセッサの処理内容、第2プロセッサの処理内容を示すタイムチャートである。 エンジンの高回転時における、クランク角、クランク角同期信号、第1プロセッサの処理内容、第2プロセッサの処理内容を示すタイムチャートである。
以下、本発明の実施の形態について図面を参照して説明する。図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 割り込み信号線

Claims (2)

  1. マルチプロセッサを搭載した内燃機関の制御装置において、
    各プロセッサがクランク角に同期して割込みルーチンを順番に処理するルーチン処理手段を備えることを特徴とする内燃機関の制御装置。
  2. 請求項1に記載の内燃機関の制御装置において、
    前記ルーチン処理手段は、
    一定のクランク角毎に、割込み信号を発生する割込み信号発生手段と、
    各プロセッサが、前記一定のクランク角、前記割り込み信号発生時のクランク角、および割り当てられたプロセッサ識別情報に基づいて、割り込みルーチンを実行すべきか否かを判定する割り込みルーチン実行可否判定手段と、
    を有することを特徴とする内燃機関の制御装置。
JP2009043672A 2009-02-26 2009-02-26 内燃機関の制御装置 Pending JP2010196619A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 内燃機関の制御方法および制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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