JP2011164814A - 車載制御装置 - Google Patents
車載制御装置 Download PDFInfo
- Publication number
- JP2011164814A JP2011164814A JP2010025050A JP2010025050A JP2011164814A JP 2011164814 A JP2011164814 A JP 2011164814A JP 2010025050 A JP2010025050 A JP 2010025050A JP 2010025050 A JP2010025050 A JP 2010025050A JP 2011164814 A JP2011164814 A JP 2011164814A
- Authority
- JP
- Japan
- Prior art keywords
- program
- variable
- control
- data
- floating
- 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.)
- Granted
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【解決手段】CPUは、吸気制御初期化処理(ステップS1301)において、非数が発生した変数を初期化するとともに、同変数を参照して算出される変数など、非数が発生した変数によって影響を受ける変数を一括して初期化する。本処理で初期化する変数は、必ずしも吸気制御処理内で用いられる全ての変数でなくともよい。非数が発生した変数によって影響を受ける変数、例えばある変数が非数となると派生的に非数となる変数などを初期化することもできる。その他の任意の変数を初期化対象としてもよい。
【選択図】図13
Description
図1は、本発明の実施の形態1に係る車載制御装置100の機能ブロック図である。車載制御装置100は、制御対象機器200を制御する装置であり、マイコン110、バッテリ120を有する。
図2は、IEEE754規格で定められた浮動小数点形式データ21を示す。ここでは燃料噴射量の算出に使用されるデータ形式の例を説明する。浮動小数点形式データ21は、bit「31」からなる1ビット長の符号部22、bit「30」〜「23」からなる8ビット長の指数部23、bit「22」〜「0」からなる23ビット長の仮数部24からなる計4バイト長のデータ形式で与えられる。
本実施の形態1と比較するため、従来技術において非数をどのように初期化しているかを、2つの例を挙げて説明する。
図4は、従来技術におけるエンジン制御処理フローの1例を示す図である。以下、図4の各ステップについて説明する。なお、図4の処理フローにおいて車載制御装置100の構成は図1と同様であるものと仮定し、同じ符号を用いて説明する。本例では、説明の簡易化のため、吸気制御処理についてのみ説明する。
CPU111は、吸気制御プログラムが記述する動作にしたがって、後述の図5で説明する吸気制御処理を実行する。
CPU111は、RAM113内の吸気制御処理に係る変数を格納する領域(後述の図6で説明する吸気制御ブロック1131)内に非数が発生しているか否かを判定する。非数が発生していればステップS403へ進み、発生していなければステップS404へ進む。本ステップの詳細は、後述の図6で改めて説明する。
CPU111は、RAM113内の吸気制御ブロックを全て一括的に初期化する。
(図4:ステップS404〜S406)
CPU111は、噴射制御プログラムが記述する動作にしたがって、ステップS401〜403と同様の手順により、噴射制御処理を実行する。また、RAM113内の噴射制御処理に係る変数を格納する領域(噴射制御ブロック)に非数が発生していれば、これを初期化する。
CPU111は、点火制御プログラムが記述する動作にしたがって、ステップS401〜403と同様の手順により、点火制御処理を実行し、RAM113内の点火制御処理に係る変数を格納する領域(点火制御ブロック)に非数が発生していれば、これを初期化する。
CPU111は、吸気制御プログラム内で使用する変数A1の値を演算する。
(図5:ステップS502)
CPU111は、RAM113内の吸気制御ブロックに変数A1の値を書き込む。
CPU111は、吸気制御プログラム内で使用する変数A2の値を演算する。
(図5:ステップS504)
CPU111は、RAM113内の吸気制御ブロックに変数A2の値を書き込む。
図7は、従来技術におけるエンジン制御処理フローの別例を示す図である。以下、図7の各ステップについて説明する。なお、図7の処理フローにおいて車載制御装置100の構成は図1と同様であるものと仮定し、同じ符号を用いて説明する。本例でも、説明の簡易化のため、吸気制御処理についてのみ説明する。
CPU111は、吸気制御プログラムが記述する動作にしたがって、後述の図8で説明する吸気制御処理を実行する。
(図7:ステップS702)
CPU111は、噴射制御プログラムが記述する動作にしたがって、噴射制御処理を実行する。
CPU111は、点火制御プログラムが記述する動作にしたがって、点火制御処理を実行する。
CPU111は、吸気制御プログラム内で使用する変数B1の値を演算する。
(図8:ステップS802)
CPU111は、変数B1が非数であるか否かを判定する。非数であればステップS809へ進み、非数でなければステップS803へ進む。
CPU111は、RAM113内の吸気制御ブロックに変数B1の値を書き込む。
(図8:ステップS804)
CPU111は、吸気制御プログラム内のみで使用する変数(非参照データ)C1の値を演算する。
CPU111は、RAM113内の吸気制御ブロックに変数C1の値を書き込む。
(図8:ステップS806〜S808)
CPU111は、ステップS801〜S803と同様に、変数B2の値を演算してRAM113内の吸気制御ブロックに書き込む。
(図8:ステップS809)
CPU111は、RAM113内の吸気制御ブロックを全て一括的に初期化する。
1などがこれに相当する。参照データ72は、吸気制御プログラム以外のプログラムからも参照される変数であり、変数B1などがこれに相当する。CPU111は、吸気制御ブロック1131内に非数が発生すると、吸気制御ブロック1131全体を一括して初期化し、非参照データ71と参照データ72をともにクリアする。
図10は、本実施の形態1におけるエンジン制御処理フローを示す図である。図10に示すエンジン制御処理フローは、図7に示すフローと同様であるため、説明は省略する。
CPU111は、吸気制御識別フラグの値をtrueにセットする。吸気制御識別フラグは、現在CPU111が吸気制御処理を実行していることを示すフラグである。吸気制御識別フラグ=trueのときは、CPU111が吸気制御処理を実行中であることを示す。
(図11:ステップS1102)
CPU111は、吸気制御プログラム内で使用する変数A1の値を演算する。
CPU111は、変数A1が非数であるか否かを判定する。非数であればステップS1108へ進み、非数でなければステップS1104へ進む。
(図11:ステップS1104)
CPU111は、RAM113内の吸気制御ブロックに変数A1の値を書き込む。
CPU111は、ステップS1102〜S1104と同様に、変数A2の値を演算してRAM113内の吸気制御ブロックに書き込む。
(図11:ステップS1108)
CPU111は、後述の図12で説明する非数発生時処理を実行し、非数が発生した変数および関連する変数を初期化する。
CPU111は、吸気制御処理が完了した旨を示すため、吸気制御識別フラグの値をfalseにセットする。
CPU111は、吸気制御識別フラグがtrueであるか否かを判定する。trueであればステップS1202に進み、trueでなければステップS1203へ進む。
(図12:ステップS1202)
CPU111は、吸気制御初期化処理を実行する。本ステップの詳細は、後述の図13で改めて説明する。
CPU111は、噴射制御識別フラグがtrueであるか否かを判定する。trueであればステップS1204に進み、trueでなければステップS1205へ進む。以下同様に、各制御処理の識別フラグがrueであるか否かを順次判定し、CPU111がどの制御処理を実行中であるかを識別する。
CPU111は、噴射制御初期化処理を実行する。本ステップの詳細は、後述の図13で吸気制御初期化処理について説明する際に併せて説明する。
本処理で初期化する変数は、必ずしも吸気制御処理内で用いられる全ての変数でなくともよい。非数が発生した変数によって影響を受ける変数、例えばある変数が非数となると派生的に非数となる変数などを初期化することもできる。その他の任意の変数を初期化対象としてもよい。以下同様である。
本処理で初期化する変数は、必ずしも吸気制御処理内で用いられる変数に限られるものではない。例えば、吸気制御処理内の変数を噴射制御処理などの他の制御プログラム内で参照している場合は、その変数を初期化してもよい。これにより、非数の影響が他の制御プログラムに派生することを防ぐ。例えば、吸気制御で演算した吸入空気量の推定値を用いて、噴射制御で噴射パルス幅を演算した結果、噴射パルス幅が非数となった場合は、噴射パルス幅だけでなく、吸入空気量の推定値も初期化することができる。
非数となった変数と、そのとき初期化対象として選定する制御プログラムおよび変数については、例えば非数が発生した変数とそのときの初期化対象変数との対応関係をテーブルデータとしてROM112などに記憶させておき、これを参照して選定すればよい。その他、各制御プログラム内において、同様の対応関係をプログラム上に関数などの形式で記述しておき、その関数をコールするようにしてもよい。その他の任意の選定手法を採用してもよい。
初期化する変数を選定する手段として、CPU111が実行する制御プログラム内に上述の対応関係を記述する以外に、例えば同様の処理を実現する回路などのハードウェアを用いることもできる。
変数の初期化処理は、初期化する変数に所定値(例えばゼロ)を代入する初期化関数をコールすることによって実行してもよいし、OS(オペレーティングシステム)の機能を用いてRAM113内の初期化対象変数を格納している領域を一括的に初期化する処理群をコールすることによって実行してもよい。
図13では吸気制御初期化処理についてのみ説明したが、他の制御処理に係る初期化処理についても、同様の手法を用いることができる。
図14は、本発明の実施の形態2における吸気制御処理の処理フローを示す図である。本実施の形態2において、ステップS1401とS1409では、実施の形態1の図11で説明した吸気制御識別フラグに代えて、各制御プログラムに共通の制御識別フラグの値をセットする。
実施の形態1〜2では、吸気制御処理、噴射制御処理、点火制御処理を順次実行する動作例を説明した。また、制御処理毎に初期化処理の内容を定め、制御識別フラグなどの値によって、いずれの初期化処理を実行するかを判定することを説明した。
CPU111は、タスク識別フラグの値を2にセットする。タスク識別フラグは、現在CPU111がどのタスク(制御プログラムセット)を実行中であるかを示すフラグである。タスク識別フラグ=2のときは、CPU111が2msタスクを実行中であることを示す。
CPU111は、吸気制御処理、噴射制御処理、点火制御処理をこの順に実行する。これらの制御処理の内容は、後述の図18で説明する非数発生時処理を除いて、実施の形態1〜2と同様である。なお、各タスクにおいてどの制御処理を実行するかは、制御対象の仕様などに応じて異なるので、適宜定めればよい。
本発明の実施の形態4では、各制御演算が主演算と副演算による冗長化構成を有する場合の動作例について説明する。車載制御装置100の構成は、実施の形態1〜2と同様である。ただし各制御処理について、主演算プログラムと1以上の副演算プログラムを設けている。
以上の実施の形態1〜4で説明した手法は、適宜組み合わせることができる。例えば、実施の形態3で説明した2msタスクにおいて、実施の形態4で説明した主演算と副演算に係る構成およびその初期化手順を採用することができる。
以上の実施の形態1〜5において、制御対象機器200は、前述したガソリン噴射式内燃機関以外の機器、例えばエアコンでもよい。すなわち、車載制御装置100の制御対象は、典型的には車両のエンジンのような機器であるが、これに限られるものではない。制御対象機器200がエアコンである場合、車載制御装置100は、エアコンの制御コントローラとなる。その他、制御対象機器200は電気モータでもよい。制御対象機器200が電気モータである場合、車載制御装置100は、電気モータの制御コントローラとなる。
以上の実施の形態1〜6では、浮動小数点形式の非数が発生した場合について説明しているが、浮動小数点形式の無限大が発生した場合においても、非数が発生した場合と同様に制御演算が困難になる。
以上の実施の形態1〜7では、単精度浮動小数点数データ形式を扱う組込み制御装置の場合について説明したが、倍精度浮動小数点データ形式を扱う組込み制御装置についても前述した仕組みを同様に適用することができる。
Claims (7)
- 制御動作を記述した1以上のプログラムと、
前記プログラムの記述にしたがって浮動小数点形式のデータを演算する演算部と、
前記演算部が演算した浮動小数点形式のデータを記憶する記憶部と、
前記演算部が演算した浮動小数点形式のデータが非数または無限大であるか否かを判定する手段と、
前記演算部が演算した浮動小数点形式のデータが非数または無限大である場合にいずれの前記プログラム内の変数を初期化するかを選定する選定手段と、
前記選定手段が選定した前記変数を初期化する初期化手段と、
を備え、
前記選定手段は、
浮動小数点形式の非数データまたは無限大データとなった変数を参照または更新する前記プログラム内の変数を、初期化の対象として選定する
ことを特徴とする車載制御装置。 - 前記選定手段は、
浮動小数点形式の非数データまたは無限大データとなった前記プログラム内の変数、浮動小数点形式の非数データまたは無限大データとなった変数を参照もしくは更新する当該プログラム内の他の変数、または、浮動小数点形式の非数データまたは無限大データとなった変数を参照もしくは更新する他の前記プログラム内の変数を、前記初期化の対象として選定する
ことを特徴とする請求項1記載の車載制御装置。 - 前記演算部がいずれの前記プログラムを実行しているかを識別するプログラム識別手段を備え、
前記プログラム識別手段は、
前記プログラムの処理の先頭部分で、各前記プログラム毎に設けられたフラグ変数のうち前記演算部が実行している前記プログラムに対応するものに所定値をセットするとともに、前記プログラムの処理の最終部分で、前記フラグ変数を初期化し、
または、
前記プログラムの処理の先頭部分で、各前記プログラムに共通するフラグ変数に前記演算部が実行している前記プログラムに対応する所定値をセットするとともに、前記プログラムの処理の最終部分で、前記フラグ変数を初期化し、
前記選定手段は、
前記演算部がいずれの前記プログラムを実行しているかを前記プログラム識別手段によって識別し、そのプログラム毎に定められている初期化対象変数を、前記初期化の対象として選定する
ことを特徴とする請求項1または請求項2記載の車載制御装置。 - 前記演算部は、
1以上の前記プログラムをセットにした複数のプログラムセットを並行して周期的に実行するとともに、各前記プログラムセットの優先度にしたがって前記プログラムセットの実行タイミングを調整し、
前記選定手段は、前記初期化の対象を、前記プログラムセット毎に選定し、
前記初期化手段は、
前記プログラムセットに含まれる各前記プログラムが参照または更新する前記プログラム内の変数を、一括して初期化する
ことを特徴とする請求項1から3のいずれか1項に記載の車載制御装置。 - 前記初期化手段は、
前記プログラム内の変数に所定値を代入することによって初期化する関数、
または、
前記プログラム内の変数を格納する前記記憶部内の領域を初期化する処理群として構成されている
ことを特徴とする請求項1から4のいずれか1項に記載の車載制御装置。 - 前記プログラムは、
同一の制御動作を記述した1以上の制御プログラム、
または、
同一の周期で実行される1以上の制御プログラム、
または、
同一の制御動作を記述した主演算プログラムおよび副演算プログラムとして構成されている
ことを特徴とする請求項1から5のいずれか1項に記載の車載制御装置。 - 前記プログラムは、車両のエンジン制御動作を記述している
ことを特徴とする請求項1から6のいずれか1項に記載の車載制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010025050A JP5379712B2 (ja) | 2010-02-08 | 2010-02-08 | 車載制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010025050A JP5379712B2 (ja) | 2010-02-08 | 2010-02-08 | 車載制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011164814A true JP2011164814A (ja) | 2011-08-25 |
JP5379712B2 JP5379712B2 (ja) | 2013-12-25 |
Family
ID=44595439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010025050A Expired - Fee Related JP5379712B2 (ja) | 2010-02-08 | 2010-02-08 | 車載制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5379712B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016177331A (ja) * | 2015-03-18 | 2016-10-06 | 株式会社デンソー | 電子制御装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7027857B2 (ja) | 2017-12-07 | 2022-03-02 | 株式会社デンソー | 制御装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007079649A (ja) * | 2005-09-09 | 2007-03-29 | Fujitsu Ten Ltd | 関数の演算処理方法及び装置 |
JP4158566B2 (ja) * | 2003-03-18 | 2008-10-01 | 株式会社デンソー | 浮動小数点演算機能を有する電子制御装置 |
-
2010
- 2010-02-08 JP JP2010025050A patent/JP5379712B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4158566B2 (ja) * | 2003-03-18 | 2008-10-01 | 株式会社デンソー | 浮動小数点演算機能を有する電子制御装置 |
JP2007079649A (ja) * | 2005-09-09 | 2007-03-29 | Fujitsu Ten Ltd | 関数の演算処理方法及び装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016177331A (ja) * | 2015-03-18 | 2016-10-06 | 株式会社デンソー | 電子制御装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5379712B2 (ja) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8731737B2 (en) | Microcontroller having a computing unit and a logic circuit, and method for carrying out computations by a microcontroller for a regulation or a control in a vehicle | |
US20190205734A1 (en) | Method for calculating a neuron layer of a multi-layer perceptron model with simplified activation function | |
US6115808A (en) | Method and apparatus for performing predicate hazard detection | |
KR101807332B1 (ko) | 개루프 제어를 위한 출력 변수를 계산하기 위한 방법 및 제어 장치 | |
JP2010128627A (ja) | 車載用電子制御装置 | |
EP1853995B1 (en) | Method and apparatus for managing a return stack | |
JP5379712B2 (ja) | 車載制御装置 | |
US9529654B2 (en) | Recoverable and fault-tolerant CPU core and control method thereof | |
US20190310590A1 (en) | Model calculating unit and control unit for selectively calculating an rbf model, a gaussian process model and an mlp model | |
CN107423029B (zh) | 计算单元 | |
JP2019074851A (ja) | 電子制御装置 | |
JP6183251B2 (ja) | 電子制御装置 | |
CN114090466A (zh) | 一种指令处理装置、方法、计算机设备及存储介质 | |
JP6365387B2 (ja) | 電子制御装置 | |
US7472264B2 (en) | Predicting a jump target based on a program counter and state information for a process | |
US10409563B2 (en) | Generation of application codes from a formal specification | |
JP4329332B2 (ja) | 電子制御装置及び制御プログラム | |
JP4158566B2 (ja) | 浮動小数点演算機能を有する電子制御装置 | |
US11645499B2 (en) | Model calculating unit and control unit for calculating a neural layer of a multilayer perceptron model | |
CN113614747A (zh) | 用于运行深度神经网络的方法、设备和计算机程序 | |
US6904543B2 (en) | Electronic control having floating-point data check function | |
JP2011233085A (ja) | プロセッサ、電子制御ユニット、負荷分散方法 | |
JP2012048405A (ja) | 制御装置、電子制御ユニット、異常検出方法 | |
US11915004B2 (en) | Control flow prediction | |
CN108780470B (zh) | 用于在运行时确定来自fpga的信号值的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130304 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130927 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |