(57)【特許請求の範囲】
【請求項１】
外部から入力される入力信号のレベルが変化したことに応じて、所定の処理を実行する制御部（３１）を備えた電子制御装置（１１）であって、
前記入力信号を入力し、そのレベルが変化したことを検出する入力回路として、
前記入力信号のレベルが変化したときに生じるエッジを検出して、エッジ検出信号を出力するエッジ検出回路（２８）と、
前記入力信号のレベルに応じたレベル検出信号を出力するレベル検出回路（２９）と、を備え、
前記制御部は、前記エッジ検出回路から前記エッジ検出信号が出力されたとき、もしくは、所定のポーリング間隔で、前記レベル検出回路から出力されるレベル検出信号を監視するポーリング処理を実施し、そのポーリング処理実施時に、前記レベル検出信号が制御実行レベルとなっているとき、前記所定の処理を実行するものであって、
前記エッジ検出回路から前記エッジ検出信号が出力されたとき、前記制御部は、割り込み処理として前記所定の処理を実行し、割り込み処理として前記所定の処理が実行される間、前記ポーリング処理を停止するものであり、
前記制御部は、前記ポーリング処理の開始時に、前記ポーリング処理の実行中であることを示すフラグをオンし、前記ポーリング処理の終了時に前記フラグをオフし、
前記制御部は、前記割り込み処理として前記所定の処理を実行した場合に、前記所定の処理において、前記フラグのオン、オフを確認し、前記フラグがオフされている場合には、前記割り込み処理の終了後に前記割り込み処理の開始直前に実行していたタスクを再開することを決定し、前記フラグがオンされている場合には、前記割り込み処理によって中断された前記ポーリング処理の前記割り込み処理の終了後の再開をキャンセルし、前記割り込み処理の終了後に他のタスクの実行を開始することを決定することを特徴とする電子制御装置。
【請求項２】
前記制御部は、前記ポーリング処理の再開をキャンセルするとき、前記フラグをオフすることを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記制御部によって前記レベル検出信号の監視が行われたときからの経過時間を計測するタイマ（３４）と、
前記タイマによる計測時間に基づいて、前記所定のポーリング間隔で、前記レベル検出回路の監視が行われているか否かを判定する判定部（Ｓ３１０、Ｓ３３０）と、を備えることを特徴とする請求項１又は２に記載の電子制御装置。
【請求項４】
前記タイマによる計測時間が前記所定のポーリング間隔に達するとカウントアップされるカウンタ（３５）を備え、
前記判定部は、前記割り込み処理が実行されて前記ポーリング処理が停止された場合に、前記カウンタによるカウント数と前記タイマによる計測時間とに基づいて、前記ポーリング処理の実行間隔が適正であるか否かを判定することを特徴とする請求項３に記載の電子制御装置。
【請求項５】
前記制御部は、前記ポーリング処理を実行したとき、前記カウンタのカウント数及び前記タイマによる計測時間をクリアすることを特徴とする請求項４に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部から入力される入力信号のレベルが変化したことに応じて、所定の処理を実行する制御部を備えた電子制御装置に関する。
【背景技術】
【０００２】
例えば、特許文献１に記載されているように、入力信号を受信する手法として、ポーリングにより、入力信号の値やレベルを取得することが知られている。このようなポーリング処理は、例えば、車両において、エンジン等の車載機器の制御に使用される電子制御装置において採用されることが多い。なぜなら、例えば入力信号のレベル変化によって生じるエッジにより、入力信号のレベル変化を検出する場合、その検出の機会は１度しかなく、また、入力信号にノイズが重畳した場合に誤検出しやすい。それに対して、所定のポーリング間隔毎に、ポーリング処理を行うことにより、大きな時間遅れが生じることなく、確実に入力信号のレベル変化を検出できるためである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００５／０１３１３０号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、車両における機能安全の要求が高まり、車両を電子制御する際の安全性の確保を図るべく、車両向けの機能安全性規格であるＩＳＯ２６２６２が制定された。このＩＳＯ２６２６２では、電子制御されるシステムの機能が故障した時の危険な事象（ハザード）から、各システムを、危険レベル、発生頻度、制御可能性（回避の難易度）の３つのパラメータにより、ＡＳＩＬ（Automotive Safety Integrity Level）と呼ばれる指標を用いてランク付けする。ＡＳＩＬには、危険度の低い方から順に、ＱＭ（Quality Management）、Ａ、Ｂ、Ｃ、Ｄの５つのランクが定められている。システムの設計者は、システムがどのランクに相当するかを決定し、その決定したランクに応じた安全対策を施す必要がある。そして、例えばＡＳＩＬ‐Ｂ以上にランク付けされた場合、時間当りの危険故障確率（Probability of dangerous Failure per Hour：ＰＦＨ）が、１０−７＜ＰＦＨ＜１０−６を満たすことが求められることがある。
【０００５】
ここで、ある入力信号を入力回路にて受信し、論理回路にて所定の演算処理を行い、その演算処理結果に基づく出力信号を出力回路にて出力する電子制御装置を想定した場合、各回路の時間当りの故障確率は、例えば、入力回路が４００×１０−９、論理回路が１０００×１０−９、出力回路が３００×１０−９程度となることがある。この場合、個別の回路の故障確率は、安全性基準を満たしているが、各回路の故障確率の合計が電子制御装置全体の故障確率となるため、電子制御装置全体としては、安全性基準を満たせないことになってしまう。
【０００６】
本発明は、上述した点に鑑みてなされたものであり、高度な機能安全性が求められる場合に、電子制御装置全体の故障確率を効果的に低減することが可能な電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る電子制御装置は、
外部から入力される入力信号のレベルが変化したことに応じて、所定の処理を実行する制御部（３１）を備えた電子制御装置（１１）であって、
入力信号を入力し、そのレベルが変化したことを検出する入力回路として、
入力信号のレベルが変化したときに生じるエッジを検出して、エッジ検出信号を出力するエッジ検出回路（２８）と、
入力信号のレベルに応じたレベル検出信号を出力するレベル検出回路（２９）と、を備え、
制御部は、エッジ検出回路からエッジ検出信号が出力されたとき、もしくは、所定のポーリング間隔で、レベル検出回路から出力されるレベル検出信号を監視するポーリング処理を実施し、そのポーリング処理実施時に、レベル検出信号が制御実行レベルとなっているとき、所定の処理を実行するものであって、
エッジ検出回路からエッジ検出信号が出力されたとき、制御部は、割り込み処理として所定の処理を実行し、割り込み処理として所定の処理が実行される間、ポーリング処理を停止するものであり、
制御部は、ポーリング処理の開始時に、ポーリング処理の実行中であることを示すフラグをオンし、ポーリング処理の終了時にフラグをオフし、
制御部は、割り込み処理として所定の処理を実行した場合に、その所定の処理において、フラグのオン、オフを確認し、フラグがオフされている場合には、割り込み処理の終了後に割り込み処理の開始直前に実行していたタスクを再開することを決定し、フラグがオンされている場合には、割り込み処理によって中断されたポーリング処理の割り込み処理の終了後の再開をキャンセルし、割り込み処理の終了後に他のタスクの実行を開始することを決定することを特徴とする。
【０００８】
このように、本発明に係る電子制御装置（１１）では、入力信号を入力し、そのレベルが変化したことを検出する入力回路として、エッジ検出回路（２８）と、レベル検出回路（２９）とを設けている。換言すれば、入力回路を二重化しているので、入力回路の故障確率を低下させることができ、ひいては電子制御装置全体の故障確率を低減することができる。さらに、本発明では、入力回路として、異なる種類のエッジ検出回路と、レベル検出回路とを設けているので、例えば入力信号の変化の態様が正常ではない場合であっても、入力信号の変化を検知できる可能性を高めることができ、機能安全性の向上に寄与できる。
【００１０】
さらに、本発明に係る電子制御装置（１１）では、エッジ検出信号が出力されたとき、制御部は、割り込み処理として所定の処理を実行する。そのため、ポーリング処理の実行中に、割り込み処理が開始されることも起こりえる。この場合、実行中のポーリング処理は中断され、かつ、割り込み処理としての所定の処理が終了するまで、ポーリング処理は停止される。そして、割り込み処理の終了後に中断したポーリング処理を再開したとすると、例えば、中断前は、入力信号のレベルが制御実行レベルであり、再開後は、入力信号のレベルが非制御実行レベルに変化してしまい、検出対象となる入力信号のレベルに不整合が生じ、それに起因してポーリング処理に不具合が生じる可能性がある。
【００１１】
そのため、本発明に係る電子制御装置では、割り込み処理を開始したとき、中断された処理がポーリング処理であるか否かを判定可能なフラグを設けている。そして、フラグにより中断された処理がポーリング処理であると判定された場合、割り込み処理の終了後のポーリング処理の再開をキャンセルし、割り込み処理の終了後に他のタスクの実行を開始する。これにより、入力信号のレベルに不整合が生じるような事態の発生を防止することができる。
【００１２】
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１３】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１４】
【図１】ハイブリッド車両１の走行を制御するための構成を示したブロック図である。
【図２】ＴＣＳＥＣＵ１２からの指令信号の入力回路を含む、Ｈ／ＶＥＣＵ１１の内部の回路構成を示す構成図である。
【図３】エッジ検出回路２８の一例を示す回路図である。
【図４】レベル検出回路２９の一例を示す回路図である。
【図５】エッジ検出回路２８及びレベル検出回路２９の出力信号を示す波形図である。
【図６】Ｈ／ＶＥＣＵ１１が、所定のポーリング間隔で、レベル検出回路２９から出力されるレベル検出信号を監視するポーリング処理を示すフローチャートである。
【図７】図６のフローチャートの信号レベル監視処理の詳細な内容を示すフローチャートである。
【図８】図６のフローチャートの実行間隔監視処理の詳細な内容を示すフローチャートである。
【図９】エッジ検出回路２８からのエッジ検出信号がマイコン３１に入力されたときに、マイコン３１において、割込み処理として実行される処理を示すフローチャートである。
【図１０】割込み処理と、ポーリング処理との関係を示す説明図である。
【図１１】ポーリング処理により、ＴＣＳＥＣＵ１２からの指令信号のローレベルからハイレベルへのレベル変化を検出して空転抑制制御を開始し、ハイレベルからローレベルへのレベル変化を検出して空転抑制制御を終了する例を示した説明図である。
【図１２】割込み処理後に、中断されたポーリング処理を再開する例を示した説明図である。
【図１３】割込み処理後に、中断されたポーリング処理をキャンセルし、他のタスクを実行する例を示した説明図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態による電子制御装置について、図面を参照しつつ説明する。本実施形態では、電子制御装置を、車両の走行駆動源としてエンジンとモータとを有するハイブリッド車両の制御に適用した例について説明する。
【００１６】
図１は、ハイブリッド車両１の走行を制御するための構成をブロック図として示した構成図である。図１に示すように、ハイブリッド車両１は、走行駆動源として、モータ２０と、エンジン２１とを有する。モータ２０は、車両の駆動軸上に配設されている。さらに、エンジン２１の出力軸には、例えば無段変速機などのトランスミッション２２が連結されている。
【００１７】
モータ２０は、ハイブリッド車両１に搭載された電池から電源供給を受けて動作し、エンジン２１の駆動トルクをアシストすることが可能なものである。また、モータ２０は、ハイブリッド車両１が減速するときには、車輪側からの駆動力によって回転駆動されて発電を行い、電池を充電（回生ブレーキ）するジェネレータ機能も有している。このような構成において、モータ２０とエンジン２１との間にクラッチを設けて、エンジン２１をモータ２０から切り離すことができるようにすれば、モータ２０の駆動力のみにてハイブリッド車両１を走行させるようにすることも可能となる。
【００１８】
トランスミッション２２は、例えば、エンジン２１の出力軸に連結された入力軸と、ドライブシャフトに連結された出力軸とを、金属ベルトにより連結した一般的な構成を備える無段変速機である。すなわち、このトランスミッション２２は、例えば油圧を用いて、入力軸及び出力軸に設けられたプーリのプーリ幅を変化させて金属ベルトの巻き掛け半径を変化させ、変速比を無段階に変化させることが可能なものである。ただし、トランスミッション２２として、無断変速機に代えて、予め設定された複数の変速比を有するオートマチックトランスミッションを用いることも可能である。
【００１９】
また、ハイブリッドシステムとして、シリーズ方式、パラレル方式、シリーズ・パラレル方式などいずれの方式によるハイブリッドシステムを用いることも可能である。
【００２０】
そして、本実施形態においては、ハイブリッド車両１の制御系として、図１に示すように、ハイブリッド（Ｈ／Ｖ）ＥＣＵ１１、トラクション（ＴＣＳ）ＥＣＵ１２、エンジンＥＣＵ１３、ブレーキＥＣＵ１４を備えている。これら複数のＥＣＵ１１〜１４は、通信線１０を介して相互に通信可能に接続されている。この各ＥＣＵ１１〜１４間の相互の通信には、公知の車内ＬＡＮ（ＣＡＮ（登録商標）やＬＩＮなど）が用いられる。
【００２１】
次に、ハイブリッド車両の制御系の構成について説明する。
【００２２】
Ｈ／ＶＥＣＵ１１は、ハイブリッド車両１が最も効率よく運行できるように、ハイブリッド車両１の駆動システム全体を統合的に制御するものである。このＨ／ＶＥＣＵ１１は、運転者のアクセル操作（例えばアクセル開度）、車速などから、必要とされる駆動力を算出するとともに、ハイブリッド車両１の走行状態に応じ、その必要とされる駆動力を最も効率良く実現するために、モータ２０及びエンジン２１が担うべき駆動トルクの配分を決定する。例えば、車両の発進時などのエンジン効率の低い速度領域では、モータ２０の駆動トルクによりエンジン２１の駆動トルクをアシストしたり、モータ２０の駆動トルクのみで走行したりするように、駆動トルクの配分を決定する。決定されたエンジンの駆動トルク（目標エンジントルク）は、通信線１０を介してＨ／ＶＥＣＵ１１からエンジンＥＣＵ１３に与えられる。
【００２３】
また、Ｈ／ＶＥＣＵ１１は、運転者がブレーキ操作を行った時、ブレーキペダルの踏み込み量、車速などから、必要とされる制動力を算出する。そして、モータ２０の回生ブレーキによる制動トルクと、ブレーキ装置による制動トルクとにより、必要とされる制動力が発生されるように、それぞれが分担すべき制動トルクを決定する。決定されたブレーキ装置による制動トルク（目標ブレーキトルク）は、通信線１０を介してＨ／ＶＥＣＵ１１からブレーキＥＣＵ１４へ与えられる。
【００２４】
なお、ブレーキ装置による制動トルクは、必要とされる制動力に対して、回生ブレーキによる制動トルクだけでは不足する場合に、その不足分を補うように算出される。また、ブレーキ装置は、例えば電動モータや電磁弁を用いて、運転者によるブレーキペダルの操作に係らず、各車輪の制動機構に印加するブレーキ液圧を発生して、各車輪において制動力を発生可能なものである。
【００２５】
Ｈ／ＶＥＣＵ１１は、モータ２０の制御ＥＣＵとしての役割も兼ねている。そのため、ＨＶＥＣＵ１１は、モータ２０の回転数や回転位置などの情報に基づき、モータ２０が目標とする駆動トルクや制動トルクを発生するように、モータ２０の動作状態を制御するための制御信号（ＰＷＭ信号）をモータ駆動回路（インバータ回路）４２に出力する。
【００２６】
エンジンＥＣＵ１３は、Ｈ／ＶＥＣＵ１１から指示された目標エンジントルクを発生するように、エンジン２１の運転状態を制御する。具体的には、エンジン回転数などの情報に基づき、スロットルバルブ開度や燃料供給量などを調節することにより、エンジン２１が発生するエンジントルクが目標トルクとなるようにエンジン２１の運転状態を制御する。ブレーキＥＣＵ１４は、４輪の各ブレーキの液圧などの情報に基づき、ブレーキ装置が目標とする制動トルクを発生するように、各車輪の制動機構に印加するブレーキ液圧を制御する。
【００２７】
ＴＣＳＥＣＵ１２は、ハイブリッド車両１の発進時や加速時に、駆動輪の空転の発生の有無を判定し、空転が発生したと判定したら、その空転を抑えるよう、Ｈ／ＶＥＣＵ１１に指令信号を出力するものである。図１では、簡略化のため、１つの車輪についての車輪速センサ１６しか図示していないが、ＴＣＳＥＣＵ１２には、各車輪に設けられた車輪速センサ１６の検出信号が、接続線１７を介して入力されている。
【００２８】
車輪速センサ１６は、例えば、電磁ピックアップからなり、対応する車輪の回転速度に対応した検出信号を出力する。ＴＣＳＥＣＵ１２は、各車輪に設けられた車輪速センサ１６からの検出信号に基づき、例えば、非駆動輪の回転速度を基準として駆動輪の回転速度の空転率を算出し、その空転率が所定値を超えた時に、駆動輪に空転が発生したと判定する。なお、空転率の算出は、全車輪の回転速度の平均値を基準としても良い。このようにすれば、車両の全輪が駆動輪である場合であっても、駆動輪の空転率を算出することが可能となる。
【００２９】
ＴＣＳＥＣＵ１２は、駆動輪に空転が発生したと判定したときに空転の抑制を指令する指令信号を出力するが、この指令信号は、空転が発生していないときローレベルを示し、空転が発生したときにハイレベルを示す信号である。この指令信号は、専用線１５を介して、ＴＣＳＥＣＵ１２からＨ／ＶＥＣＵ１１へ入力される。
【００３０】
ＴＣＳＥＣＵ１２から、空転の抑制を指令する指令信号が入力された場合、現状の駆動トルクは過剰であるため、Ｈ／ＶＥＣＵ１１は、駆動トルクを抑制する処理を実行する。例えば、モータ２０及び／又はエンジン２１が発生する駆動トルクを低下させるよう指示したり、空転している車輪に制動力が与えられるようにブレーキＥＣＵ１４に指示したりする。なお、駆動トルクの低下度合や、付与される制動力の大きさは、駆動輪の空転率（空転量）の大きさに応じて、Ｈ／ＶＥＣＵ１１において決定され、該当する各ＥＣＵに指示される。
【００３１】
次に、ＴＣＳＥＣＵ１２からの指令信号の入力回路を含む、Ｈ／ＶＥＣＵ１１の内部の回路構成について、図２を参照しつつ説明する。
【００３２】
図２に示すように、Ｈ／ＶＥＣＵ１１は、電源回路２７を有している。この電源回路２７は、イグニッションスイッチ２４を介して車載バッテリ２３に接続されている。電源回路２７は、イグニッションスイッチ２４がオンされたとき、車載バッテリ２３から電源供給を受けて動作し、他の内部回路に動作電圧を提供する。
【００３３】
Ｈ／ＶＥＣＵ１１には、ＴＣＳＥＣＵ１２から入力される入力信号である指令信号の入力回路として、エッジ検出回路２８と、レベル検出回路２９とが設けられている。すなわち、入力端子２５には、図１の専用線１５が接続されており、入力端子２５を介して、ＴＣＳＥＣＵ１２からの指令信号が、エッジ検出回路２８及びレベル検出回路２９に入力される。
【００３４】
エッジ検出回路２８は、指令信号のレベルが変化したときに生じるエッジを検出して、エッジ検出信号を出力するものである。このエッジ検出回路２８の一例を図３に示す。図３に示す例では、エッジ検出回路２８は、コンデンサ４３を備えている。このコンデンサ４３は、指令信号のレベルが、ローレベルからハイレベルに変化したときに、そのレベル差（電圧差）に応じた電流を通過させる。この電流は、コンデンサの充電が進むにつれて、減少し、コンデンサの端子電圧がレベル差に対応した電圧となったときゼロになる。
【００３５】
コンデンサ４３の下流側は、電源とグランドとの間に直列に設けられた抵抗４４と抵抗４５との間に接続され、かつ、ＮＰＮトランジスタ４６のベースに接続されている。抵抗４４と抵抗４５とは、抵抗４５の端子電圧がトランジスタ４６のベースエミッタ間電圧がオン電圧（例えば、０．７Ｖ）に達しないように、それぞれの抵抗値が定められている。しかし、指令信号のレベル差に応じた電流がコンデンサ４３を通過した場合、その電流は、抵抗４５を介して、グランドに流れる。これにより、抵抗４５の端子電圧が上昇し、トランジスタ４６のベースエミッタ間電圧がオン電圧に達して、トランジスタ４６がオンする。
【００３６】
トランジスタ４６のコレクタは、プルアップ抵抗４７を介して電源に接続されるとともに、インバータ４８に接続されている。トランジスタ４６は、指令信号のレベルがローレベルからハイレベルに変化するとき以外は、オフ状態を維持している。このトランジスタ４６のオフ状態においては、インバータ４８の入力端子には、プルアップ抵抗４７を介して動作電圧が印加される。すなわち、インバータ４８の入力電位がハイレベルとなるので、インバータ４８はローレベルの信号を出力する。
【００３７】
しかし、指令信号のレベルがローレベルからハイレベルに変化してトランジスタ４６がオン状態となると、インバータ４８の入力電位はローレベルとなり、インバータ４８の出力する信号はハイレベルとなる。そして、コンデンサ４３を通過する電流が減少することにより、抵抗４５の端子電圧が低下すると、ベースエミッタ間電圧がオン電圧を下回ってトランジスタ４６はオフ状態に戻る。このため、インバータ４８の出力信号はやがてローレベルに戻る。
【００３８】
このように、エッジ検出回路２８は、図５に示す如く、ＴＣＳＥＣＵ１２からの指令信号がローレベルからハイレベルに立ち上がったとき、その時点から所定時間だけハイレベルとなるエッジ検出信号を出力する。なお、上述したエッジ検出回路２８の構成は、単なる一例にすぎず、他の回路構成により、エッジ検出回路を実現することも可能である。例えば遅延回路とＡＮＤ回路とを組み合せたり、微分回路を用いたりすることにより、エッジ検出回路を構成することもできる。
【００３９】
レベル検出回路２９は、指令信号のレベルに応じたレベル検出信号を出力するものである。このレベル検出回路２９の一例を図４に示す。図４に示す例では、レベル検出回路２９は、抵抗４９、５０とコンパレータ５１とによって構成されている。指令信号は、コンパレータ５１の＋側入力に与えられ、抵抗４９と抵抗５０とによって動作電圧を分圧した電位が、コンパレータ５１の−側入力に与えられる。抵抗４９と抵抗５０によって分圧される電位は、指令信号がローレベルのとき指令信号よりも大きく、ハイレベルのとき指令信号よりも小さくなるように設定されている。このため、レベル検出回路２９は、図５に示す如く、ＴＣＳＥＣＵ１２からの指令信号がローレベルである間は、ローレベルの信号を出力する。一方、ＴＣＳＥＣＵ１２からの指令信号がハイレベルである間は、ハイレベルのレベル検出信号を出力する。
【００４０】
Ｈ／ＶＥＣＵ１１は、入力端子２６に接続され、車速や空転量などの各種情報を入力するための入力回路３０を備えている。この入力回路３０は、例えば上述した車内ＬＡＮにより情報を送受信するための通信回路を含んでいる。すなわち、Ｈ／ＶＥＣＵ１１は、制御を行う上で必要な情報を、直接、センサ等から入力したり、他のＥＣＵから通信線１０を介して取得したりすることが可能である。
【００４１】
Ｈ／ＶＥＣＵ１１は、マイコン３１を有している。このマイコン３１は、ＣＰＵ３７、ＲＯＭ３２、ＲＡＭ３３、タイマ３４、カウンタ３５、インターフェース３６などを備えるマイクロコンピュータである。
【００４２】
ＣＰＵ３７は、演算回路３８、デコード回路３９、プログラムカウンタ４０、レジスタなどを内蔵している。プログラムカウンタ４０は、ＣＰＵ３７がメモリ（ＲＯＭ３２）のどの位置から命令を呼び出すかを示すものである。デコード回路３９は、読みだした命令をデコード（復号）するものである。演算回路３８は、デコード回路３９によりデコードされた命令に応じた算術演算や論理演算を実行するものである。レジスタ４１は、演算回路３８による演算結果など、一時的な情報を保存しておくためのものである。
【００４３】
このように、マイコン３１において、ＣＰＵ３７が、ＲＡＭ３３やレジスタ４１の一時記憶機能を利用しつつ、ＲＯＭ３２に予め記憶された制御プログラム及びインターフェース３６を介して入力したデータなどに応じて、各種の演算処理を行う。そして、各種の演算処理を通じて、Ｈ／ＶＥＣＵ１１は、ハイブリッド車両１の駆動システム全体を統合的に制御する。さらに、ＴＣＳＥＣＵ１２から、駆動輪の空転を抑制するよう指示する指令信号を受け取ったとき、空転を抑制するための制御を行う。
【００４４】
タイマ３４は、マイコン３１により、後述するポーリング処理が実行されたときに、レベル検出信号の監視のために用いられるものであり、前回のポーリング処理（レベル検出信号の監視）からの経過時間を計測するものである。マイコン３１は、このタイマ３４の計測時間に基づいて、ポーリング処理が適正な間隔で実行されているか否かを判定する。そして、マイコン３１は、ポーリング処理の実行時に、ポーリング処理が適正な間隔で実行されていると判定すると、タイマ３４をリセットする。これにより、タイマ３４は、それまでの計測時間が取り消され、次回のポーリング処理が実行されるまでの経過時間の計測を開始する。
【００４５】
カウンタ３５は、タイマ３４による計測時間が所定のポーリング間隔に達するごとに、カウントアップを行うものである。すなわち、このカウンタ３５は、所定のポーリング間隔が経過しても、ポーリング処理が行われず、タイマ３４がリセットされなかった回数をカウントする。このカウント回数には、ポーリング処理が、後述する割込み処理により中断された場合も含まれる。
【００４６】
次に、本実施形態の技術的特徴に係る、Ｈ／ＶＥＣＵ１１における指令信号の取り込みについて、図６〜図９のフローチャートを参照しつつ、詳細に説明する。
【００４７】
図６は、Ｈ／ＶＥＣＵ１１が、所定のポーリング間隔で、レベル検出回路２９から出力されるレベル検出信号を監視するポーリング処理を示すフローチャートである。このポーリング処理は、例えば、ＣＰＵ３７における各タスクの実行スケジュールに従い、所定のポーリング間隔で実行される。なお、前回のポーリング処理から所定のポーリング間隔が経過したか否かは、ＣＰＵ３７の内部タイマに基づいて判断される。
【００４８】
ポーリング処理の優先度は、比較的高く設定されており、ポーリング間隔が経過したと判断されたとき、ポーリング処理よりも優先度の低いタスクが実行されている場合、ＣＰＵ３７は、実行中のタスクを中断して、ポーリング処理を開始する。例えば、図１２，図１３には、タスクＸがポーリング処理よりも優先度の低いタスクに当り、タスクＸの実行中に、ポーリング処理タイミングが到来すると、タスクＸが中断される例が示されている。
【００４９】
ポーリング処理が開始されると、まず、ステップＳ１００において、ポーリング処理の実行中であることを示すポーリング処理フラグを立ち上げる。続くステップＳ１１０では、指令信号のレベルを監視するために、信号レベル監視処理を実行する。この信号レベル監視処理の詳細な内容が図７のフローチャートに示されている。
【００５０】
図７に示されるように、信号レベル監視処理が開始されると、ステップＳ２００において、レベル検出回路２９から出力される信号のレベルがハイレベルであるか否かを判定する。この際、信号レベルがハイレベルであると判定されると、ステップＳ２１０に進み、入力回路３０を介して取得される空転率や車速などの情報に基づき、駆動トルクの低下度合や、駆動輪に付与される制動力の大きさを制御量として決定する。そして、ステップＳ２２０において、決定した制御量を該当するＥＣＵに出力したり、モータ２０の駆動トルクを減少させる場合には、決定した制御量に応じた制御信号をモータ駆動回路４２に出力したりする。
【００５１】
このような制御量の出力処理を完了すると、信号レベル監視処理は終了される。ただし、図１１に示されるように、信号レベル監視処理が完了しても、出力された制御量に基づく、空転抑制制御は継続して実行され、次回のポーリング処理において、実行された空転抑制制御により、空転が収まったか否かが判断されることになる。
【００５２】
一方、ステップＳ２００において、レベル検出回路２９から出力される信号のレベルがハイレベルでないと判定されると、駆動輪に空転は発生していないので、そのまま、図７のフローチャートに示す処理を抜ける。
【００５３】
信号レベル監視処理が終了すると、図６のフローチャートのステップＳ１２０の処理が実行される。このステップＳ１２０では、ポーリング処理が適正な間隔で実行されているか否かを判定するため、実行間隔監視処理を実行する。この実行間隔監視処理の詳細な内容が図８のフローチャートに示されている。
【００５４】
図８に示されるように、実行間隔監視処理が開始されると、ステップＳ３００において、ポーリング処理の実行中に、エッジ検出信号に基づく割込み処理があったか否かを判定する。後述するように、ポーリング処理の実行中に、エッジ検出信号に基づく割込み処理が行われると、ポーリング処理フラグが取り下げられる。従って、ステップＳ３００の判定処理において、ポーリング処理中であるにも係わらず、ポーリング処理フラグがオフされている場合、割込み処理が行われたと判定することができる。
【００５５】
ステップＳ３００の判定処理において、割込み処理は行われなかったと判定された場合、ステップＳ３１０の処理に進む。ステップＳ３１０では、タイマ３４による計測時間を参照し、この計測時間が、ポーリング処理が実行されるべき所定のポーリング間隔に対応する設定時間よりも大きいか否かを判定する。
【００５６】
ステップＳ３１０において、計測時間が設定時間以下と判定された場合、ポーリング処理は、適正な間隔で実行されていることになる。そのため、ステップＳ３２０の処理に進んで、次回の実行間隔監視処理の実行に備えて、タイマ３４及びカウンタ３５をリセットし、計測時間及びカウント値をクリアする。これにより、タイマ３４は、次回の実行間隔監視処理までの経過時間を計測することが可能となり、また、カウンタ３５は、次回の実行間隔監視処理までに、所定のポーリング間隔が経過しても、ポーリング処理が行われなかった回数をカウントすることが可能となる。
【００５７】
一方、ステップＳ３１０において、計測時間が設定時間よりも大きいと判定された場合、ポーリング処理は、適正な間隔で実行されていないことになる。そのため、ステップＳ３４０の処理に進んで、エラー処理を実行する。このエラー処理では、例えば、以後のポーリング処理の実行を禁止し、ＴＣＳＥＣＵ１２からの指令信号の入力を、エッジ検出回路２８からのエッジ検出信号のみに基づいて行うようにする。
【００５８】
ステップＳ３００において、割込み処理が行われたと判定された場合、ステップＳ３３０の処理に進む。ステップＳ３３０では、タイマ３４の計測時間が、所定のポーリング間隔が経過しても、ポーリング処理が行われなかった回数（キャンセル回数）に１を加えた値に設定時間を乗じた値よりも大きいか否かを判定する。
【００５９】
エッジ検出回路２８からのエッジ検出信号がマイコン３１に入力されると、ＣＰＵ３７は、割込み処理として、図９のフローチャートに示す処理を実行する。この割込み処理は、ポーリング処理よりも優先度が高い。そのため、図１０に示されるように、割込み処理の開始タイミングが、ポーリング処理の実行中である場合、そのポーリング処理が中断されるとともに、割込み処理期間中は、ポーリング間隔が経過してもポーリング処理は開始されず、停止したままとされる。
【００６０】
そのため、タイマ３４は、ポーリング間隔が経過してもリセットされず、その計測時間は、ポーリング処理のキャンセル回数に応じた時間となる。従って、この場合、単に設定時間と比較するだけでは、ポーリング間隔が適正であるか否かを判定することはできない。そのため、本実施形態では、ポーリング処理実行中に割込み処理が有った場合、タイマ３４の計測時間を、上述したように、キャンセル回数に１を加えた値と設定時間とを乗じた値と比較する。例えば、図１０に示す例では、ポーリング処理のキャンセル回数は「３」であるため、タイマ３４の計測時間を、設定時間に４を乗じた値と比較する。このため、割込み処理により、ポーリング処理が停止されたときにも、ポーリング処理が、適正な間隔で実行されているか否かを判定することが可能となる。
【００６１】
なお、図１１は、参考のため、ポーリング処理により、ＴＣＳＥＣＵ１２からの指令信号のローレベルからハイレベルへのレベル変化を検出して、空転抑制制御を開始し、ハイレベルからローレベルへのレベル変化を検出して、空転抑制制御を終了する例を示している。エッジ検出回路２８に何らかの異常が生じて、エッジ検出回路２８がエッジ検出信号を出力できない場合には、図１１に示すように、ポーリング処理により、空転抑制制御の開始、終了タイミングが定められることになる。
【００６２】
そして、ステップＳ３３０の処理において、ポーリング処理が適正な間隔で実行されていると判定された場合には、上述したステップＳ３２０の処理を実行し、適正な間隔で実行されていないと判定された場合には、上述したステップＳ３４０の処理を実行する。
【００６３】
実行間隔監視処理が終了すると、図６のフローチャートのステップＳ１３０の処理が実行される。このステップＳ１３０では、ポーリング処理フラグを取り下げる。つまり、上述したステップＳ１００〜Ｓ１２０の処理の完了によりポーリング処理は終了するので、その終了時に、ポーリング処理フラグを取り下げる。これにより、ポーリング処理フラグが立ち上げられている場合、ポーリング処理の実行中を示すことが保証されるようになる。
【００６４】
次に、割込み処理について、図９のフローチャートに基づいて説明する。この割込み処理は、エッジ検出回路２８からエッジ検出信号が出力され、そのエッジ検出信号がマイコン３１に入力されたときに実行されるものである。
【００６５】
割込み処理が開始されると、まず、ステップＳ４００において、制御量の決定、及びその決定した制御量の出力処理を行う。このステップＳ４００の処理は、図７のフローチャートのステップＳ２１０及びＳ２２０の処理と同様である。
【００６６】
続くステップＳ４１０では、ポーリング処理フラグが立ち上がっているか否かを判定する。ポーリング処理フラグが立ち上がっている場合、ポーリング処理の実行中に割込み処理が開始され、ポーリング処理が中断された状態であることを意味する。この場合、割り込み処理の終了後に、図１２に示すように、ポーリング処理を再開したとすると、例えば、中断前は、指令信号のレベルがハイレベルであり、再開後は、指令信号のレベルがローレベルに変化してしまい、検出対象となる指令信号のレベルに不整合が生じ、それに起因してポーリング処理に不具合が生じる可能性がある。
【００６７】
そのため、本実施形態では、ポーリング処理フラグにより、割込み処理によってポーリング処理が中断されたと判定されると、ステップＳ４２０に進んで、残りのポーリング処理の実行をキャンセルする。このキャンセル処理には、ポーリング処理フラグの取り下げも含まれる。そして、ステップＳ４３０において、タスク実行スケジュールや、各タスクの優先度に基づいて実行するタスクを決定し、ＣＰＵ３７の実行アドレスを、決定したタスクにディスパッチする。そして、割込み処理は終了する。
【００６８】
割込み処理終了後は、決定したタスクの実行が開始される。つまり、図１３に示すように、割込み処理終了後は、ポーリング処理は行われず、即座に他のタスク（図１３の例では、タスクＸ）が実行される。
【００６９】
上述したように、割込み処理によりポーリング処理が中断されたときには、残りのポーリング処理をキャンセルするので、ポーリング処理において、指令信号のレベルに不整合が生じるような事態の発生を防止することができる。さらに、残りのポーリング処理をキャンセルして、即座に他のタスクを実行するので、例えば、図１３に示す例のように、ポーリング処理により中断されたタスク（タスクＸ）がある場合、そのタスクの処理開始を早めることができる。
【００７０】
一方、ステップＳ４１０にて、ポーリング処理フラグは立ち上げられていないと判定された場合には、割込みにより中断したタスクが再開されるように、ＣＰＵ３７の実行アドレスを、割込み前のタスクへディスパッチする。そして、割込み制御は終了する。
【００７１】
以上、説明したように、本実施形態による電子制御装置によれば、指令信号を入力し、そのレベルが変化したことを検出する入力回路として、エッジ検出回路２８と、レベル検出回路２９とを設けている。換言すれば、入力回路を二重化しているので、入力回路の故障確率を低下させることができ、ひいてはＨ／ＶＥＣＵ（電子制御装置）１１全体の故障確率を低減することができる。さらに、本実施形態では、入力回路として、異なる種類のエッジ検出回路２８と、レベル検出回路２９とを設けているので、例えば指令信号の変化の態様が正常ではない場合であっても、指令信号の変化を検知できる可能性を高めることができ、機能安全性の向上に寄与できる。
【００７２】
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態にはなんら制限されず、本発明の主旨を逸脱しない範囲において、種々変形して実施することができる。
【００７３】
例えば、上述した実施形態では、入力回路に入力される信号として、ＴＣＳＥＣＵ１２からＨ／ＶＥＣＵ１１に入力される指令信号を対象とする例について説明したが、これに限られるものではない。要するに、本発明による電子制御装置は、外部から入力される入力信号のレベルが変化したことに応じて、所定の処理を実行するものであれば、適用可能である。
【００７４】
また、上述した実施形態では、エッジ検出回路２８は、指令信号の立ち上りエッジが生じたときに、エッジ検出信号を出力するものであったが、エッジ検出回路２８は、指令信号の立ち上りエッジと立ち下がりエッジの双方を検出して、立ち上りエッジ検出信号及び立ち下がりエッジ検出信号を出力するものであっても良い。この場合、立ち上りエッジ検出信号に基づいて、空転抑制制御を開始し、立ち下がりエッジ検出信号に基づいて、空転抑制制御を終了させることができる。
【符号の説明】
【００７５】
１  ハイブリッド車両１
１０  通信線
１１  Ｈ／ＶＥＣＵ
１２  トラクションＥＣＵ
１３  エンジンＥＣＵ
１４  ブレーキＥＣＵ
１５  専用線
１６  車輪速センサ
２０  モータ
２１  エンジン
２２  トランスミッション
【図１】
0006398698.tif 000002
【図２】
0006398698.tif 000003
【図３】
0006398698.tif 000004
【図４】
0006398698.tif 000005
【図５】
0006398698.tif 000006
【図６】
0006398698.tif 000007
【図７】
0006398698.tif 000008
【図８】
0006398698.tif 000009
【図９】
0006398698.tif 000010
【図１０】
0006398698.tif 000011
【図１１】
0006398698.tif 000012
【図１２】
0006398698.tif 000013
【図１３】
0006398698.tif 000014