(58)【調査した分野】(Int.Cl.,DB名)
記憶装置を含む処理装置と、前記処理装置からの指令に基づき外部に駆動信号を出力する駆動回路と、前記処理装置と前記駆動回路との間のシリアル通信回路と、を備えた自動車用電子制御装置において、
前記処理装置は、
外部からのテスト用命令列の送信を受けると、入力したテスト用命令列を前記記憶装置に保存するとともにモード変更判定フラグをセットし、
リセットにより再起動されたときに、前記モード変更判定フラグがセットされていると、前記テスト用命令列を起動シーケンスとして実行して、前記テスト用命令列の実行に伴って収集したデータを前記記憶装置に保存し、前記テスト用命令列の実行後に前記データを外部に送信する、自動車用電子制御装置。
【発明を実施するための形態】
【0009】
以下に本発明の実施の形態を説明する。
図1は、自動車用電子制御装置の一例を示すブロック図である。
図1に示した自動車用電子制御装置10は、処理装置(マイコン)20、駆動回路(ドライバIC)30、入出力回路40を備えている。
【0010】
処理装置20は、CPU21の他、記憶装置であるROM22、RAM23を含む。
RAM23には、自動車用電子制御装置10の電源が切断されても、図示省略した電池から電気が供給されて記憶データが保持されるRAM保持領域が設定されている。なお、RAM23に代えて、又は、RAM23と共に、EEPROMなどの電気的に書き換え可能な不揮発性メモリを設けることができる。
【0011】
処理装置20と駆動回路30とはシリアル通信回路50で接続されている。
駆動回路30は、自動車60に搭載される内燃機関70の複数の燃料噴射弁80それぞれに駆動信号を出力する。
処理装置20は、入出力回路40を介して内燃機関70の運転状態を検出する各種センサの検出信号を入力し、入力した検出信号に基づき燃料噴射量を演算し、当該燃料噴射量の命令信号IS(Instruction Signal)を、シリアル通信回路50を介して駆動回路30に出力する。
【0012】
また、処理装置20から駆動回路30に対しては、命令信号ISの他、命令信号ISに同期するクロック信号CLKが出力され、駆動回路30から処理装置20に対しては、診断情報などの信号DS(Diagnosis Signal)が出力される。
なお、駆動回路30が駆動信号を出力する制御対象機器は燃料噴射弁80に限定されず、点火装置、電動ポンプ、ソレノイドなどを制御対象機器とすることができる。
【0013】
各種センサとして、例えば、内燃機関70の負荷TPを検出する機関負荷センサ91、内燃機関70の回転速度NEを検出する回転センサ92、内燃機関70の冷却水の温度TWを検出する水温センサ93などを設けてある。
【0014】
上記の自動車用電子制御装置10について、結線の誤りや制御動作の誤りなどの異常の有無が、外部ツール100を用いてテストされる。
テストを実施する場合には、マイコンを備えた汎用パソコンなどの外部ツール100を自動車用電子制御装置10に接続し、外部ツール100と処理装置20との間で通信が行えるようにする。
【0015】
そして、外部ツール100は、処理装置20に向けてテスト用命令列(プログラム&テストシナリオ)を送信し、テスト用命令列を受信した処理装置20は、記憶装置であるRAM23のRAM保持領域にテスト用命令列を保存する。更に、処理装置20は、RAM23に保存したテスト用命令列を所定のトリガ信号応じて実行し、テスト用命令列の実行によって収集したデータを、RAM23に保存する。処理装置20は、テスト用命令列の実行後に、外部ツール100からの読み出し要求に応じてRAM23から前記データを読み出し、外部ツール100に送信する。
【0016】
外部ツール100では、処理装置20から送信されたデータに基づき、結線状態や制御動作などの評価が行われ、評価結果に応じてメンテナンスが実施される。
上記のように、テスト用命令列を処理装置20の記憶装置(RAM23)に記憶させてから前記テスト用命令列を処理装置20において実行させ、テスト用命令列の実行により収集されたデータを処理装置20の記憶装置(RAM23)に一旦保存させてから、外部ツール100に送信する。
【0017】
従って、例えば、外部ツール100と処理装置20との間における通信速度が、処理装置20と駆動回路30との間での通信速度よりも遅い場合であっても、テスト用命令列の実行及びデータ収集を、通信速度の違いに影響されることなく行え、処理装置20と駆動回路30との間における通信テストなどを含めて十分なテストを行える。また、処理装置20と外部ツール100との間での通信が不能となる、電子制御装置10の起動状態や終了状態でのテストも可能になる。
【0018】
図2のフローチャートは、外部ツール100を用いた電子制御装置10のテスト処理の一例を示す。
まず、処理装置20が通常のプログラムとして起動すると(ステップS201)、外部ツール100は、処理装置20に対し、起動時に実行させるテスト用命令列として、環境情報、プログラムデータ、テストシナリオを送信する(ステップS202)。
【0019】
なお、環境情報には、処理装置20と駆動回路30との間における通信周期、通信形式、データタイプなどの通信情報が含まれ、テストを実施する場合には、係る通信情報に応じて、処理装置20と駆動回路30との間における通信設定が変更される。また、テストシナリオには、テスト実施項目の他、待機時間指定などが含まれ、テストシナリオの命令間に待機を挟むことで、適切なタイミングで命令を実行させることができる。
【0020】
テスト用命令列の送信を受けた処理装置20は、
図3に示すように、受信した環境情報、プログラム、テストシナリオをRAM23のRAM保持領域にコピーし、環境情報として、起動時に通常のプログラムではなく、外部ツール100から受信したプログラムを実行させるためのモード変更判定フラグをセットする(ステップS203)。
なお、マイコンによっては、RAM領域の一部分をRAM保持できるものがあり、RAM保持領域とは、RAM領域の全て若しくは一部分である。また、通常のRAM領域は、リセットした場合にデータが不定になってしまうが、RAM保持領域は、リセット直前の値を保障する領域である。
処理装置20において、環境情報、プログラムデータ、テストシナリオがRAM23のRAM保持領域にコピー(保存)されると、外部ツール100は、処理装置20に対してリセット信号を出力することでリセット要求を行う(ステップS204)。
【0021】
外部ツール100からリセット信号を受けた処理装置20は、自身のリセットを実施する(ステップS205)。
なお、処理装置20のリセット(再起動)は、外部ツール100からの命令(リセット要求)に基づき実施させることができる他、処理装置20の内部プログラムによる命令や、処理装置20のポート入力などに基づき実施させることができる。
【0022】
処理装置20はリセットされて初期状態に戻ると、外部ツール100からの受信待ち状態に移行し、更に、始動シーケンスとして、リセット前に外部ツール100から受信したプログラムの実行を開始する(ステップS206)。
電子制御装置10のテストにおいては、例えば、制御対象aを1μs間通電させ、その他の制御対象は通電させない→2μs間何もしない→制御対象b、c、dを1μs間通電させ、その他の制御対象は通電させない、というような命令が駆動回路30に送信されるように、処理装置20による制御動作を実施させる。
【0023】
処理装置20のリセットによる起動の流れを、
図4のフローチャートに従って説明すると、まず、リセットによって電子制御装置10が再起動すると(ステップS301)、環境情報としてのモード変更判定フラグがセットされているか否かを判定する(ステップS302)。
モード変更判定フラグがセットされていない場合には、テスト実施状態(テストモード)ではなく、通常のプログラム(実際に内燃機関を駆動させる場合のプログラム)に従って燃料噴射弁80を駆動させる状態(通常制御モード)であるので、通常制御へ移行する(ステップS303)。
一方、モード変更判定フラグがセットされている場合には、テスト実施状態(テストモード)であり、外部ツール100からの受信待ち状態に設定し(ステップS304)、外部ツール100から受信したプログラムを実行する(ステップS305)。
【0024】
図2のフローチャートに戻って説明を続けると、処理装置20は、受信したプログラムの実行を開始すると、テストシナリオに従い駆動回路30への命令を実行する(ステップS207)。
駆動回路30は、処理装置20から受信した命令に従った動作(燃料噴射弁80の駆動動作)を行い(ステップS208)、処理装置20は、テスト動作において収集したデータをRAM23のRAM保持領域に保存する(ステップS207)。
【0025】
そして、始動シーケンス(外部ツール100から受信したプログラム)の実行が完了し、処理装置20と外部ツールとの間における通信が可能になると、外部ツール100は、処理装置20が収集してRAM23に保存したデータの読み出し要求信号を、処理装置20に対して送信する(ステップS209)。
【0026】
処理装置20は、外部ツール100からの読み出し要求信号に応じて、RAM23に保存してあるデータを読み出して外部ツール100に向けて送信する(ステップS210)。
処理装置200から送信されたデータを受け取った外部ツール100は、データ保存を行う一方、環境情報のモード変更判定フラグのクリアを要求する信号(フラグクリア要求信号)を、処理装置20に出力する(ステップS211)。
【0027】
モード変更判定フラグのクリア要求を受信した処理装置20は、モード変更判定フラグをクリアし、かつ、リセットを実行する(ステップS212)。
モード変更判定フラグがクリアされた状態でリセットが実行されると、
図4のフローチャートのステップS302でモード変更判定フラグがセットされていないと判定されることで、ステップS303に進み、通常制御に移行する(ステップS213)ことになる。
【0028】
上記のように、処理装置20にプログラムやテストシナリオを保存させてから、リセットを実施することで、起動シーケンスとしてテストを実行させ、テスト動作で収集されたデータを処理装置20に保存させておいて、保存したデータ(テスト結果を示すデータなど)をテスト終了後に外部ツール100に送信し、外部ツール100にデータ送信を行った後で、再度リセットして今度は通常制御を実施させる。
【0029】
従って、例えば、外部ツール100と処理装置20との間における通信速度が、処理装置20と駆動回路30との間での通信速度よりも遅い場合であっても、テスト動作及びデータ収集を、通信速度の違いに影響されることなく行え、処理装置20と駆動回路30との間における通信テストなどを含めて十分なテストを行える。また、処理装置20と外部ツール100との間での通信が不能となる、電子制御装置10の起動状態においてテストを実行できる。
【0030】
図2のフローチャートは、電子制御装置10の起動状態においてテストを起動シーケンスとして行わせる処理の一例を示したが、
図5のフローチャートは、電子制御装置10の終了状態においてテストを終了シーケンスとして行わせる処理の一例を示す。
まず、処理装置20が通常のプログラムとして起動すると(ステップS401)、外部ツール100は、処理装置20に対し、起動時に実行させるテスト用命令列として、環境情報、プログラムデータ、テストシナリオを送信する(ステップS402)。
【0031】
処理装置20は、受信した環境情報、プログラム、テストシナリオをRAM23のRAM保持領域にコピーし、環境情報として、モード変更判定フラグをセットする(ステップS403)。
次いで、処理装置20は、終了シーケンスとして、外部ツール100から受信したプログラムの実行を開始し、テストシナリオに従い駆動回路30への命令を実行する(ステップS404)。
【0032】
駆動回路30は、処理装置20から受信した命令に従った動作(燃料噴射弁80の駆動動作)を行う(ステップS405)。
そして、処理装置20は、テスト動作において収集したデータをRAM23のRAM保持領域に保存する(ステップS404)。
【0033】
終了シーケンスとしての動作が終了すると、処理装置20は、モード変更判定フラグがセットされている状態で、リセットを実行する(ステップS406)。
リセットによって電子制御装置10が再起動すると、処理装置20は、モード変更判定フラグがセットされていることに基づき、外部ツール100からの受信待ち状態に移行する(ステップS407)。
【0034】
そして、外部ツール100は、テスト用として収集したデータの読み出し要求を、処理装置20に対して送信する(ステップS408)。
外部ツール100からデータの読み出し要求を受信した処理装置20は、RAM23のRAM保持領域に保存してある、テスト動作において収集したデータを外部ツール100に送信する(ステップS409)。
【0035】
処理装置20からデータを受信した外部ツール100は、環境情報のモード変更判定フラグのクリアを要求する信号を、処理装置20に対して送信する(ステップS410)。
モード変更判定フラグのクリアを要求する信号を外部ツール100から受信した処理装置20は、モード変更判定フラグをクリアし、かつ、自身でリセットを実施し(ステップS411)、リセットによって再起動した後は、通常の制御動作を開始する。
【0036】
上記のように、処理装置20にテスト用命令列としてのプログラムやテストシナリオを保存させてから、終了シーケンスとしてテストを実行させ、テスト動作で収集されたデータを処理装置20に保存させる。そして、再起動されたときに、保存したデータ(テスト結果を示すデータなど)を外部ツール100に送信し、外部ツール100にデータ送信を行った後で、再度リセットして今度は通常制御を実施させる。
【0037】
従って、例えば、外部ツール100と処理装置20との間における通信速度が、処理装置20と駆動回路30との間での通信速度よりも遅い場合であっても、テスト動作及びデータ収集を、通信速度の違いに影響されることなく行え、処理装置20と駆動回路30との間における通信テストなどを含めて十分なテストを行える。また、処理装置20と外部ツール100との間での通信が不能となる、電子制御装置10の終了状態においてテストを実行できる。
【0038】
以上、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば、種々の変形態様を採り得ることは自明である。
例えば、電子制御装置10は、複数の駆動回路30を備えることができる。
【0039】
また、外部ツール100と処理装置20との間における通信速度が、処理装置20と駆動回路30との間での通信速度よりも遅いことは、本願発明を適用条件ではなく、外部ツール100と処理装置20との間における通信速度が、処理装置20と駆動回路30との間での通信速度よりも同等若しくは速い場合に、本願発明を適用することができ、この場合も、処理装置20と外部ツール100との間での通信が行えない状態(起動若しくは終了状態)でテストを行わせることができる。
また、外部ツール100と処理装置20との間の通信は、有線若しくは無線のいずれも採用でき、更に、外部ツール100が複数の処理装置20との間で通信を行う構成とすることができる。
【0040】
ここで、上記実施形態から把握し得る請求項以外の技術的思想について、以下に効果と共に記載する。
(イ)
記憶装置を含む処理装置と、前記処理装置からの指令に基づき外部に駆動信号を出力する駆動回路と、前記処理装置と前記駆動回路との間のシリアル通信回路と、を備えた自動車用電子制御装置において、
前記処理装置は、
外部から入力したテスト用命令列、及び、モード変更判定フラグを前記記憶装置に保存し、
リセットにより再起動されたときに、前記モード変更判定フラグがセットされていれば、前記テスト用命令列を起動シーケンスとして実行して、前記テスト用命令列の実行に伴って収集したデータを一旦前記記憶装置に保存し、前記テスト用命令列の実行終了後に前記データを外部に送信する、自動車用電子制御装置。
【0041】
上記発明によると、テスト実行に先立って、外部から入力したテスト用命令列を記憶装置に保存し、かつ、テスト用命令列を再起動時に実行させるべく、モード変更判定フラグをセットしておく。そして、例えば、外部からのリセット信号などに基づきリセットされ再起動したときに、モード変更判定フラグがセットされていれば、テスト用命令列の実行し、収集したデータを記憶装置に保存し、テスト終了後に、記憶装置に保存していたデータを外部に送信する。
【0042】
(ロ)
記憶装置を含む処理装置と、前記処理装置からの指令に基づき外部に駆動信号を出力する駆動回路と、前記処理装置と前記駆動回路との間のシリアル通信回路と、を備えた自動車用電子制御装置において、
前記処理装置は、
外部から入力したテスト用命令列、及び、モード変更判定フラグを前記記憶装置に保存し、
保存した前記テスト用命令列を終了シーケンスとして実行して、前記テスト用命令列の実行に伴って収集したデータを一旦前記記憶装置に保存し、
前記終了シーケンスの終了後にリセットによって再起動したときに、前記モード変更判定フラグに基づき前記記憶装置に保存していたデータを外部に送信する、自動車用電子制御装置。
【0043】
上記発明によると、外部から入力したテスト用命令列を記憶装置に保存し、かつ、モード変更判定フラグをセットし、保存したテスト用命令列を終了シーケンスとして実行し、収集したデータを記憶装置に保存し、テスト終了後にリセットにより再起動すると、モード変更判定フラグがセットされていることに基づいて、テスト状態で保存したデータを読み出して外部に送信する。