説明

電子装置、及び、これを用いた電動パワーステアリング装置

【課題】アドレスバスおよびデータバスの故障を検出する電子装置において、故障検出に係る処理負荷を低減し処理速度を向上する。
【解決手段】電子装置は、CPUとROMとを接続しアドレスを伝送する4つ以上のバスラインからなるアドレスバス21を備える。電子装置は、アドレスバス検査用アドレスAdによって指定されるROM領域13aから値を読み出し、読み出した値から計算した判定値Vjと予め計算されたアドレスバス検査用正解値Vtとを比較し、一致しない場合、アドレスバス21が故障していると判定する。アドレスバス検査用アドレスAdは、4つ以上のバスラインに対応する4ビット以上の値であって、2ビット以上の0の値と2ビット以上の1の値とを有する値を含み、複数のバスライン間の短絡故障を同時に検出可能である。これにより、故障検出に必要な検査用アドレスAdの数を低減することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CPU(中央演算処理装置)と、アドレスバスおよびデータバスを経由してCPUと接続されるメモリとを備えた電子装置、及び、これを用いた電動パワーステアリング装置に関する。
【背景技術】
【0002】
従来、CPUと、メモリと、アドレスバスおよびデータバスとを備え、アドレスバスおよびデータバスの地絡、天絡、短絡等の故障を検出することができる電子装置が知られている。例えば特許文献1に開示された電子装置は、「全ビットのうちいずれか1ビットのみが1または0である値」を検査値として用いる。アドレスバスの故障検出については、「全ビットのうちいずれか1ビットのみが1または0であるアドレス」によって指定されるROM領域から値を読み出してチェックサムを算出し、真のチェックサムと比較して故障か否かを判定する。また、データバスの故障検出については、「全ビットのうちいずれか1ビットのみが1または0である値」をRAMに書き込み、読み出し、読み出したデータを書き込んだデータと比較して故障か否かを判定する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−210245号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
検査値のビット数は、検査対象となるアドレスバスまたはデータバスのバスラインの数に対応する。例えばバスラインの数が4であれば4ビット以上の検査値を用いる。
ここで、バスラインの「地絡故障」とは本来1であるべきビットの値が0に固着する故障をいい、バスラインの「天絡故障」とは本来0であるべきビットの値が1に固着する故障をいう。また、バスラインの「短絡故障」とは、検査対象のバスラインに該当するビットの値が検査対象以外のバスラインに該当するビットの値と同じになる故障、言い換えれば、互いに異なる値を維持することができなくなる故障をいう。
【0005】
特許文献1に記載の電子装置では、検出対象とするアドレスバスまたはデータバスが4ビットとすると、天絡故障および地絡故障については、例えば「0001」および「1110」の2つの検査値を用いて、各ビットの値が1に固着しないこと、及び、0に固着しないことを判定可能である。しかし、短絡故障については、例えば「0001」、「0010」、「0100」、「1000」の4つの検査値を用いなければ判定することができない。
このように、短絡故障を検出するためにはバスラインの数と同数以上の検査値を用い、故障検出処理を実行する必要がある。例えば32ビットのアドレスバスを検査するには最低32個の値の読み出しが必要であり、32ビットのデータバスを検査するには最低32回の書き込みと読み出しを行わなければならない。同様に、128ビットのバスであれば128回の検査が必要となる。すなわち、検査数がビット数に比例して増大するため、電子装置の処理負荷が過大となる。
【0006】
また、特許文献1に記載の電子装置では、アドレスバスの故障検出にチェックサムを用いる。これは、上述のように検査数が増大した場合、個々の値に代えて何らかの合計値を検査する方が処理負荷を軽減できるというメリットによるものである。しかしながら、チェックサムを用いる方法では、ある検査アドレスから取得した値と他のアドレスから取得した値の同一ビット値が入れ替わった値となる場合には、故障を判定することができないという問題がある。例えば、アドレス「0001」から取得できる値が「00101010」であり、アドレス「0010」から取得できる値が「11010101」であったとする。このとき、アドレスバスの故障により、アドレス「0001」から値を取得した際に「00101000」となり、またアドレス「0010」から値を取得した際に「11010111」となる場合(2桁目の第1ビットの「0」と「1」とが入れ替わった場合)には、故障していない場合も故障した場合もチェックサム値は同一となり故障検出できない。
【0007】
本発明は、このような点に鑑みて創作されたものであり、その目的は、アドレスバスおよびデータバスの故障を検出する電子装置において、故障検出に必要な検査値の数を低減することで、故障検出に係る処理負荷を低減し処理速度を向上する電子装置を提供することにある。
【課題を解決するための手段】
【0008】
請求項1に記載の電子装置は、CPUと、ROMと、CPUとROMとを接続しアドレスを伝送する4つ以上のバスラインからなるアドレスバスとを備える。
CPUは、複数のアドレスバス検査用アドレスによって指定されるROM領域から読み出した値から計算した判定値と予め算出されたアドレスバス検査用正解値とを比較して一致しない場合、アドレスバスが故障していると判定する。
複数のアドレスバス検査用アドレスは、4つ以上のバスラインに対応する4ビット以上の値であって、2ビット以上の0の値と2ビット以上の1の値とを有する値を含み、検査対象のバスラインに該当するビットと検査対象以外のバスラインに該当するビットとが互いに異なる値を維持しているか否かを判定することにより複数のバスライン間の短絡故障を同時に検出可能である。
【0009】
請求項2に記載の電子装置は、CPUと、ROMと、CPUとROMとを接続しデータを伝送する4つ以上のバスラインからなるデータバスとを備える。
CPUは、ROMのROM領域から読み出した複数のデータバス検査値から計算した判定値と予め算出されたデータバス検査用正解値とを比較して一致しない場合、データバスが故障していると判定する。
複数のデータバス検査値は、4つ以上のバスラインに対応する4ビット以上の値であって、2ビット以上の0の値と2ビット以上の1の値とを有する値を含み、検査対象のバスラインに該当するビットと検査対象以外のバスラインに該当するビットとが互いに異なる値を維持しているか否かを判定することにより複数のバスライン間の短絡故障を同時に検出可能である。
【0010】
請求項3に記載の電子装置は、CPUと、ROMと、RAMと、CPUとROMおよびRAMとを接続しデータを伝送する4つ以上のバスラインからなるデータバスとを備える。
CPUは、RAMのデータバス検査用領域に複数のデータバス検査値を書き込み、読み出し、読み出した値と複数のデータバス検査値とを比較して一致しない場合、データバスが故障していると判定する。
複数のデータバス検査値は、4つ以上のバスラインに対応する4ビット以上の値であって、2ビット以上の0の値と2ビット以上の1の値とを有する値を含み、検査対象のバスラインに該当するビットと検査対象以外のバスラインに該当するビットとが互いに異なる値を維持しているか否かを判定することにより複数のバスライン間の短絡故障を同時に検出可能である。
【0011】
請求項1に係る発明はアドレスバスの故障を検出し、請求項2または3に係る発明はデータバスの故障を検出するものであり、対応する技術的特徴を有する。
アドレスバスの故障は、ROM領域から読み出した値から計算した判定値と予め算出されたアドレスバス検査用正解値とを比較することにより検出可能である。
データバスの故障は、ROM領域から読み出した値から計算した判定値と予め算出されたデータバス検査用正解値とを比較することにより、あるいは、データバス検査用領域に複数のデータバス検査値を書き込み、読み出し、読み出した値と書き込んだ値とを比較することにより検出可能である。
【0012】
また、請求項1〜3に係る発明において、「複数のアドレスバス検査用アドレスまたは複数のデータバス検査値(以下、「複数の検査値」という)」は、4ビット以上の値であって、2ビット以上の0の値と2ビット以上の1の値とを有する値を含む。例えば4ビットの場合、複数の検査値は、0011、0101、0110等の値を含む。これは、「全ビットのうちいずれか1ビットのみが1または0である値」を検査値とした従来技術とは異なる特徴である。
【0013】
これにより、複数のバスライン間の短絡故障を同時に検出可能となる。ここで、短絡故障とは、検査対象のバスラインに該当するビットと検査対象以外のバスラインに該当するビットとが互いに異なる値を維持することができなくなる故障をいう。短絡故障を検出するための検査値は、検査対象となるバスラインに該当するビットの値を他のバスラインに該当するビットの値と異なる値とすることが要件となる。すなわち、検査対象のビットの値が0で他のビットの値が1、または、検査対象のビットの値が1で他のビットの値が0となる組合せを全ビットについて構築する必要がある。
【0014】
従来技術によると、例えば「0001」という検査値を用い、検査対象が最下位ビット(第0ビット)の場合は、値が1である第0ビットと、値が0である2桁目の第1ビット、3桁目の第2ビットまたは4桁目の第3ビットとの間の短絡故障を同時に検出可能である。しかし、検査対象が第1、第2、第3ビットのいずれかの場合は、そのビットと第0ビットとの間の1とおりの短絡故障しか同時に検出することができない。
【0015】
それに対し、本発明の検査値は、2ビット以上の0の値と2ビット以上の1の値とを有するため、いずれのビットを検査対象とする場合でも、そのビットの値と異なる値を有する他の2つ以上のビットとの間での短絡故障を同時に検出することができる。
これにより、従来技術に対して検査値の数を低減することができる。その結果、故障検出に係る電子装置の処理負荷を低減し、電子装置の処理速度を向上することができる。
【0016】
また従来技術では、検査値の増大による電子装置の処理負荷を軽減するため、読み出し値に基づいてチェックサムを算出する方式を取らざるを得なかった。そのため、異なるアドレスから取得した値の同一ビット値が入れ替わった値となる場合には故障を検出することができなかった。それに対し、本発明では、検査値の数を低減し電子装置の処理負荷を低減することができる。したがって、チェックサムのような信頼性の低い手法に拠ることなく、読み出し値をそのまま正解値と比較したり生成多項式によりCRCを算出したりすることが現実的なメモリ容量の範囲で可能となる。よって、より信頼性の高い処理を実行することができる。
【0017】
請求項4、5に記載の発明によると、複数の検査値は、N個のバスラインに対応するNビットの値である。そして、請求項4に記載の発明では、複数の検査値は、(N/2)ビットの0の値と(N/2)ビットの1の値とを有する値を含む。また、請求項5に記載の発明では、複数の検査値は、(N/2)ビットの0の値と(N/2)ビットの1の値とを有する値を(log2N)個含む。なお、(log2N)は2を底とするNの対数である。
【0018】
検査値が8ビットの場合を例に取ると、「(N/2)ビットの0の値と(N/2)ビットの1の値とを有する値」とは、00001111、01010101のように、4個の0の値と4個の1の値とを有する値をいう。これらの値を用いることで、(N/2)とおりのバスライン間の短絡故障を同時に検出することができる。
すなわち、請求項1〜3により特定される検査値は、00000011、00000111等のように他のビットの0と異なる1の値を2個または3個有する値であってもよい。それに対し、請求項4、5により特定される検査値は、この場合1の値を4個有する値に限定される。これにより、検査対象のビット数が多くなった場合、効率よく複数のバスライン間の短絡故障を同時に検出することができる。
【0019】
さらに、請求項5に記載の発明は、短絡故障のための検査値の数を最小限にすることを目的とする。ここで、短絡判定の組合せの数は、全ビットから2つのビットを選ぶ組合せの数であり、全ビット数をNビットとすれば、複数の検査値がN2とおりの組合せを構築する必要がある。検査対象ビット数が4ビットの場合、4個から2個を選ぶ組合せの数(42)に相当する6とおりについて短絡判定することになる。
【0020】
例えば「0011」を検査値に用いると、第0ビットと第2ビット、第0ビットと第3ビット、第1ビットと第2ビット、第1ビットと第3ビットとの間の4とおりについて、短絡判定することができる。さらに、「0101」を検査値に用いると、「0011」によっては判定できない第0ビットと第1ビット、第2ビットと第3ビットとの間の2とおりについて、短絡判定することができる。すなわち、検査値が4ビットの場合、2個の0の値と2個の1の値とを有する検査値を(log24)=2個用いることで6とおりの短絡判定をすることができる。
【0021】
同様に、検査値が8ビットの場合は、4個の0の値と4個の1の値とを有する検査値を(log28)=3個用い、検査値が16ビットの場合は、8個の0の値と8個の1の値とを有する検査値を(log216)=4個用いることで短絡判定することができる。
【0022】
従来技術によると、短絡故障の検出のためにビット数と同数以上の検査値が必要であった。それに対し、本発明では、「(N/2)ビットの0の値と(N/2)ビットの1の値とを有する」検査値を含むことにより、短絡故障の検出に必要な検査値の数を低減することができる。さらに、上記の要件を満たす検査値を(log2N)個含むことにより、短絡故障の検出に必要な検査値の数を最小限にすることができる。
【0023】
請求項6に記載の電子装置では、検査値の半数の値が、他の半数の値の各ビットの0の値を1に、1の値を0に反転させた値である。例えば、4個の検査値のうち2個が0011および0101の場合、他の2個は、1100および1010である。
これにより、各ビットについて、4個の検査値に対する0の値と1の値とが2個ずつとなる。そのため、1回の処理における0固着故障に対する判定回数と1固着故障に対する判定回数とが同数となる。よって、判定エラーに対する信頼性が向上する。
また、ビットの値が1のときバスラインに電流が流れ、ビットの値が0のときバスラインに電流が流れないというような物理的動作が行われる場合、各バスラインの負荷を均等にすることで発熱等の偏りを抑制することができる。
【0024】
請求項7に記載の電子装置では、検査値として「検査対象のバスラインに該当するビットの値が1となる値」を用いることでアドレスバスまたはデータバスの「0固着故障」をさらに検出可能である。「0固着故障」とは、バスラインに該当するビットの値が本来1であるべきところ0に固着する故障をいう。
請求項8に記載の電子装置では、検査値として「検査対象のバスラインに該当するビットの値が0となる値」を用いることでアドレスバスまたはデータバスの「1固着故障」をさらに検出可能である。「1固着故障」とは、バスラインに該当するビットの値が本来0であるべきところ1に固着する故障をいう。
【0025】
検査値が4ビットの場合、例えば、「1111」を用いて全ビットの0固着故障を検出することができ、「0000」を用いて全ビットの1固着故障を検出することができる。0固着故障を検出することにより、バスラインの地絡故障、または、断線したとき該当するビットの値が0となる場合の断線故障を検出することができる。また、1固着故障を検出することにより、バスラインの天絡故障、または、断線したとき該当するビットの値が1となる場合の断線故障を検出することができる。
【0026】
また、「1100」と「0011」の2つの検査値を用いて全ビットの0固着故障および1固着故障を検出することができる。この場合、請求項4、5に係る検査値の要件を満たし、各ビットについて短絡故障と0固着故障、あるいは、短絡故障と1固着故障とを同時に検出することができるため、総合的に検査値の数を低減することができる。
【0027】
請求項9に記載の発明は、請求項1〜8に記載の電子装置と、電子装置によって駆動されるモータと、モータの回転をステアリングシャフトに伝達する動力伝達手段とを備え、操舵トルクをアシストする電動パワーステアリング装置に係る発明である。
電動パワーステアリング装置は、安全性の面から、故障を早期に検出し迅速かつ的確な処理を実行することが特に要求されるため、本発明の電子装置による処理速度を向上する効果が有効に発揮される。
【図面の簡単な説明】
【0028】
【図1】本発明の一実施形態による電子装置を適用した電動パワーステアリング装置の概略構成図。
【図2】本発明の一実施形態による電子装置のシステム図。
【図3】本発明の一実施形態によるアドレスバス異常検出フローチャート。
【図4】本発明の一実施形態によるデータバス異常検出フローチャート。
【図5】(a)検査対象ビットが2ビットのときの検査値の参考例を示す図、(b)検査対象ビットが4ビットのときの検査値の例を示す図、(c)検査対象ビットが8ビットのときの検査値の例を示す図。
【図6】本発明の一実施形態によるROM領域を示す模式図。
【図7】検査対象ビットが16ビットのときの検査値の例を示す図。
【図8】検査対象ビットが32ビットのときの検査値の例を示す図。
【図9】(a)検査対象ビットが4ビットのときの検査値の別の例を示す図、(b)検査対象ビットが8ビットのときの検査値の別の例を示す図。
【発明を実施するための形態】
【0029】
自動車等のハンドル操作をアシストするための電動パワーステアリング装置に本発明の電子装置(以下「ECU」という)を適用した実施形態を図面に基づいて説明する。
(一実施形態)
図1は、電動パワーステアリング装置を備えたステアリングシステムの全体構成を示す。ステアリングシステム90に備えられる電動パワーステアリング装置1は、ハンドル91に接続されたステアリングシャフト92に操舵トルクを検出するためのトルクセンサ94を設置している。
ステアリングシャフト92の先端にはピニオンギア96が設けられており、ピニオンギア96はラック軸97に噛み合っている。ラック軸97の両端には、タイロッド等を介して一対の車輪98が回転可能に連結されている。
【0030】
これにより、運転者がハンドル91を回転させると、ハンドル91に接続されたステアリングシャフト92が回転し、ステアリングシャフト92の回転運動は、ピニオンギア96によってラック軸97の直線運動に変換され、ラック軸97の直線運動変位に応じた角度について一対の車輪98が操舵される。
【0031】
電動パワーステアリング装置1は、操舵アシストトルクを発生するモータ80、モータ80の回転を減速してステアリングシャフト92に伝える「動力伝達手段」としての減速ギア89、及び、モータ駆動装置2を備える。モータ80は3相ブラシレスモータであり、減速ギア89を正逆回転させる。モータ駆動装置2は、ECU10を備える。モータ駆動装置2は、また、モータ80の回転角を検出する回転角センサ85、上述のトルクセンサ94、車速を検出する車速センサ95を含む。
この構成により、電動パワーステアリング装置1は、ハンドル91の操舵を補助するための操舵アシストトルクを発生し、ステアリングシャフト92に伝達する。
【0032】
図2にECUのシステム概略図を示す。ECU10は、マイクロコンピュータ(以下「マイコン」という)11、入力回路16および出力回路17を備えている。
マイコン11は、CPU(中央演算処理装置)12、ROM13、RAM14およびI/O15を備えている。CPU12は、ROM13から読み出した値と正解値との比較などの演算を実行する。ROM13内部のROM領域13aは、アドレスバス検査用正解値Vtを格納する。RAM14内部のデータバス検査用領域14dは、任意のアドレスに配置されたRAM領域である。データバス22がNビットの場合、データバス検査用領域14dは、最低(N/8)バイトの領域である。
【0033】
I/O15は、入力回路16および出力回路17との間で信号をやり取りする。
入力回路16は、マイコン11の制御の条件とするための各種センサからの信号を入力する。出力回路17は、マイコン11の制御に応じてアクチュエータを駆動する。
本実施形態では、入力回路16は、上述の回転角センサ85、トルクセンサ94および車速センサ95からの信号を入力し、出力回路17は、マイコン11の制御に応じてモータ80を駆動する。
【0034】
アドレスバス21は、CPU12とROM13、及び、CPU12とRAM14とを接続し、書き込みおよび読み込みアドレスを指定する。
データバス22は、CPU12とROM13、及び、CPU12とRAM14とを接続し、書き込みおよび読み込みデータを指定または取得する。
アドレスバス21、データバス22は、いずれも複数のバスラインから構成される。バスラインの数は、一般に2n(4、8、16、32・・・)であり、伝送されるアドレスまたはデータのビット数に対応する。
【0035】
次に、一実施形態のECU10においてCPU12が実行する処理について図3、図4のフローチャートを参照して説明する。以下のフローチャートの説明で、記号Sは「ステップ」を示す。
【0036】
図3は、アドレスバス21の故障を検出するフローチャートである。
S11では、アドレスバス検査用アドレスAdによって指定されるROM領域13aから値を読み出す。S12では、読み出した値から判定値Vjを計算する。例えば、チェックサムを計算したり、生成多項式を用いてCRCを計算したりする。あるいは、読み出した値に1を乗じることで読み出した値そのものを判定値Vjとしてもよい。
なお、チェックサムは、異なるアドレスから取得した値の同一ビット値が入れ替わった値となる故障モードがシステムにとって問題とならない場合に使用することが好ましい。
【0037】
S13では、判定値Vjと予め計算されたアドレスバス検査用正解値Vtとを比較し、一致しているか否かを判断する。YESの場合、S14にてアドレスバス21が正常と判定し、NOの場合、S15にてアドレスバス21が故障していると判定する。
アドレスバス検査用正解値Vtは、アドレスバス21の故障検出に必要十分なROM値から求めた正解値である。なお、正解値Vtは、アドレスバス21の故障検出に必要最低限で足り、全ROM領域について用意される必要はない。
【0038】
アドレスバス21に故障が発生した場合、S11で、誤ったアドレスの値を読み出すこととなるため、判定値Vjと正解値Vtとが一致しない。したがって、図3のフローにより、アドレスバス21の故障を検出することができる。
【0039】
図4は、データバス22の故障を検出するフローチャートである。
S21では、RAM14のデータバス検査用領域14dにデータバス検査値Mdを書き込む。S22では、データバス検査用領域14dから値を読み出す。S23では、S22で読み出した読み出し値MrとS21で書き込んだ検査値Mdとを比較し、一致しているか否かを判断する。YESの場合、S24にてデータバス22が正常と判定し、NOの場合、S25にてデータバス22が故障していると判定する。
【0040】
データバス22に故障が発生した場合、データの書き込みおよび読み出しを行うことができないため、書き込んだ値と読み出した値とが一致しない。したがって、図4のフローにより、データバス22の故障を検出することができる。
【0041】
本発明は、上述のアドレスバス検査用アドレスAdまたはデータバス検査値Mdの選定要件に特徴を有する。アドレスバス検査用アドレスAdまたはデータバス検査値Mdは、いずれも、検査対象とするバスラインの数に応じて複数個選定される。アドレスバス21の故障検出におけるアドレスバス検査用アドレスAdの選定と、データバス22の故障検出におけるデータバス検査値Mdの選定との考え方は同じであるので、以下、「複数のアドレスバス検査用アドレスAdまたは複数のデータバス検査値Md」をまとめて「複数の検査値D」という。
本発明は、特徴ある要件によって複数の検査値Dを選定することで、故障検出のための検査値Dの数を最小限とし、ECU10の処理負荷を低減し処理速度を向上することを目的とするものである。
【0042】
ここで、バスラインの故障の3つの類型について説明する。
1)0固着故障
バスラインに該当するビットの値が本来1であるべきところ0に固着する故障をいう。地絡故障、または断線したときビットの値が0となる場合の断線故障がこれに相当する。
2)1固着故障
バスラインに該当するビットの値が本来0であるべきところ1に固着する故障をいう。天絡故障、または断線したときビットの値が1となる場合の断線故障がこれに相当する。
3)短絡故障
バスラインに該当するビットの値が他のバスラインに該当するビットの値と同じになる故障、すなわち、2つのバスライン間で互いに異なる値を維持することができなくなる故障をいう。バスライン同士の短絡による故障がこれに相当する。
【0043】
これらの故障を検出するための検査値Dの要件は、以下のようである。
1)0固着故障に対し、検査対象となるバスラインに該当するビットの値を1とする。
2)1固着故障に対し、検査対象となるバスラインに該当するビットの値を0とする。
3)短絡故障に対し、検査対象となるバスラインに該当するビットの値を、他のバスラインに該当するビットの値と異なる値とする。すなわち、検査対象のビットの値が0で他のビットの値が1、または、検査対象のビットの値が1で他のビットの値が0となる組合せを全ビットについて構築する。この短絡判定の組合せの数は、全ビットから2つのビットを選ぶ組合せの数である。全ビット数をNビットとすれば、複数の検査値DがN2とおりの組合せを構築する必要がある。
【0044】
以下、検査値Dの具体例を検査対象ビット数毎に説明する。Nビットの検査値Dにおいて、最下位ビットを第0ビット、2桁目を第1ビット・・・最上位ビットを第(N−1)ビットと表す。また、16進数を表記する場合、末尾に「h」を付して示す。なお、以下に示す例はあくまで一例である。
【0045】
(2ビットの参考例)
まず、検査対象ビットが2ビットの例を参考例として図5(a)に示す。この例では、検査値D自体は8ビットであるが、検査対象ビットは第0および第1ビットの2ビットのみとする。検査値Dとして01h(00000001)とFEh(11111110)の2個を用いることで、0固着故障および1固着故障を検出可能である。また、短絡判定の組合せは第0ビットと第1ビット間の1とおりであり、01hおよびFEhのいずれでも短絡故障を検出可能である。検査値の数は2個であり、従来技術との差は無い。
【0046】
(4ビットの例)
検査対象ビットが4ビットの例を図5(b)に示す。この例では、検査値D自体は8ビットであるが、検査対象ビットは第0〜第3ビットの4ビットのみとする。検査値Dとして、03h(00000011)、05h(00000101)、FCh(11111100)の3個を用いる。03hとFChとで0固着故障および1固着故障を検出可能である。また、短絡判定の組合せは42=6とおりであり、そのうち4とおり(第0ビットと第2ビット間、第0ビットと第3ビット間、第1ビットと第2ビット間、第1ビットと第3ビット間)を03hで検出可能であり、残り2とおり(第0ビットと第1ビット間、第2ビットと第3ビット間)を05hで検出可能である。
【0047】
この場合、短絡判定のために必要な検査値Dの数は、(log24)=2個であり、そのうち1つの検査値は、0固着故障または1固着故障の一方の検出を兼ねる。そこで、0固着故障または1固着故障の他方の検出のための検出値Dをもう1つ加えることで、上記の3つの故障類型すべてを検出可能となる。よって、故障検出のための検査値Dの数は、(log24)+1=3個である。
【0048】
「全ビットのうちいずれか1ビットのみが1または0である」検査値を用いる従来技術によると、4ビットの検査には最低4個の検査値(例えば01h(00000001)、02h(00000010)、04h(00000100)、08h(00001000))が必要である。これは、1つの検査値について複数のバスラインの短絡故障を同時に検出することができないからである。本発明では、1つの検査値で複数のバスラインの短絡故障を同時に検出することができるため、検査値の数を低減することができる。
【0049】
(8ビットの例)
検査対象ビットが8ビットの例を図5(c)に示す。この例では、検査値Dとして、0Fh(00001111)、33h(00110011)、55h(01010101)、F0h(11110000)の4個を用いる。0FhとF0hで0固着故障および1固着故障を検出可能である。また、短絡判定の組合せは82=28とおりであり、そのうち16とおりを0Fhで検出可能であり、重複する組合せを除く8とおりを33hで検出可能であり、残り4とおりを05hで検出可能である。
【0050】
この場合、短絡判定のために必要な検査値Dの数は、(log28)=3個であり、故障検出のための検査値Dの数は、(log28)+1=4個である。
従来技術によると8ビットの検査には最低8個の検査値が必要であるので、本発明により検査値の数を半分に低減することができる。
【0051】
図6は、アドレスバス21の故障検出の場合のROM領域13aにおける上記の検査値Dすなわちアドレスバス検査用アドレスAdを模式的に示した図である。この例では、ROM領域に8ビットすなわち1バイトのアドレスを最大28=256バイト記憶可能である。ROM領域の行は第0〜第3ビットの値に対応し、ROM領域の列は第4〜第7ビットの値に対応する。また、仮に、FCh〜FFhの4アドレスをアドレスバス検査用正解値Vtとして示しているが、アドレスバス検査用正解値Vtの配置は任意である。
【0052】
ところで、ROM領域の最大値域であるFFh付近のアドレスはデバイス固有の禁止領域とされる場合があるため、アドレスバス検査用アドレスAdとして使用を避けることが望ましい。しかし、従来技術によると、第0ビットのみが0の値を取るFEh(11111110)の値を使用せざるを得なかった。本発明では、アドレスバス検査用アドレスAdの選択の自由度が高いため、FEhのように禁止領域に含まれやすいアドレスを避けることが容易となる。
【0053】
(16ビットの例)
検査対象ビットが16ビットの例を図7に示す。この例では、検査値Dとして、00FFh、0F0Fh、3333h、5555h、FF00h(2進数表記は省略する)の5個を用いる。00FFhとFF00hとで0固着故障および1固着故障を検出可能である。また、短絡判定の組合せは162=120とおりであり、そのうち64とおりを00FFhで検出可能であり、重複する組合せを除く32とおりを0F0Fhで検出可能であり、さらに重複する組合せを除く16とおりを3333hで検出可能であり、残り8とおりを5555hで検出可能である。
【0054】
この場合、短絡判定のために必要な検査値Dの数は、(log216)=4個であり、故障検出のための検査値Dの数は、(log216)+1=5個である。
従来技術によると16ビットの検査には最低16個の検査値が必要であるので、本発明により検査値の数を約30%に低減することができる。
【0055】
(32ビットの例)
検査対象ビットが32ビットの例を図8に示す。この例では、検査値Dとして、0000FFFFh、00FF00FFh、0F0F0F0Fh、33333333h、55555555h、FFFF0000h(2進数表記は省略する)の6個を用いる。00FFhとFF00hとで0固着故障および1固着故障を検出可能である。また、短絡判定の組合せは322=496とおりであり、そのうち256とおりを0000FFFFhで検出可能であり、128とおりを00FF00FFhで検出可能であり、重複する組合せを除く64とおりを0F0F0F0Fhで検出可能であり、さらに重複する組合せを除く32とおりを33333333hで検出可能であり、残り16とおりを55555555hで検出可能である。
【0056】
この場合、短絡判定のために必要な検査値Dの数は、(log232)=5個であり、故障検出のための検査値Dの数は、(log232)+1=6個である。
従来技術によると32ビットの検査には最低32個の検査値が必要であるので、本発明により検査値の数を20%以下に低減することができる。
【0057】
このように、従来技術では、検査値の数が検査対象ビットに比例して増加するのに対し、本発明では、検査値Dの数は、検査対象ビット数の対数に定数1を加えたものであるため、ビット数が増加するほど検査値の数を大幅に低減することができる。したがって、故障検出に係るECU10の処理負荷を低減し、処理速度を向上することができる。
【0058】
また従来技術では、検査値の増大によるECUの処理負荷を軽減するため、読み出し値に基づいてチェックサムを算出する方式を取らざるを得なかった。そのため、異なるアドレスから取得した値の同一ビット値が入れ替わった値となる場合には故障を検出することができなかった。それに対し、本発明では、検査値Dの数を低減しECU10の処理負荷を低減することができる。したがって、チェックサムのような信頼性の低い手法に拠ることなく、読み出し値をそのまま正解値と比較したり生成多項式によりCRCを算出したりすることが現実的なメモリ容量の範囲で可能となる。よって、より信頼性の高い処理を実行することができる。
【0059】
例えば、ECU10が電動パワーステアリング装置1に適用される場合、故障を早期に検出し迅速かつ的確な処理を実行することができ、信頼性の高い電動パワーステアリング装置を実現することができる。
【0060】
(検査値をビット反転値のペアで構成する例)
上記の例が検査値Dの数を最小限とする例であるのに対し、ここでは、上記の例に基づく最小数の検査値に他の検査値を追加することで別の付加価値を作出する例を説明する。
図9(a)に示す例は、検査対象ビット数が4ビットのとき、第1実施例(図5(b)参照)の検査値Dに対して、3番目にFAh(11111010)を追加している。このFAhは、2番目の05h(00000101)の各ビットの0の値を1に、1の値を0に反転させた値である。すなわち、FAhと05hとは、各ビットの値を反転させたペアの関係にある。なお、1番目の03hと4番目のFChとは、やはり、各ビットの値を反転させたペアの関係にある。
【0061】
こうすることで、4個の検査値により各ビットに0の値と1の値とが2個ずつ均等に割り当てられる。そのため、1回の処理における0固着故障に対する判定回数と1固着故障に対する判定回数とが同数となる。よって、判定エラーに対する信頼性が向上する。
また、ビットの値が1のときバスラインに電流が流れ、ビットの値が0のときバスラインに電流が流れないというような物理的動作が行われる場合、各バスラインの負荷を均等にすることで発熱等の偏りを抑制することができる。
【0062】
図9(b)に示す例は、検査対象ビット数が8ビットのとき、第2実施例(図5(c)参照)の検査値Dに対して、4番目にAAh(10101010)を追加し、5番目にCCh(11001100)を追加している。AAhは、3番目の55h(01010101)と各ビットの値を反転させたペアの関係にあり、CChは、2番目の33h(00110011)と各ビットの値を反転させたペアの関係にある。この場合も上記と同様の効果を奏する。
【0063】
この例では、検査対象ビット数が4ビットの場合、検査値の数が4個となり、従来技術による検査値の数と変わらなくなる。しかし、検査対象ビット数が8ビットの場合、検査値の数は6個となり、従来技術の8個に対して依然低減している。さらに検査対象ビット数が増加するほど、各ビットの値を反転させた検査値を追加したとしても、従来技術に対して検査値の数を充分に低減することができる。
【0064】
(その他の実施形態)
(ア)上記の実施形態では、データバス22については、RAM14のデータバス検査用領域14dにデータバス検査値Mdを書き込み、データバス検査用領域14dから読み出した読み出し値Mrとデータバス検査値Mdを比較することで故障検出する。
これに限らず、データバス22についてもアドレスバス21と同様に、ROM領域13aから読み出した値から計算した判定値と予め計算されたデータバス検査用正解値とを比較することで故障検出するようにしてもよい。
【0065】
(イ)本発明の電子装置は、電動パワーステアリング装置の他、例えば、VGRS(ギア比可変ステアリング)、ARS(アクティブリアステアリング)等、様々な用途に適用することができる。
【0066】
以上、本発明はこのような実施形態に限定されるものではなく、発明の趣旨を逸脱しない範囲において、種々の形態で実施することができる。
【符号の説明】
【0067】
1 ・・・電動パワーステアリング装置、
2 ・・・モータ駆動装置、
10 ・・・ECU(電子装置)、
11 ・・・マイコン、
12 ・・・CPU、
13 ・・・ROM、
13a ・・・ROM領域、
14 ・・・RAM、
14d ・・・データバス検査用領域、
15 ・・・I/O、
16 ・・・入力回路、
17 ・・・出力回路、
21 ・・・アドレスバス、
22 ・・・データバス、
D ・・・検査値、
Ad ・・・アドレスバス検査用アドレス、
Vj ・・・判定値、
Vt ・・・(アドレスバス検査用)正解値、
Md ・・・データバス検査値、
Mr ・・・読み出し値。

