(57)【要約】【課題】  本発明は、故障に対する信頼性を高めた再構成可能信号処理システムの提供を目的とする。【解決手段】  所定の信号処理機能を有する信号処理ユニットと、所望の信号処理機能に再構成可能な電子デバイスと、前記信号処理ユニットの故障を検出する故障検出手段と、前記電子デバイスを前記信号処理ユニットの信号処理機能に再構成するコンフィギュレーションデータを記憶するメモリとを備え、前記メモリに記憶されたコンフィギュレーションデータに基づいて前記故障検出手段により故障が検出された前記信号処理ユニットの信号処理機能に前記電子デバイスを再構成する再構成可能信号処理システムにおいて、前記信号処理ユニットと前記電子デバイスとを含むネットワーク上に前記メモリを少なくとも２つ以上分散させたことを特徴とする再構成可能信号処理システム。【選択図】  図１２
2006155176.tif 000002
【特許請求の範囲】
【請求項１】
所定の信号処理機能を有する信号処理ユニットと、
所望の信号処理機能に再構成可能な電子デバイスと、
前記信号処理ユニットの故障を検出する故障検出手段と、  
前記電子デバイスを前記信号処理ユニットの信号処理機能に再構成する構成データを記憶する記憶手段とを備え、
前記記憶手段に記憶された構成データに基づいて前記故障検出手段により故障が検出された前記信号処理ユニットの信号処理機能に前記電子デバイスを再構成する再構成可能信号処理システムにおいて、
前記信号処理ユニットと前記電子デバイスとを含むネットワーク上に前記記憶手段を少なくとも２つ以上分散させたことを特徴とする再構成可能信号処理システム。
【請求項２】
前記ネットワーク上の車両フロント部分に配置された信号処理ユニットの信号処理機能に再構成する構成データを記憶する記憶手段の数は、前記ネットワーク上の車両リヤ部分に配置された信号処理ユニットの信号処理機能に再構成する構成データを記憶する記憶手段の数よりも多い請求項１記載の再構成可能信号処理システム。
【請求項３】
前記電子デバイスのハードウェアリソースに基づいて前記所定の信号処理機能の演算精度を変更する演算精度変更手段を備える請求項１記載の再構成可能信号処理システム。
【請求項４】
前記電子デバイスのハードウェアリソースに基づいて前記所定の信号処理機能のクロック周波数を変更するクロック周波数変更手段を備える請求項１記載の再構成可能信号処理システム。
【請求項５】
前記電子デバイスを再構成する構成データは、車両の走行状況と前記電子デバイスのハードウェアリソースとに基づいて変更する請求項１記載の再構成可能信号処理システム。
【請求項６】
前記故障検出手段は、更に、前記電子デバイスの故障有無を検出し、
前記故障検出手段により前記電子デバイスの故障が無いと検出された後に、該電子デバイスの再構成を行う請求項１記載の再構成可能信号処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所望の信号処理機能に再構成可能な電子デバイスによるフェール時の機能を提供する再構成可能信号処理システムに関する。
【背景技術】
【０００２】
従来から、フェールセーフ機能付き情報処理装置が知られている（例えば、特許文献１）。このフェールセーフ機能付き情報処理装置は、情報処理回路が故障した場合、その故障した情報処理回路に対応する再構成情報（構成データ）に基づいて、その故障した情報処理回路の機能がＦＰＧＡ（Field  programmable  gate  arrays）等の再構成可能な電子デバイス上に再現される。
【特許文献１】特開２０００−８１９９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述の従来技術では、構成データを記憶する記憶部が故障等の原因によって再構成情報の読み出しができなくなった場合、故障した情報処理回路の機能が再構成可能な電子デバイス上に再現することができなくなり、フェールセーフ機能を十分に発揮できない。
【０００４】
そこで、本発明は、故障に対する信頼性を高めた再構成可能信号処理システムの提供を目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明の一局面によれば、
所定の信号処理機能を有する信号処理ユニットと、
所望の信号処理機能に再構成可能な電子デバイスと、
前記信号処理ユニットの故障を検出する故障検出手段と、  
前記電子デバイスを前記信号処理ユニットの信号処理機能に再構成する構成データを記憶する記憶手段とを備え、
前記記憶手段に記憶された構成データに基づいて前記故障検出手段により故障が検出された前記信号処理ユニットの信号処理機能に前記電子デバイスを再構成する再構成可能信号処理システムにおいて、
前記信号処理ユニットと前記電子デバイスとを含むネットワーク上に前記記憶手段を少なくとも２つ以上分散させたことを特徴とする再構成可能信号処理システムが提供される。
本局面によれば、ある信号処理ユニットが故障したとしても、再構成可能な電子デバイスをネットワーク上に少なくとも２つ以上分散させた構成データのいずれかを用いてその故障した信号処理ユニットの信号処理機能に再構成することができるので、システム全体の継続動作が可能となり故障に対する信頼性を高めることができる。
【発明の効果】
【０００６】
本発明によれば、故障に対する信頼性を高めることができる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、本発明を実施するための最良の形態の説明を行う。
【０００８】
［１．本システムの構成］図２は、本発明の再構成可能信号処理システムを車両用として適用した場合の車両内ネットワークの一構成例を示す図である。図２の左上には放送受信や無線通信を行うためのアナログ回路が示され、図２の左下には画像、距離、車両速度及び加速度等を測定するためのセンサー群が示されている。また、各部のアナログ信号をディジタルデータに変換するアナログディジタルコンバータ（ＡＤＣ）とネットワーク２ａに接続するインターフェース（Ｉ／Ｆ）が接続されている。なお、無線通信用のアナログ回路には、ネットワーク２ａからのディジタルデータをアナログ信号に変換するディジタルアナログコンバータ（ＤＡＣ）も具備する。
【０００９】
また、カーナビゲーション、インタネットのウェブ閲覧、ＡＶ（オーディオ・ビデオ）再生及びゲーム等のマルチメディア信号処理のため、ＣＤ、ＤＶＤ及びＨＤ（ハードディスク）のドライブがネットワーク２ａに接続されている。さらに、ユーザインターフェースのためのディスプレイやキーボード等の入出力装置もネットワーク２ａに接続されている。
【００１０】
図２の右下には、ブレーキ、ステアリング及びエンジン等の車両の主要な機械的機能を作動させるアクチュエータが、Ｉ／ＦとＤＡＣを介してネットワーク２ａに接続されている。また、エアバックやシートベルト等のプリクラッシュシステムの機械的機能を作動させるモータやアクチュエータが、同様に接続されている。
【００１１】
また、信号処理ユニット１〜Ｎｐがネットワーク２ａに接続されている。ネットワーク２ａへの接続方法は、車両の各部に分散するようにしている。図３（ａ）は、７個の信号処理ユニットが車両の各部に分散してネットワーク２ａ上に位置していることを示す一例である。各信号処理ユニット内部の概略構成の一例を図１０に示す。図１０では、信号処理ユニットは、再構成可能演算処理回路１０ａと２個のコンフィギュレーションデータメモリから構成される。再構成可能信号処理回路１０ａは、ＦＰＧＡまたはリコンフィギュラブルプロセッサから構成される。ＦＰＧＡ、リコンフィギュラブルプロセッサ及びコンフィギュレーションデータについて、以下の［２．ＦＰＧＡについて］で説明する。
【００１２】
［２．ＦＰＧＡについて］ＦＰＧＡのようなプログラマブルな論理回路が、近年普及しつつある。詳細な内部構成は以下の「６．ＦＰＧＡの内部構成」において記載するが、ＦＰＧＡは、多数のＬＵＴ（Look-up  table）とスイッチがチップ上に集積されており、ＬＵＴのデータとスイッチ制御情報を外部から書き込むことによって論理回路の再構成が行われ、プロセッサを含む所望の演算処理回路を実現することができる半導体デバイスである。このデバイスを用いれば、信号処理アルゴリズムを高速に且つ最小遅延時間で実行する最適構造の演算処理回路を構築できる。
【００１３】
ＬＵＴに記憶するデータやスイッチ制御情報等の書き込まれるプログラムは、コンフィギュレーションデータ（構成データ）と呼ばれる。一般的にコンフィギュレーションデータを外部から書き込むためには多数の動作クロックサイクルが必要であるが、最近ではリコンフィギュラブルプロセッサと呼ばれるコンフィギュレーションデータを数クロックで短時間に書き込みと再構成ができる半導体も開発されている。
【００１４】
「３．再構成可能信号処理ユニットの構成と故障時の復旧アルゴリズム」ここでは、ある信号処理ユニットが故障した場合に、故障した信号処理ユニットで実行していた演算回路を他の正常な信号処理ユニットに移動する手法について説明する。上述したように、信号処理ユニットは車両の各部に分散しており（図３）、各信号処理ユニットは再構成可能演算処理回路１０ａと２個のコンフィギュレーションデータメモリから構成される（図１０）。
【００１５】
ある信号処理ユニットの再構成可能演算処理回路１０ａのコンフィギュレーションデータは別の場所に配置された他の２個の信号処理ユニットのコンフィギュレーションデータメモリに書き込まれている。その対応を図１６に示す。ユニットのＩＤ番号とは、再構成可能演算処理回路１０ａの実装されている信号処理ユニットの番号である。例えば、１番の信号処理ユニットの再構成可能演算処理回路１０ａへロードするコンフィギュレーションデータは、２番と６番の信号処理ユニットのコンフィギュレーションデータメモリに格納されている。
【００１６】
信号処理ユニットが故障した場合の復旧の方法について図１１を参照しながら説明する。いま、３番の信号処理ユニットが故障したとする。３番の信号処理ユニットの再構成可能演算処理回路１０ａのコンフィギュレーションデータが格納されている２番及び４番の信号処理ユニットが（図１６）、３番の信号処理ユニットの故障を検出する。２番及び４番の信号処理ユニットは、３番の信号処理ユニットの再構成可能演算処理回路１０ａのコンフィギュレーションデータをコンフィギュレーションデータメモリより読み出す。２番及び４番の信号処理ユニットは、読み出したコンフィギュレーションデータを７番の信号処理ユニットにネットワーク２ａを経由して伝送することによって、その７番の信号処理ユニット内の再構成可能演算処理回路１０ａ上に３番と同一の信号処理回路が再構成する。したがって、故障した３番の信号処理ユニットで行われていた信号処理は、７番の信号処理ユニットで継続して実行されることになる。また、３番の信号処理ユニットが故障したので、６番の信号処理ユニットの再構成可能演算処理回路１０ａのコンフィギュレーションデータが格納されている信号処理ユニットが、２番の信号処理ユニットだけとなり一つ減ってしまう。そこで、７番のコンフィギュレーションメモリに、６番の信号処理ユニットの再構成可能演算処理回路１０ａのコンフィギュレーションデータを格納することによって、故障により一つ減ってしまった状況を回復することができる。なお、７番の信号処理ユニットは、信号処理機能を持たない冗長の信号処理ユニットとして、予めネットワーク２ａ上に接続されているものである。
【００１７】
また、故障を検出する信号処理ユニットは、特に限定しない。例えば、６番の信号処理ユニットが、３番の信号処理ユニットの故障を検出するとともに、２番及び４番の信号処理ユニットに対し３番のコンフィギュレーションデータを７番の信号処理ユニットに伝送する指令を出すようにしてもよい。
【００１８】
また、上述の例では、自身のコンフィギュレーションデータが格納されているユニットの数は２個にしていた（以下、「多重化数を２にする」という）。この多重化数は、車両の走行方向と各信号処理ユニットの配置に基づいて決定される。車両が前方に走行していれば、車両フロント部に配置された信号処理ユニットは、衝突等により破損・故障する確率が高くなる。そこで、車両フロント部に配置された信号処理ユニットのコンフィギュレーションデータが格納されている信号処理ユニットの数を多くすることによって、衝突等による破損・故障に対する信頼性を向上させることができる。逆に、車両リヤ部に配置された信号処理ユニットに対しては、多重化数を減らすことも可能である。また、少なくとも２つ以上分散させておくことによって、１つのコンフィギュレーションデータメモリが故障したとしても、少なくとももう一つは残っているので、故障に対する信頼性も向上する。
【００１９】
また、信号処理ユニットとその信号処理ユニットのコンフィギュレーションデータが格納されている信号処理ユニットとの位置関係は、できるだけ離したほうがよい。衝突等によって、それらが両方とも破損・故障してしまうことを避けるためである。例えば、車両フロント部に配置された２番の信号処理ユニットのコンフィギュレーションデータは、車両中間部に配置された５番及び車両リヤ部に配置された６番の信号処理ユニットに格納されている。
【００２０】
ところで、コンフィギュレーションデータをロードする前に、信号処理ユニットが正常かどうかの検査が行われる。信号処理ユニットの故障診断は、自立分散的に行われ、自らが自己診断機能を有している。再構成可能演算処理回路１０ａにテスト用コンフィギュレーションデータをロードする。その回路１０ａに対し外部から入力信号を加えて、または、回路内部で信号を発生させて、所定の参照信号と比較して一致すれば、その再構成可能演算処理回路１０ａは正常と判断し、図３（ｂ）に示されるように、フラグに“ＯＫ”と表示する。一方、不一致ならば故障と判断して、フラグに“ＮＧ”を表示する。“ＯＫ”と表示されたフラグを有する信号処理ユニットに対して、コンフィギュレーションデータがロードされると、そのフラグの表示は“ＢＵＳＹ”に変わる。また、自己診断機能が故障していた場合には、“ＮＧ”と表示する。このようにすることによって、どの信号処理ユニットが故障しているか否か（“ＯＫ”か“ＮＧ”）、使用可能か否か（“ＯＫ”か“ＢＵＳＹ”）を判別することができる。なお、正常であった場合はそのユニットにロードを行い、正常でなかった場合は正常なものが見つかるまで、他のユニットのフラグを検査する。
【００２１】
上記のようなネットワーク２ａ上を伝送するコンフィギュレーションデータやフラグ情報は、図１３で示されるネットワーク伝送用パケットで伝送する。宛先アドレスは、宛先の信号処理ユニットのＩＤアドレス（図１６にあるような信号処理ユニットのＩＤ番号）、その信号処理ユニット内部の再構成可能演算処理回路１０ａのＩＤアドレス及びその回路内の演算要素（加算器等）のＩＤアドレスから構成される。送信元アドレスも、送信元の信号処理ユニットに関して、上記の宛先アドレスと同様の構成である。データ部は、図２のセンサー群からの出力データ、演算結果の演算用データまたはコンフィギュレーションデータ等である。信頼性を向上させるためにＣＲＣ（Cyclic  redundancy  checksum）が付加される。
【００２２】
ネットワーク２ａから信号処理ユニットに伝送されたパケットは、以下のように信号処理ユニット内で信号処理される。図１４は、信号処理ユニットの構成の一例を示す図である。パケット分解部１４ａは、ネットワーク２ａから伝送されたパケットの解析を行い、コンフィギュレーションデータ、演算入力データ若しくは読み取ったフラグの情報なのかを判別する。コンフィギュレーションデータならば、再構成可能演算処理回路１４ｈ（１０ａ）にダウンロードを行う。演算入力データならば、その再構成された演算処理回路１４ｈに演算データとして入力される。フラグならば、フラグ変化検出回路１４ｉに入力される。フラグの変化によって他の信号処理ユニットが故障したことが判定される。
【００２３】
パケット分解部１４ａを介したデータは、テーブル１４に規定された対応関係に従って、マルチプレクサＤＭＵＸ１４ｄを介して、再構成可能演算処理回路１４ｈやコンフィギュレーションデータメモリ等に出力される。コンフィギュレーションデータメモリは、ＮＣＭ個分用意される。なお、ＮＣＭは多重化数を表す。他の信号処理ユニットの故障が検出された場合には、再構成可能演算処理回路１０ａによる演算結果データとコンフィギュレーションデータメモリからその故障した信号処理ユニットに対応するコンフィギュレーションデータが読み出される。読み出されたそれらのデータは、マルチプレクサＭＵＸ１４ｅを経由した後に、パケット生成部１４ｃによって生成された図１３のデータパケットでネットワーク２ａに送出される。
【００２４】
再構成可能演算処理回路１０ａの検査は、まず、テスト信号発生回路を構成するためのコンフィギュレーションデータをテスト回路１４ｆからロードする。そして、構成されたテスト信号発生回路から出力されたデータをテスト回路１４ｆ内の参照データと比較することによって、故障しているかどうかが判定される。その結果をフラグレジスタに設定する。
【００２５】
［４．コンフィギュレーションデータのダウンロード手法］コンフィギュレーションデータを再構成可能演算処理回路１０ａにダウンロードすることによって、所望の回路が実現されるが、一般的なＦＰＧＡの場合、コンフィギュレーションデータのダウンロードが完了するまでにデータのビット数に依存したクロック数分の時間がかかる。たとえ１クロックで瞬時にダウンロードと再構成が完了して演算回路が切り替わったと仮定しても、ディジタル信号処理で頻繁に使用されるＦＩＲフィルタは過去のデータを現在の出力の計算に使用するために、過去の入力データをコンフィギュレーションメモリに記憶させておく必要がある。したがって、新しく再構成が行われた直後の回路状態ではアクチュエータ等に対して送るべき出力データがしばらく現れない現象が発生する。それを解決するのが以下の手法である。
【００２６】
図５は、本ダウンロード手法の一例を示す図である。簡単のために、２個のセンサー１，２、各センサーに対応する信号処理ユニット１，２若しくはアクチュエータ１，２、未使用の信号処理ユニット３及びネットワーク２ａから構成される。
【００２７】
図５（ａ）は、新しいコンフィギュレーションデータをロードする前の状態である。センサー１からの信号は、処理Ａを処理する信号処理回路が搭載されている信号処理ユニット１に伝送される。信号処理ユニット１による処理Ａの結果が、アクチュエータ１に伝送されて駆動する。センサー２、処理Ｂを処理する信号処理ユニット２及びアクチュエータ２も同様にデータが伝送される。未使用の信号処理ユニット３はネットワーク２ａと制御信号の授受を行うが、データの授受を行わない。
【００２８】
いま、センサー１による信号検出からアクチュエータ１の駆動までの上記の処理Ａを処理Ｃに代える場合について説明する。図５（ｂ）において、まず、信号処理ユニット１または２が、未使用の信号処理ユニット３に対して、起動制御信号を伝送する。
【００２９】
図５（ｃ）において、信号処理ユニット３に対して、図１６のテーブルに従って、信号処理ユニット２（もしくは、（図５上には記載していないが）信号処理ユニット４）からコンフィギュレーションデータがロードされる。そして、信号処理ユニット３は、そのコンフィギュレーションデータに基づいて再構成が行われ、処理Ｃを処理する信号処理回路を実現する。
【００３０】
図５（ｄ）において、センサー１からの信号は、処理Ｃを処理する信号処理ユニット３でも受信する。しかし、信号処理ユニット３による処理３の処理結果データの送信は行わない。
【００３１】
図５（ｅ）において、信号処理ユニット３は、処理３の処理結果データのアクチュエータ１への送信を開始する。同時に、信号処理ユニット１の動作を停止させる。
【００３２】
このように、冗長な信号処理ユニットを設け、既存の処理を実行中にコンフィギュレーションデータのロードと再構成を行い、データ受信を行わせて、データ送信とともに既存の信号処理ユニットを停止させる。このように再構成を行うことによって、アクチュエータ１へのデータの流れの滞りやデータ不連続点の発生を防止する。
【００３３】
［５．信号処理の切り替え方法］それでは、より具体的な信号処理ユニットの処理例について説明する。図４は、その障害物発見時の信号処理の一例を示す。この例では、ある車両が通常運転の時から衝突事故に至るまでの信号処理内容の変移が示されている。簡単のため、信号処理の種類は、走行・制動系、安全系、マルチメディアアプリケーション系の３種類とした。走行・制動系の信号処理には、通常走行のための基本的なエンジン制御、ステアリング制御及びブレーキ制御等がある。安全系の信号処理には、未然に事故を防ぐためのアクティブセーフティ関連制御等がある。マルチメディアアプリケーション（以下、ＭＭＡという）系の信号処理には、カーナビゲーションや車内エンタテイメントのためのＤＶＤ・ビデオ再生技術やブロードバンドインタネットアクセスのための超高速無線通信技術等のいわゆるマルチメディア信号処理制御がある。
【００３４】
図４の左側には信号処理のフローチャートが、右側にはそのときの信号処理ユニット全体の再構成可能演算処理回路のハードウェアリソースに対しての各アプリケーションの使用率が示されている。例えば、５つの信号処理ユニットが３つの信号処理を分担し、その使用率で処理する。もしくは、各信号処理ユニットのそれぞれがその使用率で３つの信号処理を行い、相互に協調制御すると考えてもよい。もしくは、信号処理ユニット１が走行・制動系信号処理を、信号処理ユニット２が安全系信号処理を、信号処理ユニット３がＭＭＡ系信号処理を担当し、全体としてその使用率になると考えてもよい。以下にこのフローチャートの説明を行う。
【００３５】
通常走行時には、信号処理ユニット全体として、コンフィギュレーションデータ０がロードされている（ステップ４０）。コンフィギュレーションデータ０は、カーナビゲーションやインタネット接続のためのＭＭＡ系信号処理や、エンジン・ステアリング制御等の走行・制動系信号処理の使用率が比較的使用率高い。また、安全系信号処理は低精度ではあるが、レーダーによる距離測定や障害物監視や白線レーントラッキング等のための画像処理を常に行っている。
【００３６】
ＭＭＡ系信号処理は、ＧＰＳ、ＴＶ・ラジオ、無線ＬＡＮ・携帯電話のＲＦ・ＩＦアナログ回路からＡＤ変換されたディジタルデータ、または、ＣＤ・ＤＶＤ・ＨＤドライブからのディジタルデータが，ネットワーク２ａを経由して，対応する信号処理ユニットに転送された後に、スピーカーやディスプレイ等のユーザＩ／Ｆに転送されることによって行われる。
【００３７】
安全系信号処理は、図２におけるカメラ、レーザーレーダー、ミリ波レーダーによって検出された外界情報が、ネットワーク２ａを経由して、対応する信号処理ユニットに送信されることによって行われる。処理精度は、走行速度に依存し、高速走行の方が低速走行よりも高くなる。
【００３８】
いま、ＴＶカメラからの画像上に障害物を検知したと仮定する（ステップ４１）。安全系の測定精度を高めた信号処理を実現するコンフィギュレーションデータ１が、ネットワーク２ａ経由で信号処理ユニットにロードされる。この信号処理ユニットは、詳細な処理を行って（ステップ４１）、その障害物に対し対策が必要なのか、または、必要ないのかを判断する（ステップ４２）。
【００３９】
対策が必要ないと判断されれば、通常走行時の回路使用状況に戻すために、再度コンフィギュレーションメモリからネットワーク２ａ経由でコンフィギュレーションデータ１が再度ロードされる。
【００４０】
対策が必要あると判断されたならば、走行・制御系の信号処理の使用率を増加させて精度を高めた信号処理の組み合わせを実装するコンフィギュレーションデータ２が同様にロードされる（ステップ４３）。これにより、ステアリングやブレーキ制御を補強して、ブレーキアシストや横滑り防止制御を起動して衝突を回避させる。このとき、図２における各車輪の速度センサー、加速度センサー、舵角センサーからの信号をネットワーク２ａ経由で信号処理ユニットに伝送して処理した後、ブレーキ、ステアリング、スロットルのアクチュエータが作動する。そして、コンフィギュレーションデータ２がロードされた信号処理ユニットは、衝突回避可否を判断する（ステップ４４）。
【００４１】
センサーからの信号によって衝突が回避できたと判明すれば、通常走行時の回路使用状況に戻すために、再度コンフィギュレーションメモリからネットワーク２ａ経由でコンフィギュレーションデータ１が再度ロードされる。
【００４２】
センサーからの信号によって、今後、衝突が回避できないと判断したならば、コンフィギュレーションメモリよりコンフィギュレーションデータ３をロードして、プリクラッシュシステムの信号処理回路を信号処理ユニット上に実現する（ステップ４５）。プリクシャッシュシステムを実現する信号処理ユニットがシートベルトモーターを駆動させてシートベルトを巻き取ることによって、乗員が速やかに拘束される。また、その信号処理ユニットがブレーキのアクチュエータを駆動させてブレーキアシストを作動させることによって、衝突速度が低減する。また、その信号処理ユニットによって、エアバックアクチュエータを駆動させてエアバックシステムを作動させることによって、乗員の衝突の衝撃が和らぐ。
【００４３】
衝突（ステップ４６）後は、コンフィギュレーションデータ４がコンフィギュレーションメモリよりロードされる（ステップ４７）。これにより、衝突による故障から免れた信号処理ユニット上に、ＧＰＳや無線通信等のＭＭＡ系信号処理を実現する回路が実現し、事故現場の位置を測定して、緊急無線通信を行う。
【００４４】
したがって、上述の信号処理ユニットの処理例をまとめると、以下のことがいえる。車両では多種多様な信号処理が行われるが、一般的に、全ての信号処理回路の稼働率が必ずしも高くはなく、必要とされる演算精度や時間的精度が必ずしも高くなければならないとも限らない。これらの要求精度は、走行状況によって変動する。
【００４５】
例えば、通常走行の場合には、ＭＭＡ系信号処理やエンジン制御信号処理を優先するために、これらの信号処理には高い精度が要求され、ステアリングやブレーキ制御の安全系信号処理にはそれほどの高い精度は要求されない。一方、センサーによって異常が検出された場合には、優先順位の高い安全系信号処理に高い精度が要求される。
【００４６】
したがって、本信号処理の全体の流れは、図１に示されるように、まず、センサーからのセンシングデータの入力によって走行状況を判断し（ステップ１０）、現在のハードウェアリソース（使用可能ハードウェア量）情報を取得する（ステップ１１）。そして、最適なコンフィギュレーションデータを選択できるように、信号処理機能の演算精度やクロック周波数を変動させる（ステップ１２）。具体的には、演算回路のデータビット数を低くして演算回路規模を縮小したり、クロック周波数を低くして演算器の個数を減少したりすることによって、ハードウェアの使用率を下げる。その逆をすることによって、ハードウェア使用率を上げる。そして、図１６の対応関係となるように、そのコンフィギュレーションデータが所定の信号処理ユニットにロードされ（ステップ１３）、コンフィギュレーションメモリに書き込まれる（ステップ１４）。その後、各信号処理ユニットがそれぞれに割り当てられた信号処理を開始する（ステップ１５）。
【００４７】
さらに、本発明に基づく再構成可能信号処理システムの全体的な流れは、図１２にまとめられる。図２のセンサー群からのセンシングデータがネットワーク２ａ上に送出されると（ステップ１２０）、そのデータに対応する処理をする信号処理ユニットがそのデータを受信する（ステップ１２１）。各信号処理ユニットは、図３のように、お互いのフラグを観測して、使用可能な信号処理ユニットを調査する（ステップ１２２）。図４のように、ハードウェアリソースに基づき、最適な信号処理回路を選択し、コンフィギュレーションデータメモリにアクセスする（ステップ１２３）。図１６等のテーブルに基づいて、コンフィギュレーションデータの宛先となる信号処理ユニットを決定する（ステップ１２４）。読み出されたコンフィギュレーションデータは（ステップ１２５）、図１３のパケット構成でネットワーク２ａに送出される（ステップ１２６）。送出されたコンフィギュレーションデータは、宛先の信号処理ユニットの再構成可能演算処理回路にダウンロードされる（ステップ１２７）。いずれかの信号処理ユニットが故障した場合には、その故障した信号処理ユニットのコンフィギュレーションデータが、冗長な信号処理ユニットの再構成可能演算処理回路にダウンロードされるとともに、その故障した信号処理ユニットが格納していたコンフィギュレーションデータが、冗長な信号処理ユニットのコンフィギュレーションメモリに書き込まれる（ステップ１２８）。再構成可能演算処理回路にコンフィギュレーションデータがダウンロードされた信号処理ユニットは、信号処理を開始する（ステップ１２９）。
【００４８】
［６．ＦＰＧＡの内部構成］上述した発明を実現するために必要な、所望の信号処理機能に再構成可能な電子デバイスについて、ＦＰＧＡを具体例に挙げて、以下説明する。図６は、ＦＰＧＡの内部構成の一例である。まず、ＦＰＧＡチップ６ａには外部からコンフィギュレーションデータが供給され、コンフィギュレーションデータメモリに書き込まれる。コンフィギュレーションデータメモリは、図６上では図示されていない。コンフィギュレーションデータメモリは、後述するが、ＦＰＧＡを構成する各ブロックに分散されている。このコンフィギュレーションデータによって各部の機能がプログラムされる。プログラム可能な論理回路ブロックであるＣＬＢ（Configurable  logic  block）６ｂは、対応するコンフィギュレーションデータによって、ユーザが所望する小規模な論理回路に構成できる。説明をわかりやすくするために、図６では３×３のＣＬＢから構成されるＦＰＧＡを示しているが、実際には数十×数十ものＣＬＢが集積される比較的大規模な構成のＦＰＧＡもある。
【００４９】
ＩＯＢ（Input／output  blocks）６ｃは、チップ外とチップ内の信号のインターフェース回路であり、一種の電流増幅器でもある。対応するコンフィギュレーションデータによって所定の論理振幅電圧に設定され、外部論理電圧を内部の論理電圧に変換する機能を有する。
【００５０】
ＲＣ（Routing  channel）６ｄは、各ブロック接続するデータバスである。プログラム可能なスイッチであるＣＢ（Connection  block）６ｅとＳＢ（Switch  block）６ｆはマトリクス状に配置される。ＣＢは、ＣＬＢとＣＬＢの間、ＳＢとＳＢの間及びＣＬＢとＩＯＢの間の接続を行う。ＳＢは、ＣＢとＣＢの間及びＣＢとＩＯＢの間の接続を行う。
【００５１】
なお、図６ではコンフィギュレーションデータのコンフィギュレーションメモリへの入力と分配を行うハードウェア構成の図示は省略している。
【００５２】
図７は、ＣＬＢの内部構成の一例を示す。ＣＬＢは、４入力１出力のＬＵＴ７ａ，７ｂ、３入力１出力のＬＵＴ７ｃ、キャリ生成専用のプログラム可能な論理回路であるＣＬ（Carry  logic）７ｄ，７ｅ、９個のマルチプレクサ（７ｆ〜７ｎ）及び２個のレジスタ７ｏ，７ｐから構成される。ＣＬＢはＳＲＡＭ（Static  Random  Access  Memory）であり、入力はアドレスに相当する。４入力と３入力のＬＵＴには、それぞれ１６ビットと８ビットのコンフィギュレーションデータをダウンロードして任意の論理回路を構成することができる。さらに、各マルチプレクサの制御信号を貯えるコンフィギュレーションメモリ７ｑも具備している。
【００５３】
図１５は、４入力のＬＵＴの真理値表の一例を示す図である。ＣＬは、対応するコンフィギュレーションデータによって、あらかじめ定義されているいくつかの論理回路の一つを実現できる。また、各マルチプレクサの制御信号もコンフィギュレーションデータによって設定される。種々のコンフィギュレーションデータをＣＬＢに与えることによってレジスタを含む所望の論理回路を実現することができる。
【００５４】
図８は、ＳＢの構成例を示す。バス８ａ，８ｂ，８ｃ，８ｄはそれぞれ上下左右に配置されている。スイッチ８ｅは各バスのビット線の交差点に対角線上に配置され、入力は４方向のビット線に接続される。スイッチの４方向からの各ビット線間にトランジスタ８ｆのソースとドレインが接続されている。ドランジスタのゲートにはコンフィギュレーションメモリのセル８ｇが接続され、セルに書き込まれた信号によって４方向のビット線のオン・オフ制御を行う。なお、コンフィギュレーションメモリへの入力信号や制御信号の記述は省略している。
【００５５】
図９は、ＣＢの構成例を示す。図中、上下に配置されているバス９ａはＳＢに接続されるバスである。交差した左側のバス９ｂと右側のバス９ｃはＩＯＢ又はＣＬＢに接続されるバスである。スイッチ９ｄは、各バスのビット線に接続され、各ビット線間にトランジスタ９ｅのソースとドレインが接続され、そのドランジスタのゲート電圧を制御する信号はコンフィギュレーションメモリのセル９ｆに書き込まれている。セルの信号によってトランジスタのオン・オフ制御を行う。なお、コンフィギュレーションメモリへ書き込むデータ信号や制御信号の記述は省略している。
【００５６】
ＩＯＢも同様に、内部のコンフィギュレーションメモリのセルのデータによって、入出力信号の電圧レベル、出力電流の最大値、レジスタの挿入・非挿入等の設定が行われる。
【００５７】
以上のように、コンフィギュレーションメモリに所望の回路を実現するデータを書き込むことによって、ＣＢ，ＳＢ，ＣＬＢ，ＩＯＢに対するプログラムが行われ、所望の仕様の論理回路をＦＰＧＡ上に実現できる。図２のネットワーク２ａ経由でコンフィギュレーションデータが図７のコンフィギュレーショメモリへロードされる。回路の再構成時間はその転送時間とメモリの書き込み時間に依存する。リコンフィギュラブルプロセッサの構成においては、コンフィギュレーションメモリを複数用意して、出力を切り替えることによって一瞬に回路を再構成できる。さらに、演算単位も粒度の細かいＬＵＴのみならず、ビット幅の比較的大きい論理または数値演算を行う粒度の荒いプログラマブル演算器も複数用意している場合もある。
【００５８】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施例に種々の変形及び置換を加えることができる。
【００５９】
上述の実施例では、車両での適用について詳細な説明をしたが、本発明は、船舶、飛行機及びロボット等にも適用可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明の再構成可能信号処理システムの全体的な処理の流れを示す図である。
【図２】本発明の再構成可能信号処理システムを車両用として適用した場合の車両内ネットワークの一構成例を示す図である。
【図３】分散化された信号処理ユニットの車両上での配置の一例である。
【図４】障害物発見時の信号処理の一例である。
【図５】本発明に基づく再構成時に信号処理を連続的に行うためのコンフィギュレーションデータのロード手法の一例である。
【図６】ＦＰＧＡの構成例を示す図である。
【図７】ＣＬＢの内部構成例を示す図である。
【図８】ＳＢの構成例を示す図である。
【図９】ＣＢの構成例を示す図である。
【図１０】信号処理ユニット内部の概略構成の一例である。
【図１１】信号処理ユニット故障時の復旧のための再構成手法の一例である。
【図１２】信号処理ユニットへのコンフィギュレーションデータ伝送手法の一例である。
【図１３】ネットワーク伝送用パケットの一構成例である。
【図１４】信号処理ユニット内部の一構成例である。
【図１５】４入力ＬＵＴの真理値表の一例である。
【図１６】信号処理ユニットとそのコンフィギュレーションデータが格納されているユニットとの対応テーブルの一例である。
【符号の説明】
【００６１】
２ａ  ネットワーク
１０ａ  再構成可能演算処理回路
【図１】
2006155176.tif 000003
【図２】
2006155176.tif 000004
【図３】
2006155176.tif 000005
【図４】
2006155176.tif 000006
【図５】
2006155176.tif 000007
【図６】
2006155176.tif 000008
【図７】
2006155176.tif 000009
【図８】
2006155176.tif 000010
【図９】
2006155176.tif 000011
【図１０】
2006155176.tif 000012
【図１１】
2006155176.tif 000013
【図１２】
2006155176.tif 000014
【図１３】
2006155176.tif 000015
【図１４】
2006155176.tif 000016
【図１５】
2006155176.tif 000017
【図１６】
2006155176.tif 000018