(57)【要約】【課題】  車両搭載機器の診断精度を向上させることが可能な車両搭載機器の制御装置のメモリ診断装置を提供すること。【解決手段】  同一チップ内に制御プログラム記憶領域と、診断データ記憶領域とを設け、これらデータを比較することで、データ異常診断を行うこととした。【選択図】        図４
2011020544.tif 000002
【特許請求の範囲】
【請求項１】
車両搭載機器の制御装置のメモリ診断装置であって、
車両搭載機器を制御する制御プログラム及びデータを記憶する集積回路であるチップと、
前記チップ内に設けられ、車両搭載機器を制御する制御プログラムを記憶する制御プログラム記憶領域と、
前記チップ内に設けられ、前記制御プログラムと同じデータである診断用データを記憶する診断データ記憶領域と、
前記チップ内に設けられ、前記制御プログラムと前記診断用データを比較することにより、前記制御プログラムの異常を検出するデータ異常診断部と、
を有することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
【請求項２】
請求項１に記載の車両搭載装置の制御装置のメモリ診断装置において、
前記データ異常診断部は、前記制御プログラムの異常を検出した場合、検出された異常箇所を含む所定のデータのみを反復して前記診断用データと比較し、前記制御プログラムの異常を検出することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
【請求項３】
請求項１に記載の車両搭載装置の制御装置のメモリ診断装置において、
前記チップは、行列のマトリックス状に配置されたデータ記憶領域を有し、
前記制御プログラム記憶領域は、前記データ記憶領域上に設けられ、ｍ行×ｎ列に配置された前記制御プログラムデータを記憶し、
前記診断データ記憶領域は、前記データ記憶領域上に設けられ、ｍ行×ｎ列に配置された前記診断用データを記憶し、
前記制御プログラムデータまたは前記診断用データは、これら制御プログラムデータと診断用データの行または列の一方が前記データ記憶領域上で一致するように配置され、
前記診断用データは、前記ｍ行×ｎ列の記憶領域における配置状態が、前記制御プログラムの配置状態と異なるように配置されることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
【請求項４】
請求項１に記載の車両搭載装置の制御装置のメモリ診断装置において、
前記車両搭載機器はパワーステアリング装置であって、
前記パワーステアリング装置は、操舵輪に操舵力を付与する電動機を備え、
前記制御装置は、前記電動機を制御する制御装置であることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
【請求項５】
車両搭載機器の制御装置のメモリ診断装置であって、
車両搭載機器を制御する制御プログラム及びデータを記憶する集積回路であるチップと、
前記チップ内に設けられ、車両搭載機器を制御する制御プログラムを記憶する制御プログラム記憶領域と、
前記チップ内に設けられ、前記制御プログラムをビット反転させたデータである診断用データを記憶する診断データ記憶領域と、
前記チップ内に設けられ、前記制御プログラムと前記診断用データを比較することにより、前記制御プログラムの異常を検出するデータ異常診断部と、
を有することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両搭載機器の制御装置のメモリを診断する装置の技術分野に関する。
【背景技術】
【０００２】
従来、パワーステアリング装置の異常診断に係る技術として特許文献１が開示されている。この公報には、メインマイコンとサブマイコンとを備え、マイコン間通信により相互にデータを送受信し、データ受信側マイコンはデータの受信が定期的にあるかどうかを判定し、定期的にデータ受信していないときに、送信側のマイコンが異常であると判定する。更に、受信したデータ自身を判定してそのデータが異常であれば送信側のマイコンが異常であると判定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２６０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の特許文献１に記載の異常診断装置では、通信により異常を診断しているため、通信速度の限界によって十分な診断精度を得ることが困難であった。
【０００５】
本発明は、上記問題に着目してなされたもので、車両搭載機器の診断精度を向上させることが可能な車両搭載機器の制御装置のメモリ診断装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明では、同一チップ内に制御プログラム記憶領域と、診断データ記憶領域とを設け、これらデータを比較することで、データ異常診断を行うこととした。
【発明の効果】
【０００７】
よって、データ通信等を行う必要が無く、診断時間の短縮及び信頼性の向上を図ることができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１のパワーステアリング装置の異常診断装置が適用された車両システムを表す概略図である。
【図２】実施例１のコントロールユニット内の構成を表すブロック図である。
【図３】実施例１のマイコンのブロック図である。
【図４】実施例１の異常判断処理を表すフローチャートである。
【図５】実施例２の異常判断処理を表すフローチャートである。
【図６】実施例３のROMからRAMへのデータコピー処理を表すフローチャートである。
【図７】実施例３のデータ異常診断処理を表すフローチャートである。
【図８】実施例４のROMの状態を表す概略図である。
【図９】実施例４のデータ異常診断処理を表すフローチャートである。
【図１０】実施例５のデータ異常診断処理を表すフローチャートである。
【図１１】実施例６のROMからRAMへのデータコピー処理を表すフローチャートである。
【図１２】実施例６のデータ異常診断処理を表すフローチャートである。
【図１３】実施例７のデータ異常診断処理を表すフローチャートである。
【発明を実施するための形態】
【実施例１】
【０００９】
図１は実施例１のパワーステアリング装置の異常診断装置が適用された車両システムを表す概略図である。操舵系には、ステアリングホイール１と、コラムシャフト２と、ユニバーサルジョイント３と、中間シャフト４と、ユニバーサルジョイント５と、トルクセンサ６と、ピニオン７と、ラック８とを有する。ラック８には、一対のパワーシリンダ９が設けられ、このパワーシリンダ９にはパワーステアリング装置が取り付けられている。
乗員がステアリングホイール１を回転する操舵トルクは、コラムシャフト２，ユニバーサルジョイント３，中間シャフト４，ユニバーサルジョイント５を介してトルクセンサ６で検出されてトルクセンサハーネス３４によりコントロールユニット３３に入力される。操舵トルクはピニオン７に伝達されてラック８を左右に動かす推力の一部となる。モータ回転センサ３２はブラシレスモータ３１の電気角を検出してモータ回転センサハーネス３５によりコントロールユニット３３に電気角信号を入力する。コントロールユニット３３はトルクセンサハーネス３４により入力されたトルク信号と車速センサ３８により検出された車速信号に基づいてモータ３１に通電する電流と左右回転方向を算出し、モータ回転センサハーネス３５により入力された電機角信号に基づいてモータ制御に必要な演算を行ってモータ駆動に必要な電力をバッテリ４０からモータ３１に供給する。
モータ３１はコントロールユニット３３から供給された電力により双方向ポンプ２０を回転駆動する。右操舵時にはパワーシリンダ９とラック８に嵌装固定されたピストン１０及びガイドシール１２で囲まれた左側圧力室１４から左側配管１９を通って流れて来るオイルを双方向ポンプ２０が吸引，加圧して右側配管１８，及びパワーシリンダ９とピストン１０，ガイドシール１１に囲まれた右側圧力室１３内に供給する。双方向ポンプ２０の吸引によって左側圧力室１４内の圧力が低下し、略大気圧のリザーバタンク２３との間に差圧が発生し、左側吸入チェックバルブ２２が開いてリザーバタンク２３から作動油が双方向ポンプ２０により更に吸入加圧されて右側圧力室１３に供給される。双方向ポンプ２０によって加圧された作動油を供給された右側圧力室１３の圧力は増加し、左側圧力室１４との間で発生した圧力差によってピストン１０を押圧し、油圧アシスト力を発生する。この油圧アシスト力と操舵トルクで発生した推力でポールジョイント１５，タイロッド１６を介してタイヤ１７を右側に転向する。
【００１０】
双方向ポンプ２０によって加圧された圧油はパイロット流路２６を通って左側切替弁２５を動作させ、左側配管１９とドレイン流路２８を連通する。次に操舵方向を右側から左側に反転操舵すると、右側圧力室１３内の作動油はピストン１０に押されて双方向ポンプ２０を介して左側配管１９を通って左側圧力室１４内に流入する。この時、左側切替弁２５は左側配管１９とドレイン流路２８を連通状態としているため、右側圧力室１３を加圧するのに使った油量のうち、左側圧力室１４内の設定背圧に必要な油量以外は背圧バルブ２９が開弁してリザーバタンク２３に排出される。そのまま左操舵を続けると、双方向ポンプ２０が右側圧力室１３内の圧油を左側圧力室１４に供給し続けて右側圧力が低下し、パイロット流路２６内の圧力も低下して左側切替弁２５が左側配管１９とドレイン流路２８の連通を遮断する。
左側切替弁２５が左側配管１９とドレイン流路２８の連通を遮断した後、左側圧力室１４は加圧され、双方向ポンプ２０によって作動油が吸引されて圧力の低下した右側圧力室１３と略大気圧のリザーバタンク２３の間で差圧が発生すると、右側吸入チェックバルブ２１が開弁して更に作動油が吸引加圧されて右側圧力室１４内に供給される。双方向ポンプ２０によって加圧された作動油を供給された左側圧力室１４の圧力は増加し、右側圧力室１３との間で発生した圧力差によってピストン１０を押圧する油圧アシスト力を発生する。この油圧アシスト力と操舵トルクで発生した推力でポールジョイント１５，タイロッド１６を介してタイヤ１７を左側に転向する。
連通バルブ４１はノーマルオープンの電磁弁であってアシスト制御中はコントロールユニット３３からの駆動信号によって常時閉じている。コントロールユニット３３がシステムの異常を検出した場合には、アシストを停止するとともに連通バルブ４１の駆動信号を停止し、右側操舵時には左側圧力室１４内の作動油がピストン１０によって押し出され、左側配管１９，左側チェックバルブ４３，連通バルブ４１を通りリザーバタンク２３に排出される。左側操舵中であれば右側圧力室１３内の作動油がピストン１０によって押し出され、右側配管１８，右側チェックバルブ４２，連通バルブ４１を通ってリザーバタンク２３に排出される。
【００１１】
次にコントロールユニット３３の構成を説明する。図２はコントロールユニット３３内の構成を表すブロック図である。
アシストトルク算出手段331は、トルク信号３４と車速信号３９に基づいてアシストトルクマップ（予め設定されている）によりモータの基本アシストトルクを算出する。遅れ補償トルクとモータ回転手段337によって算出されたモータ回転数ωｍによる補正トルクを必要に応じて加算、減算してトータルアシストトルクを算出し、アシストトルクTAを出力する。
モータ指示電流算出手段332では、アシストトルクTAを基にブラシレスモータのｑ軸目標電流Iq*と、ｄ軸目標電流Id*をそれぞれ算出して出力する。
電流制御手段333では、電流検出手段335で算出したモータの３相実電流Iu,Iv,Iwとモータ回転位置検出手段336で算出したモータの電機角θｍに基づいて３相−２相変換したｑ軸電流及びｄ軸電流と、ｑ軸目標電流Iq*，ｄ軸目標電流Id*との偏差に基づいてPID制御を行い、モータ制御量を算出して２相−３相変換を行い、U,V,W相のPWM駆動デューティを算出する。
モータ駆動手段344は、U,V,W相のPWM駆動デューティに基づいて図示しないスイッチング素子を駆動してモータ３１にバッテリ３９から電力を供給してモータ３１を駆動する。
電流検出手段335はモータ３１に供給しているU,V,W相の電流を電流センサ335A，335B，335Cにより検出して増幅，演算処理を行いモータ実電流としてIu,Iv,Iwを出力する。
モータ回転位置検出手段336では、モータ回転センサハーネス３５により入力されたモータ回転センサ３２の信号を基に、モータ回転子の電気角θｍを算出する。
モータ回転数算出手段337では、モータ電機角θｍに基づいて機械角を算出し、機械角の時間変化からモータ回転子の回転数ωｍを算出する。
【００１２】
（同一マイコン内での診断）
図３はコントロールユニット３３内に設けられた組み込み制御用のマイクロコンピュータ（以下、マイコン）の概念図である。マイコンは、演算処理を行うCPUと、プログラム等が書き込まれたROMと、メインメモリであるRAMとを有する。また、外部信号の入出力を行うポート、割り込みコントローラ、タイマユニット、ＡＤ変換器、シリアル通信インターフェース、電源電圧，リセット信号及びシステムクロックが入力されるシステムコントローラ等が備えられている。ROMは、ｍ行×ｎ列に配置された制御プログラムデータと、ｍ行×ｎ列に配置された診断用データを記憶している。
ここで、仮に、上記構成のマイコンを複数備え（以下、メインマイコンとサブマイコンとする）、メインマイコンとサブマイコンとの通信により異常診断を行う構成を検討する。一般に、メインマイコンはシリアル通信インターフェースを介してサブマイコンと通信を行うこととなる。一般的なシリアル通信によりデータの送受信を行う場合、通信速度であるボーレートは32〜128（kbps）程度に設定されることが多い。ボーレートを上げすぎるとデータの信頼性が損なわれるからである。通信データを2byte（8+8bit）データ＋SUM値データ1byte（8bit）、送信データのスタートbitとストップbitを1bit，パリティbitなし、とすると、サブマイコンからメインマイコン、又はメインマイコンからサブマイコンに送信する全データのbit数は（8bitデータ＋スタートbit＋ストップbit）×3byte＝30bitとなる。次に、送信に必要な時間は、理論上、送信必要時間＝bit数/ボーレートと表される。従って、ボーレートと送信必要時間との関係は、32（kbps）であれば916（μsec），64（kbps）であれば458（μsec），128（kbps）であれば229（μsec）となる。実際にはデータの送信完了，受信側の受信完了の動作があるため、この時間よりも遅くなる。
【００１３】
そこで、実施例１では、一つのマイコン内で異常診断を行うこととした。具体的には、マイコンのROM内において、ある領域に制御用プログラムを書き込み、その制御プログラムと全く同じ内容を、診断用データとして同一ROMの別の領域にも書き込んでおく。そして、制御用プログラムとは別の場所に記録されたプログラムであるデータ異常診断部により、制御用プログラムと診断用データの書き込まれた情報を比較することにより制御プログラムのデータの異常診断を行う。
制御プログラムの記憶領域では電気的なオン・オフ信号が升目上に配置された状態である。このとき、何らかの影響によってこれら記憶情報が限定的な領域においてオン・オフ反転が生じる、或いはある列もしくはある行のみ全てオンやオフになってしまう異常が生じうる。よって、物理的に異なる領域に全く同じ制御プログラムデータである診断用データを記憶しておくことで、これら両方が同時に異常となることはなく、一方のみが影響を受けるため、異常診断を行うことができる。
例えば電動パワーステアリング装置の制御に使用されるマイコンは、IF,ID,EX,MA,WBの５ステージを５段パイプラインで実施するRISCマイコンが最近では一般的である。ここでIF＝インストラクションフェッチ（命令の読み出し），ID＝インストラクションデコード（命令の解読），EX＝命令の実行（四則演算やアドレス演算等），MA＝メモリアクセス（EXでメモリアクセスが発生した場合に実施），WB＝ライトバック（MAの結果をCPU内レジスタに再書き込み）である。
上記のようなRISCマイコンでは通常１命令１クロックで実行される。ただし、メモリアクセスを含む命令ではIFとMAで複数（２〜３クロック）のクロックを要する。従って、最悪の状態を想定して１命令の実行に９クロック要するものとし、CPUの動作クロック＝９クロック/10（MHz）＝0.9（μsec）となる。これは、通信でデータを受信して比較する場合の254倍（通信ボーレート128（kbps）の時）高速になる。また、通信線を介していないため、データの信頼性も極めて高い。
【００１４】
（データ異常診断処理）
次に、コントロールユニット３３で行われるデータ異常判断処理について説明する。図４は実施例１の異常判断処理を表すフローチャートである。フローチャートの横には、ROM内のデータを診断するイメージ図であり、上方に制御プログラムが書き込まれ（制御プログラム記憶領域）、下方に制御プログラムと同一のマシンコードが書き込まれた状態（診断データ記憶領域）を示す。下方のマシンコードは実際の制御に使用するものではなく、単に制御プログラムの確認用である。尚、データ異常診断プログラム（データ異常診断部）は、この制御プログラム記憶領域と診断データ記憶領域とは異なる領域に記録されており、コントロールユニット３３の制御周期に沿って常時実行されているものとする。
ステップ401では、異常確定フラグFSFLAG＝０かどうかを調べ、０であれば異常が確定していないためステップ402へ進み、FSFLAG＝１であればROMの異常が確定しているため処理を終了する。
ステップ402では、アドレス１が制御用プログラムの終端END1か否かを調べる。アドレス１＝END1であればステップ403に進み、アドレス１≠END1であればステップ411に進む。
ステップ403では、アドレス１に制御用プログラムの先頭アドレスであるSTART1を代入してステップ404に進む。
ステップ404では、アドレス１にOffsetを加算してアドレス２に代入してステップ405へ進む。Offsetは制御用プログラムと、制御用プログラムの異常を診断するための同一マシンコードがマッピングされた診断用データが格納されているROM上の先頭アドレスSTART2との相対変位量である。
ステップ405では、アドレス１のデータをデータ１に代入してステップ406へ進む。
ステップ406では、アドレス２のデータをデータ２に代入してステップ407へ進む。
ステップ407では、データ１とデータ２とを比較する。データ１≠データ２であればステップ408へ進み、データ１＝データ２であれば処理を終了する。
ステップ408では、異常カウンタcountをインクリメントしてステップ409へ進む。
ステップ409では、count値と所定値を比較し、count≧所定値であればステップ410へ進み、データ１＝データ２であれば処理を終了する。
ステップ410では、異常確定フラグFSFLAGを１に設定して処理を終了する。
ステップ411では、アドレス１にNを加算しステップ404に進む。Nは8bit，16bit，32bit等のデータサイズであり、自由に選択可能である。
【００１５】
以上説明したように、実施例１にあっては下記の作用効果を得ることができる。
（１）電動パワーステアリング装置（車両搭載機器）のコントロールユニット３３（制御装置）のメモリ診断装置であって、車両搭載機器を制御する制御プログラム及びデータを記憶する集積回路であるマイコン（チップ）と、このマイコン内に設けられ、車両搭載機器を制御する制御プログラムを記憶する制御プログラム記憶領域と、マイコン内に設けられ、制御プログラムと同じデータである診断用データを記憶する診断データ記憶領域と、マイコン内に設けられ、制御プログラムと診断用データを比較することにより、制御プログラムの異常を検出するデータ異常診断部と、を有する。
よって、同一マイコン内で制御プログラムと診断用データとを比較するため、診断時間を短縮することができ、また診断の信頼性を向上することができる。
（２）データ異常診断部は、制御プログラムの以上を検出したとき所定時間毎に異常カウンタによるカウントアップを開始し、制御プログラムの異常状態が解消した場合にはカウントアップした値をクリアすると共に、カウントアップされたカウント値が所定値に達したとき、制御プログラムの異常を確定するカウント部を更に備えることで、制御プログラムの異常検出精度を更に高めることができる。
（３）車両搭載機器はパワーステアリング装置であって、パワーステアリング装置は操舵輪に操舵力を付与するモータ３１（電動機）を備え、制御装置はモータ３１を制御するものである。パワーステアリング装置は他の車両搭載機器に比べて高い診断応答性を求められるため、このメモリ診断装置をパワーステアリング装置のメモリ診断装置に適用することで、より信頼性の高いパワーステアリング装置を得ることができる。
【実施例２】
【００１６】
次に実施例２について説明する。基本的な構成は実施例１と同じであるため、異なる点についてのみ説明する。図５は実施例２の異常判断処理を表すフローチャートである。
（反復異常診断処理）
データ異常診断処理においてデータ異常が検出された場合に、再度異常データのみを反復して異常診断する処理について説明する。図５は反復異常診断処理を表すフローチャートである。
ステップ501では、アドレス１が制御用プログラムの終端END1かどうかを調べる。アドレス１＝END1であればステップ502へ進み、アドレス１≠END1であればステップ509に進む。
ステップ502では、アドレス１に制御用プログラムの先頭アドレスであるSTART1を代入してステップ503に進む。
ステップ503では、アドレス１にOffsetを加算してアドレス２に代入してステップ504に進む。Offsetは制御用プログラムと、診断用プログラムの異常を診断するための同一のマシンコードがマッピングされた診断用データが格納されているROM上の先頭アドレスSTART2との相対変位量である。
ステップ504では、アドレス１のデータをデータ１に代入してステップ505に進む。
ステップ505では、アドレス２のデータをデータ２に代入してステップ506に進む。
ステップ506では、データ１とデータ２を比較する。データ１≠データ２であればステップ507へ進み、データ１≠データ２であれば処理を終了する。
ステップ507では、データ１を０クリアしてステップ508へ進む。
ステップ508では、データ２を０クリアしてステップ504に進み、再度同一アドレスのデータ異常を診断する。この動作により、プログラム動作していることを表す信号であるプログラムランパルスいわゆるPRUN信号がHi又はLoで固着し、マイコンが異常であることを検出することが可能となる。
ステップ509では、アドレス１にNを加算しステップ503に進む。Nは8bit，16bit，32bit等のデータサイズであり、自由に選択可能である。
【００１７】
以上説明したように、実施例２にあっては、実施例１の効果（１），（３）に加えて、下記の作用効果を得ることができる。
（４）データ異常診断部は、制御プログラムの以上を検出した場合、検出された異常個所を含む所定のデータのみを反復して診断用データと比較し、制御プログラムの異常を検出することとした。
よって、異常個所を反復して異常検出することにより、より短時間でのより精度の高い異常検出を行うことができる。言い換えると、制御プログラムの最後まで検証する必要が無く事前に異常検知することができる。尚、実施例１の異常カウンタ等を併用し、反復回数が所定回数に達したときに異常と判断するようにしてもよい。
【実施例３】
【００１８】
次に、実施例３について説明する。基本的な構成は実施例１と同じであるため異なる点についてのみ説明する。実施例１では、ROM上に制御プログラム記憶領域と、診断データ記憶領域とを備えた構成を示したが、実施例３では、ROM上に記録された制御プログラムをRAM上にコピーして診断データ記憶領域を作成する点が異なる。
（ROM上の制御プログラムをRAMにコピーする処理）
まず、ROM上の制御プログラムをRAMにコピーする処理について説明する。この処理は、マイコンRESET時に一回だけ実施する。図６は実施例３のROMからRAMへのデータコピー処理を表すフローチャートである。
ステップ601では、レジスタR1にROM上の制御プログラム開始アドレスSTART1を設定し、ステップ602へ進む。
ステップ602では、レジスタR2にRAM上のコピー先アドレス開始アドレスSTART2を設定し、ステップ603へ進む。
ステップ603では、レジスタR3にROM上の制御プログラムをRAMにコピーするデータ数を設定し、ステップ604に進む。データ数はマイコンの取り扱えるデータサイズに依存する。例えば制御プログラムの全サイズが32kbytes（32768bit）の場合、１６進数表記でバイトサイズN＝0x8000，ワードサイズN=0x4000，ダブルワードN=0x2000となる。
ステップ604では、レジスタ間接アドレッシングによってレジスタR1が指し示すアドレスからROMデータを読み出してレジスタR4に代入し、ステップ605へ進む。
ステップ605では、レジスタ間接アドレッシングによってR2が指し示すRAM上にレジスタR4に格納されているROMデータを書き込み、ステップ606に進む。
ステップ606では、レジスタR3から１デクリメントしてステップ607へ進む。
ステップ607では、レジスタR3が0かどうかを判定し、R3＞0であればステップ608に進み、R3=0であれば全てのデータコピーが終了しているため処理を終了する。
ステップ608では、データコピー元のROM側アドレスをNだけ進める。Nはマイコンの取り扱うデータサイズに依存し、バイト＝1，ワード＝2，ダブルワード＝4となる。
ステップ609では、データコピー先のRAM側アドレスをNだけ進め、ステップ604に戻って次のデータコピーを実施する。
（データ異常診断処理）
図７は実施例３のデータ異常診断処理を表すフローチャートである。基本的には、実施例１の図４に示すフローチャートと同じであり、異なる点についてのみ説明する。
ステップ704では、アドレス２にRAMデータのスタートアドレスSTART2を代入してステップ405へ進む。
ステップ712では、アドレス２をNだけ進める。Nはマイコンの取り扱うデータサイズに依存し、バイト＝1，ワード＝2，ダブルワード＝4となる。
【００１９】
以上説明したように、実施例３にあっては、実施例１の効果（１）〜（３）に加えて、下記の作用効果を得ることができる。
（５）マイコンはデータの書き換えが可能なRAM領域を備え、診断データ記憶領域は、RAM領域に設けられ、診断用データは、ROM上の制御プログラムをコピーしてRAM領域に書き込まれたものである。これにより、必要に応じて診断データ記憶領域を書き換えることができるため、マイコンにおけるデータ記憶領域の使用上の自由度が向上する。
【実施例４】
【００２０】
次に、実施例４について説明する。基本的な構成は実施例１と同じであるため、異なる点についてのみ説明する。実施例１では、ROMの制御プログラム記憶領域のデータをそのままデッドコピーした診断データ記憶領域を備えていた。これに対し、実施例４では、ROM上の制御用プログラムが書き込まれた領域と行または列の一方がデータ記憶領域上で一致するように配置し（物理的に横方向や上下方向に移動した位置）、更に制御プログラムの配置状態と異なるように配置されている点で異なる。図８はROMの状態を表す概略図である。図８中、診断用データ（パターン１）と記載されているのは、制御用プログラムのデータをROM内で水平方向に移動させ、更に、下３行のデータを上３行にシフトさせて配置したものである。また、診断用データ（パターン２）と記載されているのは、制御用プログラムのデータをROM内で垂直方向に移動させ、更に、後ろ３列のデータを前３列にシフトさせて配置したものである。
ROM内に設けられるマトリックス状の記憶領域は、ある行ごと、又はある列ごと故障する可能性が高い。よって、例えば制御プログラムと診断用プログラムを「同じ行、異なる列」に配置（水平方向に平行移動）し、夫々のデータを全く同じように配列すると、記憶領域のある行全てが同じように故障した場合には、比較しても同じ値を示してしまい、異常を検出することができない。
そこで、夫々のデータの配列をずらすことで、比較するデータ同士全てが同じように故障することがなくなるため、異常検出精度を高めるものである。
（データ異常診断処理）
図９は実施例４のデータ異常診断処理を表すフローチャートである。尚、ステップ801以外は実施例１の図４と同じであるため省略する。
ステップ801では、アドレス１にOffsetを加えるときにデータのローテーションを考慮したオフセットを与える。例えば、パターン１の場合、アドレス１が（ｍ−３）行に到達するまではOffsetに３行分を追加した値とし、アドレス１が（ｍ−３）行に到達したときは診断用データの１行目となるように、それぞれ行のローテーションに対応するアドレス２を設定する。パターン２の場合、それぞれ列のローテーションに対応するアドレス２を設定する。
以上説明したように、実施例４にあっては下記の作用効果を得ることができる。
（６）ROM（チップ）は、行列のマトリックス状に配置されたデータ記憶領域を有し、制御プログラム記憶領域は、データ記憶領域上に設けられ、ｍ行×ｎ列に配置された制御プログラムデータを記憶し、診断データ記憶領域は、データ記憶領域上に設けられ、ｍ行×ｎ列に配置された診断用データを記憶し、制御プログラムデータまたは診断用データは、これら制御プログラムデータと診断用データの行または列の一方がデータ記憶領域上で一致するように配置され、診断用データは、ｍ行×ｎ列の記憶領域における配置状態が、制御プログラムの配置状態と異なるように配置されることとした。よって、比較するデータ同士が全て同じように故障することがなくなり、異常検出精度を更に高めることができる。
尚、実施例４では、制御プログラム記憶領域を横方向もしくは縦方向に平行移動した例を示したが、完全に行と列とが重ならない領域に診断用データをコピーしてもよい。また、コピーする際に、行を昇順から降順とし、列を右からではなく左から並べるように反転させてもよい。これにより、更にデータ消失の影響を回避することができる。
【実施例５】
【００２１】
次に実施例５について説明する。基本的な構成は実施例１と同じであるため異なる点についてのみ説明する。実施例１では、ROMの制御プログラム記憶領域のデータをそのままデッドコピーした診断データ記憶領域を備えていた。これに対し、実施例５では、bit反転したデータを記憶している点が異なる。
（データ異常診断処理）
図１０は実施例５のデータ異常診断処理を表すフローチャートである。尚、ステップ1001〜1003以外は実施例１と同じであるため説明を省略する。
ステップ1001では、データ１とデータ２の論理和(OR)演算結果をTemp1に代入し、ステップ1002に進む。
ステップ1002では、データ１とデータ２の論理関(AND)演算結果をTemp2に代入し、ステップ1003に進む。
ステップ1003では、論理和演算結果Temp1が１６進数で0xFFFFであるかどうかを診断する。仮に元のデータが２進数で0110  1001  1010  0101であったとすると、bit反転されたデータは1001  0110  0101  1010である。この２値の論理和(OR)は、1111  1111  1111  1111であって１６進数で0ｘFFFFとなる。Temp1＝0xFFFFであればステップ1004に進み、Temp1≠0xFFFFであればステップ408に進む。
ここでは、データサイズを16bitとしているため0xFFFFとしているが、データサイズが8bitであれば0xFF，32bitであれば0xFFFFFFFFと比較することとなる。
ステップ1004では、Temp2が0x0000であるかどうかを診断する。論理和の時と同様に元のデータ0110  1001  1010  0101とbit反転されたデータ1001  0110  0101  1010の論理積は、0000  0000  0000  0000である。Temp2＝0x0000であれば処理を終了し、Temp2≠0x0000であればステップ408に進む。
以上説明したように、実施例５にあっては下記の作用効果を得ることができる。
（７）電動パワーステアリング装置（車両搭載機器）のコントロールユニット３３（制御装置）のメモリ診断装置であって、車両搭載機器を制御する制御プログラム及びデータを記憶する集積回路であるマイコン（チップ）と、このマイコン内に設けられ、車両搭載機器を制御する制御プログラムを記憶する制御プログラム記憶領域と、マイコン内に設けられ、制御プログラムをビット反転させたデータである診断用データを記憶する診断データ記憶領域と、マイコン内に設けられ、制御プログラムと診断用データを比較することにより、制御プログラムの異常を検出するデータ異常診断部と、を有する。よって、同一マイコン内で制御プログラムと診断用データを比較するため、診断時間を短縮化することができ、また診断の信頼性を向上させることができる。
（８）制御プログラム及び診断用データは０または１の配列によって表現されたデータであって、データ異常診断は、制御プログラムと診断用データの対応するデータ同士の論理和及び論理積を演算し、論理和が全て１、論理積が全て０となるか否かによって制御プログラムの異常を検出する。よって、簡易に異常診断を行うことができる。
【実施例６】
【００２２】
次に実施例６について説明する。基本的な構成は実施例３と同じであるため、異なる点についてのみ説明する。実施例３では、ROMの制御プログラムデータをRAMにコピーする際、そのままコピーをしていた。これに対し、実施例６では、bit反転したデータをRAMにコピーする点で異なる。
（ROM上の制御プログラムをRAMにコピーする処理）
まず、ROM上の制御プログラムをRAMにコピーする処理について説明する。この処理は、マイコンRESET時に一回だけ実施する。図１１は実施例６のROMからRAMへのデータコピー処理を表すフローチャートである。基本的には、実施例３の図６に示すフローチャートと同じであり、ステップ1101において、レジスタR4のデータをbit反転する以外は実施例３と同じであるため、説明を省略する。
（データ異常診断処理）
図１２は実施例６のデータ異常診断処理を表すフローチャートである。基本的には、実施例３の図７に示すフローチャートと同じであり、ステップ1201において、RAMから読み出したデータ２をbit反転する以外は実施例３と同じであるため、説明を省略する。
以上説明したように、実施例６では、実施例１の効果（２）（３），実施例３の効果（５），実施例５の効果（７）を得ることができる。
【実施例７】
【００２３】
次に実施例７について説明する。基本的な構成は実施例１と同じであるため、異なる点についてのみ説明する。実施例１では、ある領域に制御用プログラムを書き込み、その制御プログラムと全く同じ内容を、診断用データとして同一ROMの別の領域にも書き込んだが、実施例７では、制御プログラムを関数変換したデータを診断用データとして記録したものである。具体的には、制御プログラムのあるアドレスのデータ（データ１）と、次のアドレスのデータ（データ３）とを加減乗算や各種論理演算した値を診断用データ（データ２）として書き込み、対比するものである。図１３は実施例７のデータ異常診断処理を表すフローチャートである。実施例１の図４に示すステップと異なるステップについてのみ説明する。
ステップ1307では、アドレス３をアドレス１にNだけ増加してステップ1308に進む。
ステップ1308では、アドレス３からデータを取り出してデータ３に代入し、ステップ1309に進む。
ステップ1309では、データ１とデータ３を加算してTemp1に代入する。本例では、加算とされているが、加減乗除，各種論理演算結果，又は加減乗除と論理演算の組み合わせ、データ回転結果の加減乗除等各種組み合わせ結果を算出してもよい。この場合、組み合わせた結果がデータ２として保存されていることは言うまでもない。
ステップ1310では、Temp1とデータ２を比較し、Temp1≠データ２であればステップ408に進み、Temp1＝データ２であれば処理を終了する。
以上説明したように、実施例７では、実施例１の効果（２）（３），及び下記に示す作用効果が得られる。
（９）電動パワーステアリング装置（車両搭載機器）のコントロールユニット３３（制御装置）のメモリ診断装置であって、車両搭載機器を制御する制御プログラム及びデータを記憶する集積回路であるマイコン（チップ）と、このマイコン内に設けられ、車両搭載機器を制御する制御プログラムを記憶する制御プログラム記憶領域と、マイコン内に設けられ、制御プログラムを関数変換させたデータである診断用データを記憶する診断データ記憶領域と、マイコン内に設けられ、制御プログラムと診断用データを比較することにより、制御プログラムの異常を検出するデータ異常診断部と、を有する。
よって、同一マイコン内で制御プログラムと診断用データとを比較するため、診断時間を短縮することができ、また診断の信頼性を向上することができる。
【００２４】
以上、実施例１〜７に基づいて説明してきたが、実施例に限らず他の構成も本発明に含まれる。各実施例はそれぞれ適宜組み合わせることができ、その組み合わせについて以下、その例を列挙する。尚、車両搭載機器とは、実施例ではパワーステアリング装置を示したが、ＡＢＳ制御装置やＶＤＣ制御装置でもよいし、エンジン制御装置や自動変速機制御装置でもよい。チップとは、集積回路全般を表し、通信用インターフェースを介することなく情報を授受するもの全般を指す。よって、ROM内での異常診断に限らず、ROMとRAMとの間での異常診断も含まれる。
【００２５】
（Ａ１）車両搭載機器の制御装置のメモリ診断装置であって、車両搭載機器を制御する制御プログラム及びデータを記憶する集積回路であるチップと、前記チップ内に設けられ、車両搭載機器を制御する制御プログラムを記憶する制御プログラム記憶領域と、前記チップ内に設けられ、前記制御プログラムと同じデータである診断用データを記憶する診断データ記憶手段と、前記チップ内に設けられ、前記制御プログラムと前記診断用データを比較することにより、前記制御プログラムの異常を検出するデータ異常診断部と、を有することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
同一チップ内で制御プログラムと診断用データを比較するため、診断時間を短縮することができ、また診断の信頼性を向上させることができる。
（Ａ２）上記（Ａ１）に記載の車両用搭載機器の制御装置のメモリ診断装置において、前記データ異常診断部は、前記制御プログラムの異常を検出した場合、検出された異常個所を含む所定のデータのみを反復して前記診断用データと比較し、前記制御プログラムの異常を検出することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
異常個所を反復して異常検出することにより、より短時間でより精度の高い異常検出を行うことができる。
（Ａ３）上記（Ａ２）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記データ異常診断部は、前記制御プログラムの異常を検出したとき所定時間毎にカウントアップを開始し、前記制御プログラムの異常状態が解消した場合にはカウントアップした値をクリアすると共に、カウントアップされたカウント値が所定値に達したとき、前記制御プログラムの異常を確定するカウント部を備えたことを特徴とする車両搭載機器の制御装置のメモリ診断装置。
制御プログラムの異常検出精度を更に高めることができる。
（Ａ４）上記（Ａ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記チップは、行列のマトリックス状に配置されたデータ記憶領域を有し、前記制御プログラム記憶領域は、前記データ記憶領域上に設けられ、ｍ行×ｎ列に配置された前記制御プログラムデータを記憶し、前記診断データ記憶領域は、前記データ記憶領域上に設けられ、ｍ行×ｎ列に配置された前記診断用データを記憶し、前記制御プログラムデータまたは前記診断用データは、これら制御プログラムデータと診断用データの行または列の一方が前記データ記憶領域上で一致するように配置され、前記診断用データは、前記ｍ行×ｎ列の記憶領域における配置状態が、前記制御プログラムの配置状態と異なるように配置されることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
チップ内に設けられるマトリックス状の記憶領域は、ある行ごと又はある列ごと故障する可能性が高い。よって、例えば制御プログラムと診断用プログラムを同じ行異なる列に配置し、夫々のデータを全く同じように配列した場合、記憶領域のある行全てが同じように故障した場合には、比較しても同じ値を示してしまい、異常を検出することができない。そこで、夫々のデータ配列をずらすことで、比較するデータ同士全てが同じように故障することがなくなるため、異常検出精度を更に高めることができる。
（Ａ５）上記（Ａ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記チップはデータの書き換えが可能なRAM領域を備え、前期診断データ記憶猟奇は、前記RAM領域に設けられ、前記診断用データは、前記制御プログラムをコピーし前記RAM領域に書き込まれたものであることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
必要に応じて診断データ記憶領域を書き換えることができるため、チップ上におけるデータ記憶領域の使用上の自由度が向上する。
（Ａ６）上記（Ａ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記車両搭載機器はパワーステアリング装置であって、前記パワーステアリング装置は、操舵輪に操舵力を付与する電動機を備え、前記制御装置は、前記電動機を制御する制御装置であることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
パワーステアリング装置は他の車両搭載機器に比べて高い診断応答性を求められるため、このメモリ診断装置をパワーステアリング装置の制御装置のメモリ診断装置に適用することにより、より信頼性の高いパワーステアリング装置を得ることができる。
【００２６】
（Ｂ１）車両搭載機器の制御装置のメモリ診断装置であって、車両搭載機器を制御する制御プログラム及びデータを記憶する集積回路であるチップと、前記チップ内に設けられ、車両搭載機器を制御する制御プログラムを記憶する制御プログラム記憶領域と、前記チップ内に設けられ、前記制御プログラムをビット反転させたデータである診断用データを記憶する診断データ記憶手段と、前記チップ内に設けられ、前記制御プログラムと前記診断用データを比較することにより、前記制御プログラムの異常を検出するデータ異常診断部と、を有することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
同一チップ内で制御プログラムと診断用データを比較するため、診断時間を短縮することができ、また診断の信頼性を向上させることができる。
（Ｂ２）上記（Ｂ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記データ異常診断部は、前記制御プログラムの異常を検出した場合、検出された異常個所を含む所定のデータのみを反転して前記診断用データと比較し、前記制御プログラムの異常を検出することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
異常個所を反復して異常検出することにより、より短時間でより精度の高い異常検出を行うことができる。
（Ｂ３）上記（Ｂ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記データ異常診断部は、前記診断用データをビット反転させた後、前記制御プログラムと比較することにより、前記制御プログラムの異常を検出することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
診断用データをビット反転させることにより、制御プログラムと同じデータとすることができるため、同じデータ同士の比較をすることができる。
（Ｂ４）上記（Ｂ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記制御プログラム及び前記診断用データは０または１の配列によって表現されたデータであって、前記データ異常診断部は、前記制御プログラムと前記診断用データの対応するデータ同士の論理和及び論理積を演算し、演算値が１となるか否かによって前記制御プログラムの異常を検出することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
上記論理和や論理積の演算をすることにより、演算結果が０または１となっているか否かを判断するのみで制御プログラムの異常を検出することができる。
（Ｂ５）上記（Ｂ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記チップは、行列のマトリックス状に配置されたデータ記憶領域を有し、前記制御プログラム記憶領域は、前記データ記憶領域上に設けられ、ｍ行×ｎ列に配置された前記制御プログラムデータを記憶し、前記診断データ記憶領域は、前記データ記憶領域上に設けられ、ｍ行×ｎ列に配置された前記診断用データを記憶し、前記制御プログラムデータまたは前記診断用データは、これら制御プログラムデータと診断用データの行または列の一方が前記データ記憶領域上で一致するように配置され、前記診断用データは、前記ｍ行×ｎ列の記憶領域における配置状態が、前記制御プログラムの配置状態と異なるように配置されることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
チップ内に設けられるマトリックス状の記憶領域は、ある行ごと又はある列ごと故障する可能性が高い。よって、例えば制御プログラムと診断用プログラムを同じ行異なる列に配置し、夫々のデータを全く同じように配列した場合、記憶領域のある行全てが同じように故障した場合には、比較しても同じ値を示してしまい、異常を検出することができない。そこで、夫々のデータ配列をずらすことで、比較するデータ同士全てが同じように故障することがなくなるため、異常検出精度を更に高めることができる。
（Ｂ６）上記（Ｂ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記チップはデータの書き換えが可能なRAM領域を備え、前期診断データ記憶猟奇は、前記RAM領域に設けられ、前記診断用データは、前記制御プログラムをコピーし前記RAM領域に書き込まれたものであることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
必要に応じて診断データ記憶領域を書き換えることができるため、チップ上におけるデータ記憶領域の使用上の自由度が向上する。
（Ｂ７）上記（Ｂ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記車両搭載機器はパワーステアリング装置であって、前記パワーステアリング装置は、操舵輪に操舵力を付与する電動機を備え、前記制御装置は、前記電動機を制御する制御装置であることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
パワーステアリング装置は他の車両搭載機器に比べて高い診断応答性を求められるため、このメモリ診断装置をパワーステアリング装置の制御装置のメモリ診断装置に適用することにより、より信頼性の高いパワーステアリング装置を得ることができる。
【００２７】
（Ｃ１）車両搭載機器の制御装置のメモリ診断装置であって、車両搭載機器を制御する制御プログラム及びデータを記憶する集積回路であるチップと、前記チップ内に設けられ、車両搭載機器を制御する制御プログラムを記憶する制御プログラム記憶領域と、前記チップ内に設けられ、前記制御プログラムを関数変換させたデータである診断用データを記憶する診断データ記憶手段と、前記チップ内に設けられ、前記制御プログラムと前記診断用データを比較することにより、前記制御プログラムの異常を検出するデータ異常診断部と、を有することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
同一チップ内で制御プログラムと診断用データを比較するため、診断時間を短縮することができ、また診断の信頼性を向上させることができる。
（Ｃ２）上記（Ｃ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記データ異常診断部は、前記制御プログラムの異常を検出した場合、検出された異常箇所を含む所定のデータのみを反転して前記診断用データと比較し、前記制御プログラムの異常を検出することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
異常箇所を反復して異常検出することにより、より短時間でより精度の高い異常検出を行うことができる。
（Ｃ３）上記（Ｃ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記データ異常診断部は、前記診断用データを前記制御プログラムと同じ値に変換した後、前記制御プログラムと比較することにより、前記制御プログラムの異常を検出することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
診断用データを変換することにより、制御プログラムと同じデータとするため、同じデータ同士の比較をすることができる。
（Ｃ４）上記（Ｃ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記データ異常診断部は、前記診断用データを前記制御プログラムのビット反転した値に変換した後、前記制御プログラムと比較することにより、前記制御プログラムの異常を検出することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
同一チップ内で制御プログラムと診断用データを比較するため、診断時間を短縮化することができ、また診断の信頼性を向上させることができる。
（Ｃ５）上記（Ｃ４）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記制御プログラム及び前記診断用データは０または１の配列によって表現されたデータであって、前記データ異常診断部は、前記診断用データを前記制御プログラムのビット反転した値に変換した後、前記制御プログラムと前記診断用データの対応するデータ同士の論理和及び論理積を演算し、演算値が０もしくは１となるか否かによって前記制御プログラムの異常を検出することを特徴とする車両搭載機器の制御装置のメモリ診断装置。
（Ｃ６）上記（Ｃ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記チップは、行列のマトリックス状に配置されたデータ記憶領域を有し、前記制御プログラム記憶領域は、前記データ記憶領域上に設けられ、ｍ行×ｎ列に配置された前記制御プログラムデータを記憶し、前記診断データ記憶領域は、前記データ記憶領域上に設けられ、ｍ行×ｎ列に配置された前記診断用データを記憶し、前記制御プログラムデータまたは前記診断用データは、これら制御プログラムデータと診断用データの行または列の一方が前記データ記憶領域上で一致するように配置され、前記診断用データは、前記ｍ行×ｎ列の記憶領域における配置状態が、前記制御プログラムの配置状態と異なるように配置されることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
チップ内に設けられるマトリックス状の記憶領域は、ある行ごとに又はある列ごとに故障する可能性が高い。よって、例えば制御プログラムと診断用プログラムを同じ行で異なる列に配置し、夫々のデータを全く同じように配列した場合、記憶領域のある行全てが同じように故障した場合には、比較しても同じ値を示してしまい、異常を検出することができない。そこで、夫々のデータ配列をずらすことで、比較するデータ同士全てが同じように故障することがなくなるため、異常検出精度を更に高めることができる。
（Ｃ７）上記（Ｃ１）に記載の車両搭載機器の制御装置のメモリ診断装置において、前記車両搭載機器はパワーステアリング装置であって、前記パワーステアリング装置は、操舵輪に操舵力を付与する電動機を備え、前記制御装置は、前記電動機を制御する制御装置であることを特徴とする車両搭載機器の制御装置のメモリ診断装置。
パワーステアリング装置は他の車両搭載機器に比べて高い診断応答性を求められるため、このメモリ診断装置をパワーステアリング装置の制御装置のメモリ診断装置に適用することにより、より信頼性の高いパワーステアリング装置を得ることができる。
【符号の説明】
【００２８】
９    パワーシリンダ
２０    双方向ポンプ
３１    ブラシレスモータ
３３    コントロールユニット
４１    連通バルブ
４１    ブラシレスモータ
４１    連通バルブ
【図１】
2011020544.tif 000003
【図２】
2011020544.tif 000004
【図３】
2011020544.tif 000005
【図４】
2011020544.tif 000006
【図５】
2011020544.tif 000007
【図６】
2011020544.tif 000008
【図７】
2011020544.tif 000009
【図８】
2011020544.tif 000010
【図９】
2011020544.tif 000011
【図１０】
2011020544.tif 000012
【図１１】
2011020544.tif 000013
【図１２】
2011020544.tif 000014
【図１３】
2011020544.tif 000015