(57)【特許請求の範囲】
【請求項１】
接続されたセンサから受けたアナログデータを出力するとともに、接続されたセンサの個数および種類を識別するセンサ接続部と、
前記センサ接続部から出力されたアナログデータをデジタルデータに変換するＡＤ変換部と、
前記ＡＤ変換部から出力されたデジタルデータをシリアルデータからパラレルデータに変換するシリアル・パラレル変換部と、
前記シリアル・パラレル変換部から出力されたパラレルデータの中からデータを選択するセレクタ部と、
前記セレクタ部により選択されたデータを処理する演算部と、
前記センサ接続部により識別されたセンサの個数および種類に応じて、前記ＡＤ変換部、前記シリアル・パラレル変換部、前記セレクタ部および前記演算部のうちの少なくともいずれかを制御する制御部と、を備え、
前記制御部は、前記シリアル・パラレル変換部のデータ並列度を制御する、
ことを特徴とするデータ解析装置。
ていることを特徴とするデータ解析装置。
【請求項２】
接続されたセンサから受けたアナログデータを出力するとともに、接続されたセンサの個数および種類を識別するセンサ接続部と、
前記センサ接続部から出力されたアナログデータをデジタルデータに変換するＡＤ変換部と、
前記ＡＤ変換部から出力されたデジタルデータをシリアルデータからパラレルデータに変換するシリアル・パラレル変換部と、
前記シリアル・パラレル変換部から出力されたパラレルデータの中からデータを選択するセレクタ部と、
前記セレクタ部により選択されたデータを処理する演算部と、
前記センサ接続部により識別されたセンサの個数および種類に応じて、前記ＡＤ変換部、前記シリアル・パラレル変換部、前記セレクタ部および前記演算部のうちの少なくともいずれかを制御する制御部と、を備え、
前記制御部は、前記セレクタ部によるデータのセレクトパターンを制御する、
ことを特徴とするデータ解析装置。
【請求項３】
前記制御部は、前記ＡＤ変換部のサンプリングレートを制御することを特徴とする、請求項１または２に記載のデータ解析装置。
【請求項４】
前記制御部は、前記演算部により実行されるプログラムの動作を制御することを特徴とする、請求項１ないし３のいずれか１項に記載のデータ解析装置。
【請求項５】
前記制御部は、前記演算部の動作周波数を制御することを特徴とする、請求項１ないし４のいずれか１項に記載のデータ解析装置。
【請求項６】
前記シリアル・パラレル変換部は、センサの最大接続数に相当する個数のシフトレジスタを備え、
前記セレクタ部は、前記複数のシフトレジスタの段数に相当する個数のセレクタを備え、
前記複数のセレクタは、それぞれ、前記複数のシフトレジスタの各段から出力されたデータを受けることを特徴とする、請求項１ないし５のいずれか１項に記載のデータ解析装置。
【請求項７】
前記制御部は、前記複数のセレクタが前記複数のセンサのうちのいずれのセンサからのデータを選択するかを制御することを特徴とする、請求項６に記載のデータ解析装置。
【請求項８】
前記演算部は、再構成可能論理回路であり、
前記制御部は、前記再構成可能論理回路の論理構成を制御することを特徴とする、請求項１ないし７のいずれか１項に記載のデータ解析装置。
【請求項９】
前記セレクタ部からデータを受けるとともに前記演算部に出力するＦＩＦＯ部を備えていることを特徴とする、請求項１ないし８のいずれか１項に記載のデータ解析装置。
【請求項１０】
前記セレクタ部からデータを受けるとともに、内部バスを介して前記演算部に出力するバッファ部を備えていることを特徴とする、請求項１ないし７のいずれか１項に記載のデータ解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ解析装置、統合プログラム生成装置、および、データ解析システムに関し、特に、センサから収集したアナログデータをサンプリングして解析するデータ解析装置、かかるデータ解析装置において用いられるプログラムを生成する統合プログラム生成装置、および、これらの装置を統合したデータ解析システムに関する。
【背景技術】
【０００２】
センサから収集したデータを解析するシステムが知られている。例えば、特許文献１には、複数のセンサのデジタルデータを多重化し、シリアルデータに変換するとともに、コマンドでセンサを制御する装置が記載されている。また、特許文献２には、センサに直結され、センサから出力されたデータから特徴量を抽出して出力するデータ解析装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−０６４７９５号公報
【特許文献２】特開２００２−２３０６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下の分析は、本発明者によってなされたものである。
【０００５】
上記の特許文献に記載された技術では、データ解析装置が接続されるセンサの個数および種類に応じて設計されていることから、センサノードを入れ替えた場合、または、センサを追加もしくは削除した場合に対応することが困難となる。
【０００６】
実際、これらの装置によると、高サンプリングレートのセンサに置き換えた場合、または、センサノードを追加した場合に、シリアル線のバンド幅でデータ転送が律速するおそれがある。また、データ解析装置での処理内容が固定であるため、異なる種類のセンサに置き換えることは困難である。さらに、センサノード数およびサンプリングレートに応じて、データ解析装置の処理性能（例えば、並列処理数、動作周波数）を変更することは困難である。
【０００７】
そこで、センサから収集したアナログデータを、センサの個数および種類に応じて効率よく解析できるようにすることが課題となる。
【課題を解決するための手段】
【０００８】
本発明の第１の視点に係るデータ解析装置は、
接続されたセンサから受けたアナログデータを出力するとともに、接続されたセンサの個数および種類を識別するセンサ接続部と、
前記センサ接続部から出力されたアナログデータをデジタルデータに変換するＡＤ変換部と、
前記ＡＤ変換部から出力されたデジタルデータをシリアルデータからパラレルデータに変換するシリアル・パラレル変換部と、
前記シリアル・パラレル変換部から出力されたパラレルデータの中からデータを選択するセレクタ部と、
前記セレクタ部により選択されたデータを処理する演算部と、
前記センサ接続部により識別されたセンサの個数および種類に応じて、前記ＡＤ変換部、前記シリアル・パラレル変換部、前記セレクタ部および前記演算部のうちの少なくともいずれかを制御する制御部と、を備えている。
ここで、前記制御部は、前記シリアル・パラレル変換部のデータ並列度を制御する。
もしくは、前記制御部は、前記セレクタ部によるデータのセレクトパターンを制御する。
【０００９】
本発明の第２の視点に統合プログラム生成装置は、
センサの個数および種類を入力とするセンサ接続状態入力部と、
センサから出力されたアナログデータをデジタルデータに変換するＡＤ変換部、該ＡＤ変換部から出力されたデジタルデータをシリアルデータからパラレルデータに変換するシリアル・パラレル変換部、該シリアル・パラレル変換部から出力されたパラレルデータの中からデータを選択するセレクタ部、および、該セレクタ部により選択されたデータを処理する演算部を有するデータ解析装置の仕様を入力とするデータ解析装置仕様入力部と、
前記センサから出力されたデータの処理内容を表す第１のプログラムを入力とするプログラム入力部と、
入力したセンサの個数および種類ならびに前記データ解析装置の仕様に応じて、前記第１のプログラムに基づいて、前記演算部で動作する第２のプログラムを生成する統合プログラム生成部と、を備えている。
【発明の効果】
【００１０】
本発明に係るデータ解析装置、統合プログラム生成装置、および、これらの装置を統合したデータ解析システムによると、センサから収集したアナログデータを、センサの個数および種類に応じて効率よく解析することができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係るデータ解析装置の構成を示すブロック図である。
【図２】第２の実施形態に係る統合プログラム生成装置の構成を示すブロック図である。
【図３】第３の実施形態の係るデータ解析システムの構成を示すブロック図である。
【図４】第４の実施形態に係るデータ解析装置の構成を示すブロック図である。
【図５】第４の実施形態に係るデータ解析装置の第１の動作例について説明するための図である。
【図６】第４の実施形態に係るデータ解析装置の第２の動作例について説明するための図である。
【図７】第４の実施形態に係るデータ解析装置の第３の動作例について説明するための図である。
【図８】第５の実施形態に係るデータ解析装置の構成を示すブロック図である。
【図９】第６の実施形態に係るデータ解析装置の構成を示すブロック図である。
【図１０】第７の実施形態に係るデータ解析装置の構成を示すブロック図である。
【図１１】第８の実施形態に係るデータ解析装置の構成を示すブロック図である。
【図１２】第９の実施形態に係る統合プログラム生成装置の構成を示すブロック図である。
【図１３】第９の実施形態に係る統合プログラム生成装置の動作例について説明するための図である。
【発明を実施するための形態】
【００１２】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１３】
本発明によると、センサの接続状態（複数のセンサの種類とサンプリングレートの組み合わせ）毎に、あらかじめ用意された設定（センサのサンプリングレート、シリアル・パラレル変換設定、パラレル・シリアル変換設定、演算部のプログラム、演算部の動作周波数）を行い、データ解析を開始するデータ解析装置が提供される。
【００１４】
また、本発明によると、新たなセンサの接続状態に対して、演算部の処理能力に基づいて、センサのサンプリングレート、シリアル・パラレル変換設定、パラレル・シリアル変換設定、演算部の動作周波数を決定した上で、個々のセンサプログラムを統合した演算部プログラムを生成する統合プログラム生成装置が提供される
【００１５】
さらに、本発明によると、データ解析装置に接続されているセンサの種類や数に応じて、必要な演算部プログラムを統合プログラム生成装置にて生成し、それをデータ解析装置に転送して、新たなデータ解析処理を開始するデータ解析システムが提供される。
【００１６】
図１を参照すると、データ解析装置（１０）は、接続されたセンサ（９０−１、９０−２、９０−３、…）から受けたアナログデータを出力するとともに、接続されたセンサの個数および種類を識別するセンサ接続部（１１）と、センサ接続部（１１）から出力されたアナログデータをデジタルデータに変換するＡＤ変換部（１６）と、ＡＤ変換部（１６）から出力されたデジタルデータをシリアルデータからパラレルデータに変換するシリアル・パラレル変換部（２０）と、シリアル・パラレル変換部（２０）から出力されたパラレルデータの中からデータを選択するセレクタ部（２３）と、セレクタ部（２３）により選択されたデータを処理する演算部（２６）と、センサ接続部（１１）により識別されたセンサの個数および種類に応じて、ＡＤ変換部（１６）、シリアル・パラレル変換部（２０）、セレクタ部（２３）および演算部（２６）のうちの少なくともいずれかを制御する制御部（１５）と、を備えていることが好ましい。
【００１７】
制御部（１５）は、ＡＤ変換部（１６）のサンプリングレートを制御するようにしてもよい。また、制御部（１５）は、シリアル・パラレル変換部（２０）のデータ並列度を制御するようにしてもよい。さらに、制御部（１５）は、セレクタ部（２３）によるデータのセレクトパターンを制御するようにしてもよい。また、制御部（１５）は、演算部（２６）により実行されるプログラムの動作を制御するようにしてもよい。さらに、制御部（１５）は、演算部（１５）の動作周波数を制御するようにしてもよい。
【００１８】
図４を参照すると、シリアル・パラレル変換部（２０）は、センサの最大接続数（例えば、ｎ個）に相当する個数のシフトレジスタ（２１−１１〜２１−ｍ１、…、２１−１ｎ〜２１−ｍｎ）を備え、セレクタ部（２３）は、複数のシフトレジスタ（２１−１１〜２１−ｍ１…、２１−１ｎ〜２１−ｍｎ）の段数（例えば、ｍ段）に相当する個数のセレクタ（２５−１、…、２５−ｍ）を備え、複数のセレクタ（２５−１、…、２５−ｍ）は、それぞれ、複数のシフトレジスタ（２１−１１〜２１−ｍ１、…、２１−１ｎ〜２１−ｍｎ）の各段から出力されたデータを受けるようにしてもよい。また、制御部（１５）は、複数のセレクタ（２５−１、…、２５−ｍ）が複数のセンサ（９０−１、…、９０−ｎ）のうちのいずれのセンサからのデータを選択するかを制御するようにしてもよい。
【００１９】
演算部（２６）は、再構成可能論理回路であり、制御部（１５）は、再構成可能論理回路の論理構成を制御するようにしてもよい。
【００２０】
また、図８を参照すると、データ解析装置は、セレクタ部（２３）からデータを受けるとともに演算部（２７−１）に出力するＦＩＦＯ部（３８−１、…、３８−ｍ）を備えていてもよい。
【００２１】
さらに、図９を参照すると、データ解析装置は、セレクタ部（２３）からデータを受けるとともに、内部バスを介して演算部（２６）に出力するバッファ部（４０−１、…、４０−ｍ）を備えていてもよい。
【００２２】
図２を参照すると、統合プログラム生成装置（５０）は、センサの個数および種類を入力とするセンサ接続状態入力部（５１）と、センサから出力されたアナログデータをデジタルデータに変換するＡＤ変換部、該ＡＤ変換部から出力されたデジタルデータをシリアルデータからパラレルデータに変換するシリアル・パラレル変換部、該シリアル・パラレル変換部から出力されたパラレルデータの中からデータを選択するセレクタ部、および、該セレクタ部により選択されたデータを処理する演算部を有するデータ解析装置の仕様を入力とするデータ解析装置仕様入力部（５２）と、前記センサから出力されたデータの処理内容を表す第１のプログラムを入力とするプログラム入力部（５３）と、入力したセンサの個数および種類ならびに前記データ解析装置の仕様に応じて、前記第１のプログラムに基づいて、前記演算部で動作する第２のプログラムを生成する統合プログラム生成部（５５）と、を備えていることが好ましい。
【００２３】
また、統合プログラム生成部（５５）は、第１のプログラムの処理内容および演算部の処理能力に応じて、ＡＤ変換部のサンプリングレート、シリアル・パラレル変換部のデータ並列度、セレクタ部によるデータセレクトパターン、および、演算部の動作周波数のうちの少なくともいずれかを決定し、決定したサンプリングレート、データ並列度、データセレクトパターンまたは動作周波数に基づいて、第２のプログラムを生成するようにしてもよい。
【００２４】
図３を参照すると、データ解析システム（６０）は、上記のデータ解析装置（１０）と、上記の統合プログラム生成装置（５０）と、を備えていることが好ましい。
【００２５】
また、演算部（２６）は、統合プログラム生成装置（５０）により生成された第２のプログラムを実行するようにしてもよい。
【００２６】
さらに、制御部（１５）は、統合プログラム生成部（５５）により決定されたサンプリングレート、データ並列度、データセレクトパターンまたは動作周波数に基づいて、ＡＤ変換部（１６）、シリアル・パラレル変換部（２０）、セレクタ部（２３）および演算部（２６）のうちの少なくともいずれかを制御するようにしてもよい。
【００２７】
本発明に係るデータ解析装置、統合プログラム生成装置、および、これらの装置を統合したデータ解析システムによると、センサから収集したアナログデータを、センサの個数および種類に応じて効率よく解析することができる。
【００２８】
（実施形態１）
第１の実施形態に係るデータ解析装置について、図面を参照して説明する。図１は、本実施形態のデータ解析装置の構成を一例として示すブロック図である。図１を参照すると、データ解析装置１０は、センサ接続部１１、センサ接続状態入力部１３、制御部１５、ＡＤ変換部１６、シリアル・パラレル変換部２０、セレクタ部２３、演算部２６、外部Ｉ／Ｆ（ｉｎｔｅｒｆａｃｅ、インタフェース）部３１、統合プログラム記憶部３２、および、統合プログラム入力部３３を備えている。
【００２９】
センサ接続部１１は、１つ以上のセンサ９０−１〜９０−ｎに接続され、センサから出力されたアナログデータをデータ解析装置１０に取り込むとともに、接続されたセンサの個数および種類をセンサ接続状態入力部１３へ出力する。
【００３０】
センサ接続状態入力部１３は、接続されたセンサの個数および種類を入力とする。センサ接続状態入力部１３は、接続されたセンサの個数および種類をセンサ接続部１１から直接取り込むようにしてもよい。また、接続されたセンサの個数および種類を、データ解析装置１０の外部に設けられたスイッチ等によって、マニュアルでセンサ接続状態入力部１３に設定するようにしてもよい。
【００３１】
統合プログラム入力部３３は、データ解析装置１０で実行するプログラムを装置の外部から入力し、統合プログラム記憶部３２に格納する。
【００３２】
制御部１５は、データ解析装置１０の全体を制御する。具体的には、制御部１５は、センサ接続状態入力部１３からの入力に基づいて、データ解析装置１０で実行する処理を統合プログラム記憶部３２に記録された統合プログラムから読み込み、ＡＤ変換部１６、シリアル・パラレル変換部２０、セレクタ部２３、外部Ｉ／Ｆ部２６の設定を行い、演算部２６にプログラムをロードして、センサから収集したデータの処理を開始する。
【００３３】
演算部２６は、複数のセンサ９０−１〜９０−ｎから収集したデータを処理しうる並列性能または動作周波数を有し、セレクタ部２３からデータを取り込む。また、演算部２６は、必要に応じて、セレクタ部２３に対してデータのセレクトパターンを指定する。
【００３４】
ＡＤ変換部１６は、センサ接続部１１に接続された１つ以上のセンサ９０−１〜９０−ｎのデータをそれぞれデジタルデータに変換する。ＡＤ変換部１６におけるデータのサンプリングレートは、制御部１５によって設定される。
【００３５】
シリアル・パラレル変換部２０は、ＡＤ変換部１６から出力されたデジタルデータ（シリアルデータ）を、シフトレジスタ等を用いてパラレルデータに変換する。
【００３６】
セレクタ部２３は、演算部２６が複数のデータを同時に処理できる場合に、シフトレジスタ等でパラレル化された複数のセンサからのデジタルデータのうちのいずれかのセンサからのデジタルデータを選択する。
【００３７】
外部Ｉ／Ｆ部３１は、演算部２６による処理結果をデータ解析装置１０の外部へ出力する。外部Ｉ／Ｆ部３１の出力先は、ここでは特に制限しない。出力先は、例えば、ネットワーク、アクチュエータ等であってもよい。
【００３８】
（実施形態２）
第２の実施形態に係る統合プログラム生成装置について、図面を参照して説明する。図２は、本実施形態の統合プログラム生成装置５０の構成を一例として示すブロック図である。図２を参照すると、統合プログラム生成装置５０は、センサ接続状態入力部５１、データ解析装置仕様入力部５２、プログラム入力部５３、統合プログラム生成部５５、および、統合プログラム出力部５６を備えている。
【００３９】
センサ接続状態入力部５１は、生成する統合プログラムの処理対象となる１つ以上のセンサの接続数および種類を入力とする。
【００４０】
データ解析装置仕様入力部５２は、生成する統合プログラムのターゲットアーキテクチャの仕様を入力とする。ここで、ターゲットアーキテクチャの仕様として、ＡＤ変換仕様（サンプリングレート等）、シリアル・パラレル変換仕様（シフトレジスタ数、動作周波数等）、セレクタ仕様（動作周波数等）、演算仕様（演算器の種類と数、接続関係、並列処理数、動作周波数）、外部Ｉ／Ｆ仕様（バスプロトコル等）等が挙げられる。これらのターゲットアーキテクチャの仕様は、データ解析装置仕様として、データベースに格納されていることが好ましい。
【００４１】
プログラム入力部５３は、個々のセンサデータに対する処理内容がＣ言語等の高級言語等で記述されたプログラムを入力とする。これらのプログラムは、センサ個別プログラムとして、予めデータベースに格納されていることが好ましい。
【００４２】
統合プログラム生成部５５は、センサの接続状態、すなわち、接続されたセンサの個数および種類、ならびに、データ解析装置の仕様に基づいて、個々のセンサの処理プログラムから、データ解析装置で好適に動作する統合プログラムを生成する。統合プログラム生成部５５は、データ解析装置の仕様に応じて、センサから出力されたデータを、短時間で処理することを目的として統合プログラムを生成するようにしてもよいし、少ない消費電力で処理することを目的として統合プログラムを生成するようにしてもよい。また、統合プログラム生成部５５は、センサのうちの優先度の高いものから出力されたデータを優先的に処理するように、統合プログラムを生成してもよい。
【００４３】
統合プログラム出力部５６は、統合プログラム生成部５５で生成した統合プログラムを統合プログラム生成装置５０の外部へ出力する。
【００４４】
（実施形態３）
第３の実施形態に係るデータ解析システムについて、図面を参照して説明する。図３は、本実施形態のデータ解析システム６０の構成を一例として示すブロック図である。図３を参照すると、データ解析システム６０は、データ解析装置１０および統合プログラム生成装置５０を備えている。
【００４５】
データ解析装置１０および統合プログラム生成装置５０は、互いに接続されている。すなわち、統合プログラム生成装置５０のセンサ接続状態入力部５１は、データ解析装置１０のセンサ接続部１１から、接続されたセンサの個数および種類を入力する。一方、データ解析装置１０の統合プログラム記憶部３２は、統合プログラム生成装置５０の統合プログラム出力部５６から出力された統合プログラムを保持する。
【００４６】
なお、データ解析装置１０および統合プログラム生成装置５０は同一のサイトに設置されている必要はなく、ネットワークを介して接続されていれば、互いに遠隔地に設けられていてもよい。
【００４７】
（実施形態４）
第４の実施形態に係るデータ解析装置について、図面を参照して説明する。本実施形態のデータ解析装置は、専用ＨＷ（ｈａｒｄｗａｒｅ、ハードウェア）によって実現しうる。
【００４８】
図４は、本実施形態のデータ解析装置の構成を一例として示すブロック図である。図４を参照すると、データ解析装置は、センサ接続部１１、制御部１５、ＡＤ変換部１６、シリアル・パラレル変換部２０、セレクタ部２３、演算部２６、および、統合プログラム記憶部３２を備えている。
【００４９】
センサ接続部１１は、接続コネクタ１２−１〜１２−ｎを有し、接続コネクタ１２−ｉ（ｉ＝１〜ｎ）はセンサ９０−ｉに接続される。
【００５０】
ＡＤ変換部１６は、アンプ１７−１〜１７−ｎおよびＡ／Ｄ変換回路１８−１〜１８−ｎを有する。アンプ１７−ｉ（ｉ＝１〜ｎ）は、接続コネクタを経由してセンサ９０−ｉから受けたアナログデータを増幅してＡ／Ｄ変換回路１８−ｉに出力する。
【００５１】
シリアル・パラレル変換部２０は、シフトレジスタ２１−１ｉ〜２１−ｍｉ（ｉ＝１〜ｎ）を有する。シフトレジスタの各段の出力は、セレクタ部２３へと出力される。シフトレジスタの動作周波数は、クロック分周回路により、マスタクロック信号を分周して決定する。
【００５２】
セレクタ部２３は、セレクタ２５−１〜２５−ｍを有する。セレクタ２５−ｊ（ｊ＝１〜ｍ）は、シフトレジスタの第ｊ段目のレジスタ（ないしシフト回路）２１−ｊｉ（ｉ＝１〜ｎ）から出力されたデータを入力とし、いずれか１つを選択して演算部２６へ出力する。すなわち、各セレクタは、センサデータの同一シフト段数のデータを接続されたセンサの数だけ入力し、その中の１つを選択して、演算部に出力する。セレクタ２５−１〜２５−ｍのセレクトパターン（選択パターン）は、必要に応じて、各クロックサイクルごとに演算部２６から指定される。セレクタ部の動作周波数は、演算部の動作周波数と同一とする。
【００５３】
演算部２６は、ｍ個の、独立に動作する演算器２７−ｊとその遷移制御回路２８−ｊの組（演算ブロック３５−ｊという。）を備える。遷移制御回路２８−ｊ（ｊ＝１〜ｍ）は、必要に応じて各クロックサイクル毎に、演算器２７−ｊの動作内容を指定するとともに、セレクタ部２３に選択パターンを指定する。独立に動作する演算ブロック３５−ｊごとに動作周波数を設定することができる。演算ブロック間は、同一の動作周波数である場合にはワイヤによって結線され、異なる動作周波数である場合にはＦＩＦＯ等で接続される。演算部２６は、一例として、再構成可能論理回路（ないしプログラマブルハードウェア）等によって実現することができる。
【００５４】
図５は、本実施形態のデータ解析装置の第１の動作例について説明するための図である。図５を参照すると、２つのセンサのデータが、２つの演算ブロック３５−１、３５−２を用いて処理される。
【００５５】
セレクタ２５−１は、２段のシフトレジスタのうちの１段目のレジスタ２１−１１、２１−１２からデータを受け、１つ目のセンサ９０−１からのデータを選択して、１つ目の演算器２７−１へ出力する。一方、セレクタ２５−２は、２段のシフトレジスタのうちの２段目のレジスタ２１−２１、２１−２２からデータを受け、２つ目のセンサ９０−２からのデータを選択して、２つ目の演算器２７−２へ出力する。すなわち、図５において、演算ブロック３５−１は１つ目のセンサ９０−１からのデータを処理し、演算部ロック３５−２は２つ目のセンサ９０−２からのデータを処理するように、セレクタ部２３のセレクトパターンが設定されている。また、図５において、演算ブロック３５−１、３５−２の動作周波数は、ＡＤ変換部１６におけるサンプリング周波数と同一である。
【００５６】
図５に示したように、本実施形態のデータ解析装置によると、データ量が多い（または、サンプリングレートが高い）複数のセンサからのデータを扱う場合には、個々のセンサからのデータを個々の演算ブロックに入力することができ、データの量が増大した場合においても、演算部２６において演算能力が不足することを防ぐことができる。
【００５７】
図６は、本実施形態のデータ解析装置の第２の動作例について説明するための図である。図６を参照すると、本動作例においては、２つのセンサ９０−１、９０−２からのデータを多重化して、１つの演算ブロックで処理する。
【００５８】
セレクタ２５−１は、１段のシフトレジスタのレジスタ２１−１１、２１−１２からデータを受け、一方のセンサからのデータを選択して、演算器２７−１へ出力する。クロックサイクル毎に遷移制御部２８−１からセレクタ２５−１へ選択パターンが入力され、２つのセンサからのデータがクロックサイクル毎に切り替えられて、演算器２７−１へ入力される。
【００５９】
演算器２７−１は、例えば、奇数クロックサイクルではセンサ９０−１からのデータを処理し、偶数クロックサイクルではセンサ９０−２からのデータを処理する。
【００６０】
本動作例では、演算ブロックの動作周波数は、ＡＤ変換部１６におけるサンプリング周波数の２倍となる。
【００６１】
図６に示したように、本実施形態のデータ解析装置によると、データ量が少ない（またはサンプリングレートが低い）複数のセンサからのデータを扱う場合には、シリアル・パラレル変換部２０およびセレクタ部２３によって、パラレル・シリアル変換を行うことで、少ない演算ブロックでデータ解析を行うことができる。したがって、本実施形態のデータ解析装置によると、演算部２６における演算器その他のリソースを有効に利用することができる。また、これによって、少ない消費電力でセンサからのデータを解析することが可能となる。
【００６２】
図７は、本実施形態のデータ解析装置の第３の動作例について説明するための図である。図７を参照すると、本動作例においては、１つのセンサ９０−１からのデータを２つの演算ブロック３５−１、３５−２で並列に処理する。
【００６３】
セレクタ２５−１は、２段のシフトレジスタ２１−１１、２１−２２のうちの１段目のレジスタ２１−１１からデータを受け、演算器２７−１へ出力する。一方、セレクタ２５−１は、２段のシフトレジスタ２１−１１、２１−２２のうちの２段目のレジスタ２１−２１からデータを受け、演算器２７−２へ出力する。すなわち、演算ブロック３５−１は１段目の出力を処理し、演算ブロック３５−２は２段目の出力を処理するように、セレクタ部２３を設定する。
【００６４】
演算部２６において、例えば、演算ブロック３５−１は奇数番目のサンプリングデータを処理し、演算ブロック３５−２は偶数番目のサンプリングデータを処理するようにしてもよい。
【００６５】
演算ブロック３５−１、３５−２は、同時に２個のサンプリングデータを処理するため、演算ブロック３５−１、３５−２の動作周波数は、ＡＤ変換部１６におけるサンプリング周波数の半分となる。
【００６６】
図７に示したように、本実施形態のデータ解析装置によると、シリアル・パラレル変換部２０により、シリアル・パラレル変換を行うことで、データの並列処理が可能となる。これにより、演算ブロックの動作周波数を低減することが可能となる。データ量が増大し、単一の演算ブロックで１つのセンサから出力されたデータを処理できなくなった場合にも、本実施形態のデータ解析装置によると、複数の演算ブロックを用いてデータを処理することができる。
【００６７】
本実施形態のデータ解析装置によると、次のような効果がもたらされる。すなわち、演算ブロックがプログラマブルであるため、センサから出力されたデータに対する処理内容および処理性能（並列処理数、動作周波数）を、センサの個数および種類に応じて変更することができる。
【００６８】
実際、データ量が多い（サンプリングレートが高い）複数のセンサデータを扱う場合には、個々のセンサデータを個々の演算ブロックに入力することが可能なため、データ量の増大により演算能力が不足することを防ぐことができる（図５）。
【００６９】
また、データ量が少ない（サンプリングレートが低い）複数のセンサからのデータを扱う場合には、パラレル・シリアル変換（セレクタ部によるデータ多重化）を行うことで、センサの個数よりも少ない個数の演算ブロックを用いてデータ解析を行うことができる（図６）。
【００７０】
さらに、データ量増大によって１つの演算ブロックで１つのセンサデータを処理できなくなった場合には、シリアル・パラレル変換を行うことで、データの並列処理が可能となる（図７）。また、データ量が同じであっても、演算ブロックに余裕がある場合には、シリアル・パラレル変換を行うことで、データの並列処理が可能となり、演算ブロックの動作周波数を低減することができる（図７）。
【００７１】
（実施形態５）
第５の実施形態に係るデータ解析装置について、図面を参照して説明する。本実施形態では、データ解析装置を専用ハードウェア（ＨＷ）を用いて実現する。
【００７２】
図８は、本実施形態のデータ解析装置の構成を一例として示すブロック図である。図８を参照すると、データ解析装置は、センサ接続部１１、制御部１５、ＡＤ変換部１６、シリアル・パラレル変換部２０、セレクタ部２３、演算部２６、統合プログラム記憶部３２、および、ＦＩＦＯ部３８−１〜３８−ｍを備えている。
【００７３】
本実施形態では、セレクタ部２３と演算部２６との間を、ＦＩＦＯ等のバッファで接続している。
【００７４】
また、セレクタ部３６に、各セレクタの選択パターンを指定するセレクタ制御回路３６が追加されている。
【００７５】
本実施形態のデータ解析装置によると、第４の実施形態のデータ解析装置と異なり、セレクタ部２３の動作周波数と演算部２６の動作周波数を整数比以外に設定することができる。これにより、演算部２６のプログラム（並列度、動作周波数、等）をより柔軟に設定することが可能になり、高スループットや低消費電力向けの構成を実現することができる。
【００７６】
（実施形態６）
第６の実施形態に係るデータ解析装置について、図面を参照して説明する。本実施形態では、データ解析装置の演算部および制御部１６を汎用のハードウェア（ＨＷ）を用いて構成する。
【００７７】
図９は、本実施形態のデータ解析装置の構成を一例として示すブロック図である。図９を参照すると、データ解析装置は、センサ接続部１１、制御部１５、ＡＤ変換部１６、シリアル・パラレル変換部２０、セレクタ部２３、演算部２６、統合プログラム記憶部３２、バッファ部４０−１〜４０−ｍ、および、バスＩ／Ｆ部４１−１〜４１−ｍを備えている。
【００７８】
第５の実施形態のデータ解析装置によると、上述のとおり、セレクタ部２３と演算部２６との分離が可能となる。本実施形態では、さらに、汎用バスを採用することにより、セレクタ部２３と演算部２６とを分離する。
【００７９】
また、ＣＰＵ４２に、演算部２６および装置全体の制御部１５を実装する。ＣＰＵ４２は複数のコアを有していてもよい。この場合には、ＣＰＵ４２は、複数の演算ブロックとして動作しうる。
【００８０】
（実施形態７）
第７の実施形態に係るデータ解析装置について、図面を参照して説明する。本実施形態のデータ解析装置によると、センサ接続数を拡張することができる。
【００８１】
図１０は、本実施形態のデータ解析の構成を一例として示すブロック図である。図１０を参照すると、データ解析装置は、ＡＤ変換部１６ａ、１６ｂ、シリアル・パラレル変換部２０ａ、２０ｂ、セレクタ部２３ａ、２３ｂ、および、演算部２６を備えている。
【００８２】
本実施形態では、セレクタ部２３ｂのセレクタ２５ｂ−１〜２５ｂ−ｍのそれぞれに、外部入力のポート設ける。すなわち、セレクタ２５ｂ−ｊ（ｊ＝１〜ｍ）の外部入力ポートへ、別のセンサ接続部から入力したセンサデータをセレクタ２５−ｊによって選択したセレクト結果を入力する。
【００８３】
本実施形態のデータ解析装置によると、データ解析装置に接続しうるセンサの個数を増やすことができる。なお、本実施形態では、一例として、接続しうるセンサの個数を２倍に増やす構成について説明したが、同様の拡張により、接続しうるセンサの個数を任意の倍数に増やすことができる。
【００８４】
（実施形態８）
第８の実施形態に係るデータ解析装置について、図面を参照して説明する。本実施形態のデータ解析装置によると、演算ブロック数を拡張することができる。
【００８５】
図１１は、本実施形態のデータ解析の構成を一例として示すブロック図である。図１１を参照すると、データ解析装置は、ＡＤ変換部１６、シリアル・パラレル変換部２０ａ、２０ｂ、セレクタ部２３ａ、２３ｂ、および、演算部２６ａ、２６ｂを備えている。
【００８６】
本実施形態では、シリアル・パラレル変換部２０ａ、２０ｂのシフトレジスタの最後の段に外部出力ポートを設け、最初の段に外部入力ポートを設ける。また、必要に応じて、演算部２６ａ、２６ｂの最後の段の演算ブロックに外部出力ポートを設け、最初の段の演算ブロックに外部入力ポートを設ける。さらに、これらの入出力ポートを相互に接続する。
【００８７】
本実施形態のデータ解析装置によると、演算ブロックの個数を拡張することができる。なお、本実施形態では、一例として、演算ブロックの個数を２倍に増やす構成について説明したが、同様の拡張により、演算ブロックの個数を任意の倍数に増やすことができる。
【００８８】
（実施形態９）
第９の実施形態に係る統合プログラム生成装置について、図面を参照して説明する。本実施形態の統合プログラム生成装置は、汎用ハードウェア（ＨＷ）を用いて実現しうる。
【００８９】
図１２は、本実施形態の統合プログラム生成装置を実現する汎用コンピュータの構成を一例として示すブロック図である。図１２を参照すると、汎用コンピュータは、処理装置７０、入力装置８３、および、出力装置８５を備えている。処理装置７０は、さらに、ＣＰＵ７１、主記憶装置７２、記憶媒体７３、データ蓄積装置７５、メモリ制御インタフェース部７６〜７８、Ｉ／Ｏインタフェース部８０、８１、およびバス８２を備えている。
【００９０】
主記憶装置７２、記憶媒体７３、データ蓄積装置７５は、それぞれ、メモリ制御インタフェース部７６〜７８を介してバス８２に接続されている。また、入力装置８３および出力装置８５は、それぞれ、Ｉ／Ｏインタフェース部８０、８１を介して、バス８２に接続されている。
【００９１】
図２におけるセンサ接続状態入力部５１、データ解析装置仕様入力部５２、および、プログラム入力部５３は、それぞれ、キーボード、マウス等の入力装置８３、または、磁気ディスク、ＣＤ−ＲＯＭ等の記憶媒体から、接続されたセンサの個数および種類、データ解析装置の仕様、および、センサ個別プログラムを入力する。入力したデータ解析装置仕様およびセンサ個別プログラムは、データ蓄積装置７５に保持する。
【００９２】
図２における統合プログラム生成部５５は、ＣＰＵ７１で実行するプログラムとして実装される。このプログラムは、入力装置８３または記憶媒体７３から入力され、データ蓄積装置７５に保持する。このプログラムをＣＰＵ７１で実行する場合には、メモリ等の高速な主記憶装置７２に読み出して処理する。処理結果は、データ蓄積装置７５に保持する。
【００９３】
図２における統合プログラム出力部５６は、出力装置８５または記憶媒体７３に対するメモリ制御インタフェース部７７として実装する。
【００９４】
図１３（ａ）〜（ｄ）は、センサを追加した場合における、本実施形態の統合プログラム生成装置の動作を一例として示す。
【００９５】
例えば、以下のような時系列でセンサの組み合わせが変更された場合には、統合プログラム生成装置は、変更内容に応じて、使用する演算器（図１３ではＰＥアレイ（プロセッサエレメントアレイ）と表記する）数、動作周波数、面積（ＰＥ数）を決定し、統合プログラムを生成する。
【００９６】
図１３（ａ）を参照すると、センサＡ（９０−１）から出力されたデータは、セレクタ２５−１によって演算ブロック３５−１のＰＥアレイに出力されている。一方、センサＢ（９０−２）から出力されたデータは、セレクタ２５−２によって演算ブロック３５−２のＰＥアレイに出力されている。このとき、各センサのデータのサンプリングレートと、各ＰＥアレイの動作周波数とは同一である。
【００９７】
図１３（ｂ）を参照すると、センサＢ（９０−２）から出力されたデータは、演算ブロック３５−２、３５−３における２つのＰＥアレイで並列に処理される。このとき、演算ブロック３５−２、３５−３におけるＰＥアレイの動作周波数は半分に下げる。
【００９８】
図１３（ｃ）を参照すると、センサＡ（９０−１）の処理速度（動作周波数）を２倍にして、半分の数のＰＥアレイで処理する（省面積化）例が記載されている。
【００９９】
また、図１３（ｄ）を参照すると、センサＣ（９０−３）が追加（サンプリングレートは３倍とする。）された場合が示されている。このとき、２個のＰＥアレイを用いて、センサＢ（９０−２）およびセンサＣ（９０−３）から出力されたデータを並列に処理することで、演算ブロック３５−２、３５−３におけるＰＥアレイの動作周波数は高々２倍にすることで、データの処理が可能となる。したがって、本実施形態の統合プログラム生成装置によると、複数の異なるサンプリングレートのセンサが接続された場合においても、複数のＰＥアレイに適切にデータを割り当てるとともに、これらのＰＥアレイの動作周波数を適切に決定することで、センサからのデータを処理することが可能となる。
【０１００】
（実施形態１０）
第１０の実施形態に係るデータ解析システムについて説明する。本実施形態のデータ解析システムは、第４ないし第８の実施形態に係るデータ解析装置と、第９の実施形態に係る統合プログラム生成装置とを組み合わせることによって実現される。
【０１０１】
本実施形態のデータ解析システムを、第４、第５、第７および第８の実施形態に係るデータ解析装置と、第９の実施形態に係る統合プログラム生成装置とを組み合わせることで実現する場合には、データ解析装置を専用のＨＷ（ｈａｒｄｗａｒｅ、ハードウェア）によって実現し、統合プログラム生成装置を汎用のＨＷによって実現することができる。
【０１０２】
一方、本実施形態のデータ解析システムを、第６の実施形態に係るデータ解析装置と、第９の実施形態に係る統合プログラム生成装置とを組み合わせることで実現する場合には、データ解析装置の一部（例えば、センサ接続部１１、ＡＤ変換部１６、シリアル・パラレル変換部２０、セレクタ部２３）を専用のＨＷによって実現し、データ解析装置の残部（例えば、制御部１５、演算部２６）および統合プログラム生成装置を汎用のＨＷによって実現することができる。
【０１０３】
（実施形態１１）
第１１の実施形態に係るデータ解析装置について説明する。図１を参照すると本実施形態では、センサ９０−１〜９０−ｎの制御を演算部２６から行う。具体的には、一定期間に亘ってセンサ９０−ｉ（ｉ＝１〜ｎ）から出力されたデータに変化がない場合には、センサ９０−ｉをスリープモードに移行させ、一定時間後にスリープモードから復帰させる。また、データ解析に必要なサンプリングレートを動的に計算して設定（適応制御）するようにしてもよい。
【０１０４】
本実施形態のデータ解析装置によると、センサおよびデータ解析装置における消費電力を削減することができる。
【０１０５】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【０１０６】
１０    データ解析装置
１１    センサ接続部
１２−１〜１２−ｎ    接続コネクタ
１３    センサ接続状態入力部
１５    制御部
１６、１６ａ、１６ｂ    ＡＤ変換部
１７−１、…、１７−ｎ    アンプ
１７ａ−１、…、１７ａ−ｎ    アンプ
１７−１ｂ、…、１７ｂ−ｎ    アンプ
１８−１、…、１８−ｎ    Ａ／Ｄ変換回路
１８ａ−１、…、１８ａ−ｎ    Ａ／Ｄ変換回路
１８ｂ−１、…、１８ｂ−ｎ    Ａ／Ｄ変換回路
２０、２０ａ、２０ｂ    シリアル・パラレル変換部
２１−１１〜２１−ｍ１、…、２１−１ｎ〜２１−ｍｎ    シフトレジスタ
２１−１１、…、２１−ｍｎ    シフトレジスタの各段
２１ａ−１１〜２１ａ−ｍ１、…、２１ａ−１ｎ〜２１ａ−ｍｎ    シフトレジスタ
２１ａ−１１、…、２１ａ−ｍｎ    シフトレジスタの各段
２１ｂ−１１〜２１ｂ−ｍ１、…、２１ｂ−１ｎ〜２１ｂ−ｍｎ    シフトレジスタ
２１ｂ−１１、…、２１ｂ−ｍｎ    シフトレジスタの各段
２２−１、…、２２−ｎ    クロック分周器
２２ａ−１、…、２２ａ−ｎ    クロック分周器
２２ｂ−１、…、２２ｂ−ｎ    クロック分周器
２３、２３ａ、２３ｂ    セレクタ部
２５−１、…、２５−ｍ    セレクタ
２５ａ−１、…、２５ａ−ｍ    セレクタ
２５ｂ−１、…、２５ｂ−ｍ    セレクタ
２６、２６ａ、２６ｂ    演算部
２７−１、…、２７−ｍ    演算器
２８−１、…、２８−ｍ    遷移制御部
３０−１、…、３０−ｍ    クロック分周器
３１    外部Ｉ／Ｆ部
３２    統合プログラム記憶部
３３    統合プログラム入力部
３５−１、…、３５−ｍ    演算ブロック
３５ａ−１、…、３５ａ−ｍ    演算ブロック
３５ｂ−１、…、３５ｂ−ｍ    演算ブロック
３６    セレクタ制御回路
３７    クロック分周器
３８−１、…、３８−ｍ    ＦＩＦＯ部
４０−１、…、４０−ｍ    バッファ
４１−１、…、４１−（ｍ＋１）    バスＩ／Ｆ部
４２    ＣＰＵ
４３    バスＩ／Ｆ部
４５    記憶装置
５０    統合プログラム生成装置
５１    センサ接続状態入力部
５２    データ解析装置仕様入力部
５３    プログラム入力部
５５    統合プログラム生成部
５６    統合プログラム出力部
６０    データ解析システム
７０    処理装置
７１    ＣＰＵ
７２    主記憶装置
７３    記憶媒体
７５    データ蓄積装置
７６、７７、７８    メモリ制御インタフェース部
８０、８１    Ｉ／Ｏインタフェース部
８２    バス
８３    入力装置
８５    出力装置
９０−１〜９０−ｎ    センサ
【図１】
0005563499.tif 000002
【図２】
0005563499.tif 000003
【図３】
0005563499.tif 000004
【図４】
0005563499.tif 000005
【図５】
0005563499.tif 000006
【図６】
0005563499.tif 000007
【図７】
0005563499.tif 000008
【図８】
0005563499.tif 000009
【図９】
0005563499.tif 000010
【図１０】
0005563499.tif 000011
【図１１】
0005563499.tif 000012
【図１２】
0005563499.tif 000013
【図１３】
0005563499.tif 000014