(57)【要約】【課題】電動パワーステアリング装置において、ＣＰＵやメモリ等のリソースの使用率を効果的に削減し、リソースの使用に関する余裕度を効果的に向上させること。【解決手段】車両のステアリング系に発生する操舵トルクに基づいて演算した操舵補助指令に基づき、電動モータを駆動制御して車両の操舵を補助する制御手段を備えた電動パワーステアリング装置において、制御手段は、複数のＣＰＵおよび、これら複数のＣＰＵの動作プログラムを格納する１以上のＲＯＭを有し、メインＣＰＵとサブＣＰＵとの間の通信を確立する際の送受信データとして、ＲＯＭに格納されたデータを用いて算出したＲＯＭチェック生成コード（ＳＵＭ演算値、パリティ演算値、ＣＲＣ演算値など）を用いる。【選択図】        図３
2010188796.tif 000002
【特許請求の範囲】
【請求項１】
操舵補助用の電動モータと、車両のステアリング系に発生する操舵トルクに基づいて演算した操舵補助指令に基づき前記電動モータを駆動制御して前記車両の操舵を補助する制御手段と、を備えた電動パワーステアリング装置において、
前記制御手段は、複数のＣＰＵと、該複数のＣＰＵの動作プログラムを格納する１以上のＲＯＭと、を有し、
前記複数のＣＰＵ間の通信を確立する際の送受信データとして、前記ＲＯＭに格納されたデータを用いて算出したＲＯＭチェック生成コードを用いることを特徴とする電動パワーステアリング装置。
【請求項２】
前記各ＣＰＵによってそれぞれ算出されるＲＯＭチェック生成コードは、当該ＣＰＵに関係のあるデータが格納されたＲＯＭ内の全部または一部のデータを所定バイト単位または所定ビット単位で加算した加算値、または当該加算値の所定ビットを抽出した抽出値として算出されるＳＵＭ演算値であることを特徴とする請求項１に記載の電動パワーステアリング装置。
【請求項３】
前記各ＣＰＵによってそれぞれ算出されるＲＯＭチェック生成コードは、当該ＣＰＵに関係のあるデータが格納されたＲＯＭ内の全部または一部のデータにパリティビットが付加されたデータを所定バイト単位または所定ビット単位で加算した加算値、または当該加算値の所定ビットを抽出した抽出値として算出されるパリティ演算値であることを特徴とする請求項１に記載の電動パワーステアリング装置。
【請求項４】
前記各ＣＰＵによってそれぞれ算出されるＲＯＭチェック生成コードは、当該ＣＰＵに関係のあるデータが格納されたＲＯＭ内の全部または一部のデータにＣＲＣビットが付加されたデータを所定バイト単位または所定ビット単位で加算した加算値、または当該加算値の所定ビットを抽出した抽出値として算出されるＣＲＣ演算値であることを特徴とする請求項１に記載の電動パワーステアリング装置。
【請求項５】
前記ＲＯＭチェック生成コードには、前記各ＣＰＵが使用するソフトウェアのバージョン情報が含まれていることを特徴とする請求項１〜４の何れか１項に記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操舵トルクに基づいて演算した操舵補助指令に基づき操舵補助用の電動モータを駆動制御する電動パワーステアリング装置に関するものである。
【背景技術】
【０００２】
乗用車やトラック等の車両の操舵力を軽減するため、操舵補助モータによって操舵を補助する、いわゆる電動パワーステアリング（ＥＰＳ：Electric Power Steering）装置がある。この電動パワーステアリング装置では、操舵補助モータの駆動力を、減速機を介してギアまたはベルト等の伝送機構により、ステアリングシャフトまたはラック軸に補助力を付与するようになっている。
【０００３】
電動パワーステアリング装置は、車両操舵という重要な役割を担うため、自動車を構成する各部装置の中でも安全性、信頼性への配慮が特に必要とされる。このため、従来より、電動パワーステアリング装置の機能を統括するプロセッサ（ＣＰＵ）を、例えば操舵補助を主として行うメインＣＰＵとメインＣＰＵの監視を主として行うサブＣＰＵとによって２重化するなどの対策がなされている。
【０００４】
なお、上記のようなメインＣＰＵおよびサブＣＰＵを有する電動パワーステアリング装置においては、メインＣＰＵからの送信要求に対してメインＣＰＵとサブＣＰＵとの間で予め取り決めされた特定の値を送受信し、送受信された値が正常であるときにＣＰＵ間の通信が正常であると判定し、通信を確立することが一般的に行われている。
【０００５】
一方、メインＣＰＵからサブＣＰＵに対してオフセット電圧の算出要求信号を送出し、当該送信が行われた後に、サブＣＰＵからのオフセット電圧の算出完了信号がメインＣＰＵに受信されるまでの所要時間を計測し、当該所要時間が所定時間内であればメインＣＰＵとサブＣＰＵとの間の通信機能が正常であると判定するような手法も開示されている（例えば特許文献１）。
【０００６】
【特許文献１】特開２００５−０６７５１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、電動パワーステアリング装置が本来の制御動作を開始するには、メインＣＰＵおよびサブＣＰＵを動作させるためのプログラムが正常に動作しなければならない。このため、従来技術にかかる電動パワーステアリング装置では、メインＣＰＵとサブＣＰＵとの間の通信機能を確立させた後に続き、メインＣＰＵおよびサブＣＰＵの各プログラムが正常に動作するか否かのプログラムチェックを行う必要があり、制御機能の確立が効率的に行われていないと云う課題があった。
【０００８】
また、操舵補助に関する自動車メーカ等からの要望も多様化する一方で、日進月歩の開発を進めている自動車業界にあっては、装置の仕様を簡易に変更するわけにもいかず、ＣＰＵやメモリ等の性能向上を望めない状況下にもある。このため、ＣＰＵやメモリ等のリソースの使用率を削減して、リソースの使用に関する余裕度を向上させるための何らかの対策が望まれていた。
【０００９】
本発明は、上記に鑑みてなされたものであって、メインＣＰＵとサブＣＰＵとの間の通信の確立と、メインＣＰＵおよびサブＣＰＵの動作チェックとを効率的に行うことにより、ＣＰＵやメモリ等のリソースの使用率を効果的に削減し、リソースの使用に関する余裕度を効果的に向上させることができる電動パワーステアリング装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、操舵補助用の電動モータと、車両のステアリング系に発生する操舵トルクに基づいて演算した操舵補助指令に基づき前記電動モータを駆動制御して前記車両の操舵を補助する制御手段と、を備えた電動パワーステアリング装置において、前記制御手段は、複数のＣＰＵと、該複数のＣＰＵの動作プログラムを格納する１以上のＲＯＭと、を有し、前記複数のＣＰＵ間の通信を確立する際の送受信データとして、前記ＲＯＭに格納されたデータを用いて算出したＲＯＭチェック生成コードを用いることを特徴とする。
【００１１】
また、本発明の好ましい態様によれば、前記各ＣＰＵによってそれぞれ算出されるＲＯＭチェック生成コードは、当該ＣＰＵに関係のあるデータが格納されたＲＯＭ内の全部または一部のデータを所定バイト単位または所定ビット単位で加算した加算値、または当該加算値の所定ビットを抽出した抽出値として算出されるＳＵＭ演算値であることが望ましい。
【００１２】
また、本発明の好ましい態様によれば、前記各ＣＰＵによってそれぞれ算出されるＲＯＭチェック生成コードは、当該ＣＰＵに関係のあるデータが格納されたＲＯＭ内の全部または一部のデータにパリティビットが付加されたデータを所定バイト単位または所定ビット単位で加算した加算値、または当該加算値の所定ビットを抽出した抽出値として算出されるパリティ演算値であることが望ましい。
【００１３】
また、本発明の好ましい態様によれば、前記各ＣＰＵによってそれぞれ算出されるＲＯＭチェック生成コードは、当該ＣＰＵに関係のあるデータが格納されたＲＯＭ内の全部または一部のデータにＣＲＣビットが付加されたデータを所定バイト単位または所定ビット単位で加算した加算値、または当該加算値の所定ビットを抽出した抽出値として算出されるＣＲＣ演算値であることが望ましい。
【００１４】
また、本発明の好ましい態様によれば、前記ＲＯＭチェック生成コードには、前記各ＣＰＵが使用するソフトウェアのバージョン情報が含まれていることが望ましい。
【発明の効果】
【００１５】
本発明にかかる電動パワーステアリング装置によれば、複数のＣＰＵ間の通信を確立する際の送受信データとして、前記ＲＯＭに格納されたデータを用いて算出したＲＯＭチェック生成コードを用いるようにしているので、メインＣＰＵとサブＣＰＵとの間の通信の確立と、メインＣＰＵおよびサブＣＰＵの動作チェックとを効率的に行うことができ、ＣＰＵやメモリ等のリソースの使用率を効果的に削減し、リソースの使用に関する余裕度を効果的に向上させることができるという効果が得られる。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明の好適な実施の形態にかかる電動パワーステアリング装置につき図面を参照しつつ詳細に説明する。なお、以下の実施の形態により本発明が限定されるものではない。また、下記実施の形態における各構成要素には、当業者が容易に想定できるものまたは実質的に同一のものが含まれる。
【００１７】
＜実施の形態＞
図１は、電動パワーステアリング装置の一般的な構成を示す図である。図１において、操向ハンドル１のコラム軸２は、減速ギア３、ユニバーサルジョイント４ａ，４ｂ、ピニオンラック機構５を経て操向車輪のタイロッド６に連結されている。コラム軸２には、操向ハンドル１の操舵トルクＴを検出するトルクセンサ１０が設けられており、操向ハンドル１の操舵力を補助する操舵補助モータ２０が、減速ギア３を介してコラム軸２に連結されている。ここで、操舵補助モータ２０としては、例えば、ブラシレスモータやブラシモータが用いられる。電動パワーステアリング装置を制御するコントロールユニット３０には、バッテリ１４から内蔵の電源リレー１３を経て電力が供給され、イグニションキー１１からイグニション信号が供給される。また、コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴと車速センサ１２で検出された車速Ｖとに基づいて、操舵補助モータ２０の電流指令値を演算し、操舵補助モータ２０の電流検出値と電流指令値とに基づいて、操舵補助モータ２０の電流検出値が電流指令値に追従するように操舵補助モータ２０を駆動制御する。
【００１８】
（コントロールユニット）
図２は、図１に示すコントロールユニット（制御装置）３０の詳細構成を示す図である。このコントロールユニット３０は、図２に示すように、ＭＣＵ（マイクロコントロールユニット）１００、プリドライバ回路１１０、モータ駆動回路（インバータ）１２０、モータリレー１８、電流検出回路１３０、および位置検出回路１４０を備えている。
【００１９】
（コントロールユニット−ＭＣＵ）
ＭＣＵ１００は、メインＣＰＵ１０１ａ、サブＣＰＵ１０１ｂ、メイン用ＲＯＭ１０２ａ、サブ用ＲＯＭ１０２ｂ、ＲＡＭ１０３、ＥＥＰＲＯＭ（不揮発性メモリ）１０４、Ａ／Ｄ変換器１０５、インターフェース１０６、およびバス１０７を備えて構成される。なお、以下、メインＣＰＵ１０１ａおよびサブＣＰＵ１０１ｂの両者を総称して説明する場合にはＣＰＵ１０１と表記し、メイン用ＲＯＭ１０２ａおよびサブ用ＲＯＭ１０２ｂの両者を総称して説明する場合にはＲＯＭ１０２と表記する。
【００２０】
（コントロールユニット−ＭＣＵ−ＣＰＵ）
第１のＣＰＵであるメインＣＰＵ１０１ａは、電動パワーステアリング装置の制御を主として行うＣＰＵであり、メイン用ＲＯＭ１０２ａに格納された各種プログラムを実行することで動作する。一方、第２のＣＰＵであるサブＣＰＵ１０１ｂは、メインＣＰＵ１０１ａの監視を主として行うＣＰＵであり、サブ用ＲＯＭ１０２ｂに格納された各種プログラムを実行することで動作する。
【００２１】
なお、上記の説明では、メインＣＰＵ１０１ａは電動パワーステアリング装置の制御を主として行い、サブＣＰＵ１０１ｂはメインＣＰＵ１０１ａの監視を主として行うものとして説明したが、これに限定されるものではなく、例えば両者が同等の機能を有していてもよく、また、両者が相互の監視機能を有していてもよい。
【００２２】
また、図２では、メインＣＰＵ１０１ａおよびサブＣＰＵ１０１ｂをそれぞれ搭載した２つのＣＰＵパッケージを具備する構成について示しているが、１つのＣＰＵパッケージ内に２つのＣＰＵコアが搭載されたマルチコアプロセッサを具備するような構成であってもよい。
【００２３】
また、図２では、メインＣＰＵ１０１ａおよびサブＣＰＵ１０１ｂによる２つのＣＰＵを備える構成について示しているが、３つ以上のＣＰＵを備えていてもよい。なお、この場合の実施態様については後述する。
【００２４】
また、図２では、メインＣＰＵ１０１ａおよびサブＣＰＵ１０１ｂにそれぞれ対応させたメイン用ＲＯＭ１０２ａおよびサブ用ＲＯＭ１０２ｂを備える構成について示しているが、一つのＲＯＭ内の領域が、メインＣＰＵ１０１ａおよびサブＣＰＵ１０１ｂが使用する二つの領域に区分されているような構成であってもよい。
【００２５】
（コントロールユニット−ＭＣＵ−ＲＯＭ）
ＲＯＭ１０２には、ＣＰＵ１０１が実行する各種プログラムが格納されている。なお、各種プログラムには、操舵補助モータ２０を制御するモータ制御処理（アシスト処理）を実行するためのモータ制御プログラム、ＥＥＰＲＯＭ１０４に格納された制御データのエラー検出・エラー訂正（誤り検出・誤り訂正）を行うエラー診断処理を実行するためのエラー診断プログラム、サブＣＰＵ１０１ｂがメインＣＰＵ１０１ａを監視するためのプログラム、タイマを用いたタスクのスケジュール管理等があり、これらのプログラムは、ＣＰＵ１０１ａおよびＣＰＵ１０１ｂの各機能に対応させてメイン用ＲＯＭ１０２ａおよびサブ用ＲＯＭ１０２ｂのそれぞれに格納されている。
【００２６】
（コントロールユニット−ＭＣＵ−ＲＡＭ）
ＲＡＭ１０３は、ＣＰＵ１０１がプログラムを実行する場合にその作業領域として使用され、処理過程で必要とするデータや処理結果等が記憶される構成部である。
【００２７】
（コントロールユニット−ＭＣＵ−ＥＥＰＲＯＭ）
ＥＥＰＲＯＭ１０４は、電源遮断後においても記憶内容を保持可能な不揮発性メモリであり、電動パワーステアリング装置の制御等においてＣＰＵ１０１が使用する制御データやＥＥＰＲＯＭ１０４に格納される制御データのエラー発生回数等が格納される。なお、ここでは、不揮発性メモリとして、ＥＥＰＲＯＭを使用することとしたが、本発明はこれに限られるものではなく、ＦＬＡＳＨ−ＲＯＭ、ＳＤＲＡＭ等の他の不揮発性メモリを使用することにしてもよい。
【００２８】
（コントロールユニット−ＭＣＵ−Ａ／Ｄ変換器）
Ａ／Ｄ変換器１０５は、トルクセンサ１０からの操舵トルクＴ、電流検出回路１３０からの操舵補助モータ２０の電流検出値Ｉｍ、および位置検出回路１４０からのモータ回転角信号θ等を入力し、デジタル信号に変換する。インターフェース１０６は、車速センサ１２からの車速Ｖ（車速パルス）を、例えばＣＡＮ（Controller Area Network）通信を利用して受け取るための構成部である。
【００２９】
（コントロールユニット−プリドライバ回路）
プリドライバ回路１１０は、ＭＣＵ１００から入力されるＵＶＷ各相のＰＷＭ制御信号を、各相正負の通電信号（Ｕp，Ｕn、Ｖp、Ｖn、Ｗp，Ｗn）に変換して、モータ駆動回路１２０に出力する。
【００３０】
（コントロールユニット−モータ駆動回路）
モータ駆動回路１２０は、一対のＦＥＴスイッチング素子からなるブリッジ回路をＵ相用，Ｖ相用，Ｗ相用として３相分備えており、各ＦＥＴスイッチング素子には還流ダイオードが並列接続されている。このブリッジ回路には、バッテリ１４から電源リレー１３を介して直流電圧が印加される。各ＦＥＴスイッチング素子の制御端子（ゲート端子）には、プリドライバ回路１１０から通電信号が入力される。モータ駆動回路１２０に印加される直流電圧は、モータ駆動回路１２０内のＦＥＴスイッチング素子のスイッチング動作によって３相の交流電圧に変換され、それにより操舵補助モータ２０が駆動される。このブリッジ回路には、シャント抵抗Ｒ１，Ｒ２が接続されている。また、このシャント抵抗Ｒ１，Ｒ２に電流検出回路１３０が接続され、これによって、操舵補助モータ２０の電流検出値Ｉｍを検出するように構成されている。
【００３１】
（コントロールユニット−位置検出回路）
位置検出回路１４０は、位置センサ２１に励磁電流を与えるとともに、位置センサ２１からの出力信号をモータ回転角信号θとして、Ａ／Ｄ変換器１０５に出力する。
【００３２】
（コントロールユニットの動作）
つぎに、本実施の形態にかかる電動パワーステアリング装置の動作について図３〜図６の各図面を参照して説明する。
【００３３】
（動作−通信処理シーケンス）
図３は、本実施の形態にかかる通信処理のシーケンスを示す図であり、より詳細には、メインＣＰＵ１０１ａとサブＣＰＵ１０１ｂとの間の通信の確立と、メインＣＰＵ１０１ａおよびサブＣＰＵ１０１ｂのプログラムチェックとを同時に行い、正常に通信が確立される場合の通信処理フローを示す図である。
【００３４】
なお、図３のフローにおいて、ＲＯＭチェック生成コードとは、ＲＯＭ内に格納されたデータが正しいか否かを判定するために各ＣＰＵにおいて生成されるチェックコード（チェック値）である。ＲＯＭチェック生成コードとしては、例えばＳＵＭ演算値、パリティ演算値、ＣＲＣ演算値などを用いることができる。
【００３５】
ここで、ＳＵＭ演算値とは、例えばＲＯＭ内の全部または一部のデータを所定バイト単位または所定ビット単位で加算した加算値、あるいは当該加算値の所定ビットを抽出した抽出値等で与えられる。なお、上記において、ＲＯＭ内のデータの加算演算を行う代わりに、ＥＸＯＲ演算等を行ってもよい。また、パリティ演算値およびＣＲＣ演算値は、ＲＯＭデータにパリティビット、ＣＲＣビットなどが付加されたデータに対して、上記と同様な演算処理を行って算出し、あるいは抽出した値である。以下、これらのＳＵＭ演算値、パリティ演算値、ＣＲＣ演算値などを、ＲＯＭデータに基づいて算出されたチェックコードの意味で、「ＲＯＭチェック生成コード」として説明する。
【００３６】
つぎに、図３に示した通信処理シーケンスについて説明する。なお、後述する図４〜図６のフローを含む各図の動作説明では、最初に、メインＣＰＵからサブＣＰＵに対して通信要求が発出される場合を一例として示しているが、最初に、サブＣＰＵからメインＣＰＵに対する通信要求が発出される場合であってもよいことは無論である。
【００３７】
図３において、
（１）まず、メインＣＰＵは、サブＣＰＵに対して通信要求を発出する（ステップＳ１１）。
（２）メインＣＰＵからの通信要求を受け、サブＣＰＵは、自身のＲＯＭ、すなわちＲＯＭ１０２ｂ内に格納されたＲＯＭデータに基づいて算出したＲＯＭチェック生成コード（サブ）をメインＣＰＵに送信する（ステップＳ１２）。
（３）メインＣＰＵは、受信したＲＯＭチェック生成コード（サブ）を正常値と照合し、当該照合結果が正常な場合、自身のＲＯＭ、すなわちメイン用ＲＯＭ１０２ａ内に格納されたＲＯＭデータに基づいて算出したＲＯＭチェック生成コード（メイン）をサブＣＰＵに送信する（ステップＳ１３）。
（４）照合結果が正常であることをメインＣＰＵおよびサブＣＰＵの両者が認識した段階で両者間の通信が確立する（ステップＳ１４）。なお、この「通信の確立」によってプログラムのチェックも同時に完了したことになる。一方、少なくとも１つの照合結果がＮＧであれば、プログラムのチェックのみならず、通信の確立も行われず、所定のエラールーチンに移行する。
【００３８】
図４は、図３に示す通信処理シーケンスをフローチャートの形式で示した図であり、ＣＰＵ間通信の確立処理におけるメインルーチンを示している。図４において、まず、「ＲＯＭチェック生成コード（サブ）の受信／照合処理」として定義されたサブフローが実行される（ステップＳ２１）。このとき、ＲＯＭチェック生成コードの受信結果と、その照合結果の少なくとも一つが正常でなければ（ステップＳ２２，Ｎｏ）、ＣＰＵ間通信の確立は不可として処理される（ステップＳ２５）。一方、ＲＯＭチェック生成コードの受信結果と、その照合結果とが共に正常であれば（ステップＳ２２，Ｙｅｓ）、さらに「ＲＯＭチェック生成コード（メイン）の受信／照合処理」として定義されたサブフローが実行され（ステップＳ２３）、ステップＳ２２と同様に、ＲＯＭチェック生成コードの受信結果と、その照合結果の少なくとも一つが正常でなければ（ステップＳ２４，Ｎｏ）、ＣＰＵ間通信の確立は不可として処理され（ステップＳ２５）、両者とも正常であれば（ステップＳ２４，Ｙｅｓ）、両者間の通信は確立されたものとして処理される（ステップＳ２６）。
【００３９】
図５は、ＲＯＭチェック生成コード（サブ）の受信／照合処理を示すフローチャートであり、この処理は、図４のステップＳ２１として定義された処理に対応する。また、図６は、ＲＯＭチェック生成コード（メイン）の受信／照合処理を示すフローチャートであり、この処理は、図４のステップＳ２３として定義された処理に対応する。
【００４０】
まず、図５に示すサブフローでは、メインＣＰＵからサブＣＰＵに対して「ＲＯＭチェック生成コード（サブ）」の通信要求（送信要求）が発出され（ステップＳ３１）、要求を受けたサブＣＰＵにて「ＲＯＭチェック生成コード（サブ）」が算出される（ステップ３２）。算出された「ＲＯＭチェック生成コード（サブ）」はサブＣＰＵからメインＣＰＵに送信され（ステップＳ３３）、メインＣＰＵにて、当該データの受信処理および、当該データと予め算出されて保持されている正常値との照合処理が行われる（ステップＳ３４）。
【００４１】
また、図６に示すサブフローでは、メインＣＰＵからサブＣＰＵに対して送信された「ＲＯＭチェック生成コード（サブ）」に関する照合結果（ＯＫ）の結果に基づいて、サブＣＰＵからメインＣＰＵに対して「ＲＯＭチェック生成コード（メイン）」の通信要求（送信要求）が発出され（ステップＳ４１）、要求を受けたメインＣＰＵにて「ＲＯＭチェック生成コード（メイン）」が算出される（ステップ４２）。算出された「ＲＯＭチェック生成コード（メイン）」はメインＣＰＵからサブＣＰＵに送信され（ステップＳ４３）、サブＣＰＵにて、当該データの受信処理および、当該データと予め算出されて保持されている正常値との照合処理が行われる（ステップＳ４４）。
【００４２】
以上が、メインＣＰＵ１０１ａとサブＣＰＵ１０１ｂとの間の通信の確立と、メインＣＰＵ１０１ａおよびサブＣＰＵ１０１ｂの動作チェックとを同時に行うこととした本実施の形態にかかる処理の内容である。
【００４３】
なお、図４のステップＳ２１およびステップＳ２３における「ＲＯＭチェック生成コードの受信／照合処理」では、ＲＯＭチェックだけでなく、ソフトウェアのバージョンチェックを併せて行うことも可能である。ソフトウェアのバージョンチェックを行うことにより、正常なソフトウェアの組合せのときのみ、動作を許可するといった制御を行うことができる。
【００４４】
ここで、ソフトウェアのバージョンチェックについて、若干の補正説明を行う。前述のように、ＣＰＵ１０１が実行する各種プログラムには、操舵補助モータを制御するモータ制御プログラム、制御データのエラー検出・エラー訂正を行うエラー診断プログラム、ＣＰＵを監視するための監視プログラムなどがある。これらのプログラムは、通常、電動パワーステアリング装置の供給者（サプライヤ）側で実装される。しかしながら、自動車メーカ側（例えばディーラ等）でプログラム（ソフトウェア）の書き換えが禁止されているわけではなく、また、将来において、例えばソフトウェアの不具合対策等で自動車メーカ側にプログラムの書き換えを許可するような態勢が採られる可能性も皆無ではない。このような場合に備え、ソフトウェアのバージョンチェックを行う機能を備えるとともに、当該バージョンチェックを通信の確立と同時に行うことは安全および機能の両面において好ましい実施態様である。
【００４５】
なお、上記処理フローでは、メインＣＰＵ１０１ａおよびサブＣＰＵ１０１ｂによる２つのＣＰＵによる処理シーケンスおよび処理フローついて説明したが、３つ以上のＣＰＵを備えている場合であっても適用可能である。例えば、３つ以上のＣＰＵの中から一つのＣＰＵを主ＣＰＵとして選択し、この主ＣＰＵとの間の通信が確立した場合に、全ＣＰＵ間の通信が確立されたものとすればよい。また、ＣＰＵの数が少ない場合などにおいては、全ての２者間における通信が確立された場合に、全ＣＰＵ間の通信が確立されたものとしてもよい。
【００４６】
以上説明したように、本実施の形態にかかる電動パワーステアリング装置によれば、複数のＣＰＵ間の通信を確立する際の送受信データとして、前記ＲＯＭに格納されたデータを用いて算出したＲＯＭチェック生成コードを用いるようにしているので、ＣＰＵ間通信の確立を短時間かつ少ないリソースで実行することが可能となる。その結果、ＣＰＵやメモリ等のリソースの使用率を効果的に削減することができ、リソースの使用に関する余裕度を効果的に向上させることができる電動パワーステアリング装置を実現することが可能となる。
【００４７】
また、本実施の形態にかかる電動パワーステアリング装置によれば、ＲＯＭチェック生成コードには、各ＣＰＵが使用するソフトウェアのバージョン情報が含まれるようにすることで、各ＣＰＵが使用するソフトウェアのバージョンチェックを通信の確立と同時に行うことが可能となる。
【産業上の利用可能性】
【００４８】
以上のように、本発明にかかる電動パワーステアリング装置は、ＣＰＵ間通信の確立を短時間かつ少ないリソースで実行することができる発明として有用である。
【図面の簡単な説明】
【００４９】
【図１】電動パワーステアリング装置の一般的な構成を示す図である。
【図２】図１に示すコントロールユニット（制御装置）の詳細構成を示す図である。
【図３】本実施の形態にかかる通信処理のシーケンスを示す図である。
【図４】図３に示す通信処理シーケンスをフローチャートの形式で示した図である。
【図５】ＲＯＭチェック生成コード（サブ）の受信／照合処理を示すフローチャートである。
【図６】ＲＯＭチェック生成コード（メイン）の受信／照合処理を示すフローチャートである。
【符号の説明】
【００５０】
１  操向ハンドル
２  コラム軸
３  減速ギア
４ａ，４ｂ  ユニバーサルジョイント
５  ピニオンラック機構
６  タイロッド
１０  トルクセンサ
１１  イグニションキー
１２  車速センサ
１３  電源リレー
１４  バッテリ
１８  モータリレー
２０  操舵補助モータ
２１  位置センサ
３０  コントロールユニット
１００  ＭＣＵ
１０１  ＣＰＵ
１０１ａ  メインＣＰＵ
１０１ｂ  サブＣＰＵ
１０２  ＲＯＭ
１０２ａ  メイン用ＲＯＭ
１０２ｂ  サブ用ＲＯＭ
１０３  ＲＡＭ
１０４  ＥＥＰＲＯＭ（不揮発性メモリ）
１０５  Ａ／Ｄ変換器
１０６  インターフェース
１０７  バス
１１０  プリドライバ回路
１２０  モータ駆動回路
１３０  電流検出回路
１４０  位置検出回路
Ｒ１，Ｒ２  シャント抵抗
【図１】
2010188796.tif 000003
【図２】
2010188796.tif 000004
【図３】
2010188796.tif 000005
【図４】
2010188796.tif 000006
【図５】
2010188796.tif 000007
【図６】
2010188796.tif 000008