(57)【要約】【課題】互いに同期しともに同じサイズの複数の高速シリアルデータを漏れなくパソコンの記憶装置へ記録し、記録したデータを容易に利用可能とするデータ収集装置を提供する。【解決手段】パソコン及びシリアル通信カード１１を備え、シリアル通信カード１１は、上位装置から互いに同期し同じデータ量を有する複数のシリアルデータを受信し各シリアルデータからチャネル毎の受信データを生成する複数のシリアルデータ受信部２１と、チャネル毎の受信データを記憶する各バッファ２２と、チャネル毎の受信データをパソコンの揮発性記憶部１９へＤＭＡ転送するＤＭＡコントローラ２０と、チャネル毎の受信完了割込みを生成するとともにＤＭＡ転送指令を行う制御部２５とを備え、プロセッサ１５がカード１１からの複数の割込みを一括した一括肯定応答をこのカード１１へ送信し、揮発性記憶部１９に記憶された全受信データを不揮発性記憶部１２へ転送する。【選択図】図１
2009199315.tif 000002
【特許請求の範囲】
【請求項１】
揮発性の記憶部、不揮発性の記憶部、これらの記憶部に内部バスを介してアクセスするプロセッサ、及びこの内部バスとバスプロトコル変換部を介して接続された入出力バスを有するパソコンと、
この入出力バスを介してこのプロセッサと通信可能にされ、上位装置から伝送路を介して入力される複数のチャネルのシリアルデータをこの揮発性の記憶部に転送するシリアル通信カードと、を備え、
前記シリアル通信カードは、
それぞれが前記上位装置から互いに同期しともに同じデータ量を有する複数のシリアルデータを受信しこれらのシリアルデータから複数のチャネル毎の受信データを生成する複数のシリアルデータ受信部と、
これらのチャネル毎の受信データを各々記憶する複数のバッファと、
各バッファのチャネル毎の受信データを、前記入出力バスを介して前記揮発性の記憶部へＤＭＡ転送するＤＭＡコントローラと、
これらのシリアルデータ受信部が各シリアルデータを受信するとチャネル毎の割込みを生成するとともに、このＤＭＡコントローラに対しＤＭＡ転送を行うよう指令する制御部と、を備え、
前記プロセッサは、前記シリアル通信カードからの複数の異なるチャネル間の受信完了割込みに対する肯定応答を一括した一括肯定応答をこのシリアル通信カードへ送信するとともに、この揮発性の記憶部に記憶されたチャネル毎の受信データを前記不揮発性の記憶部へ転送することを特徴とするデータ収集装置。
【請求項２】
前記複数のバッファはいずれも記憶領域の最終のアドレスの次のアドレスが記憶領域の最初のアドレスへと戻るリングバッファ構成であることを特徴とする請求項１記載のデータ収集装置。
【請求項３】
前記制御部はチャネル毎に生成した受信完了割込みを前記プロセッサによって実行されるデバイスドライバに送信し、このデバイスドライバがこれらチャネル毎に生成された受信完了割込みに対して一回の肯定応答を前記一括肯定応答としてこの制御部へ送信し、チャネル毎に生成された受信完了割込みについての割込み要因を全てクリアすることを特徴とする請求項１記載のデータ収集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ収集装置に関する。
【背景技術】
【０００２】
現在運用されているレーダ装置は、決められた走査シーケンスにしたがってレーダ覆域内の空間を走査することにより、全方位及び全仰角の全ての方向について観測を行っている。
【０００３】
レーダ装置を試作する際には、適切に目標を検出するために、様々な数値演算処理のアルゴリズムが検討される。情報の精度を多少粗くしても画面に表示される情報を迅速に生成する演算処理のアルゴリズムと、時間はかかるが正確な情報を生成する演算処理のアルゴリズムとのうちのいずれかを選択する場合、アルゴリズム解析を行う者は、表計算ソフトウェアや数値演算ソフトウェアを用いて、アルゴリズムを評価する。その場合、フィールドデータに基づくシミュレーションを行うことは、アルゴリズムの妥当性を検証する上で重要である。
【０００４】
レーダ装置からは仰角毎及び方位角毎のデータが出力されており、実測により得られた実測データの量は大量である。シミュレーションなどを行うオフライン解析は大量の実測データを用いて行われる。複数のアルゴリズムを検討する場合、同じ実測データが用いられる。また、山間地や離島等での実測データをビットの欠落なしに収集し、実測データを蓄積しておくためにはデータ収集装置が用いられる。
【０００５】
レーダ装置は、処理すべきデータの通信レートが数十〜数百ＭＢｙｔｅｓ／ｓｅｃと高速であるという特徴を持つ。市販されているデータ収集装置は、データ通信の高速性と、外部記憶装置（たとえばＲＡＩＤ  ＨＤＤ、シリコンディスクなど）によるデータ記憶処理の低速性とを吸収する仕組みを有し、この仕組みは各社独自技術により実現されている。
【０００６】
図８はデータ収集装置としてのデータレコーダの一例を示す図である。例えば２本のアナログ信号はそれぞれＡ／Ｄ変換部５０から入力されて、Ａ／Ｄ変換された１チャネル当たり最大３６０ＭＢｙｔｅｓ／ｓｅｃのデジタルデータがデータバス５１を介してインターコネクト部５２へ入力される。このインターコネクト部５２はデジタルデータについて何ら処理を行わずに、このデータを漏れなくデータバス５３及びファイバチャネルアダプタ５４を介してハードディスクドライブ５５に書込むようにしている。このＰＣベースのリアルタイム・データレコーダは、業界標準技術と独自技術とを組み合わせることで、データ記録の高性能化及び高信頼性化を実現している。
【０００７】
高速にデータを収集してデータ欠落を未然に防止することによって装置本体の信頼性を向上させる技術としては、多チャネルの計測系を用いた宇宙線に関する計測データの収集に利用される宇宙線データ収集装置が知られている（特許文献１参照）。この特許文献１に記載の宇宙線データ収集装置は、高速に発生する物理応答データに対し、データを漏らすことなく収集することを目的としている。この宇宙線データ収集装置では、収集対象が物理的応答を計測処理して得られたデータであるため、データの発生周期が長くかつデータの発生密度も低い。このことから、宇宙線計測データの記憶部は全て揮発性メモリにより構成されている。
【０００８】
レーダ装置が処理するデータの周期は数ｍｓｅｃ〜数百ｍｓｅｃと短く、さらに処理すべきデータの量が膨大であり、数十〜数百ＭＢｙｔｅｓ／ｓｅｃと高速である。このため、データ収集装置は、処理周期が短くかつ連続して流れてくる大量のデータを、ビットの欠落なしに記憶装置に保存するインターフェース装置を内蔵している。データ収集装置に全データを保存した後、アルゴリズム解析を行う者が時間をかけてそのデータの解析をする際、この者がデータ収集装置を簡単に取り扱えること、及びこの者がデータのコピーといった操作を簡単に行えることは重要である。
【特許文献１】特開平６−１４８３３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、高速データの受信処理と低速なデータの書込み処理とをインターフェースする装置自体は市販されていない。図８の例のような現在市販されているデータ収集装置に共通する点は、データ通信の高速性と外部記憶装置（たとえばＲＡＩＤ  ＨＤＤ、シリコンディスクなど）の記憶処理の低速性とを吸収する仕組みを各社の独自技術により実現している点であるが、このことが装置の非汎用性と装置の高コスト化とを招いている。市販品のデータ収集装置のハードウェア及びソフトウェアにはいずれも各社の専用品が用いられているため、これらのデータ収集装置はいずれも高価である。データの入力インターフェースと、データを保存する記憶装置と、データを転送あるいは読み書きするためのソフトウェアとを各社が独自に開発しているため、各社の１台のデータ収集装置のコストは数百万円もの高額である。複数台のデータ収集装置をアルゴリズム解析のために導入することは多額のコストを要する。
【００１０】
さらに、保存されるデータのフォーマットは、使用される装置システムに依存するため、記録されたシステム以外のシステムは、他のシステムに保存されたデータを再生することができない。記憶装置を増設するためには、導入されたデータ収集装置のメーカの専用の記憶装置を購入しなければならないため、導入されたデータ収集装置を、機材レンタルのようにリプレイスすることができず、簡単にメーカの切替えをすることが困難である。データ収集装置の一部が故障した場合、製造メーカに修理を依頼する必要がある。データを収集することのみならず、アルゴリズム解析を行う者がデータを使うときも、データの読出しはこのデータ収集装置を経由して行われる。従って、従来技術では、一旦データ収集装置が導入されると、開発者はこの装置のメーカの関連製品を使い続けていかざるを得ない。
【００１１】
また、演算処理についての複数のアルゴリズムを解析する際、データ収集装置に保存された実測データを、アルゴリズム解析を行う者がこの者の使用するマシンに取り込むといった簡単な操作を行う場合でも、この者がデータ収集装置のソフトウェアの使い方をマスターしてからでなければ行うことができない。開発者の人数が多数である場合、汎用性のないデータ収集装置を開発部隊に導入することは、開発者各人への教育が必要となり業務の効率化を図れない。
【００１２】
そこで、本発明は、上記の課題に鑑み、互いに同期した状態で入力され且ついずれも同じデータ量を有する複数の高速シリアルデータを漏れなくパソコンの不揮発性の記憶装置へ記録でき、パソコンに組み込まれたソフトウェアを用いて記録されたデータを容易に利用できるデータ収集システムを安価に構築することが可能なデータ収集装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
このような課題を解決するため、本発明の一態様によれば、揮発性の記憶部、不揮発性の記憶部、これらの記憶部に内部バスを介してアクセスするプロセッサ、及びこの内部バスとバスプロトコル変換部を介して接続された入出力バスを有するパソコンと、この入出力バスを介してこのプロセッサと通信可能にされ、上位装置から伝送路を介して入力される複数のチャネルのシリアルデータをこの揮発性の記憶部に転送するシリアル通信カードと、を備え、前記シリアル通信カードは、それぞれが前記上位装置から互いに同期しともに同じデータ量を有する複数のシリアルデータを受信しこれらのシリアルデータから複数のチャネル毎の受信データを生成する複数のシリアルデータ受信部と、これらのチャネル毎の受信データを各々記憶する複数のバッファと、各バッファのチャネル毎の受信データを、前記入出力バスを介して前記揮発性の記憶部へＤＭＡ転送するＤＭＡコントローラと、これらのシリアルデータ受信部が各シリアルデータを受信するとチャネル毎の割込みを生成するとともに、このＤＭＡコントローラに対しＤＭＡ転送を行うよう指令する制御部と、を備え、前記プロセッサは、前記シリアル通信カードからの複数の異なるチャネル間の受信割込みに対する肯定応答を一括した一括肯定応答をこのシリアル通信カードへ送信するとともに、この揮発性の記憶部に記憶されたチャネル毎の受信データを前記ＤＭＡコントローラにより前記不揮発性の記憶部へ転送することを特徴とするデータ収集装置が提供される。
【発明の効果】
【００１４】
本発明によれば、互いに同期した同じデータ量を有する複数のシリアルデータを漏れなくパソコンの不揮発性の記憶部に記録することができ、この不揮発性の記憶部に記録されたチャネル毎の受信データを容易に利用可能なシステムを安価に構築することができるようになる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態に係るデータ収集装置について、図１乃至図７を参照しながら説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１６】
（概要）
本発明の実施の形態に係るデータ収集装置は、スロット部を有する汎用パソコンと、このスロット部に装着された状態で使用されるシリアル通信カードとから構成されている。このシリアル通信カードはデータ出力装置に接続されている。データ出力装置は例えばレーダ装置のアンテナ部側にケーブル接続されており、このアンテナ部から出力されるＮチャネル分のアナログ受信信号をＡ／Ｄ（アナログ・ディジタル）変換し、互いに同期した複数のシリアルデータを出力するものである。これらのシリアルデータは高速の伝送レートを有し、いずれも同じデータ量を有する。シリアル通信カードにはチャネル毎のＮ個の受信バッファが設けられており、これらの受信バッファにデータ出力装置からＮ本のシリアルデータが入力されるようになっている。各受信バッファに記憶されたシリアルデータは、パソコンのデバイスドライバにより決められたタイミングで読出されるようにされている。各シリアルデータが、パソコンにインストールされたデータ収集用のアプリケーションプログラムによってハードディスクドライブに書込まれることにより、これらのシリアルデータが実測データとして漏れなく蓄積されるようになっている。
【００１７】
（構成）
図１は本発明の一実施形態に係るデータ収集装置を含むデータ収集システムの構成図である。データ収集システム１は、アナログ信号出力装置である図示しないアンテナ部からのＮ本のアナログ信号をＡ／Ｄ変換し、互いに同期し且つともに同じデータ量のシリアルの高速デジタルデータを出力するデータ出力装置２と、このデータ出力装置２とＮ本のデータバス３を介して接続されて、不揮発性の記憶装置を有し、Ｎチャネル分のシリアルデータをこの記憶装置に書込むデータ収集装置４とを備えている。
【００１８】
データ出力装置２は上位装置であり、Ｎ個のＡ／Ｄ変換部５と、データバス６を介してこれらのＡ／Ｄ変換部５からのデジタルデータを入力されて、このデータからノイズを除去するとともにこのデータ出力装置２内の各部を制御する機能を持つＦＰＧＡ（Field Programmable Gate Array）７と、このノイズの処理に必要なフィルタ定数を記憶する記憶部８と、それぞれがデータバス９を介してＦＰＧＡ７から出力されたパラレルデータをシリアル変換してシリアルデータを出力するＮ個のシリアルデータ出力部１０とを備えている。アンテナ部とデータ出力装置２とは同一施設内に設けられており、データ出力装置２からのＮチャネル分のシリアルデータは、信号ケーブルのデータ線からなるデータバス３を介してデータ収集装置４に入力されるようになっている。
【００１９】
データ収集装置４は、スロット部やマザーボードを有するパソコンと、このスロット部に装着されて、それぞれがＮチャネル分の同期シリアルデジタルデータを記憶するＮ個の受信バッファを設けてなるシリアル通信カード１１とを備えている。このシリアル通信カード１１は、バッファリング機能やＤＭＡ（Direct Memory Access）転送機能などを有する部品が搭載されてその一側端部にエッジ電極が形成された基板と、この基板上この基板が差し込まれる方向とは反対側の端部に設けられ、信号ケーブルに接続されるコネクタとを備えている。データ出力装置２及びデータ収集装置４の異なる基板間がシリアル通信路により接続されている。
【００２０】
マザーボードには、マザーボード側コネクタを介してカード型のＰＣＩ（Peripheral Component Interconnect）拡張アダプタがこのマザーボード上に立設した状態で装着されている。このＰＣＩ拡張アダプタの面部にはそれぞれ上下等間隔に配置された複数の導電性コンタクト付きのアダプタ側コネクタが取り付けられており、シリアル通信カード１１がいずれかのアダプタ側コネクタに嵌合されることにより、このシリアル通信カード１１のエッジ電極と導電性コンタクトとが電気的に接続されるようになっている。このシリアル通信カード１１は、ＰＣＩカードのサイズの規格に沿って発明者によって内製されたものであり、ＬＡＮカード、ＵＳＢカード、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）カード、ＳＣＳＩカードあるいはグラフィックスカード等のサイズと略同じサイズを有する。シリアル通信カード１１の電気的な機能については後述する。
【００２１】
データ収集装置４を構成するパソコンは、シリアル通信カード１１のＮ個の受信バッファに記憶された各受信データを保持するハードディスクドライブ（ＨＤＤ）１２と、データバス１３を介してこのハードディスクドライブ１２へアクセスされるデータの読み書きを制御するハードディスクドライブ制御カード１４と、プロセッサとしてのＣＰＵ（中央演算装置）１５と、シリアル通信カード１１側のデータバス１６、ＣＰＵ１５側のデータバス１７、及びハードディスクドライブ制御カード１４側のデータバス１３の間の各バスプロトコルを変換するバスプロトコル変換機能部（バスブリッジ）１８と、揮発性記憶部１９とを備えている。
【００２２】
ハードディスクドライブ１２は不揮発性の記憶部である。不揮発性の記憶部には外部記憶装置を用いてもよい。外部記憶装置として、ＳＣＳＩインターフェースを介して複数のハードディスクドライブがＲＡＩＤ構成のＳＣＳＩ接続されたディスクアレイ装置や、シリコンディスクのような大容量のハードディスクドライブを用いることができる。このハードディスクドライブ１２には、ＯＳ（オペレーティングシステム）と、このＯＳにより制御されて、シリアル通信カード１１に記憶されたシリアルデータを揮発性記憶部１９へ転送するデバイスドライバと、このＯＳ上で動作し、シリアルデータの受信処理や、シリアルデータをハードディスクドライブ１２自身へ書込むためのデータ収集処理を行うアプリケーションプログラムとがそれぞれ保持されている。これらのデバイスドライバやアプリケーションプログラムはブート時にハードディスクドライブ１２から揮発性記憶部１９へロードされてＣＰＵ１５により実行される。
【００２３】
データバス１６はＰＣＩｅｘｐｒｅｓｓ等の入出力バスであり、データバス１３、１７は内部バスである。バスプロトコル変換機能部１８は、バス幅やデータ転送単位が異なる３つのデータバス１３、１６及び１７の間で、これらのバスのプロトコルに応じてデータをプロトコル変換してから転送する。揮発性記憶部１９はＤＲＡＭであり、例えばページメモリのような大容量の記憶領域を有する。
【００２４】
図２はシリアル通信カード１１の機能ブロック図である。このシリアル通信カード１１は、データバス１６上のデータのＤＭＡ転送を行うＤＭＡコントローラ（ＤＭＡＣ）２０と、それぞれデータ出力装置２からのＮ本のシリアルデータを受信し、これらのシリアルデータをシリアルパラレル変換してパラレルデータを出力するＮ個のシリアルデータ受信部２１と、これらのシリアルデータ受信部２１から出力される受信データとしてのパラレルデータを記憶し、これらのパラレルデータがＤＭＡコントローラ２０により決められたタイミングで読出されるようにされたＮ個の受信バッファ２２とを備えている。実線はデータの流れを示し、点線は制御の流れを示し、そして幅広矢印は装置間のインターフェースを示している。
【００２５】
各シリアルデータ受信部２１は、シリアルデータの受信を検知すると、対応する受信バッファ２２へ受信データを同じタイミングで出力するようにしている。シリアルデータの受信検知方法は、一例として、シリアルデータ受信部２１内に予め保持しておいた同期パターンと、同期ビットを付加されたシリアルデータとをパターンマッチングすることによって行われる。
【００２６】
各受信バッファ２２はＤＲＡＭであり、例えばページメモリのような大容量の記憶領域を有する。これらの受信バッファ２２は、記憶領域の最終アドレスの次のアドレスが記憶領域の最初のアドレスへと戻るリングバッファである。リングバッファ構成にすることにより、必要最小限のメモリ素子を用いることができ、限られた面積を有するシリアル通信カード１１上の部品実装可能なスペースに対して受信バッファ２２の占める面積を小さくすることが可能にされている。
【００２７】
更にシリアル通信カード１１は、ホストであるＣＰＵ１５からのこのシリアル通信カード１１内の各部へのアクセスをインターフェース処理するＰＣＩバスインターフェース２３と、各受信バッファ２２に書込まれたデータのうちのＣＰＵ１５へ渡すデータのアドレスの情報及びＤＭＡコントローラ２０の制御情報を記憶するＩ／Ｏレジスタ２４と、シリアル通信カード１１全体を制御する制御機能部２５とを備えている。ＰＣＩバスインターフェース２３からＣＰＵ１５に対して、制御機能部２５は全てのシリアルデータを受信したタイミングでＮチャネル分の受信完了割込みを出力し、ＣＰＵ１５はＮ本分の異なるチャネル間の割込みに対して一回の肯定応答を出力するようにしている。
【００２８】
制御機能部２５は、全てのシリアルデータ受信部２１に対して受信データを受信バッファ２２へ書込むよう指令すること、及び、全てのシリアルデータ受信部２１に対し、受信バッファ２２の記憶領域のうち、どの記憶領域まで書込みに使用したかを表す情報を、Ｉ／Ｏレジスタ２４へ書込むよう指令すること、ＣＰＵ１５からの指令を受けてＤＭＡコントローラ２０を起動することを行えるようにされている。ＣＰＵ１５がＩ／Ｏレジスタ２４に、対象となる受信バッファ２２及びＤＭＡ転送に必要な情報を書込むと、このＩ／Ｏレジスタ２４に付随する回路は制御機能部２５へ書込みがあったことを通知する。この通知を受けると、制御機能部２５は、ＤＭＡコントローラ２０に対し、選択された受信バッファ２２に記憶された受信データをＤＭＡ転送するよう指令する。制御機能部２５は必要なときだけ動くようになっており、シリアルデータがシリアルデータ受信部２１に到来したとき、及びデバイスドライバからＤＭＡコントローラ２０への指示を受けたときにだけ処理を実行する。
【００２９】
これにより、データ出力装置２からシリアルデータがシリアル通信カード１１へ到来すると、全てのシリアルデータ受信部２１は各チャネルのシリアルデータをそれぞれ受信バッファ２２へ書込むとともに、これらの受信バッファ２２に書込みしたシリアルデータの格納アドレスの情報をＩ／Ｏレジスタ２４に書込む。このＩ／Ｏレジスタ２４の格納アドレスの情報はチャネル毎に書込まれる。リングバッファとして機能する受信バッファ２２の記憶領域のうち、どの領域からどの領域までにシリアルデータが記憶されているかについての情報を、デバイスドライバが参照できるようにされている。制御機能部２５は、デバイスドライバの指示を受けてＮチャネル分の全ての受信バッファ２２に書込まれた各受信データをＣＰＵ１５へ向けて転送するようＤＭＡコントローラ２０へ指令を送る。ＤＭＡコントローラ２０は、Ｉ／Ｏレジスタ２４の情報に基づいて選択された受信バッファ２２に書込まれた受信データをデータバス１６へ出力し、データ収集装置４の揮発性記憶部１９へ転送する。シリアルデータの転送処理をＤＭＡコントローラ２０が行い、バックグラウンドでＣＰＵ１５が転送以外の他の処理を行えるようにされている。シリアル通信カード１１は、ＰＣＩバスまたはＰＣＩｅｘｐｒｅｓｓなどを介してホストＣＰＵの一構成品として機能する。
【００３０】
（作用）
このような構成の本実施形態に係るデータ収集装置４へ、データ出力装置２が、シリアルのデジタルデータを出力した場合におけるデータ収集装置４の動作について詳述する。
【００３１】
（１）全体処理タイミング
図３はデータ出力装置２内の各部及びデータ収集装置４内の各部における処理のタイミングを示すタイミングチャートである。同図上段には、Ｎ個のＡ／Ｄ変換部５のうちの１番目及びＮ番目の２つのＡ／Ｄ変換部５におけるＡ／Ｄ変換処理のタイミングと、これらの２つのＡ／Ｄ変換部５に対応する２つのシリアルデータ出力部１０におけるシリアルデータの出力タイミングとが示されている。図３の基本周期は、レーダ装置において送信、受信をそれぞれ１回行うための時間であり、例えば数ｍｓｅｃ〜数百ｍｓｅｃである。１番目のＡ／Ｄ変換部５は基本周期内にパラレルデータをシリアルデータに変換し、このシリアルデータを次の基本周期の開始時点においてシリアル出力１としてデータバス３に出力する。２番目からＮ番目の各Ａ／Ｄ変換部５の動作もこの１番目のＡ／Ｄ変換部５の動作と同じである。
【００３２】
図３下段には、シリアル通信カード１１のＮ個のシリアルデータ受信部２１のうちの１番目及びＮ番目の２つのシリアルデータ受信部２１におけるシリアルデータの入力タイミングと、デバイスドライバからシリアル通信カード１１への受信完了割込み肯定応答の出力タイミングと、各受信バッファ２２に書込まれたＮチャネル分の受信データをデバイスドライバが揮発性記憶部１９へ転送するタイミングと、この揮発性記憶部１９に書込まれた受信データをアプリケーションプログラムがハードディスクドライブ１２に保存するタイミングとが示されている。図示されない残りの各シリアルデータ受信部２１も１番目のシリアルデータ受信部２１の動作と同じように動作する。
【００３３】
図３に示すように、データ出力装置２における各処理と、データ収集装置４におけるシリアルデータ受信部２１の処理と、シリアル通信カード１１がＣＰＵ１５から受信割込み肯定応答を受信する処理とは、全て基本周期に同期している。受信データがシリアル通信カード１１内の受信バッファ２２の空き容量の許容範囲内であること、及び受信データがパソコン内の揮発性記憶部１９の空き容量の許容範囲内であることが満たされることを条件に、データ収集装置４における受信データの転送処理、及びハードディスクドライブ１２への受信データの保存処理は、ともに非同期である。
【００３４】
受信完了割込みはＰＣＩバスで定義された割込みであるため、制御機能部２５はデータの受信を検知すると、ＰＣＩバスインターフェース２３を用いてデバイスドライバに対し、受信完了割込みを出力する。仮に同じデータ量を有するＮチャネル分のシリアルデータが互いに同期していないタイミングで各シリアルデータ受信部２１に到来した場合、これらのシリアルデータ受信部２１はそれぞれがデータの受信の完了時に受信通知信号を出力する。この場合、チャネル毎にＮ個の受信完了割込みが非同期で発生する。また、仮にそれぞれ異なるデータ量を有するＮチャネル分のシリアルデータが互いに同期したタイミングで各シリアルデータ受信部２１に到来した場合、これらのシリアルデータ受信部２１から出力される受信通知信号のタイミングは異なるため、Ｎ個の受信完了割込みは非同期で発生する。
【００３５】
本実施形態に係るデータ収集装置４には、データ量が同じであるＮチャネル分のシリアルデータが互いに同期して入力されるため、全シリアルデータ受信部２１間で受信通知信号が発生するタイミングは同じである。ＰＣＩバスインターフェース２３が個別にＮ個の受信完了割込みを出力するが、デバイスドライバがこれらの受信完了割込みに対して一括した１回の受信完了割込み肯定応答を出力する。
【００３６】
デバイスドライバとシリアル通信カード１１との間は送受信確認用のハンドシェイクが行われている。非同期タイミングでＮ個の受信完了割込みがＣＰＵ１５に通知される場合を考えると、ＣＰＵ１５はそれらの受信完了割込みのそれぞれについてシリアル通信カード１１に対して肯定応答を通知する必要がある。この場合ＣＰＵ１５の負荷状態は大きい。本実施形態に係るデータ収集装置４では、Ｎチャネル分のシリアルデータの受信時にＮ個の受信完了割込みが同じタイミングで生成されるため、これらの割込みを一括し、デバイスドライバがＮ個の受信完了割込みに対し１回の受信割込み肯定応答だけを出力している。このため、ＣＰＵ１５のソフトウェア処理の負荷状態が軽減されるようになる。
【００３７】
また、Ｉ／Ｏレジスタ２４ではデータの書込み位置を表すポインタが順次インクリメントされていき、Ｎ個の受信バッファ２２では各記憶領域のうちの一番古くデータ書込みが行われた記憶領域が開放され、この記憶領域に後から受信されたデータが上書きされて、リングバッファへのデータ書込みが一巡する。このデータ書込みが一巡するまでに、各Ａ／Ｄ変換部５がＡ／Ｄ変換を行う回数をＭとすると、基本周期をＭ倍した期間に等しい時間内に受信されたＮチャネル分のシリアルデータ、即ち受信リングバッファ容量に等しい分のデータが、ハードディスクドライブ１２に書込まれる。Ｍの値は受信バッファ２２のデータ書込み可能な記憶領域の容量に応じて種々変更されうる。
【００３８】
また、各受信バッファ２２に溜められたデータをデバイスドライバが揮発性記憶部１９へ転送完了したタイミングを、アプリケーションプログラムに対して通知するために、デバイスドライバは、揮発性記憶部１９へのデータの転送が完了すると、この転送が完了したことを示すフラグ（以下、収集フラグと呼ぶ）をこの揮発性記憶部１９のデータ領域とは別の領域にセットする。例えば収集フラグが１であることは受信データが揮発性記憶部１９へ転送されたことを表し、収集フラグが０であることは揮発性記憶部１９には受信データが転送されていないことを表すように決められてある。この収集フラグにより、デバイスドライバからアプリケーションプログラムへ、受信データが転送されたタイミングが通知される。アプリケーションプログラムは、所望の周期でこの収集フラグの値を読む処理を行っており、収集フラグが１である場合、揮発性記憶部１９の受信データをハードディスクドライブ１２に保存する処理を開始する。
【００３９】
以降、データ収集装置４の動作の詳細について、（２）、（３）、（４）、（５）にて説明を行う。
【００４０】
（２）シリアル通信カード１１の動作
図１（１）、（２）に示すとおり、シリアル通信カード１１よりも上位側の装置であるデータ出力装置２（Ａ／Ｄ変換部等）より出力された各データをこのシリアル通信カード１１が受信した後、これらの受信データをＮ個の受信バッファ２２に一時的に保存する。通信処理の空いている時間を利用してデバイスドライバとアプリケーションプログラムは各受信データを読出してハードディスクドライブ１２へ記録する。
【００４１】
このアプリケーションプログラムが受信データをハードディスクドライブ１２に記録している間にシリアル通信カード１１へデータ出力装置２からのシリアルデータが到着した場合、このシリアル通信カード１１は、リングバッファの未使用の記憶領域へシリアルデータを保存する。これによってデータの取りこぼし無くデータの収集が行えるようになる。
【００４２】
このように、ＣＰＵ１５がアプリケーションプログラムの実行等のソフトウェア処理をしている最中に受信処理はシリアル通信カード１１が行い、受信データの読み取りについてはハードウェアであるＤＭＡコントローラ２０により転送処理が行われるため、データの欠落が生じずにＮチャネル分のシリアルデータを保存することができるようになる。
【００４３】
（３）受信完了割込み肯定応答の一括処理
データ収集装置４が生成する受信完了割込み肯定応答の一括処理のタイミングを図４に示す。図４（ａ）は１番目のシリアルデータ受信部２１におけるシリアルデータの入力タイミングを示すタイミングチャートであり、図４（ｂ）はＮ番目のシリアルデータ受信部２１におけるシリアルデータの入力タイミングを示すタイミングチャートである。図４（ｃ）は互いに非同期である状態のＮチャネル分のシリアルデータが入力された場合のデバイスドライバからの受信完了割込み肯定応答の出力タイミングを示すタイミングチャートである。図４（ｄ）は互いに同期しデータ量が同じであるシリアルデータが入力された場合のデバイスドライバからの受信完了割込み肯定応答の出力タイミングを示すタイミングチャートである。
【００４４】
チャネル１〜Ｎ間で受信タイミングが非同期である場合、受信完了割込みの肯定応答の処理はチャネル毎に独立して行われる。しかし、図３に示したように、データ収集装置４では、各チャネル間でデータは同期しておりかつ、各データサイズも一致していることから、受信完了割込みの発生タイミングも一致している。
【００４５】
このことから、仮に各チャネル間でシリアルデータの同期がとれていない場合、デバイスドライバからシリアル通信カード１１に対する割込み肯定応答がＮ回繰り返される必要があるところを、図３の受信割込み肯定応答のタイミングチャートに示すとおり、デバイスドライバが制御機能部２５へ一括して肯定応答を返し、１回の肯定応答によって代表することにより、ＣＰＵ１５の割込み応答の処理負荷を、各チャネル間でシリアルデータが非同期であるとした場合における負荷の１／Ｎに減少することができるようになる。
【００４６】
（４）データ受信処理
以下、デバイスドライバによる処理と、データ収集用のアプリケーションプログラムによる処理とについて図５から図７を参照して詳述する。図５はデバイスドライバによる処理を説明するためのフローチャートである。図６は揮発性記憶部１９のメモリマップの一例を示す図であり、同図において上述した符号と同じ符号を有する要素はそれらと同じ要素を表す。図６に示すように、揮発性記憶部１９へデータが入力される処理よりも前段の処理はハードウェアにより行われており、揮発性記憶部１９からデータが出力される処理よりも後段の処理はソフトウェアにより行われている。ソフトウェアによる処理はデバイスドライバによる処理とデータ収集プログラムによる処理との２つに分かれて行われる。
【００４７】
図５において、電源投入後、ステップＳ１において、ＣＰＵ１５は、ＯＳ起動時にシリアル通信カード制御プログラムをハードディスクドライブ１２からデバイスドライバとして組み込み、実行する。
【００４８】
アプリケーションプログラムによるデータ収集処理は、データ受信処理に先立ち、シリアル通信カード１１に対し、Ｎチャネルのうちの一以上の各チャネルについてのデータの取得の処理をイネーブルにする有効設定処理を行う。具体的には、建屋に設置されたコンセントには、信号ケーブルに接続された端子が形成されており、作業を行う者は、シリアル通信カード１１のシリアルデータ信号が入力される側にこの端子をケーブル接続する。Ｎチャネル分のシリアルデータはレーダ装置から常時出力され続けており、このケーブル接続により、シリアルデータがデータ収集装置４へ取り込まれるようになっている。受信可能なＮチャネル分のうち、１チャネル分のみ、あるいは全チャネル分等、蓄積対象とする１以上のチャネル数の情報を作業者がデータ収集装置４に設定することにより有効設定が行われる。通常、データ出力装置２は２４Ｈ、３６５日稼働し、データを出力しており、データ出力装置２からのどのチャネルのシリアルデータを保存するかについて作業を行う者が決めることができる。これにより、作業者の自己の都合でデータ収集処理の開始、中断及び終了を行える。
【００４９】
デバイスドライバが組み込まれた後、ステップＳ２、Ｓ３において、デバイスドライバはシリアル通信カード１１について受信を有効にされたチャネルを監視し、この受信を有効されたチャネルから受信完了割込みが発生するまで待機する（ステップＳ３のＮＯルート）。データ出力装置２は、図１の（１）、（２）、及び図３に示したとおり、Ａ／Ｄ変換を行ってＡ／Ｄ変換後のシリアルデータを出力している。シリアル通信カード１１がこのシリアルデータを受信すると、ステップＳ３のＹＥＳルートを通り、デバイスドライバは、シリアル通信カード１１が持つチャネル数Ｎに対し、割込みが発生したチャネルであるかどうかを判定する（ステップＳ５）。
【００５０】
ステップＳ５において、チャネルｊが割込みを発生したチャネルである場合、ＹＥＳルートを通りステップＳ６において、デバイスドライバはシリアル通信カード１１に処理を行わせる。シリアル通信カード１１は、データを受信後、ＤＭＡコントローラ２０を用いてチャネル毎に設けられた受信バッファ２２のデータを揮発性記憶部１９へ保存する。この保存処理と独立して、シリアル通信カード１１の各ハードウェアによってリングバッファの制御処理が行われる。
【００５１】
その後、ステップＳ７において、図１の（４）及び図６に示すとおり、デバイスドライバは、揮発性記憶部１９の収集フラグに１を設定し、受信データ１〜Ｎをハードディスクドライブ１２へ書込むため、データ収集処理を行うアプリケーションプログラムへ処理開始を許可する。デバイスドライバが収集フラグを１にした後、あるいはステップＳ５においてチャネルｊが割込みを発生していないとデバイスドライバが判定した場合、デバイスドライバは、次のチャネルについての処理を行う（ステップＳ８）。デバイスドライバはシリアル通信カード１１について受信完了割込みを監視し続ける（ステップＳ９）。
【００５２】
（５）データ収集処理
ＣＰＵ１５が行う処理の実行優先度のうち、本データ収集処理の優先度は最低の優先度である。このため、アプリケーションプログラムがデータ収集処理を行っている最中に、シリアル通信カード１１からデータ収集装置４へ受信データが到着した場合、デバイスドライバはＣＰＵ１５の制御を横取りし、上記（４）データ受信処理に説明した処理を実行する。
【００５３】
図７はアプリケーションプログラムによるデータ収集処理を説明するためのフローチャートである。収集処理が開始されると、ステップＴ１において、ＣＰＵ１５は、データ収集用のアプリケーションプログラムを、ハードディスクドライブ１２からロードしてこのアプリケーションプログラムを実行する。ステップＴ２において、ＣＰＵ１５は収集フラグを０に設定する。ステップＴ３において、ＣＰＵ１５は有効チャネル数をＩ／Ｏレジスタ２４に設定する。この設定により、１チャネル分、数チャネル分あるいは全チャネル分のデータ収集処理をシリアル通信カード１１が行うようこのシリアル通信カード１１はイネーブルにされる。ＣＰＵ１５は通信条件もＩ／Ｏレジスタ２４に設定する。これにより、上位装置からデータ収集装置４までの通信が始まる。
【００５４】
引き続き、ステップＴ４において、ＣＰＵ１５は受信回数ｉを設定する。ｉの値は、基本周期にこのｉを乗じて得られた期間内に受信されるデータの容量がハードディスクドライブ１２の記憶容量を超えない程度に予め人により決められる。ステップＴ５においてＣＰＵ１５は収集フラグが１であるかどうかを判定し、収集フラグが１でない間はＮＯルートを通り待機する。ステップＴ５において収集フラグが１であることをＣＰＵ１５が検出した場合、ＹＥＳルートを通り、ステップＴ６においてＣＰＵ１５は収集フラグを０にする。
【００５５】
ステップＴ７において、ＣＰＵ１５は、揮発性記憶部１９の受信用バッファから保存完了した受信データ数を取得する。ステップＴ８において、ＣＰＵ１５は、揮発性記憶部１９の受信バッファから読み出したデータをハードディスクドライブ１２の収集用データファイルへ書込む。アプリケーションプログラムが揮発性記憶部１９から受信データを読込むタイミング、及び受信データをハードディスクドライブ１２へ書込むタイミングはＯＳによって制御される。受信データの読込み処理の速度及び受信データの書込み処理の速度はＯＳの処理負荷に応じて速くなったり遅くなったり揺らぎはあるが、これらの処理が行われるタイミングはＯＳにより適宜制御される。
【００５６】
有効設定されたチャネルについてのデータの収集が行われて、基本周期のｉ倍に等しい期間、データの収集が行われる（ステップＴ９からステップＴ１１）。ステップＴ１２において、ＣＰＵ１５は、シリアル通信カード１１の状態をディスイネーブル状態にするなどの通信終了処理を行う。
【００５７】
以上のように、本実施形態に係るデータ収集装置４によれば、リングバッファ構成のＮ個の受信バッファ２２がハードウェアによって構成されているため、シリアルデータの高速性と、ハードディスクドライブ１２での処理による低速性との間の性能差を解消でき、Ｎチャネル分の高速データを漏れなく蓄積することができるようになる。デバイスドライバとアプリケーションプログラムとが協働することによって、ビットの欠落なしにデータを収集できる。
【００５８】
また、デバイスドライバがＮチャネル分のシリアルデータの受信が完了したときに、受信完了割込み肯定応答を一括して出力するため、ＣＰＵ１５への負荷が大幅に低減されるようになる。市販品のパソコンにシリアル通信カード１１が装着されており、多数の割込みがＣＰＵ１５へあがるが、デバイスドライバがこれらの割込みに対して一括応答しているため、割込応答を頻繁に生成する必要がなくなる。従って、パソコンのＣＰＵ１５がフリーズすることなく、高速にハードディスクドライブ１２へのデータ書込みを行えるようになる。
【００５９】
また、汎用パソコンを使うことができるため、汎用ＯＳや、ハードディスクドライブ１２等、データを保存する記憶媒体に汎用の部品を利用することができるようになり、不揮発性の記憶部としてハードディスクドライブの増設を容易に行える。ハードディスクドライブ１２が故障した場合でも、高額なメーカ専用品に取り換えるといった作業が不要になる。従って、データ収集装置４を構築するための費用が、パソコンの価格と、このパソコンに装着するシリアル通信カード１１の製作費とだけで済むため、同等のデータ収集機能を有する専用品と比べて格段のコスト削減を図れるようになる。
【００６０】
また、互いに同期した同じサイズを有するＮチャネルのシリアルデータを漏れなくパソコンのハードディスクドライブ１２に記録でき、ウィンドウズエクスプローラなどのソフトウェアを用いてチャネル毎に記録された受信データを容易に利用できるようになる。データ収集システム１を安価に構築することができ、低コストで高速データの収集機能を実現することができるようになる。また、汎用パソコンと汎用ＯＳの組み合わせにより受信データをハードディスクドライブ１２あるいは外部記憶装置に記録できるので、受信データの読込み処理を、他のパソコンに置換えることが容易に可能である。
【００６１】
また、このデータ収集装置４によれば、データの保存のみならず、保存したハードディスクドライブ１２からデータを読出すときにも、誰もが操作法に慣れているパソコンを用いてオフライン解析を行うことができる。従来、各メーカの独自技術によって製造販売されたデータ収集装置はいずれも読出し可能なデータフォーマットが異なるため、あるメーカのデータ収集装置は、他のメーカのデータ収集装置によって作成されたデータを読出すといったことができない。これに対して、本実施形態に係るデータ収集装置４によれば、データの読出しを容易に行えるようになる。このデータ収集装置４によれば、メーカ専用品のデータ収集装置の取り扱い方を各人が習得する必要がなくなり、取り扱いに不慣れな人のための教育をするといった手間も不要となる。例えば保存されたフィールドデータを用いてアルゴリズム解析を行う者は、ファイルのコピーやペーストを容易に行えるようになり、データ収集装置に専用のソフトウェアの使い方等を全部覚えるといった業務が不要となる。データのコピーが簡単に行えるため、アルゴリズム解析を行う者が複数いる場合でも、これらの者の間のスキルによらず、各人が同じように開発業務を遂行できるようになり、業務の大幅な効率化を図ることができるようになる。
【００６２】
更に、データ収集装置４を構成するパソコンが壊れたり、あるいはレンタル品のパソコンをリプレイスすることも可能になり、簡単にメーカの切替えをすることができるようになる。周辺機器等についても汎用品を使うことができるため、データ収集装置４が故障した場合でも、担当者が壊れた部品を量販店にて入手し、設置されたデータ収集装置４をすぐに修理できるようになる。パソコン用のソフトウェアのアップロードをすることも簡単に行える。
【００６３】
また、シリアル通信カード１１のサイズはＰＣＩカードの標準サイズと略同じにされているため、このシリアル通信カード１１をパソコンに追加するだけの簡単な操作によって、データ収集機能を実現できるようになる。
【００６４】
尚、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【００６５】
また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態に係るデータ収集装置を含むデータ収集システムの構成図である。
【図２】シリアル通信カードの機能ブロック図である。
【図３】本発明の一実施形態に係るデータ収集装置内の各部における処理のタイミングを示すタイミングチャートである。
【図４】本発明の一実施形態に係るデータ収集装置が生成する受信完了割込み肯定応答の一括処理のタイミングを示すタイミングチャートである。
【図５】デバイスドライバによる処理を説明するためのフローチャートである。
【図６】本発明の一実施形態に係るデータ収集装置の揮発性記憶部のメモリマップの一例を示す図である。
【図７】アプリケーションプログラムによるデータ収集処理を説明するためのフローチャートである。
【図８】従来のデータ収集装置の一例を示す図である。
【符号の説明】
【００６７】
１…データ収集システム、２…データ出力装置（上位装置）、３,６,９…データバス、４…データ収集装置、５…Ａ／Ｄ変換部、７…ＦＰＧＡ、８…記憶部、１０…シリアルデータ出力部、１１…シリアル通信カード、１２…ハードディスクドライブ（不揮発性の記憶部）、１３…データバス（内部バス）、１４…ハードディスクドライブ制御カード、１５…ＣＰＵ（プロセッサ）、１６…データバス（入出力バス）、１７…データバス（内部バス）、１８…バスプロトコル変換機能部（バスプロトコル変換部）、１９…揮発性記憶部、２０…ＤＭＡコントローラ、２１…シリアルデータ受信部、２２…受信バッファ（バッファ）、２３…ＰＣＩバスインターフェース、２４…Ｉ／Ｏレジスタ、２５…制御機能部（制御部）。
【図１】
2009199315.tif 000003
【図２】
2009199315.tif 000004
【図３】
2009199315.tif 000005
【図４】
2009199315.tif 000006
【図５】
2009199315.tif 000007
【図６】
2009199315.tif 000008
【図７】
2009199315.tif 000009
【図８】
2009199315.tif 000010