JP7314838B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP7314838B2
JP7314838B2 JP2020037556A JP2020037556A JP7314838B2 JP 7314838 B2 JP7314838 B2 JP 7314838B2 JP 2020037556 A JP2020037556 A JP 2020037556A JP 2020037556 A JP2020037556 A JP 2020037556A JP 7314838 B2 JP7314838 B2 JP 7314838B2
Authority
JP
Japan
Prior art keywords
processing unit
storage unit
target period
data
sequencer
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.)
Active
Application number
JP2020037556A
Other languages
English (en)
Other versions
JP2021140450A (ja
Inventor
悠 吉村
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2020037556A priority Critical patent/JP7314838B2/ja
Publication of JP2021140450A publication Critical patent/JP2021140450A/ja
Application granted granted Critical
Publication of JP7314838B2 publication Critical patent/JP7314838B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Testing Of Engines (AREA)
  • Electrical Control Of Ignition Timing (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Debugging And Monitoring (AREA)

Description

本開示は、電子制御装置に関する。
シーケンサを備えるタイマモジュールが知られている(例えば、特許文献1参照。)。下記特許文献1には、シーケンサが適正に作動しているか否かを、外部演算器(例えば、CPU。)で監視する技術が開示されている。
特許第5432414号公報
シーケンサが実行すべき処理の内容によっては、所定の作動対象期間内にシーケンサが作動すれば、作動対象期間外にはシーケンサが作動しなくても足りる場合がある。このような場合、作動対象期間外はシーケンサの作動を停止させれば、その分だけシーケンサにかかる負荷を低減することができる。しかし、シーケンサが作動しているか否かを外部演算器で監視する場合、シーケンサが作動していないことを外部演算器で検出しても、作動対象期間外であるからシーケンサが作動していないのか、故障等に起因してシーケンサが作動していないのかを、区別することができない。
一方、上述のような作動対象期間内か作動対象期間外かを問わず、常にシーケンサが作動するように構成されていれば、外部演算器では、シーケンサが作動していないことを検知すれば、直ちにシーケンサに故障等の問題が発生していると判断することができる。しかし、このような構成を採用すると、作動対象期間外であってもシーケンサを無駄に作動させることになるため、シーケンサにかかる負荷を低減する効果は減少する。
すなわち、第1処理部(例えば、シーケンサ。)が作動対象期間内にのみ作動する構成と、第1処理部が適正に作動しているか否かを第2処理部(例えば、CPU。)で判断する構成とを、双方とも採用することは困難であった。
本開示の一局面においては、第1処理部が作動対象期間内にのみ作動するように構成されているにもかかわらず、第1処理部が作動しているか否かを第2処理部で適正に監視可能な電子制御装置を提供することが望ましい。
本開示の一局面における電子制御装置は、第1処理部(22)と、第2処理部(10)と、データ記憶部(221,231)と、を備える。第1処理部は、特定処理(S201-S203)と、作成処理(S205-S209)と、待機処理(S211)と、を実行するように構成される。特定処理は、外部から入力されるパルス信号に基づき、時間非同期で周期的に到来する作動対象期間の期間内であるのか否かを特定する。作成処理は、特定処理によって作動対象期間の期間内であると特定された場合に、第2処理部で利用するためのデータを作成してデータ記憶部に格納する。待機処理は、特定処理によって作動対象期間の期間内ではないと特定された場合に、作成処理を実行しない状態で待機する。第2処理部は、実行タイミングが到来するたびに周期的に実行される状態確認処理(S301-S317)、を実行するように構成される。状態確認処理の中では、第1判定処理(S301-S307)と、第2判定処理(S309)と、を実行するように構成される。第1判定処理は、前回の状態確認処理を実行した際に、パルス信号のパルス数をカウントするパルスカウンタから取得された第1カウント値と、今回の状態確認処理を実行する際に、パルスカウンタから取得される第2カウント値との差に基づいて、前回の状態確認処理の実行後に作動対象期間が経過したか否かを判定する。第2判定処理は、第2処理部によってデータ記憶部に格納されるデータを、データ記憶部から取得可能か否かを判定する。状態確認処理において、第1判定処理により作動対象期間が経過したと判定され、かつ、第2判定処理によりデータをデータ記憶部から取得可能と判定された場合には、第1処理部が正常な状態にあると判定するように構成される(S311)。また、状態確認処理において、第1判定処理により作動対象期間が経過したと判定され、かつ、第2判定処理によりデータをデータ記憶部から取得不能と判定された場合には、第1処理部が異常な状態にあると判定するように構成されている(S313)。
このように構成された電子制御装置によれば、第2処理部は、第1判定処理により作動対象期間が経過したと判定され、かつ、第2判定処理によりデータをデータ記憶部から取得可能と判定された場合に、第1処理部が正常な状態にあると判定する。また、第1判定処理により作動対象期間が経過したと判定され、かつ、第2判定処理によりデータをデータ記憶部から取得不能と判定された場合に、第1処理部が異常な状態にあると判定する。すなわち、第1判定処理により作動対象期間が経過したと判定された場合に限って、第1処理部が正常な状態にあるか異常な状態にあるかを判定する。
そのため、例えば、作動対象期間が経過していないことに起因して、第1処理部によるデータの作成が実行されていない場合には、第2処理部によって第1処理部が異常な状態にあると判定されることはない。その一方、例えば、作動対象期間が経過しているにもかかわらず、第1処理部の故障に起因して、第1処理部によるデータの作成が実行されていない場合には、第2処理部によって第1処理部が異常な状態にあると判定される。したがって、このように構成されていれば、第1処理部が作動対象期間内にのみ作動するように構成されているにもかかわらず、第1処理部が作動しているか否かを第2処理部で適正に監視することができる。
図1は電子制御装置の内部構成を示すブロック図である。 図2はCPUが実行する閾値設定処理のフローチャートである。 図3はシーケンサが実行するフィルタ演算処理のフローチャートである。 図4はCPUが実行する状態確認処理のフローチャートである。 図5はCPUが実行するフェイルセーフ処理のフローチャートである。 図6はシーケンサの故障を検知する場合の一例を示すタイミングチャートである。 図7は内燃機関が停止する場合の一例を示すタイミングチャートである。
次に、上述の電子制御装置について、例示的な実施形態を挙げて説明する。
[電子制御装置の構成]
図1に示すように、ECU1は、マイクロコンピュータ3を備える。マイクロコンピュータ3は、CPU10、タイマモジュール11、ROM12、第1RAM13、DMAC14及びADC15を備える。ECUは、Electronic Control Unitの略称である。CPUは、Central Processing Unitの略称である。ROMは、Read Only Memoryの略称である。RAMは、Random Access Memoryの略称である。DMACは、Direct Memory Access Controllerの略称である。ADCは、Analogue to Digital Converterの略称である。
タイマモジュール11は、タイマ入力器21、シーケンサ22及びモニタ23を備える。タイマ入力器21は、エッジ時刻間隔計測部211及びパルスカウンタ212を備える。シーケンサ22は第2RAM221を備える。モニタ23は、動作状態レジスタ231を備える。
CPU10は、ROM12に格納されたプログラム及びデータを読み取り可能に構成されている。CPU10は、ROM12に格納されたプログラムに従って各種処理を実行するように構成されている。CPU10は、第1RAM13及び第2RAM221に格納されたデータの読み取り、及び第1RAM13及び第2RAM221へのデータの書き込みを実行可能に構成されている。第1RAM13と第2RAM221との間では、DMAC14を介してDMA方式でデータを転送可能に構成されている。
タイマ入力器21には、クランク角センサ31から出力されるパルス信号が入力されるように構成されている。エッジ時刻間隔計測部211は、タイマ入力器21に順に入力されるパルス信号を対象にして、パルスの立ち上がりエッジを検出した時刻から次のパルスの立ち上がりエッジを検出する時刻までの時刻間隔を計測するように構成されている。パルスカウンタ212は、タイマ入力器21に順に入力されるパルス信号を対象にして、パルス信号に含まれるパルスの数をカウントするように構成されている。タイマ入力器21において計測又は計数される各値は、CPU10及びシーケンサ22によって取得される。
ADC15には、ノッキングセンサ32から出力されるアナログ信号が入力されるように構成されている。ADC15は、ADC15に入力されるアナログ信号をディジタルデータに変換するように構成されている。ADC15において変換されたディジタルデータは、シーケンサ22によって取得される。
シーケンサ22は、タイマモジュール11内で入力信号に対する信号処理を実行するために設けられた処理装置である。シーケンサ22は、コプロセッサとも呼ばれる。シーケンサ22は、プログラミング可能に構成され、本実施形態の場合、ディジタルフィルタの演算を実施するようにプログラミングされている。
より具体的には、シーケンサ22は、タイマ入力器21から取得したデータに基づいて、クランク角に同期して到来する作動対象期間の期間内であるか否かを特定する。作動対象期間の期間内であると特定された場合、シーケンサ22は、ADC15から取得したディジタルデータに対し、ノッキングの判定に用いられる成分を抽出するためのフィルタ演算を施し、その演算結果であるフィルタ値を第2RAM221に格納する。作動対象期間の期間外であると特定された場合、シーケンサ22は、作動を停止する。
詳しくは後述するが、シーケンサ22は、フィルタ値を第2RAM221に格納した場合、動作状態レジスタ231をセットする。すなわち、シーケンサ22は、動作状態レジスタ231をオンにする。CPU10は、動作状態レジスタ231がオンになっている場合に、フィルタ値を第2RAM221から取得可能な状態にあると判断する。CPU10は、第2RAM221からフィルタ値を取得した場合、動作状態レジスタ231をリセットする。すなわち、CPU10は、動作状態レジスタ231をオフにする。
[閾値設定処理]
次に、CPU10が実行する閾値設定処理について、図2に基づいて説明する。閾値設定処理は、タイマ入力器21においてパルス信号中に含まれるパルスの立ち上がりエッジが検出されたことを契機として、その検出タイミングT2ごとに実行される処理である。
閾値設定処理を開始すると、S101において、CPU10は、エッジ時刻間隔計測部211から今回のエッジ時間間隔Aを取得する。S101で取得される今回のエッジ時間間隔Aは、タイマ入力器21において順に検出されるパルスのうち、1つ目のパルスの立ち上がりエッジを検出した時刻から2つ目のパルスの立ち上がりエッジを検出する時刻までの時刻間隔を計測した値である。
続いて、S103において、CPU10は、メモリ(例えば第1RAM13。)から前回のエッジ時間間隔Bを取得する。S103で取得される前回のエッジ時間間隔Bは、前回実行された閾値設定処理の中で、S101においてエッジ時刻間隔計測部211から取得されて、後述するS111においてメモリに格納された値である。続いて、S105において、CPU10は、今回のエッジ時間間隔Aと前回のエッジ時間間隔Bとの比A/Bを算出する。
続いて、S107において、CPU10は、A/B>欠歯判定閾値か否かを判断する。クランク角センサ31は、クランクシャフトの回転角に同期して所定回転角ごとにパルスを発生させる。ただし、クランクシャフトが1回転するごとに到来する欠歯区間においては、上記所定回転角ごとのパルスを発生させないように構成されている。そのため、S105において算出される比A/Bの値は、欠歯区間外では1前後となるのに対し、欠歯区間の到来直後は1前後よりも格段に大きい値(例えば2~4程度。)となる。
より具体的な例を示せば、例えば図6に示す例の場合、時刻t1の前後の期間では、S105において算出される比A/Bの値は1前後となる。これに対し、欠歯区間の到来直後である時刻t2の前後では、S105において算出される比A/Bの値は1前後よりも格段に大きい値となる。したがって、欠歯判定閾値として、1前後の値よりも大となる値をあらかじめ設定しておき、S107を実行すれば、クランクシャフトの回転角が基準角度となったことを検出することができる。
A/B>欠歯判定閾値である場合は、S107においてとYESと判断され、S109を実行してからS111へ進む。一方、A/B>欠歯判定閾値ではない場合(すなわち、A/B≦欠歯判定閾値の場合。)は、S107においてNOと判断され、S109を実行することなくS111へ進む。S109へと進む場合、CPU10は、作動対象期間判定用閾値をシーケンサ22に設定する。作動対象期間判定用閾値は、後述するフィルタ演算処理の中で、シーケンサ22が作動対象期間内か否かを判断する際に利用する値である。作動対象期間判定用閾値は、クランクシャフトの回転角が基準角度となった時点からカウントされるパルス数によって設定される。
より具体的な例を示せば、例えば図6に示す例の場合、時刻t2の時点で実行される閾値設定処理の中で、S107においてA/B>欠歯判定閾値であると判断された場合、S109において、CPU10は、パルスカウンタ212のカウント値C0を取得する。CPU10は、取得したカウント値C0にあらかじめ定められたパルス数mを加算した値C0+mを、作動対象期間Pの開始時点判定用閾値として、シーケンサ22に設定する。CPU10は、取得したカウント値C0にあらかじめ定められたパルス数nを加算した値C0+nを、作動対象期間Pの終了時点判定用閾値として、シーケンサ22に設定する。シーケンサ22は、パルスカウンタ212のカウント値に基づいて、そのカウント値がC0+mに到達すれば作動対象期間Pが開始したと判断することができる。シーケンサ22は、パルスカウンタ212のカウント値に基づいて、そのカウント値がC0+nに到達すれば作動対象期間Pが終了したと判断することができる。
S109を終えた場合又はS107においてA/B>欠歯判定閾値ではないと判断された場合、S111において、CPU10は、今回のエッジ時間間隔Aをメモリに格納する。ここでメモリに格納される今回のエッジ時間間隔Aは、次回の閾値設定処理の中で、S103において、前回のエッジ時間間隔Bとしてメモリから取得される。S111を終えたら、図2に示す閾値設定処理を終了する。
[フィルタ演算処理]
次に、シーケンサ22が実行するフィルタ演算処理について、図3に基づいて説明する。フィルタ演算処理は、ノッキングセンサ32からの入力値に対してフィルタリングを行うことにより、ノッキングの発生の有無を検出する上で有効な成分を抽出するための処理である。なお、CPU10とは異なり、シーケンサ22にはタスクの概念がない。そのため、シーケンサ22の作動開始後、シーケンサ22はフィルタ演算処理を何度も繰り返す。
フィルタ演算処理を開始すると、S201において、シーケンサ22は、パルスカウンタ212のカウント値を取得する。続いて、S203において、シーケンサ22は、作動対象期間内か否かを判断する。S203では、S201において取得したカウント値が、S109において設定された作動対象期間Pの開始時点判定用閾値C0+mと終了時点判定用閾値C0+nとの間の値であれば、作動対象期間Pの期間内であると判断する。S203では、S201において取得したカウント値が、S109において設定された作動対象期間Pの開始時点判定用閾値C0+mと終了時点判定用閾値C0+nとの間の値でなければ、作動対象期間Pの期間外であると判断する。
作動対象期間内である場合は、S203においてYESと判断され、シーケンサ22は、S205-S209を実行する。一方、作動対象期間外である場合は、S203においてNOと判断され、シーケンサ22は、S211を実行する。
S203からS205へ進む場合、S205において、シーケンサ22は、ADC値(すなわち、ADC15の出力するディジタルデータ。)を取得する。続いて、S207において、シーケンサ22は、フィルタ演算を実施してフィルタ値を更新する。より具体的な例を示せば、例えば図6に示す例の場合、時刻t3から時刻t4までの作動対象期間Pにおいては、シーケンサ22がADC値を取得し、そのADC値に対してフィルタ演算を施してフィルタ値を更新する。これにより、時刻t4において、フィルタ値は、更新前の値(例えば、図6中に示す0xAAAAAAAA。)から更新後の値(例えば、図6中に示す0xBBBBBBBB。)に変更される。
続いて、S209において、シーケンサ22は、動作状態レジスタ231をセットする。より具体的な例を示せば、例えば図6に示す例の場合、時刻t4において、動作状態レジスタ231は、オフからオンに変更される。S203からS211へ進む場合、S211において、シーケンサ22は、クランク角度が作動対象期間に入るまで作動を停止する。なお、S209又はS211を終了したら、S201へ戻る。これにより、シーケンサ22はフィルタ演算処理を何度も繰り返す。
なお、S207において更新されるフィルタ値は、CPU10によって実行されるノッキング検出処理において利用される。ただし、ノッキング検出処理の内容そのものは、本実施形態の要部ではないので、これ以上の説明は省略する。
[状態確認処理]
次に、CPU10が実行する状態確認処理について、図4に基づいて説明する。状態確認処理は、シーケンサ22が正常に作動している状態にあるか否かを確認するための処理である。状態確認処理は、状態確認処理の実行タイミングT1が到来するたびに周期的に実行される処理である。
状態確認処理を開始すると、S301において、CPU10は、パルスカウンタ212から今回のカウント値を取得する。より具体的な例を示せば、例えば図6に示す例の場合、状態確認処理の今回の実行タイミングT1である時刻t9において、CPU10は、パルスカウンタ212から今回のカウント値C2を取得する。続いて、S303において、CPU10は、メモリ(例えば第1RAM13。)から前回のカウント値を取得する。より具体的な例を示せば、例えば図6に示す例の場合、状態確認処理の前回の実行タイミングT1である時刻t5において取得されて第1RAM13に格納された前回のカウント値C1を、第1RAM13から取得する。
続いて、S305において、CPU10は、今回のカウント値と前回のカウント値との差を算出する。より具体的な例を示せば、例えば図6に示す例の場合、今回のカウント値C2と前回のカウント値C1との差D1=(C2-C1)を算出する。続いて、S307において、CPU10は、S305において算出された差が、閾値以上か否かを判断する。このS307は、作動対象期間が経過しているか否かを判断するための処理ステップである。
より具体的な例を交えて説明すれば、例えば図6に示す例の場合、S305において算出された差D1が、閾値K以上か否かを判断する。上記閾値Kとしては、今回のカウント値C2と前回のカウント値C1との差D1が閾値K以上となっている場合には、少なくとも1回は作動対象期間Pが経過していると見込まれる程度の値が、あらかじめ設定されている。そのため、S307において、差D1が閾値K以上であると判断される場合には、少なくとも1回は作動対象期間Pが経過している蓋然性が高い。また、S307において、差D1が閾値K未満であると判断される場合には、作動対象期間Pが経過していない蓋然性が高い。
そこで、差D1が閾値K以上である場合は、S307ではYESと判断され、S309へ進む。一方、差D1が閾値K以上ではない場合(すなわち、閾値K未満である場合。)は、S315へ進む。S307からS309へ進んだ場合、S309において、CPU10は、動作状態レジスタ231がオンか否かを判断する。動作状態レジスタ231がオンである場合、S309ではYESと判断され、S311において、CPU10は、シーケンサ22は正常と判定する。すなわち、シーケンサ22は正常に作動している状態にあると判定される。一方、動作状態レジスタ231がオンではない場合(すなわち、オフである場合。)、S309ではNOと判断され、S313において、CPU10は、シーケンサ22は異常と判定する。すなわち、シーケンサ22は正常に作動している状態にはないと判定される。S311又はS313を終了したらS315へ進む。
S307、S311又はS313からS315へ進んだ場合、S315において、CPU10は、動作状態レジスタ231をリセットする。すなわち、CPU10は、動作状態レジスタ231をオフにする。続いて、S317において、CPU10は、今回のカウント値をメモリに格納する。ここでメモリに格納される今回のカウント値は、次回の状態確認処理の中で、S303において、前回のカウント値としてメモリから取得される。S317を終えたら、図2に示す閾値設定処理を終了する。
上記S307-S313について、より具体的な例を挙げて説明する。例えば、図6に示す例の場合、時刻t3から時刻t4までの作動対象期間Pは、シーケンサ22が正常に作動している。そのため、時刻t4の時点で、シーケンサ22はフィルタ値を0xAAAAAAAAから0xBBBBBBBBに更新し、動作状態レジスタ231をセットしている。
このような状況において、時刻t5の時点でCPU10がS307を実行する際に、時刻t5の時点でパルスカウンタ212から取得される今回のカウント値と、図6には図示されていない時点でメモリに保存された前回のカウント値との差が、閾値K以上であったとする。この場合、CPU10は、S309を実行し、時刻t5の時点で動作状態レジスタ231がオンなので、S311において、シーケンサ22が正常な状態にあると判定する。
一方、時刻t6の時点でシーケンサ22に故障が発生し、シーケンサ22が正常に作動しない状態に陥ったと仮定する。この場合、時刻t8の時点に至っても、シーケンサ22はフィルタ値を更新せず、動作状態レジスタ231をセットしない。
このような状況において、時刻t9の時点でCPU10がS307を実行する際には、時刻t9の時点でパルスカウンタ212から取得される今回のカウント値C2と、時刻t5の時点でメモリに保存された前回のカウント値C1との差D1が、閾値K以上であると判断する。この場合、CPU10は、S309を実行し、時刻t9の時点で動作状態レジスタ231がオフなので、S313において、シーケンサ22が異常な状態にあると判定する。
つまり、CPU10は、まず、S307において、今回のカウント値と前回のカウント値との差が閾値以上であるか否かを判断し、閾値以上である場合には、次に、S309において、動作状態レジスタ231がオンであるか否かを判断する。その結果、動作状態レジスタ231がオンであれば、シーケンサ22が正常な状態にあると判定し、動作状態レジスタ231がオフであれば、シーケンサ22が異常な状態にあると判定する。
一方、CPU10は、まず、S307において、今回のカウント値と前回のカウント値との差が閾値以上であるか否かを判断し、閾値以上ではない場合には、S309-S311を実行しない。これにより、例えば、内燃機関が停止してパルスカウンタ212のカウント値が増加しない状況下では、動作状態レジスタ231がオンにならない場合でも、シーケンサ22が異常な状態にあると誤判定されるのを回避することができる。
より具体的な例を挙げて説明すると、例えば図7に示すように、時刻t11の時点で内燃機関が停止したとする。この場合、内燃機関の停止後は、パルスカウンタ212のカウント値が増加しなくなる。このような状況において、時刻t12の時点でCPU10がS307を実行する際には、時刻t12の時点でパルスカウンタ212から取得される今回のカウント値C3と、時刻t5の時点でメモリに保存された前回のカウント値C1との差D2が、閾値K未満であると判断する。この場合、CPU10は、S309-S313を実行しない。したがって、時刻t12の時点で動作状態レジスタ231がオフとなっているにもかかわらず、シーケンサ22が異常な状態にあると判定されるのを回避することができる。
[フェイルセーフ処理]
次に、CPU10が実行するフェイルセーフ処理について、図5に基づいて説明する。フェイルセーフ処理は、CPU10において、状態確認処理とは別のタスクとして実行される処理である。フェイルセーフ処理を開始すると、S401において、CPU10は、シーケンサ22の作動状態を取得する。ここで取得される作動状態は、S311又はS313による判定結果に相当する情報である。この情報は、状態確認処理を実行する別タスクから伝達される情報である。
続いて、S403において、CPU10は、シーケンサ22の作動状態は異常か否かを判断する。シーケンサ22の作動状態が異常でない場合(すなわち、正常な場合。)は、S403においてNOと判断され、図5に示すフェイルセーフ処理を終了する。一方、シーケンサ22の作動状態が異常な場合は、S403においてYESと判断され、S405において、CPU10は、警告灯を点灯させる。本実施形態の場合、S405では、車両のインストルメントパネルに組み込まれたMILを点灯させる。なお、MILは、Malfunction Indication Lampの略称である。
続いて、S407において、CPU10は、点火角度の進角制限値に遅角した角度を設定する。これにより、点火時期が過度に進角方向へ振れるのを抑制して、ノッキングの発生を抑制する。S407を終えたら、図5に示すフェイルセーフ処理を終了する。
[効果]
以上説明した通り、上記ECU1によれば、CPU10は、S307により作動対象期間が経過したと判定され、かつ、S309によりフィルタ値を第2RAM221から取得可能な状態にあると判定された場合に、シーケンサ22が正常な状態にあると判定する。また、S307により作動対象期間が経過したと判定され、かつ、S309によりフィルタ値を第2RAM221から取得可能な状態にはないと判定された場合に、シーケンサ22が異常な状態にあると判定する。すなわち、S307により作動対象期間が経過したと判定された場合に限って、シーケンサ22が正常な状態にあるか異常な状態にあるかを判定する。
そのため、例えば内燃機関の停止時等、作動対象期間が経過していないことに起因して、シーケンサ22によるフィルタ値の更新が実行されていない場合には、CPU10によってシーケンサ22が異常な状態にあると判定されることはない。その一方、例えば、作動対象期間が経過しているにもかかわらず、シーケンサ22の故障に起因して、シーケンサ22によるフィルタ値の更新が実行されていない場合には、CPU10によってシーケンサ22が異常な状態にあると判定される。したがって、このように構成されていれば、シーケンサ22が作動対象期間内にのみ作動するように構成されているにもかかわらず、シーケンサ22が作動しているか否かをCPU10で適正に監視することができる。
また、本実施形態の場合、S307により作動対象期間が経過していないと判定された場合には、S309-S311を実行しないように構成されている。そのため、S307及びS309の双方の判断を実行した上で、それらの判断結果に応じた処理を実行する場合に比べ、S309の実行を省略できる機会が生じるので、その分だけCPU10にかかる負荷を軽減することができる。
また、本実施形態の場合、CPU10は、動作状態レジスタ231がセットされているかリセットされているかに基づいて、フィルタ値を取得できるか否かを判断できる。別の表現をすれば、本実施形態の場合、CPU10は、動作状態レジスタ231がオンかオフかに基づいて、シーケンサ22によるフィルタ値の更新が完了しているか否かを判断できる。したがって、CPU10は、動作状態レジスタ231の内容を判断するという簡単な処理を実行するだけで、有効なフィルタ値を取得可能かどうか知ることができる。
また、本実施形態の場合、S307により作動対象期間が経過していないと判定された場合には、S309を実行しないことにより、CPU10が、動作状態レジスタ231の内容を参照しないように構成されている。したがって、CPU10が、動作状態レジスタ231の内容を参照してから、S309を実行した上で、判断結果に応じた処理を実行する場合に比べ、動作状態レジスタ231の内容を参照する処理を省略できる機会が生じるので、その分だけCPU10にかかる負荷を軽減することができる
また、本実施形態の場合、図2に示す閾値設定処理では、CPU10が、クランク角センサ31から入力されるパルス信号中に含まれる欠歯区間を検出したことを契機として、欠歯区間の検出後に検出されるパルス数に基づき、作動対象期間であるノッキング検出対象期間を設定する。そして、図3に示すフィルタ演算処理では、シーケンサ22が、CPU10によって設定されたノッキング検出対象期間の期間内であるのか否かを特定し、ノッキング検出対象期間の期間内であると特定された場合に、ノッキングセンサ32からの入力信号をA/D変換して得られるディジタルデータに対し、ノッキングの判定に用いられる成分を抽出するためのフィルタ演算を施すことにより、データであるフィルタ値を作成して、当該フィルタ値を第2RAM221に格納する。したがって、CPU10は、第2RAM221に格納されたフィルタ値を取得して、ノッキングに関する制御を実行することができる。
また、本実施形態の場合、S313において、シーケンサ22が異常な状態にあると判定された場合には、S405において警告灯を点灯させる。したがって、車両の利用者は、警告灯が点灯したことに基づき、ECU1に何らかの異常が発生していることを認識できる。
また、本実施形態の場合、S313において、シーケンサ22が異常な状態にあると判定された場合には、S407において、点火角度を遅角させることによってノッキングの発生を抑制する遅角制御を実行する。したがって、シーケンサ22がフィルタ値の更新をできない状況下で、ノッキングが発生する可能性を低減することができる。
なお、以上説明した実施形態において、ECU1は、本開示でいう電子制御装置に相当する。シーケンサ22は、本開示でいう第1処理部に相当する。CPU10は、本開示でいう第2処理部に相当する。フィルタ値が格納される第2RAM221とオン及びオフが切り替えられる動作状態レジスタ231は、本開示でいうデータ記憶部に相当する。動作状態レジスタ231は、本開示でいうフラグ記憶部にも相当する。
シーケンサ22において実行されるS201-S203は、本開示でいう特定処理に相当する。シーケンサ22において実行されるS205-S209は、本開示でいう作成処理に相当する。シーケンサ22において実行されるS211は、本開示でいう待機処理に相当する。CPU10において実行されるS301-S317は、本開示でいう状態確認処理に相当する。CPU10において実行されるS301-S307は、本開示でいう第1判定処理に相当する。CPU10において実行されるS309は、本開示でいう第2判定処理に相当する。CPU10において実行されるS405により点灯させる警告灯は、本開示でいう報知部に相当する。CPU10において実行されるS407は、本開示でいう遅角制御に相当する。
[他の実施形態]
以上、電子制御装置について、例示的な実施形態を挙げて説明したが、上述の実施形態は本開示の一態様として例示されるものにすぎない。すなわち、本開示は、上述の例示的な実施形態に限定されるものではなく、本開示の技術的思想を逸脱しない範囲内において、様々な形態で実施することができる。
例えば、上記実施形態では、フィルタ値の更新が完了しているか否かを、動作状態レジスタ231のオン及びオフで、シーケンサ22からCPU10へ伝達するように構成されていたが、動作状態レジスタ231を利用するか否かは任意である。例えば、フィルタ値が格納される記憶領域を利用して、その記憶領域の全ビットがオフ(すなわち、0。)になっている場合には、動作状態レジスタ231がオフの場合と同等な状況にあり、その記憶領域の少なくとも1ビットがオン(すなわち、1。)になっている場合には、動作状態レジスタ231がオンの場合と同等な状況にある、という構成にしてもよい。
また、上記実施形態では、本開示でいう第1処理部の例として、タイマモジュール11に設けられたシーケンサ22を例示したが、タイマモジュール相当物とは別に設けられたプロセッサで、シーケンサ22と同等な処理を実行するように構成してもよい。
また、上記実施形態では、S307でNOと判断された場合に、S309-S313を実行することなく、S315へ進むように構成されていたが、S307でNOと判断された場合には、S311へ進むことにより、シーケンサ22が正常であると見なすように構成してもよい。
なお、上記実施形態で例示した1つの構成要素によって実現される複数の機能を、複数の構成要素によって実現してもよい。上記実施形態で例示した1つの構成要素によって実現される1つの機能を、複数の構成要素によって実現してもよい。上記実施形態で例示した複数の構成要素によって実現される複数の機能を、1つの構成要素によって実現してもよい。上記実施形態で例示した複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現してもよい。上記実施形態で例示した構成の一部を省略してもよい。上記実施形態のうち、1つの実施形態で例示した構成の少なくとも一部を、当該1つの実施形態以外の上記実施形態で例示した構成に対して付加又は置換してもよい。
本開示に記載のECU1及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のECU1及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載のECU1及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。ECU1に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
上述したECU1の他、当該ECU1を構成要素とするシステム、当該ECU1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、ECU1によって実行される制御と同等な制御方法など、種々の形態で本開示を実現することもできる。
[補足]
なお、以上説明した例示的な実施形態から明らかなように、本開示の電子制御装置は、更に以下に挙げるような構成を備えていてもよい。
(A)状態確認処理において、第1判定処理により作動対象期間が経過していないと判定された場合には、第2判定処理を実行しないように構成されていてもよい。
(B)フラグ記憶部(231)を備えてもよい。フラグ記憶部には、第1処理部が作成処理を実行した際にセットされて第2処理部がデータを利用した際にリセットされるフラグが格納されるように構成されてもよい。第2判定処理は、フラグ記憶部に格納されたフラグを参照して、データをデータ記憶部から取得可能か否かを判定するように構成されていてもよい。
(C)状態確認処理において、第1判定処理により作動対象期間が経過していないと判定された場合には、第2判定処理を実行しないことにより、第2処理部がフラグ記憶部に格納されたフラグを参照しないように構成されていてもよい。
(D)第2判定処理は、フラグ記憶部に格納されたフラグを参照して、フラグがセットされている場合には、データをデータ記憶部から取得可能と判定し、フラグがリセットされている場合には、データをデータ記憶部から取得不能と判定するように構成されていてもよい。
(E)CPU(10)と、タイマモジュール(11)と、を備えてもよい。CPUは、第2処理部として機能する。タイマモジュールは、パルス信号が入力される。また、タイマモジュールは、パルスカウンタ(212)を有するタイマ入力器(21)と、第1処理部として機能するシーケンサ(22)と、フラグ記憶部として機能する動作状態レジスタ(231)を有するモニタ(23)と、を備えてもよい。
(F)特定処理は、クランク角センサ(31)から入力されるパルス信号中に含まれる欠歯区間を検出したことを契機として、欠歯区間の検出後に検出されるパルス数に基づき、作動対象期間であるノッキング検出対象期間の期間内であるのか否かを特定するように構成されてもよい。作成処理は、特定処理によってノッキング検出対象期間の期間内であると特定された場合に、ノッキングセンサ(32)からの入力信号をA/D変換して得られるディジタルデータに対し、ノッキングの判定に用いられる成分を抽出するためのフィルタ演算を施すことにより、データであるフィルタ値を作成して、当該フィルタ値をデータ記憶部に格納するように構成されていてもよい。
(G)状態確認処理において、第1処理部が異常な状態にあると判定された場合には、異常な状態にあることを報知するために設けられた報知部を作動させるように構成されていてもよい(S405)。
(H)状態確認処理において、第1処理部が異常な状態にあると判定された場合には、異常な状態にあることを報知するために設けられた報知部を作動させるように構成されていてもよい(S405)。
1…ECU、3…マイクロコンピュータ、10…CPU、11…タイマモジュール、12…ROM、13…第1RAM、14…DMAC、15…ADC、21…タイマ入力器、211…エッジ時刻間隔計測部、212…パルスカウンタ、22…シーケンサ、221…第2RAM、23…モニタ、231…動作状態レジスタ、31…クランク角センサ、32…ノッキングセンサ。

Claims (9)

  1. 第1処理部(22)と、第2処理部(10)と、データ記憶部(221,231)と、を備え、
    前記第1処理部は、
    外部から入力されるパルス信号に基づき、時間非同期で周期的に到来する作動対象期間の期間内であるのか否かを特定する特定処理(S201-S203)と、
    前記特定処理によって前記作動対象期間の期間内であると特定された場合に、前記第2処理部で利用するためのデータを作成して前記データ記憶部に格納する作成処理(S205-S209)と、
    前記特定処理によって前記作動対象期間の期間内ではないと特定された場合に、前記作成処理を実行しない状態で待機する待機処理(S211)と、
    を実行するように構成され、
    前記第2処理部は、
    実行タイミングが到来するたびに周期的に実行される状態確認処理(S301-S317)、
    を実行するように構成され、
    前記状態確認処理の中では、
    前回の前記状態確認処理を実行した際に、前記パルス信号のパルス数をカウントするパルスカウンタから取得された第1カウント値と、今回の前記状態確認処理を実行する際に、前記パルスカウンタから取得される第2カウント値との差に基づいて、前回の前記状態確認処理の実行後に前記作動対象期間が経過したか否かを判定する第1判定処理(S301-S307)と、
    前記第2処理部によって前記データ記憶部に格納される前記データを、前記データ記憶部から取得可能か否かを判定する第2判定処理(S309)と、
    を実行するように構成され、
    前記状態確認処理において、前記第1判定処理により前記作動対象期間が経過したと判定され、かつ、前記第2判定処理により前記データを前記データ記憶部から取得可能と判定された場合には、前記第1処理部が正常な状態にあると判定するように構成され(S311)、
    前記状態確認処理において、前記第1判定処理により前記作動対象期間が経過したと判定され、かつ、前記第2判定処理により前記データを前記データ記憶部から取得不能と判定された場合には、前記第1処理部が異常な状態にあると判定するように構成されている(S313)、
    電子制御装置。
  2. 請求項1に記載の電子制御装置であって、
    前記状態確認処理において、前記第1判定処理により前記作動対象期間が経過していないと判定された場合には、前記第2判定処理を実行しないように構成されている、
    電子制御装置。
  3. 請求項1又は請求項2に記載の電子制御装置であって、
    前記データ記憶部(231)として機能するフラグ記憶部を備え、
    前記フラグ記憶部には、前記第1処理部が前記作成処理を実行した際にセットされて前記第2処理部が前記データを利用した際にリセットされるフラグが格納されるように構成され、
    前記第2判定処理は、前記フラグ記憶部に格納された前記フラグを参照して、前記データを前記データ記憶部から取得可能か否かを判定するように構成されている、
    電子制御装置。
  4. 請求項3に記載の電子制御装置であって、
    前記状態確認処理において、前記第1判定処理により前記作動対象期間が経過していないと判定された場合には、前記第2判定処理を実行しないことにより、前記第2処理部が前記フラグ記憶部に格納された前記フラグを参照しないように構成されている、
    電子制御装置。
  5. 請求項3又は請求項4に記載の電子制御装置であって、
    前記第2判定処理は、前記フラグ記憶部に格納された前記フラグを参照して、前記フラグがセットされている場合には、前記データを前記データ記憶部から取得可能と判定し、前記フラグがリセットされている場合には、前記データを前記データ記憶部から取得不能と判定するように構成されている、
    電子制御装置。
  6. 請求項3から請求項5までのいずれか一項に記載の電子制御装置であって、
    前記第2処理部として機能するCPU(10)と、前記パルス信号が入力されるタイマモジュール(11)と、を備え、
    前記タイマモジュールは、前記パルスカウンタを有するタイマ入力器(21)と、前記第1処理部として機能するシーケンサ(22)と、前記フラグ記憶部として機能する動作状態レジスタ(231)を有するモニタ(23)と、を備える、
    電子制御装置。
  7. 請求項1から請求項6までのいずれか一項に記載の電子制御装置であって、
    前記特定処理は、クランク角センサ(31)から入力される前記パルス信号中に含まれる欠歯区間を検出したことを契機として、前記欠歯区間の検出後に検出されるパルス数に基づき、前記作動対象期間であるノッキング検出対象期間の期間内であるのか否かを特定するように構成され、
    前記作成処理は、前記特定処理によって前記ノッキング検出対象期間の期間内であると特定された場合に、ノッキングセンサ(32)からの入力信号をA/D変換して得られるディジタルデータに対し、ノッキングの判定に用いられる成分を抽出するためのフィルタ演算を施すことにより、前記データであるフィルタ値を作成して、当該フィルタ値を前記データ記憶部に格納するように構成されている、
    電子制御装置。
  8. 請求項7に記載の電子制御装置であって、
    前記状態確認処理において、前記第1処理部が異常な状態にあると判定された場合には、前記異常な状態にあることを報知するために設けられた報知部を作動させるように構成されている(S405)、
    電子制御装置。
  9. 請求項7又は請求項8に記載の電子制御装置であって、
    前記状態確認処理において、前記第1処理部が異常な状態にあると判定された場合には、点火角度を遅角させることによってノッキングの発生を抑制する遅角制御を実行するように構成されている(S407)、
    電子制御装置。
JP2020037556A 2020-03-05 2020-03-05 電子制御装置 Active JP7314838B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020037556A JP7314838B2 (ja) 2020-03-05 2020-03-05 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020037556A JP7314838B2 (ja) 2020-03-05 2020-03-05 電子制御装置

Publications (2)

Publication Number Publication Date
JP2021140450A JP2021140450A (ja) 2021-09-16
JP7314838B2 true JP7314838B2 (ja) 2023-07-26

Family

ID=77669656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020037556A Active JP7314838B2 (ja) 2020-03-05 2020-03-05 電子制御装置

Country Status (1)

Country Link
JP (1) JP7314838B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146131A (ja) 2013-01-28 2014-08-14 Toyota Motor Corp 情報処理装置、監視装置、制御装置
WO2016204070A1 (ja) 2015-06-16 2016-12-22 オリンパス株式会社 Cpu監視装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0544570A (ja) * 1991-08-06 1993-02-23 Japan Electron Control Syst Co Ltd エンジン制御装置の暴走監視装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146131A (ja) 2013-01-28 2014-08-14 Toyota Motor Corp 情報処理装置、監視装置、制御装置
WO2016204070A1 (ja) 2015-06-16 2016-12-22 オリンパス株式会社 Cpu監視装置

Also Published As

Publication number Publication date
JP2021140450A (ja) 2021-09-16

Similar Documents

Publication Publication Date Title
EP2642392B1 (en) Semiconductor integrated circuit device and system using the same
JP2000040075A (ja) マルチプロセッサ・コンピュ―タ・システムにおける決定論、ならびにそのためのモニタおよびプロセッサ
US7584310B2 (en) Signal processing device
JP2000040076A (ja) 多重コンピュ―タ・プロセスの制御
US9665466B2 (en) Debug architecture for multithreaded processors
US8127183B2 (en) Microcomputer system
JP4393954B2 (ja) マイクロコンピュータ
JP7314838B2 (ja) 電子制御装置
JPS6158841B2 (ja)
EP1967950A2 (en) Multiprocessor system for continuing program execution upon detection of abnormality
JP6729407B2 (ja) マイクロコンピュータ
JP5699896B2 (ja) 情報処理装置、異常判定方法
WO2016123413A1 (en) Synchronization in a multi-processor computing system
EP2645254A1 (en) Processor, electronic control device, creation program
EP2667199B1 (en) Semiconductor data processing apparatus and engine control apparatus
JP2007133744A (ja) Cpu間データ転送装置
JP2011150532A (ja) 情報処理装置
US20190294488A1 (en) Electronic control unit
JP6838234B2 (ja) 車両制御装置
JP7435182B2 (ja) 電子制御装置
JP6687998B2 (ja) 推測的割込みシグナリング
JP2012108786A (ja) マイコン、処理同期方法
CN112424753B (zh) 多核系统
JP6183251B2 (ja) 電子制御装置
JPS6043536B2 (ja) マイクロコンピユ−タの誤動作防止装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230412

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: 20230613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230626

R151 Written notification of patent or utility model registration

Ref document number: 7314838

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151