(57)【要約】【課題】  ＤＭＡ制御方法をポーリング処理にした場合に、ＤＭＡ転送中のポーリング処理による制御部の負荷を軽減し、他のタスクの性能が劣化してしまうのを解決する。【解決手段】  ＤＭＡ制御方法において、ＤＭＡ転送間のＤＭＡ転送終了検出からＴｘＤＭＡＣ１１１の再キック処理を、ＣＰＵ１１４の割込み処理からポーリング処理に変更し、且つＣＰＵ１１４は、データ転送制御システム内のＴｘＤＭＡＣ１１１のＤＭＡ転送レートにあったサンプリングレートでポーリング処理を行なうことで、ＤＭＡ転送中のポーリング処理によるＣＰＵ１１４の負荷を軽減する。【選択図】図１Ｂ
2014229190.tif 000002
【特許請求の範囲】
【請求項１】
データ転送制御システムであって、
測定データを処理するデータ処理部と、
前記データ処理部で処理された前記測定データを転送するデータ転送部と、
前記データ転送部による前記測定データの転送を制御する制御部と、を備え、
前記制御部は、
前記データ転送部によるデータ転送レートに基づき、ポーリング処理のポーリングのサンプリングレートを決定し、
前記データ転送部によるデータ転送の終了確認を、決定した前記サンプリングレートによるポーリング処理で実行する、
ことを特徴とするデータ転送制御システム。
【請求項２】
請求項１に記載のデータ転送制御システムであって、
前記データ転送部は、
ＤＭＡＣ（Direct Memory Access Controller）を含むＵＳＢ３．０ＩＰコア（Universal Serial Bus 3.0 Intellectual Property Core）で構成され、
前記制御部は、
前記ＤＭＡＣを起動してからＤＭＡ転送が終了するまでの時間と、１回の前記ＤＭＡ転送によるデータサイズに基づき、前記データ転送レートを算出する、
ことを特徴とするデータ転送制御システム。
【請求項３】
請求項２に記載のデータ転送制御システムであって、
前記制御部は、
前記ＤＭＡ転送間の前記ＤＭＡ転送の終了検出、及び前記ＤＭＡＣの再起動を行う割込み処理において、前記データ転送レートを算出する、
ことを特徴とするデータ転送制御システム。
【請求項４】
請求項３に記載のデータ転送制御システムであって、
前記データ転送部と前記制御部に接続され、ＧＵＩ（Graphical User Interface）画面を表示可能なコンピュータを更に備える、
こと特徴とするデータ転送制御システム。
【請求項５】
請求項４に記載のデータ転送制御システムであって、
前記コンピュータは、
前記制御部から算出された前記データ転送レートを受信し、前記ＧＵＩ画面に受信した前記ＤＭＡ転送レートを表示可能であり、
前記測定データの転送完了時に、前記データ転送部から受信した前記測定データの受信サイズと測定時間に基づき、前記ＵＳＢ３．０の転送性能を算出して、前記ＧＵＩ画面に表示可能である、
ことを特徴とするデータ転送制御システム。
【請求項６】
請求項５に記載のデータ転送制御システムであって、
前記コンピュータは、
前記ＧＵＩ画面に、ユーザが初期化処理において自動モード、或いは手動モードを選択可能に表示する、
ことを特徴とするデータ転送制御システム。
【請求項７】
請求項６に記載のデータ転送制御システムであって、
前記制御部は、
前記ＧＵＩ画面において、前記自動モードによる初期化処理が選択された場合、
前記ＤＭＡ転送間のＤＭＡ終了検出、及び前記ＤＭＡＣの再起動を行う割込み処理において算出した、前記データ転送レートに基づき前記サンプリングレートを決定し、
次回以降の測定において、決定した前記サンプリングレートによるポーリング処理を行なう、
ことを特徴とするデータ転送制御システム。
【請求項８】
請求項６に記載のデータ転送制御システムであって、
前記ＧＵＩ画面において、前記手動モードによる初期化処理が選択された場合、
前記制御部は、
前記ＤＭＡ転送間のＤＭＡ終了検出、及び前記ＤＭＡＣの再起動を行う割込み処理において算出した、前記データ転送レートに基づき前記サンプリングレートを決定し、
前記ＧＵＩ画面において、ユーザが次回以降の測定時におけるＤＭＡ制御を、割込み処理、又はポーリング処理どちらかを選択可能に表示する、
ことを特徴とするデータ転送制御システム。
【請求項９】
請求項６に記載のデータ転送制御システムであって、
前記制御部は、
ユーザが前記ＧＵＩ画面で、前記初期化処理において前記自動モードと手動モードの選択を行わなかった場合、当該システム中にサンプリングレートが記憶されている場合、当該サンプリングレートによるポーリング処理でＤＭＡ制御を行ない、記憶されていない場合、前記割込み処理で算出した前記データ転送レートに基づきサンプリングレートを決定する、
ことを特徴とするデータ転送制御システム。
【請求項１０】
請求項６に記載のデータ転送制御システムであって、
前記制御部は、
当該システム中にサンプリングレートが記憶されている場合、
初期化処理により新たなサンプリングレートが算出された場合、算出された当該サンプリングレートで記憶された前記サンプリングレートの更新を行う、
ことを特徴とするデータ転送制御システム。
【請求項１１】
制御部によるデータ転送制御方法であって、
前記制御部は、
データ転送部による測定データの転送を制御する際に、
前記データ転送部によるデータ転送レートに基づき、ポーリング処理のポーリングのサンプリングレートを決定し、
前記データ転送部によるデータ転送の終了確認を、決定した前記サンプリングレートによるポーリング処理で実行する、
ことを特徴とするデータ転送制御方法。
【請求項１２】
請求項１１に記載のデータ転送制御方法であって、
前記データ転送部は、
ＤＭＡＣ（Direct Memory Access Controller）を含むＵＳＢ３．０ＩＰコア（Universal Serial Bus 3.0 Intellectual Property Core）で構成され、
前記制御部は、
ＤＭＡ転送間の当該ＤＭＡ転送の終了検出、及び前記ＤＭＡＣの再起動を行う割込み処理において、前記データ転送レートを算出し、
前記ＤＭＡＣを起動してからＤＭＡ転送が終了するまでの時間と、１回のＤＭＡ転送によるデータサイズに基づき、前記データ転送レートを算出する、
ことを特徴とするデータ転送制御方法。
【請求項１３】
請求項１２に記載のデータ転送制御方法であって、
前記制御部は、
前記データ転送部と前記制御部に接続され、ＧＵＩ（Graphical User Interface）画面を表示可能なコンピュータに対し、算出した前記データ転送レートを送信し、
前記コンピュータは、
前記ＧＵＩ画面に前記ＤＭＡ転送レートを表示し、
前記測定データの転送完了時に、前記データ転送部から受信した前記測定データの受信サイズと測定時間に基づき、前記ＵＳＢ３．０の転送性能を算出して、前記ＧＵＩ画面に表示する、
ことを特徴とするデータ転送制御方法。
【請求項１４】
請求項１３に記載のデータ転送制御方法であって、
前記コンピュータは、
前記ＧＵＩ画面に、ユーザが初期化処理において自動モードと手動モードを選択可能に表示する、
ことを特徴とするデータ転送制御方法。
【請求項１５】
請求項１４に記載のデータ転送制御方法であって、
前記制御部は、
前記ＧＵＩ画面において、前記自動モードによる初期化処理が選択された場合、
前記ＤＭＡ転送間のＤＭＡ終了検出、及び前記ＤＭＡＣの再起動を行う割込み処理において、算出した前記データ転送レートに基づき前記サンプリングレートを決定し、
次回以降の測定において、決定した前記サンプリングレートによるポーリング処理を行なう、
ことを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ転送制御、特に、転送サイズが一定でない不定の計測データを高速に転送する際のデータ転送技術に関する。
【背景技術】
【０００２】
転送サイズが一定でない不定の測定データを複数に分けたパケットでホストからデバイスまたは、デバイスからホストへ転送する際、データ転送の終了を判定することは難しい。そこでＵＳＢ（Universal Serial Bus）システムにおけるバルクアウト転送または、バルクイン転送の場合は、大量のバルクアウトデータ、バルクインデータがパケットの最大サイズ単位で複数パケットに分けて順次転送されるので、最後に転送されるショートパケットまたは、Ｎｕｌｌパケットを検出することにより転送の終了を判定している。しかしながら、一部の装置では、Ｎｕｌｌパケットが送信されない場合があり、最大パケットサイズで割り切れるデータ転送の場合に転送の終了が判断出来ない問題が発生する。この問題を解決するため、例えば、特許文献１−３の技術が提案されている。
【０００３】
一方、ＵＳＢシステムにおいて、ＵＳＢの転送レートを向上させるため、効率的なデータ転送を図るデータ転送方法が、特許文献４、５に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２４９９６５号公報
【特許文献２】特開２００４−１１８５１７号公報
【特許文献３】特開２００６−１９１４０６号公報
【特許文献４】特開２００７−２５１７１５号公報
【特許文献５】特開２０１０−１７０４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献４では、ＵＳＢ装置のデータ転送レートを向上させるために、ＵＳＢ装置がバッファの使用状況をホスト装置に対して通知する技術が開示されている。この技術には、ホスト装置から送信されるＯＵＴトランザクション間隔を過去のＯＵＴトランザクション間隔情報から予測し、ＯＵＴトランザクション受信間隔を決定しているため、ホスト装置から送信されるＯＵＴトランザクション間隔に変動が生じた場合にＯＵＴトランザクション受信間隔の追随が出来なくなり、次のＯＵＴトランザクションを受信出来ないと判断して、本来ホスト装置へ受信可能を示す信号を送出することが出来る状態にも関わらず、受信不可の信号を送出してしまい、ホスト装置で再転送要求処理が発生してデータ転送効率が悪くなると言う問題が生じる。
【０００６】
この問題を解決するために、例えば特許文献５には、ホスト装置から次に送信されるデータの到着タイミング情報に基づき、次のホスト装置からのデータ送信可否を決定することで過去のＯＵＴトランザクション間隔の影響を受けず、ホスト装置へ適切なデータ送信可否を行ない、無駄な再転送要求処理の発生を防止し、データ転送効率を向上させる技術が開示されている。
【０００７】
近年、産業用の計測機器についても、データの大容量化・サンプリング速度の高速化が進んでおり、データ転送の高速化を目的に新規に規格が策定され、普及しつつあるＵＳＢ３．０の活用が求められて来ている。しかしながら、質量分析装置の測定データは、転送サイズが不定であるため、１回のＤＭＡ（Direct Memory Access）で、コンピュータであるホストＰＣ（Personal Computer）に転送するブロックデータのサイズを最大に設定することでデータ転送の制御回数を少なくすることが可能となるが、ＵＳＢ３．０ＩＰコア（Universal Serial Bus 3.0 Intellectual Property Core）によっては、内蔵されたＤＭＡＣの起動後は、測定が完了しても途中で停止出来ない場合があり、その場合、ダミーデータを送る量が増える可能性があるため、データ転送性能が劣化する恐れがある。この問題は、１回のＤＭＡ転送サイズ、すなわち転送されるブロックデータのサイズを小さくして測定完了後のダミーデータを送る量を減らすことでダミーデータ送出時のデータ転送性能の劣化を軽減することが出来る。
【０００８】
そのため、データの高速化のためには、ＤＭＡ転送間（ＤＭＡ転送終了から送信側ＤＭＡＣの再キック）を制御するファームウェアの制御方法についても高速化が必要となる。一般に、ファームウェアのＤＭＡ転送間のＤＭＡ転送終了検出から送信側ＤＭＡＣ再キックの制御は割込み処理として行なわれるが、質量分析装置のように、測定データの転送サイズが不定で、かつ、測定データをリアルタイムでデータ処理を行ない、ホストＰＣにデータ転送するアプリケーションには向いていない。これはＤＭＡ転送間のファームウェアの割込み処理の間は、ホストＰＣに測定データが転送されないため、測定データをストックするＦＩＦＯ等の容量が増えてしまい、回路を実装するためのＦＰＧＡのデバイス単価が上がってしまうと言う問題がある。また、ＤＭＡ転送終了から送信側ＤＭＡＣ再キックまでの間、測定データは、ホストＰＣに転送されないため、ＵＳＢ３．０の転送性能が劣化してしまうと言う問題もある。
【０００９】
この問題を解決するための別のファームウェアのＤＭＡの制御方法として、ポーリング処理があるが、ポーリング処理では、割込み処理に比べ、ＤＭＡ転送中、ＣＰＵはウェイト無しでＤＭＡ転送終了および測定完了のステータスフラグを監視するため、測定中は、ＤＭＡの転送処理によってＣＰＵが占有されるので、その間、他のタスクの性能が劣化してしまい、リアルタイム性に悪影響を及ぼすと言う課題がある。
【００１０】
本発明の目的は、データ転送制御を行う制御部の負荷を軽減し、他のタスクの性能が劣化を防止可能なデータ転送制御システム、及び方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明においては、データ転送制御システムであって、測定データを処理するデータ処理部と、データ処理部で処理された測定データを転送するデータ転送部と、データ転送部による測定データの転送を制御する制御部とを備え、制御部は、データ転送部によるデータ転送レートに基づき、ポーリング処理のポーリングのサンプリングレートを決定し、データ転送部によるデータ転送の終了確認を、決定したサンプリングレートによるポーリング処理で実行する構成のデータ転送制御システムを提供する。
【００１２】
また、上記の目的を達成するため、本発明においては、制御部よるデータ転送制御方法であって、制御部は、データ転送部による測定データの転送を制御する際に、データ転送部によるデータ転送レートに基づき、ポーリング処理のポーリングのサンプリングレートを決定し、データ転送部によるデータ転送の終了確認を、決定したサンプリングレートによるポーリング処理で実行するデータ転送制御方法を提供する。
【発明の効果】
【００１３】
本発明によれば、データ転送部のデータ転送レートを算出し、算出したデータ転送レートでポーリング処理時のサンプリングレートを決定することが出来、次回以降の測定において、得られたサンプリングレートでポーリングを行なうことにより、ホストＰＣ等に測定データが転送されない時間を短く出来、データ転送性能の向上が可能となる。
【図面の簡単な説明】
【００１４】
【図１Ａ】実施例１に係る、質量分析装置におけるデータ転送回路の概略構成例を示す図である。
【図１Ｂ】図１Ａの転送回路の要部の詳細の一例を示す図である。
【図２】ファームウェアのＤＭＡ制御方法において、従来の割込み処理時の動作フローの一例を示した図である。
【図３】ファームウェアのＤＭＡ制御方法において、従来のポーリング処理時の動作フローの一例を示した図である。
【図４】実施例１に係るファームウェアのＤＭＡ制御方法において、ホストＰＣ上に表示されるＧＵＩ画面の一例を示す図である。
【図５】実施例１に係るファームウェアのＤＭＡ制御方法において、割込み処理モードの動作フローの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について、適宜、図面を参照しながら詳細に説明する。なお、各種の実施の形態を説明するに先立ち、本発明が適用される質量分析装置（Mass Spectrometer：ＭＳ）におけるＵＳＢ３．０を用いたデータ転送回路をＦＰＧＡ（Field-Programmable Gate Array）に実装した場合の概略構成の一例とその課題を図１Ａ、図１Ｂ、図２、図３を用いて説明する。なお、図１Ｂは図１Ａの全体構成中のＦＰＧＡ１０８の内部構成の一例を示す回路図である。
【００１６】
図１Ａにおいて、質量分析装置（ＭＳ）においては、各種の計測用のセンサ１０１から入力される電気信号をアナログ入力回路１０２で減衰、増幅を行ない、Ａ／Ｄ変換器１０３でデジタル信号に変換後、ＦＰＧＡ１０８内のデータ処理部であるデータ処理回路１０４、およびＦＰＧＡ１０８外部のデータバッファ１０５間で合算、積算、閾値処理した測定データを、ＦＰＧＡ１０８内の測定データブリッジ１１８、データ転送部として機能するＵＳＢ３．０ＩＰ（Intellectual Property）コア１０９を介して、ＵＳＢ３．０の物理層（ＰＨＹ）１１０経由で、図示を省略した処理部、記憶部、通信インタフェース部、表示部等の入出力部を備える、通常のコンピュータ構成のホストＰＣ１０６に送り解析、表示を行なう。ＦＰＧＡ１０８内の制御部として機能する中央処理部（Central Processing Unit：ＣＰＵ）１１４他の回路は、測定データの転送制御等を行う。
【００１７】
ここで、ＵＳＢ３．０のホストＰＣ１０６に転送可能な転送レートは、５Ｇｂｐｓである。このため、ＵＳＢデバイス側においても、５Ｇｂｐｓの転送レートに見合ったハード構成にする必要がある。また、質量分析装置においては、測定データの転送サイズが不定でかつ、センサ１０１から入力される電気信号をリアルタイムでデータ処理し、測定データをホストＰＣ１０６に転送する必要があるため、データ転送を制御するＣＰＵ１１４のフラッシュメモリに記憶されるファームウェア（ＦＲＯＭ）１０７についても効率的な処理の検討が必要となる。
【００１８】
ＵＳＢデバイス側である測定データのデータ処理回路１０４は、ＦＰＧＡ１０８で実現する場合が多く、その場合のＦＰＧＡ１０８に実装可能なＵＳＢ３．０ＩＰコア１０９と、ＩＰコアと接続するＵＳＢ３．０ＰＨＹ１１０が利用可能になっている。ホストＰＣ１０６へのデータ転送は、一般に、ＵＳＢ３．０ＩＰコア１０９に内蔵されたＴｘＤＭＡＣ（Direct Memory Access Controller）１１１をＣＰＵ１１４と、ＣＰＵ制御バス１１６のメモリコントローラ１１７によって接続されるファームウェア（ＦＲＯＭ）１０７で制御して行なわれる。
【００１９】
前述の通り、質量分析装置の測定データは、転送サイズが不定であるため、１回のＤＭＡでホストＰＣ１０６に転送するサイズをＭＡＸに設定することでファームウェア（ＦＲＯＭ）１０７のＴｘＤＭＡＣ１１１の制御回数を少なくすることが可能となる。しかし、ＵＳＢ３．０ＩＰコア１０９によっては、内蔵されたＴｘＤＭＡＣ１１１起動後は、測定が完了しても途中で停止出来ない場合があり、その場合、ダミーデータを送る量が増える可能性があるため、データ転送性能が劣化する恐れがある。本問題は、１回のデータ転送サイズである、ＤＭＡ転送サイズを小さくして測定完了後のダミーデータを送る量を減らすことでダミーデータ送出時のデータ転送性能の劣化を軽減することが出来る。
【００２０】
一方、ＤＭＡ転送間（ＤＭＡ転送終了からＴｘＤＭＡＣ再キックまでの期間）を制御するファームウェアの制御方法についても高速化が必要となる。一般に、ファームウェアのＤＭＡ転送間のＤＭＡ転送終了検出からＴｘＤＭＡＣ１１１再キックの制御は割込み処理として行なわれるが、質量分析装置のように、測定データの転送サイズが不定でかつ、測定データをリアルタイムでデータ処理を行ない、ホストＰＣ１０６にデータ転送するアプリケーションには向いていない。その理由を図２の割込み処理フローで説明する。
【００２１】
図２において、ホストＰＣ１０６からＵＳＢ３．０ＩＰコア１０９内蔵のＲｘＤＭＡＣ１１２、ＥＰ＿ＲｘＦＩＦＯ１１８経由で測定開始コマンドを受信メモリ１１３に受信後、ＲｘＤＭＡＣ１１２から、ＤＭＡが終了したか否かを示すレジスタ（ＩＯ）１１９を介して、同図左側に示すコマンド受信割込み（２０１）により、ＣＰＵ１１４は、受信メモリ１１３のＰＣからのコマンド受信処理（２０２）にて、ＴｘＤＭＡＣ１１１をキック（２０３）後、ＣＰＵ制御バス１１６に接続された制御バスブリッジ１２０経由でデータ処理回路１０４に測定開始コマンドを発行し、測定開始（２０４）を実行する。なお、図示を省略したが、データ処理回路１０４には、レジスタ（ＩＯ）１１９と同様のレジスタ（ＩＯ）を備えており、当該レジスタ（ＩＯ）により、データ処理回路１０４の状態を示したり、上記の測定開始コマンドを受信したりする。
【００２２】
測定開始後、ＴｘＤＭＡＣ１１１は、データ処理回路１０４から送られる測定データを測定データバス１２４で接続された測定データブリッジ１１５の測定データ転送回路１２２を介してＦＩＦＯ１２１から読み出し、ＥＰ＿ＴｘＦＩＦＯ１２３よりホストＰＣ１０６に測定データを転送する。以降、同図右側に示す、ＴｘＤＭＡＣ１１１からのＤＭＡ転送終了割込み（２０５）により、割込み処理（２０６）において測定完了が未であれば、ＴｘＤＭＡＣを再キック（２０７）し、再度ＴｘＤＭＡＣ１１１からＤＭＡ転送終了割込みを待ち、割込み処理（２０６）において測定完了していれば、データ転送終了処理（２０８）を行ない終了となる。
【００２３】
この時、ＤＭＡ転送間のファームウェアの割込み処理（２０６）の間は、ホストＰＣ１０６に測定データが転送されないため、その間、ＦＰＧＡ１０８内でデータ処理された測定データを測定データブリッジ１１５内のＦＩＦＯ１２１にストックする必要がある。従って、ＤＭＡ転送間のＴｘＤＭＡＣ再キック処理をＣＰＵ１１４の割込み処理で実施した場合、ＤＭＡ転送終了、測定完了確認およびＴｘＤＭＡＣ再キック処理以外に、ＣＰＵレジスタの退避、復帰等の処理が加わるため、ＤＭＡ転送終了からＴｘＤＭＡＣ再キックまでの時間が長くなり、測定データをＦＰＧＡ内のＦＩＦＯ１２１に貯めておくために必要なＦＩＦＯ容量が増えてしまい、回路を実装するためのＦＰＧＡのデバイス単価が上がってしまうと言う問題がある。
【００２４】
また、ＤＭＡ転送終了からＴｘＤＭＡＣ再キックまでの間、測定データは、ホストＰＣ１０６に転送されないため、ＵＳＢ３．０の転送性能が劣化してしまうと言う問題もある。本問題を解決するための別のファームウェアのＤＭＡの制御方法として、ポーリング処理がある。ポーリング処理時のＤＭＡ制御フローを図３で説明する。
【００２５】
図３において、ホストＰＣ１０６から測定開始コマンドを受信して、ＴｘＤＭＡＣ１１１をキック後、データ処理回路１０４に測定開始コマンドを発行し、測定開始を実行するまでの処理は、上述した割込み処理と同じである。測定開始以降、ポーリング処理では、ＣＰＵ１１４によってＴｘＤＭＡＣ１１１のＤＭＡ転送終了ステータスフラグと、データ処理回路１０４の測定完了ステータスフラグをウェイト無しで監視（３０１）する。その結果、ＤＭＡの転送が終了して測定完了が未であれば、ＴｘＤＭＡＣ１１１を再キック２０７し、再度ＣＰＵ１１４によってＴｘＤＭＡＣ１１１のＤＭＡ転送終了ステータスフラグと、データ処理回路１０４の測定完了ステータスフラグをウェイト無しで監視（３０１）する。また、フラグ監視でＤＭＡの転送が終了してかつ、測定完了していれば、データ転送終了処理２０８を行ない終了となる。
【００２６】
以上のことから、ＤＭＡ転送間のＤＭＡ転送終了検出からＴｘＤＭＡＣ再キック処理をＣＰＵ１１４の割込み処理からポーリング処理に変更することで、ＤＭＡ転送終了、測定完了確認およびＴｘＤＭＡＣ再キック処理以外に、割込み処理で必要なＣＰＵレジスタの退避、復帰処理が不要になり前のＤＭＡ転送終了からＴｘＤＭＡＣが再キックされて次のＤＭＡが開始されるまでの間を短くできるため、測定データブリッジで測定データを貯めておくために必要なＦＩＦＯの容量を減らすことが出来る。この結果、廉価なＦＰＧＡで回路が実装可能となりデバイスのコストダウンが図れる。また、ポーリング処理では、割込み処理に比べ、ＤＭＡ転送間のファームウェアのオーバーヘッド時間も削減出来るので、ＵＳＢ３．０の転送性能の向上が図れる。
【００２７】
しかしながら、ポーリング処理では、割込み処理に比べ、ＤＭＡ転送中、ＣＰＵはウェイト無しでＤＭＡ転送終了および測定完了のステータスフラグを監視するため、測定中はＤＭＡ転送処理によってＣＰＵが占有されるので、その間、他のタスクの性能が劣化してしまい、リアルタイム性に悪影響を及ぼすと言う課題があった。本発明においては、上述した通りポーリング処理をウェイト無しで行なうのではなく、ＤＭＡ転送レートなどのデータ転送レートにあったサンプリングレートでポーリング処理を行なうことでＤＭＡ転送中のポーリング処理によるＣＰＵの負荷を軽減する構成とする。
【実施例１】
【００２８】
以下、実施例１のデータ転送制御システム、及び転送制御方法を図４、図５を用いて説明する。本実施例のシステム構成は、図１Ａ、図１Ｂに示した構成と同様となるので、ここでは重複する説明は省略する。なお、以下に説明するデータ転送は、ＤＭＡ転送によるブロックデータの転送を例示して説明する。
【００２９】
まず、図４に本実施例における、ホストＰＣ１０６のＧＵＩ画面の一例を示す。ＧＵＩ４０１には、図示の通りの自動選択ボタン等の各種の選択ボタン４０２〜４０７が表示される。なお、以下の説明においては「選択ボタン」の記載を省略する。本実施例の装置・システムのユーザは、ホストＰＣ１０６のＧＵＩ画面４０１により、ユーザが初期化４０４を選択すると、ホストＰＣ１０６は、ＤＭＡ転送レートの算出を実施する。なお、この初期化４０４による処理は、同図に示すように、自動４０２のモードと手動４０３のモードの何れかを選択出来るよう構成されている。
【００３０】
まず、上記のＧＵＩ４０１において、ユーザが自動４０２のモードで初期化４０４の処理を選択・実施した場合の動作フローについて説明する。ＧＵＩ画面４０１で、自動４０２と初期化４０４を選択後、測定開始４０７を選択すると、本実施例の構成は、初期化のための測定を開始する。自動４０２のモードでは、測定開始４０７を実行後、図１Ａに示したファームウェア１０７を、制御部として機能するＣＰＵ１１４が実行することにより、ＤＭＡ制御フローにおいて割込み処理により、データ転送レートであるＤＭＡ転送レートの算出を行なう。
【００３１】
図５を用いて、この際のＣＰＵ１１４によるファームウェア１０７の実行によるＤＭＡ制御フローを説明する。同図左側に示すように、図１Ａ、図１Ｂに示したホストＰＣ１０６から、ＵＳＢ３．０ＩＰコア１０９内蔵のＥＰ＿ＲｘＦＩＦＯ１１８、ＲｘＤＭＡＣ１１２経由で、測定開始コマンドを受信メモリ１１３に受信する。また、ＲｘＤＭＡＣ１１２からのレジスタ（ＩＯ）１１９を介したコマンド受信割込み（２０１）を契機に、ＣＰＵ１１４は受信メモリ１１３のＰＣからのコマンド受信（２０２）にてＴｘＤＭＡＣをキック（２０３）する。
【００３２】
ＣＰＵ１１４は、このキック（２０３）後、ＣＰＵ制御バス１１６に接続された制御バスブリッジ１２０経由でデータ処理回路１０４にコマンドを発行し、測定開始（５０１）を実行する。この測定開始（５０１）時に、ＤＭＡ転送レート算出起動を開始することになる。測定開始後、ＴｘＤＭＡＣ１１１は、データ処理回路１０４から送られる測定データを、測定データバス１２４で接続された測定データブリッジ１１５から読み出す。すなわち、その内部の測定データ転送回路１２２を介してＦＩＦＯ１２１に蓄積された測定データを読み出し、ＥＰ＿ＴｘＦＩＦＯ１２３よりホストＰＣ１０６に転送する。
【００３３】
以降、同図右側に示すように、ＣＰＵ１１４は、ＴｘＤＭＡＣ１１１からのＤＭＡ転送終了割込み（２０５）により、割込み処理（５０２）において測定完了が未であれば、ＴｘＤＭＡＣを再キック（５０３）し、再度ＴｘＤＭＡＣ１１１からＤＭＡ転送終了割込みを待ち、割込み処理（５０２）において測定完了していれば、データ転送終了処理（２０８）を行ない終了となる。この時、ＴｘＤＭＡＣを再キック（５０３）時にも、上述したＤＭＡ転送レート算出起動を開始する。
【００３４】
また、本実施例の構成により、自動モードの初期化処理における割込み処理（５０２）においてファームウェア１０７を実行することにより、ＣＰＵ１１４は、ＤＭＡ開始からＤＭＡ転送終了割込み検出までの時間から、データ転送レートであるＤＭＡ転送レートを計算する。この計算は、例えば、（（ＤＭＡ転送サイズ：ＤＭＡ＿ＴｘＳＩＺＥバイト）÷（ＤＭＡ転送時間：ＤＭＡ＿ＴｘＴＩＭＥ））となる。そして、ＣＰＵ１１４は、計算したＤＭＡ転送レートを、ＣＰＵ制御バス１１６で接続された通信回路（ＵＡＲＴ：Universal Asynchronous Receiver Transmitter）１２５経由でホストＰＣ１０６に転送し、図４に示したＧＵＩ画面４０１に示したように、算出したデータ転送レートを、（ＤＭＡ転送レート：ＸＸＸ ｂｐｓ）４０８として表示してユーザに示す。
【００３５】
また、この測定完了時において、本実施例のホストＰＣ１０６側では、ＵＳＢ３．０の転送性能を計算し、ＧＵＩ画面４０１に同様に、データ転送性能を、（ＵＳＢ３．０転送性能：ＸＸＸ ｂｐｓ）４０９として表示する。このＵＳＢ３．０転送性能は、例えば、（（測定データ受信サイズ：ＭＥＳＤＡＴＡ＿ＲｘＳＩＺＥバイト）÷（測定時間：ＭＥＳ＿ＴＩＭＥ ））で計算し、選択された自動４０２のモードでは、次回以降の測定時のＤＭＡ制御は、ポーリング処理で行なわれる。なお、ここで（測定時間：ＭＥＳ＿ＴＩＭＥ）とは、分子となる測定データ受信サイズに対応する全測定データを測定するのに要した時間を意味する。このように計算することにより、ホストＰＣ１０６側の受信処理性能も含めた転送性能を、ユーザが確認することが可能となる。
【００３６】
本実施例のシステム・装置構成におけるポーリング処理では、ＣＰＵ１１４は、上述した自動モードによる初期化処理時の割込み処理によるＤＭＡ制御で算出されたデータ転送レート、すなわち、（ＤＭＡ転送レート：ＸＸＸ ｂｐｓ）４０８を元に、レジスタ（ＩＯ）１１９中のＤＭＡ転送終了ステータスフラグと、データ処理回路１０４中の図示を省略したレジスタ（ＩＯ）中の測定完了ステータスフラグをポーリングするポーリング処理のサンプリングレートを決定する。このサンプリングレートは、以下の計算式により求める。
【００３７】
すなわち、１回のＤＭＡ転送サイズ÷ＤＭＡ転送レート（ｂｐｓ）により、１回のＤＭＡ転送時間が求められる。ＣＰＵ１１４は、この時間をポーリング処理のサンプリングレートとして、ＦＰＧＡ１０８内で動作するＯＳカーネル１２６のシステムタイマに設定する。例えば、ベースクロックが１０ＭＨｚで、３２ビットの演算が可能な場合、分解能は、１００ｎｓで最大４２９．４９６７２９６秒までポーリングのサンプリングレートを設定出来る。従って、１回で転送するブロックデータのサイズである、１回のＤＭＡ転送サイズが１Ｍバイトで、ＤＭＡ転送レートが１Ｇｂｐｓの場合、ポーリングのサンプリングレートは、１回のＤＭＡ転送時間（１Ｍバイト（８ビット×１０２４×１０２４）÷１Ｇｂｐｓ＝８３８８６０８ｎｓ）から、最小分解能以下の端数は切り上げて８３８８７００ｎｓとなる。
【００３８】
これにより、本実施例のシステム・装置構成においては、従来の割込み処理に比べ、ＤＭＡ転送間のＴｘＤＭＡＣ再キック処理において、割込み処理で必要なＤＭＡ転送終了、測定完了確認およびＴｘＤＭＡＣ再キック処理以外のＣＰＵレジスタの退避、復帰等の処理が省略でき、ホストＰＣ１０６に測定データが転送されない時間を短く出来るため、ＵＳＢ３．０の転送性能の向上が可能となる。
【００３９】
また、本実施例のシステム・装置構成におけるポーリング処理によれば、ポーリングのサンプリングレートをウェイト無しで行なうのに比べ、実際のデータ転送レートであるＤＭＡ転送レートに合ったサンプリングレートでポーリングを行なうため、ＤＭＡ転送処理中のポーリング処理によるＣＰＵの負荷を軽減することが可能となる。
【００４０】
更に、本実施例では、測定完了時に、ホストＰＣ１０６側にて、ＵＳＢ３．０の転送性能を計算し、ＧＵＩ画面４０１に（ＵＳＢ３．０転送性能：ＸＸＸ ｂｐｓ）４０９として表示することで、ユーザは、ＵＳＢ３．０の転送性能を確認することが可能となる。
【００４１】
以上、初期化４０４処理で自動４０２のモードを選択した場合を説明したが、図４に示したＧＵＩ画面４０１において、初期化４０４処理で手動４０３のモードを選択した場合は、初期化処理で上述した自動４０２のモードでの動作フローと同様に、まずＤＭＡ制御フローにおいてＤＭＡ転送レートの算出を行なう。そして、自動４０２のモード選択時は、次回以降の測定時のＤＭＡ制御が、ＤＭＡ転送レートを元に算出されたサンプリングレートに基づくポーリング処理で行なわれるのに対して、手動４０３のモード選択時は、次回以降の測定時のＤＭＡ制御は、ＧＵＩ画面４０１でユーザが手動で割込み処理４０５モード、またはポーリング処理４０６モードを選択することが出来るよう構成される。
【００４２】
このときユーザは、ホストＰＣ１０６のＧＵＩ画面４０１に表示された割込み処理モード時のＤＭＡ転送レート、およびＵＳＢ３．０転送性能から通常の割込み処理モードのＤＭＡ制御で性能に問題がない場合は、次回以降も割込み処理モードでの測定実行の選択が可能となる。その場合、図２で説明した割込み処理におけるＤＭＡ制御フローと同じ動作を行うこととなる。
【００４３】
更に、測定完了時に、ホストＰＣ１０６側にてＵＳＢ３．０のデータ転送性能を計算（（測定データ受信サイズ：ＭＥＳＤＡＴＡ＿ＲｘＳＩＺＥバイト）÷（測定時間：ＭＥＳ＿ＴＩＭＥ ））し、ＧＵＩ画面４０１に表示（ＵＳＢ３．０転送性能：ＸＸＸ ｂｐｓ ４０９）するので、初期化処理時の割込み処理に比べ、ＤＭＡ転送レートの算出、及びホストＰＣ１０６への転送処理が省略出来、その分転送性能の向上が可能となる。
【００４４】
なお、本実施例の構成では、ＧＵＩ画面４０１で自動４０２のモード、または手動４０３のモードどちらも選択しないで測定開始４０７した場合、ＦＲＯＭ内のファームウェア１０７にサンプリングレートがある場合は、そのサンプリングレートによるポーリング処理でＤＭＡ制御が行なわれる。ファームウェア１０７にサンプリングレートが無い場合は、上述した初期化処理と同様に割込み処理でＤＭＡ転送レートを算出してサンプリングレートを決定し、次回以降の測定時には、そのサンプリングレートにてポーリング処理でＤＭＡ制御が行なわれる。
【００４５】
また、本実施例の構成では、ＦＲＯＭ中のファームウェア１０７にサンプリングレートがある場合でも、ＧＵＩ画面４０１で初期化４０４処理を選択して測定開始４０７した場合、割込み処理にてＤＭＡ制御が行なわれＤＭＡ転送レートを算出し、新しいポーリング処理のサンプリングレートが決定されるため、ホストＰＣ１０６の変更時にも柔軟な対応が可能となる。
【００４６】
以上詳述したシステム・装置の構成によれば、ユーザは、ホストＰＣ上のＧＵＩ画面から、初期化処理を選択して割込み処理でＤＭＡ制御を行なうことにより、データ転送レートであるＤＭＡ転送レートを算出して、ポーリング処理時のサンプリングレートを適切に決定することが出来る。
【００４７】
また、上述したシステム・装置構成によれば、次回以降の測定において、上記のデータ転送レートを元に計算されたサンプリングレートでポーリングを行なうことにより、従来の割込み処理モードに比べて、ＤＭＡ転送間のＴｘＤＭＡＣ再キック処理において、割込み処理で必要なＤＭＡ転送終了、測定完了確認およびＴｘＤＭＡＣ再キック処理以外のＣＰＵレジスタの退避、復帰等の処理が省略でき、ホストＰＣに測定データが転送されない時間を短く出来るため、ＵＳＢ３．０の転送性能の向上が可能となる。
【００４８】
更に、上述したシステム・装置構成によるポーリング処理によれば、ポーリングのサンプリングレートをウェイト無しで行なうのに比べ、実際のデータ転送レートであるＤＭＡ転送レートに合ったサンプリングレートでポーリングを行なうため、データ転送中のポーリング処理によるＣＰＵの負荷を軽減することが可能となる。
【００４９】
また更に、上述したシステム・装置構成では、手動モードで初期化処理を行なうことにより、割込み処理時のデータ転送レート、および経路のデータ転送性能を元に初期化処理実施以降の測定において、ＤＭＡ制御方法を決めることができるため、ユーザは、ポーリング処理モードにより転送性能の向上、割込み処理によりデータ転送中のＣＰＵの負荷を軽減すると言った目的に応じて、ＤＭＡの制御方法を選択することが可能となる。
【００５０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能であることは言うまでもない。例えば、上述した実施例の構成において、ホストＰＣ上のＧＵＩ画面において、ユーザが手動モード、及び割込み処理モードを選択した場合、割込み処理において、ＣＰＵによるＤＭＡ転送レートの算出、及びホストＰＣへの転送を省略し、データ転送完了時に、ホストPCにおけるＵＳＢ３．０の転送性能のみ算出し、ＧＵＩ画面に表示することも可能である。
【００５１】
更に、上述した各構成、機能、制御部等は、それらの一部又は全部を実現するCPUで実行されるファームウェアを用いる例を説明したが、それらの一部又は全部を例えば集積回路で設計する等によりハードウェアで実現しても良いことは言うまでもない。
【符号の説明】
【００５２】
１０１  センサ
１０２  アナログ入力回路
１０３  Ａ／Ｄ変換器
１０４  データ処理回路
１０５  データバッファ
１０６  ホストＰＣ
１０７  ファームウェア
１０８  ＦＰＧＡ
１０９  ＵＳＢ３．０ＩＰコア
１１０  ＵＳＢ３．０ＰＨＹ
１１１  ＴｘＤＭＡＣ
１１２  ＲｘＤＭＡＣ
１１３  受信メモリ
１１４  ＣＰＵ
１１５  測定データブリッジ
１１６  ＣＰＵ制御バス
１１７  メモリコントローラ
１１８  ＥＰ＿ＲｘＦＩＦＯ
１１９  レジスタ（ＩＯ）
１２０  制御バスブリッジ
１２１  ＦＩＦＯ
１２２  測定データ転送回路
１２３  ＥＰ＿ＴｘＦＩＦＯ
１２４  測定データバス
１２５  通信回路（ＵＡＲＴ）
１２６  ＯＳカーネル（システムタイマ）
４０１  ＧＵＩ画面
４０２  自動選択ボタン
４０３  手動選択ボタン
４０４  初期化選択ボタン
４０５  割込み選択ボタン
４０６  ポーリング選択ボタン
４０７  測定開始選択ボタン
４０８  ＤＭＡ転送レート表示
４０９  ＵＳＢ３．０転送性能表示
【図１Ａ】
2014229190.tif 000003
【図１Ｂ】
2014229190.tif 000004
【図２】
2014229190.tif 000005
【図３】
2014229190.tif 000006
【図４】
2014229190.tif 000007
【図５】
2014229190.tif 000008