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