(57)【要約】      （修正有）【課題】電動パワーステアリング制御装置の揮発性メモリに外部プログラムを転送することにより、外部プログラムの誤作動を回避する。【解決手段】外部接続装置から電動パワーステアリング制御装置にセキュリティロック解除信号を送信し、セキュリティ解除信号に応答して、電動パワーステアリング制御装置を、外部接続装置から所定の外部プログラムを受信可能な状態に移行する。外部接続装置から電動パワーステアリング制御装置の揮発性メモリに外部プログラムを転送した後、外部プログラムの転送を開始する。【選択図】図３
2008068694.tif 000002
【特許請求の範囲】
【請求項１】
操舵補助制御プログラムのワークエリアとして用いられる揮発性メモリを有する電動パワーステリング制御装置に接続可能な、電動パワーステアリング制御装置用の外部接続装置であって、
前記電動パワーステアリング制御装置との通信を行う通信手段と、
前記通信手段を介して所定の外部プログラムを前記電動パワーステアリング制御装置の前記揮発性メモリに転送するための制御を行う転送制御手段と、
転送された前記外部プログラムを起動させる指示を、前記電動パワーステアリング制御装置に与える起動手段とを備えた、電動パワーステアリング制御装置用の外部接続装置。
【請求項２】
前記転送制御手段は、セキュリティロック解除要求信号を前記電動パワーステアリング制御装置に送信し、前記電動パワーステアリング制御装置が外部プログラムを受信可能な状態に移行した後に、外部プログラムの転送を開始することを特徴とする請求項１に記載の、電動パワーステアリング制御装置用の外部接続装置。
【請求項３】
前記転送制御手段は、前記電動パワーステアリング制御装置と周期的に接続確認を行うことを特徴とする請求項１に記載の、電動パワーステアリング制御装置用の外部接続装置。
【請求項４】
前記外部プログラムは、前記電動パワーステアリング制御装置の補正値を検査するためのプログラムであって、補正値を外部接続装置に送信可能であることを特徴とする請求項１に記載の、電動パワーステアリング制御装置用の外部接続装置。
【請求項５】
不揮発性メモリをさらに備え、前記外部プログラムは、前記補正値を当該不揮発性メモリに書き込むことを特徴とする請求項４に記載の電動パワーステアリング制御装置。
【請求項６】
前記外部プログラムは、前記電動パワーステアリング制御装置を試験・診断するためのプログラムであって、試験・診断結果を外部接続装置に送信可能であることを特徴とする請求項１に記載の、電動パワーステアリング制御装置用の外部接続装置。
【請求項７】
所定の外部プログラムを転送するための外部接続装置に接続可能な電動パワーステアリング制御装置であって、
前記外部接続装置との通信を行う通信手段と、
操舵補助制御プログラムのワークエリアとして使用されるとともに、前記通信手段を介して受信した前記外部プログラムを保持する揮発性メモリと、
前記外部接続装置からの起動指示信号に基づき、前記揮発性メモリに保持された外部プログラムを起動する制御手段とを備えた電動パワーステアリング制御装置。
【請求項８】
前記外部接続装置からセキュリティロック解除要求信号を受信することにより、前記外部プログラムを受信可能な状態に移行することを特徴とする請求項７に記載の電動パワーステアリング制御装置。
【請求項９】
前記通信手段は、前記外部接続装置と周期的に接続確認を行うことを特徴とする請求項７に記載の電動パワーステアリング制御装置。
【請求項１０】
外部接続装置から電動パワーステアリング制御装置にセキュリティロック解除信号を送信するステップと、
前記セキュリティ解除信号に応答して、電動パワーステアリング制御装置を、外部接続装置から所定の外部プログラムを受信可能な状態に移行するステップと、
外部接続装置から電動パワーステアリング制御装置の揮発性メモリに外部プログラムを転送するステップと、
外部接続装置から電動パワーステアリング制御装置に対して、外部プログラムの起動要求信号を送信するステップと、
前記起動要求信号に応答して、パワーステアリング制御装置の揮発性メモリに保持された前記外部プログラムを起動させるステップとを備えた、電動パワーステアリング制御装置の外部プログラム転送方法。
【請求項１１】
前記外部接続装置と前記電動パワーステアリング制御装置との周期的な接続確認をさらに行うステップを有することを特徴とする請求項１０に記載の、電動パワーステアリング制御装置の外部プログラム転送方法。
【請求項１２】
前記外部プログラムの実行結果を、前記電動パワーステアリング制御装置から前記外部接続装置に送信するステップをさらに備えたことを特徴とする請求項１０に記載の、電動パワーステアリング制御装置の外部プログラム転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機能を有することにより外部プログラムを受信可能な電動パワーステアリング制御装置、外部プログラムを転送するための電動パワーステアリング制御装置用の外部接続装置、および、これらの機器の間で外部プログラムを転送するための電動パワーステアリング制御装置の外部プログラム転送方法に関する。
【背景技術】
【０００２】
自動車用の補助操舵装置として、電動モータのトルクを用いた電動パワーステアリング装置が利用されている。このパワーステアリング装置は、ドライバによるハンドルの操作を検出するトルクセンサと、トルクセンサからの検出信号に基づき補助操舵力を演算するパワーステアリング制御装置（以下、「ＥＣＵ」という）と、当該制御装置からの出力信号に基づき回転トルクを発生する電動モータと、回転トルクをステアリング機構に伝える減速ギア等を備えて構成されている。
【０００３】
上述のＥＣＵは、制御演算処理を実行するためのＣＰＵ、制御プログラムを記憶するフラッシュメモリ（不揮発性メモリ）、演算処理のためのワークエリアとして使用されるＲＡＭ等を備えている。フラッシュメモリは書き換え可能であって、新たな制御プログラム、若しくは診断処理プログラムを書き込むことによって、所望のプログラムをＥＣＵに実行させることができる。例えば、ＥＣＵの工場出荷前に、フラッシュメモリに故障診断用のプログラムを一時的に書き込み、実行させることも可能である
フラッシュメモリの書換装置として、例えば、特開２００４−５１５２号公報に記載されているように、通信によりフラッシュメモリにプログラムを書き換える技術が案出されている。しかしながら、フラッシュメモリはＥＣＵの電源遮断後においても、プログラムを保持し続けるため、故障診断用プログラムが工場出荷後に誤作動してしまうおそれがある。
【特許文献１】特開２００４−５１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は上述の課題に鑑みてなされたものであり、本発明の解決しようとする課題は、ＥＣＵの揮発性メモリ（ＲＡＭ）に外部プログラムを転送し、起動させることが可能な、電動パワーステアリング制御装置、電動パワーステアリング制御装置用の外部接続装置、および、外部プログラム転送方法を提供することにある。
【課題を解決するための手段】
【０００５】
上述の課題を解決するために、本発明は、操舵補助制御プログラムのワークエリアとして用いられる揮発性メモリを有する電動パワーステリング制御装置に接続可能な、電動パワーステアリング制御装置用の外部接続装置であって、前記電動パワーステアリング制御装置との通信を行う通信手段と、前記通信手段を介して所定の外部プログラムを前記電動パワーステアリング制御装置の前記揮発性メモリに転送するための制御を行う転送制御手段と、転送された前記外部プログラムを起動させる指示を、前記電動パワーステアリング制御装置に与える起動手段とを備える。
【０００６】
また、前記転送制御手段は、セキュリティロック解除要求信号を前記電動パワーステアリング制御装置に送信し、前記電動パワーステアリング制御装置が外部プログラムを受信可能な状態に移行した後に、外部プログラムの転送を開始する。
前記転送制御手段は、前記電動パワーステアリング制御装置と周期的に接続確認を行う。
【０００７】
前記外部プログラムは、前記電動パワーステアリング制御装置の補正値を検査するためのプログラムであって、補正値を外部接続装置に送信可能である。電動パワーステアリング制御装置は不揮発性メモリをさらに備え、前記外部プログラムは、前記補正値を当該不揮発性メモリに書き込む。
また、前記外部プログラムは、前記電動パワーステアリング制御装置を試験・診断するためのプログラムであって、試験・診断結果を外部接続装置に送信可能である。
【０００８】
さらに、本発明は、所定の外部プログラムを転送するための外部接続装置に接続可能な電動パワーステアリング制御装置であって、前記外部接続装置との通信を行う通信手段と、操舵補助制御プログラムのワークエリアとして使用されるとともに、前記通信手段を介して受信した前記外部プログラムを保持する揮発性メモリと、前記外部接続装置からの起動指示信号に基づき、前記揮発性メモリに保持された外部プログラムを起動する制御手段とを備える。
前記電動パワーステアリング制御装置は、前記外部接続装置からセキュリティロック解除要求信号を受信することにより、前記外部プログラムを受信可能な状態に移行する。
前記通信手段は、前記外部接続装置と周期的に接続確認を行う。
【０００９】
さらに、本発明に係る外部プログラム転送方法は、外部接続装置から電動パワーステアリング制御装置にセキュリティロック解除信号を送信するステップと、前記セキュリティ解除信号に応答して、電動パワーステアリング制御装置を、外部接続装置から所定の外部プログラムを受信可能な状態に移行するステップと、外部接続装置から電動パワーステアリング制御装置の揮発性メモリに外部プログラムを転送するステップと、外部接続装置から電動パワーステアリング制御装置に対して、外部プログラムの起動要求信号を送信するステップと、前記起動要求信号に応答して、パワーステアリング制御装置の揮発性メモリに保持された前記外部プログラムを起動させるステップとを備える。
【００１０】
本発明は、前記外部接続装置と前記電動パワーステアリング制御装置との周期的な接続確認をさらに行うステップをさらに備える。
前記外部プログラムの実行結果を、前記電動パワーステアリング制御装置から前記外部接続装置に送信するステップをさらに備える。
【発明の効果】
【００１１】
本発明に係る外部接続装置によれば、転送制御手段は、通信手段を介して所定の外部プログラムを前記電動パワーステアリング制御装置の前記揮発性メモリに転送し、起動手段は、転送された前記外部プログラムを起動させる指示を前記電動パワーステアリング制御装置に与える。外部プログラムの実行が終了した後、電動パワーステアリング制御装置の電源を遮断することにより、外部プログラムは揮発性メモリから消去される。このため、工場出荷後において外部プログラムが誤って起動してしまうという不都合を回避することができる。
【００１２】
また、前記転送制御手段は、セキュリティロック解除要求信号を前記電動パワーステアリング制御装置に送信し、前記電動パワーステアリング制御装置が外部プログラムを受信可能な状態に移行した後に、外部プログラムの転送を開始する。このため、電動パワーステアリング制御装置が受信可能な状態に誤って移行することを防止することができる。
前記転送制御手段は、前記電動パワーステアリング制御装置と周期的に接続確認を行うため、確実に外部プログラムを転送することが可能となる。
【００１３】
外部プログラムとして、電動パワーステアリング制御装置の補正値をするためのプログラムを用いることにより、補正値を電動パワーステアリング制御装置から外部接続装置に送信可能である。また、外部プログラムとして、電動パワーステアリング制御装置を試験・診断するためのプログラムを用いることにより、試験・診断結果を外部接続装置に送信可能である。
【００１４】
さらに、本発明に係る電動パワーステアリング制御装置によれば、通信手段を介して外部接続装置と接続することにより、外部接続装置から転送された外部プログラムは揮発性メモリに保持される。揮発性メモリに保持された外部プログラムは、外部接続装置からの起動指示信号に基づき起動する。外部プログラムの実行後に、電動パワーステアリング制御装置の電源を遮断することにより、揮発性メモリ上の外部プログラムは消失する。このため、工場出荷後において外部プログラムが誤って起動してしまうという不都合を回避できる。
【００１５】
さらに、本発明に係る外部プログラム転送方法によれば、外部接続装置から電動パワーステアリング制御装置にセキュリティロック解除信号を送信すると、セキュリティ解除信号に応答して、電動パワーステアリング制御装置は外部接続装置から所定の外部プログラムを受信可能な状態に移行する。外部接続装置は外部プログラムを電動パワーステアリング制御装置の揮発性メモリに転送した後、起動要求信号を電動パワーステアリング制御装置に送信すると、外部プログラムが起動する。電動パワーステアリング制御装置の電源を遮断することにより、揮発性メモリ上の外部プログラムは消失するため、工場出荷後において外部プログラムが誤って起動してしまうこともない。
【発明を実施するための最良の形態】
【００１６】
以下に、図面を参照しながら本発明の最良の実施の形態を説明する。
図１は、本実施形態に係る電動パワーステアリング装置の概略図である。この電動パワーステアリング装置は、いわゆるピニオンアシストタイプのものであり、ステアリング６１はステアリングシャフト６２、ユニバーサルジョイント６３、６４、シャフト６５を介してラック＆ピニオン６６に連結されている。さらに、ラック＆ピニオン６６には車輪のタイロッド６７が設けられており、ハンドル６１の回転運動はタイロッド６７の軸方向の運動に変換される構造となっている。
【００１７】
シャフト６５にはトルクセンサ４が設けられており、トルクセンサ４はステアリング６１に印加された操舵トルクを検出し、トルク信号を出力可能である。さらに、シャフト６５には減速ギア３１、モータ３が取り付けられており、モータ３の回転トルクが減速ギア３１を介してシャフト６５に伝達される構成となっている。
【００１８】
ＥＣＵ１は上述のようにトルクセンサ４からの検出信号、車速センサ２からの車速信号に基づき補助操舵トルクを算出し、この算出結果に基づく駆動信号をモータ３に送出するものである。ＥＣＵ１には電源５から直接に電力が供給されると共に、並列に電源５が接続されており、イグニッションキー５ａをオンにすることによりＥＣＵ１内部のリレーがオンとなり電源が供給される構成となっている。
【００１９】
図２はＥＣＵ１および外部接続装置７のハードウェア構成を表すブロック図である。ＥＣＵ１は、Ａ／Ｄコンバータ１１０，インタフェース１１１，ＣＰＵ１１３，ＲＯＭ１１４，ＲＡＭ１１５、フラッシュＲＯＭ１１６、ＰＷＭコントローラ１１７，モータ駆動回路１１９、モータ電流検出回路１２０、バス１２１、ＣＡＮ  Ｉ／Ｆ１２２、ＥＥＰＲＯＭ１２３を備えている。
【００２０】
バス１２１はＡ／Ｄコンバータ１１０、インタフェース１１１、ＣＰＵ１１３、ＲＯＭ１１４、ＲＡＭ１１５、フラッシュメモリ１１６、ＰＷＭコントローラ１１７、ＣＡＮ  Ｉ／Ｆ１２２、ＥＥＰＲＯＭ１２３等の間でデータの受け渡しを行うためのものである。Ａ／Ｄコンバータ１１０は、トルクセンサ４から出力されたメイントルク信号およびサブトルク信号、モータ電流検出回路１２０からの検出電流、モータ３の端子間電圧を入力し、ディジタル信号に変換するためのものである。
【００２１】
上述のトルクセンサ４は、メイントルク信号、サブトルク信号の２つの出力信号を備え、これらの信号の合計電圧は基準電圧（例えば５Ｖ）であるクロス特性となるように設定されている。すなわち、ステアリングにトルクが印加されない場合には、メイントルク信号およびサブトルク信号はそれぞれトルク中立電圧２．５Ｖとなり、ステアリングに何らかのトルクが印加された場合には、メイントルク信号およびサブトルク信号は中立電圧２．５Ｖを基準として互いに逆方向に変動する。
【００２２】
インタフェース１１１は車速センサ２からの車速パルスをカウントしディジタル信号に変換するものである。ＲＯＭ１１４はモータ３の制御プログラム、ＰＷＭの演算プログラム、フェールセーフプログラム、外部装置と通信を行う為のプログラム等を記憶するためのメモリとして使用され、ＲＡＭ１１５は当該プログラムを動作させるためのワークメモリとして使用される他、外部接続装置７から転送されたプログラムを記憶するためにも使用される。承知のように、ＲＡＭ１１５は揮発性メモリであるため、イグニッションキー５ａをオフにすることにより、記憶内容はすべて消去されてしまう。
【００２３】
フラッシュメモリ１１６は、イグニッションキー５ａがオフになった後においてもメモリ内容を保持可能なものであり、電気的に消去および書換可能なEEPROMであっても良い。このフラッシュメモリ１１６には、例えば制御プログラム、制御学習結果等を記憶することが可能である。また、フラッシュメモリ１１６にＥＣＵ１のハードウェアの補正値を記憶させても良い。例えば、後述する補正値検査プログラムをＥＣＵ１において実行することによって補正値を求め、さらに補正値書換プログラムを実行することによってフラッシュメモリ１１６の所定のアドレスの補正値を更新することができる。なお、フラッシュメモリ１１６とは別に設けられたＥＥＰＲＯＭ１２３に補正値を記憶させても良い。
【００２４】
ＰＷＭコントローラ１１７はモータ３のトルクを表す信号をパルス幅変調された三相のデューティ指令値に変換するためのものである。モータ駆動回路１１９は、三相電流を発生させるためのインバータ回路を備え、ＰＷＭコントローラ１１７から与えられたデューティ指令値に基づくデューティ比の三相電流をモータ３に供給可能である。
【００２５】
モータ電流検出回路１２０は抵抗等の電流−電圧変換素子から構成され、モータ３への駆動電流を検出し、電流に応じた電圧を有する電流検出値を出力するためのものである。電流検出値は図示されていない増幅回路によって増幅された後、Ａ／Ｄコンバータ１１０に入力され、ディジタル信号に変換される。なお、図示されていないが、モータ３には回転角を検出するためのレゾルバが設けられており、レゾルバからの回転角信号はＡ／Ｄコンバータ１１０に入力される構成となっている。また、モータ３にはモータ温度を検出するための温度センサ（未図示）が設けられており、温度センサからの温度信号も同様にＡ／Ｄコンバータ１１０に入力されている。このように、温度センサからの信号を監視することにより、モータ３の過熱を防止することが可能である。
【００２６】
ＣＡＮ  Ｉ／Ｆ１２２は、シリアル通信であるＣＡＮ（Controller Area Network）のためのインタフェースである。なお、本発明は、ＣＡＮに限定されることなく、他の通信プロトコルを用いることが可能である。
【００２７】
外部接続装置７は、ＥＣＵ１に対してプログラムの転送および起動を行うための装置であって、ＣＡＮ  Ｉ／Ｆ７０１、ＣＰＵ７０２、メモリ７０３、外部記憶装置７０４、ディスプレイ７０５を備えている。ＣＡＮ  Ｉ／Ｆ７０１はＣＡＮのためのインターフェースであって、ケーブルを介してＥＣＵ１に接続可能である。ＣＰＵ７０２は、ＣＡＮ  Ｉ／Ｆ１２２に接続可能であり、プログラムおよび各種コマンド等をシリアル通信によってＥＣＵ１と受け渡す機能を有している。
【００２８】
ＣＰＵ７０２は、外部プログラムの転送処理、起動処理を実行するとともに、外部接続装置７の動作を制御する機能を有している。メモリ７０３は、ＣＰＵ７０２のワークエリアとして用いられる。また、外部記憶装置７０４はハードディスクユニット、光学ディスク、メモリ等の記憶デバイスからなり、転送対象である外部プログラム、転送制御用の転送プログラム、外部接続装置７を制御するための制御プログラムを記憶するために用いられる。ディスプレイ７０５は、転送すべき外部プログラムを表示するとともに、外部接続装置７の動作状態を表示するために用いられる。なお、このディスプレイ７０５は、図示しないキーボード等の入力機器からコマンドを表示可能であり、いわゆる対話形式による外部接続装置７の操作を容易ならしめるものである。
【００２９】
本実施形態において用いられる通信プロトコルとしては、パケット毎の通信に限定されることなく様々なプロトコルを使用可能である。例えば、１バイト毎しか転送できない通信回線を使用する場合であっても、ヘッダ、転送データ、トレーラをカプセル化し、これらを１つのパケットとして送信しても良い。この場合、ヘッダにはパケットのデータ長の情報を含ませ、トレーラにはパケットのエラーチェックデータを含ませることができる。なお、非常に大きな外部プログラムを転送する場合には、複数パケットを１つのフレームとして転送しても良い。ディスプレイ７０５には、パケット毎の転送、フレーム毎の転送等の各種通信方法が表示され、オペレータはこれらの中から所望の通信方法を選択することが可能である。例えば、転送すべきデータが小さい場合にはフレーム毎の転送を行わずにパケット毎の転送を行うことにより、フレームヘッダ・トレーラの転送に要するオーバーヘッド時間を削減することができる。
【００３０】
さらに、外部プログラムの転送が終了した後、ＥＣＵ１は受信した外部プログラム全体のチェックサムを算出し、外部接続装置７に返送しても良い。そして、外部接続装置７は自ら算出したチェックサムと、ＥＣＵ１から返送されたチェックサムとを比較することにより、転送された外部プログラムのデータ化けが発生したか否かを判断することができる。なお、オペレータは、チェックサムが一致しなかった場合に外部プログラムを再送するか否かを、外部接続装置７において設定することが可能である。
【００３１】
図３は、ＥＣＵ１、外部接続装置７の各々におけるメモリマップの概要を表す図である。外部接続装置７の外部記憶装置７０４には、転送処理プログラム、および複数の外部プログラム１〜ｎが保存されている。転送処理プログラムは、外部接続装置７の動作を制御するとともに、ＥＣＵ１のＲＡＭ１１５に展開された外部プログラムを起動させる処理を行うためのものである。外部プログラムとしては、例えばＥＣＵ１の試験・診断プログラム、トルクセンサ等のハードウェアの補正値検査プログラムを用意することができる。これらの外部プログラムはＥＣＵ１のＲＡＭ１１５上に転送されるものであることから、試験・診断プログラムのように一時的にのみ使用されるプログラムを外部プログラムとして用意することが望ましい。
【００３２】
ＥＣＵ１のフラッシュメモリ１１６には、通信処理プログラム、アプリケーションプログラムが記憶されている。通信処理プログラムは、外部接続装置７との通信のためのプログラムであり、アプリケーションプログラムはパワーステアリング制御のためのプログラムである。ＲＡＭ１１５はＣＰＵ１１３のワークエリアとして使用されるとともに、外部接続装置７から転送された外部プログラムを展開する領域として使用される。承知のように、ＲＡＭ１１５への電流を遮断してしまえば外部プログラムはすべて消去されてしまう。このため、市場において検査プログラム等が誤って起動する不都合を回避することが可能となる。
【００３３】
続いて本実施形態に係るＥＣＵ１および外部接続装置７の動作を図４乃至図７を用いて説明する。
図４は、ＥＣＵ１の概略動作を表すフローチャートである。まず、ＥＣＵ１に電源が投入され、動作が開始すると、ＥＣＵ１は接続監視タイマをリセットする（ステップＳ４０１）。続いて、ＥＣＵ１は、接続監視タイマがカウントアップし、タイムアウトになったか否か、すなわち、電源投入時から所定時間が経過したか否かを判断する（ステップＳ４０２）。ログインがなされることなく所定時間が経過した場合（ステップＳ４０２でＹＥＳ）には、ＥＣＵ１は通常のパワーステアリング制御処理を実行する。一方、所定時間が経過する前に、外部接続装置７からのログインがなされた場合（ステップＳ４０２でＮＯ）には、ＥＣＵ１は外部接続装置７から外部プログラムを受信し、ＲＡＭ１１５に展開する（ステップＳ４０４）。
【００３４】
外部接続装置７はＥＣＵ１に対して外部プログラムの起動の指示を与え、ＥＣＵ１はＲＡＭ１１５上の外部プログラムを実行する（ステップＳ４０５）。
例えば、ＥＣＵ１は試験・診断プログラムを実行することにより、試験・診断結果を外部接続装置７に送信し、外部接続装置７は試験・診断結果に応じた処理を実行する。また、外部プログラムがハードウェアの補正値検査プログラムである場合には、ＥＣＵ１はトルクセンサ等の補正値を算出し、フラッシュメモリ１１６に書き込む処理を実行することができる。このようにして、外部プログラムの実行処理が終了すると、ＥＣＵ１はその旨を外部接続装置７に通知し（ステップＳ４０６）、処理を終了する。
【００３５】
図５は外部接続装置７の概略動作を表すフローチャートである。まず、オペレータが通信ケーブルを介して外部接続装置７をＥＣＵ１に接続し、ログインコマンドを外部接続装置７に入力すると、外部接続装置７はＥＣＵ１に対するログインを試みる（ステップＳ５０１）。ログインが失敗した場合（ステップＳ５０２でＮＯ）には、外部接続装置７は再度のログインを試みる。
【００３６】
ログインが成功すると（ステップＳ５０３でＹＥＳ）、外部接続装置７はＥＣＵ１への外部プログラムの転送を開始する（ステップＳ５０３）。上述のように、外部プログラムの転送は、所定のデータ単位（バイト、パケット、データフレーム等）毎に行われ、ＥＣＵ１は受信したデータをＲＡＭ１１５に順次、展開する。なお、転送エラーが発生した場合には、上述したように、外部接続装置７の設定に従い、エラーフレーム、パケットの再送、若しくは外部プログラム全体の再送のいずれかの処理が実行される。
【００３７】
外部プログラムの転送が正常に終了すると（ステップＳ５０４でＹＥＳ）、外部接続装置７はＥＣＵ１に対して外部プログラムを起動するように指示を与える（ステップＳ５０５）。ＥＣＵ１はＲＡＭ１１５に展開された外部プログラムを起動し（ステップＳ５０５）、外部プログラムの処理を実行する（ステップＳ５０６でＹＥＳ）。例えば、ＥＣＵ１が外部プログラムを実行することにより得られたデータ（例えば、試験・診断結果、補正値）は外部接続装置７に送信され、外部接続装置７の外部記憶装置７０４に記憶される。外部プログラム終了後には、ＥＣＵ１への通電を遮断することにより、ＲＡＭ１１５上の外部メモリは消去される。このため、ＥＣＵ１の工場出荷後において、外部プログラムが誤って起動することもない。
【００３８】
図６，図７はＥＣＵ１および外部接続装置７の通信処理を表すシーケンスチャートである。まず、オペレータが外部接続装置７を操作することにより、外部接続装置７からＥＣＵ１にセキュリティロック解除要求を送信し続ける（Ｔ１０１）。セキュリティロック解除要求は、ＥＣＵ１が外部プログラムを受信可能な転送モードに移行するように要求する信号である。すなわち、ＥＣＵ１は外部接続装置７からセキュリティロック解除要求を受信しない限り、転送モードに移行することはないため、市場においてＥＣＵ１が誤って転送モードに移行することを防止することができる。
【００３９】
ＥＣＵ１に電源が投入されると、ＥＣＵ１はリセットされ（Ｔ１０２）、ブート処理を開始する（Ｔ１０３）。この後、ＥＣＵ１がセキュリティロック解除要求を受信すると、セキュリティロックを解除し（Ｔ１０４）、これにより、ＥＣＵ１は外部プログラムを受信可能な転送モードに移行する。
【００４０】
そして、ＥＣＵ１はセキュリティロック解除の応答信号を外部接続装置７に返送する（Ｔ１０６）。外部接続装置７がセキュリティロック解除応答信号を受信すると、ＥＣＵ１が転送モードに移行したことをディスプレイ７０５に表示するとともに、転送すべき外部プログラムを指定するようにオペレータに促す。オペレータがキーボード等を操作することにより、転送すべき外部プログラムを入力すると、外部接続装置７が指定された外部プログラムを外部記憶装置７０４から読み出し、外部プログラムの転送を開始する通知をＥＣＵ１に送信する（Ｔ１０８）。ＥＣＵ１は外部プログラム転送開始の通知を受信すると（Ｔ１０９）、当該通知を受信した旨を返信するとともに、外部プログラムを受信可能な状態に移行したことを外部接続装置７に返信する（Ｔ１０９）。
【００４１】
外部接続装置７は、当該信号を受信すると、外部プログラムの転送を開始する（Ｔ１１０）。上述のように、本実施形態では様々な通信プロトコルを利用可能であるが、例えば１バイト毎の通信プロトコルを使用する場合には、ＥＣＵ１は１バイトのデータを受信する毎に応答信号を返信する。また、外部接続装置７がパケット若しくはフレーム毎に外部プログラムを転送する場合には、ＥＣＵ１は１パケット若しくは１フレームのデータを受信する毎に、応答信号を外部接続装置７に返信する。このように、１バイト、１パケット、若しくは１フレーム毎の転送を繰り返すことにより、外部プログラムが外部接続装置７からＥＣＵ１に転送される。外部接続装置７がＥＣＵ１からの応答を受信できなかった場合には、外部接続装置７は転送エラーが発生したと判断し、転送エラーの生じたデータバイト、パケット、若しくはフレームを再送する。
【００４２】
ＥＣＵ１は、受信したデータをＲＡＭ１１５に送り、ＲＡＭ１１５上に外部プログラムを展開する（Ｔ１１１）。外部プログラムの転送が終了すると、外部接続装置７は転送完了の通知をＥＣＵ１に送信する（Ｔ１２０）。ＥＣＵ１は当該通知を受信すると、ＲＡＭ１１５上に展開された外部プログラム全体のチェックサムを算出し、外部接続装置７に送信する（Ｔ１２１）。外部接続装置７は受信したチェックサムと、予め算出したチェックサムとを比較し、両者の値が一致するか否かを判断する（Ｔ１２２）。両者が一致していなければ、転送途中で外部プログラムのデータ化けが発生したと考えられるため、外部接続装置７は外部プログラムの転送を再度、実行する。なお、上述したように、オペレータが、チェックサム不一致の場合でも外部プログラムの再送を行わないように外部接続装置７を設定した場合には、外部接続装置７は再送処理を実行しない。
【００４３】
両者のチェックサムが一致した場合には、外部接続装置７はＥＣＵ１に対してＲＡＭ１１５上の外部プログラムを起動するように指示を与える（Ｔ１２３）。ＥＣＵ１は受信確認の応答を外部接続装置７に送信するとともに、ＲＡＭ１１５上の外部プログラムを起動させる（Ｔ１２４）。
【００４４】
なお、ＥＣＵ１が外部接続装置７と接続している間（Ｔ１０６，Ｔ１０７〜）、外部接続装置７とＥＣＵ１とが正常に接続していることをお互いに確認するために、両者の間で相互にキープアライブ（Keep alive）信号を一定周期で送受信する。一定時間を超えてキープアライブ信号が途絶えた場合には、外部接続装置７およびＥＣＵ１は通信開始処理を最初から実行する。
【００４５】
ＥＣＵ１が外部プログラムの実行処理を終了すると、実行結果とともにプログラム完了通知を外部接続装置７に送信する（Ｔ１３４）。例えば、外部プログラムが試験・診断プログラムである場合には、試験・診断結果を表すデータが外部接続装置７に送信される。また、外部プログラムがハードウェアの補正値検査プログラムである場合には、補正値を表すデータが外部接続装置７に送信される。外部接続装置７がプログラム完了通知を受信すると（Ｔ１３５）、詳細なプログラム実行結果を送信するようにＥＣＵ１に要求する（Ｔ１３６）。ＥＣＵ１は詳細なプログラム実行結果として、例えば試験・診断結果の詳細を表すデータを外部接続装置７に送信する。
【００４６】
以上のようにして、外部プログラムの転送、実行が終了した後に、ＥＣＵ１の電源を遮断することにより、ＲＡＭ１１５上の外部プログラムは消去されるため、外部プログラムが市場において過って起動してしまうことを防止することができる。また、ＥＣＵ１はセキュリティロック機能を有しているため、外部接続装置７からのセキュリティロック解除の要求がなければ誤って転送モードに移行することもない。すなわち、本実施形態においては、走行中においてＥＣＵ１が誤って転送モードに移行したり、外部プログラムが起動したりする不都合を回避することが可能である。
【００４７】
なお、上述の実施形態では、外部プログラムとして、試験・診断プログラム、ハードウェア補正値検査プログラムを例に説明したが、これらに限定されることなく様々なプログラムを外部プログラムとしてＥＣＵに転送しても良い。
【００４８】
例えば、フラッシュメモリを書き換える書換プログラム、およびフラッシュメモリの書換対象のプログラムを外部プログラムとして転送し、ＲＡＭ上の書換プログラムを起動させることにより、ＲＡＭ上の書換対象のプログラムをフラッシュメモリに書き込んでも良い。また、フラッシュメモリを書き換えることなく、ベリファイプログラムを外部プログラムとしてＲＡＭに転送し、最新バージョンのプログラムとフラッシュメモリの内容とをベリファイしても良い。このように、ベリファイだけ実行することにより、フラッシュメモリに書き込まれたプログラムが最新バージョンであるか否かを判断することができる。
【００４９】
また、試験・診断プログラムとして、ＥＣＵに予め書き込まれた故障診断プログラムでは診断されない事項を診断するプログラム、より高精度の診断を行うプログラムを外部プログラムとしてＲＡＭに転送しても良い。サービス工場においては、双方のプログラムの実行結果を併せて判断することにより、正確な故障箇所、故障内容を特定することも可能である。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施形態に係る電動パワーステアリング装置の概略図である。
【図２】本発明の実施形態に係る電動パワーステアリング制御装置および外部接続装置のブロック図である。
【図３】本発明の実施形態に係る電動パワーステアリング制御装置および外部接続装置のプログラムの配置を表す図である。
【図４】本発明の実施形態に係る電動パワーステアリング制御装置の動作概要を表すフローチャートである。
【図５】本発明の実施形態に係る外部接続装置の動作概要を表すフローチャートである。
【図６】本発明の実施形態に係る電動パワーステアリング制御装置および外部接続装置の動作を表すシーケンスチャートである。
【図７】本発明の実施形態に係る電動パワーステアリング制御装置および外部接続装置の動作を表すシーケンスチャートである。
【符号の説明】
【００５１】
１  ＥＣＵ
７  外部接続装置
１１３  ＣＰＵ（制御手段）
１１５  ＲＡＭ（揮発性メモリ）
１１６  フラッシュメモリ
１２２  ＣＡＮ  Ｉ／Ｆ（通信手段）
７０１  ＣＡＮ  Ｉ／Ｆ（通信手段）
７０２  ＣＰＵ（転送制御手段、起動手段）
７０４  外部記憶装置
【図１】
2008068694.tif 000003
【図２】
2008068694.tif 000004
【図３】
2008068694.tif 000005
【図４】
2008068694.tif 000006
【図５】
2008068694.tif 000007
【図６】
2008068694.tif 000008
【図７】
2008068694.tif 000009