【特許請求の範囲】
【請求項1】
CPUと、ROMと、前記CPUと前記ROMとを接続しアドレスを伝送する4つ以上のバスラインからなるアドレスバスと、を備え、
前記CPUは、複数のアドレスバス検査用アドレスによって指定されるROM領域から読み出した値から計算した判定値と予め算出されたアドレスバス検査用正解値とを比較して一致しない場合、前記アドレスバスが故障していると判定し、
前記複数のアドレスバス検査用アドレスは、4つ以上のバスラインに対応する4ビット以上の値であって、2ビット以上の0の値と2ビット以上の1の値とを有する値を含み、検査対象のバスラインに該当するビットと検査対象以外のバスラインに該当するビットとが互いに異なる値を維持しているか否かを判定することにより複数のバスライン間の短絡故障を同時に検出可能であることを特徴とする電子装置。
【請求項2】
CPUと、ROMと、前記CPUと前記ROMとを接続しデータを伝送する4つ以上のバスラインからなるデータバスと、を備え、
前記CPUは、前記ROMのROM領域から読み出した複数のデータバス検査値から計算した判定値と予め算出されたデータバス検査用正解値とを比較して一致しない場合、前記データバスが故障していると判定し、
前記複数のデータバス検査値は、4つ以上のバスラインに対応する4ビット以上の値であって、2ビット以上の0の値と2ビット以上の1の値とを有する値を含み、検査対象のバスラインに該当するビットと検査対象以外のバスラインに該当するビットとが互いに異なる値を維持しているか否かを判定することにより複数のバスライン間の短絡故障を同時に検出可能であることを特徴とする電子装置。
【請求項3】
CPUと、ROMと、RAMと、前記CPUと前記ROMおよび前記RAMとを接続しデータを伝送する4つ以上のバスラインからなるデータバスと、を備え、
前記CPUは、前記RAMのデータバス検査用領域に複数のデータバス検査値を書き込み、読み出し、読み出した値と前記複数のデータバス検査値とを比較して一致しない場合、前記データバスが故障していると判定し、
前記複数のデータバス検査値は、4つ以上のバスラインに対応する4ビット以上の値であって、2ビット以上の0の値と2ビット以上の1の値とを有する値を含み、検査対象のバスラインに該当するビットと検査対象以外のバスラインに該当するビットとが互いに異なる値を維持しているか否かを判定することにより複数のバスライン間の短絡故障を同時に検出可能であることを特徴とする電子装置。
【請求項4】
請求項1〜3のいずれか一項に記載の電子装置において、
前記複数のアドレスバス検査用アドレスまたは前記複数のデータバス検査値は、N個のバスラインに対応するNビットの値であって、
(N/2)ビットの0の値と(N/2)ビットの1の値とを有する値を含むことを特徴とする電子装置。
【請求項5】
請求項4に記載の電子装置において、
前記複数のアドレスバス検査用アドレスまたは前記複数のデータバス検査値は、
(N/2)ビットの0の値と(N/2)ビットの1の値とを有する値を(log2N)個含むことを特徴とする電子装置。
【請求項6】
請求項4または5に記載の電子装置において、
前記複数のアドレスバス検査用アドレスまたは前記複数のデータバス検査値は、
半数の値が、他の半数の値の各ビットの0の値を1に、1の値を0に反転させた値であることを特徴とする電子装置。
【請求項7】
請求項1〜6のいずれか一項に記載の電子装置において、
前記複数のアドレスバス検査用アドレスまたは前記複数のデータバス検査値は、
検査対象のバスラインに該当するビットの値が1となる値を用いて、前記アドレスバスまたは前記データバスのバスラインに該当するビットの値が本来1であるべきところ0に固着する0固着故障をさらに検出可能であることを特徴とする電子装置。
【請求項8】
請求項1〜6のいずれか一項に記載の電子装置において、
前記複数のアドレスバス検査用アドレスまたは前記複数のデータバス検査値は、
検査対象のバスラインに該当するビットの値が0となる値を用いて、前記アドレスバスまたは前記データバスのバスラインに該当するビットの値が本来0であるべきところ1に固着する1固着故障をさらに検出可能であることを特徴とする電子装置。
【請求項9】
請求項1〜8のいずれか一項に記載の電子装置と、
前記電子装置によって駆動されるモータと、
前記モータの回転をステアリングシャフトに伝達する動力伝達手段と、を備え、
操舵トルクをアシストすることを特徴とする電動パワーステアリング装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−89070(P2012−89070A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−237495(P2010−237495)
【出願日】平成22年10月22日(2010.10.22)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】