(57)【要約】      （修正有）【課題】演算処理への影響を軽減させることができるデータ受信装置を提供する。【解決手段】プリアンブルとユーザデータの長さ情報とユーザデータとを含む可変長データを非同期シリアルインターフェースにおいて、演算装置からの初期設定により、ＤＭＡコントローラを介して受信データをプリアンブルの終了まで受信して前記演算装置に割り込み信号を出力する受信データ判定装置を備え、前記演算装置は、前記割り込み信号を取得して前記初期設定を解除すると共に、前記非同期シリアルインターフェース及び前記ＤＭＡコントローラに対して前記ユーザデータの長さ情報の記憶装置へのＤＭＡ転送を設定して前記記憶装置に書き込ませた後に、前記記憶装置から読み出される前記ユーザデータの長さ情報より前記ユーザデータのＤＭＡ転送数を算定して前記ＤＭＡコントローラを介して前記記憶装置に書き込ませる。【選択図】図１
2012141813.tif 000002
【特許請求の範囲】
【請求項１】
プリアンブルとユーザデータの長さ情報とユーザデータとを含む可変長データを非同期シリアルインターフェースで受信し、受信データの前記ユーザデータの長さ情報から算出されて演算装置から設定されるＤＭＡ転送数に基づいて、前記ユーザデータを非同期シリアルインターフェースからＤＭＡコントローラを介して記憶装置に転送するデータ受信装置において、
前記演算装置からの初期設定により、前記ＤＭＡコントローラを介して前記受信データを前記プリアンブルの終了まで受信して前記演算装置に割り込み信号を出力する受信データ判定装置を備え、
前記演算装置は、前記割り込み信号を取得して前記初期設定を解除すると共に、前記非同期シリアルインターフェース及び前記ＤＭＡコントローラに対して前記ユーザデータの長さ情報の前記記憶装置へのＤＭＡ転送を設定して前記記憶装置に書き込ませた後に、前記記憶装置から読み出される前記ユーザデータの長さ情報より前記ユーザデータのＤＭＡ転送数を算定して前記非同期シリアルインターフェース及び前記ＤＭＡコントローラにＤＭＡ転送設定し、前記ユーザデータを前記非同期シリアルインターフェースから前記ＤＭＡコントローラを介して前記記憶装置に書き込ませることを特徴とするデータ受信装置。
【請求項２】
前記非同期シリアルインターフェースは、前記受信データを１バイト単位でシリアル入力して処理することを特徴とする請求項１に記載のデータ受信装置。
【請求項３】
前記初期設定は、ＤＭＡ転送終了時に前記演算装置に割り込みは発生しない設定及びＤＭＡ伝送数の値は任意の設定であることを特徴とする請求項１または２に記載のデータ受信装置。
【請求項４】
前記演算装置は、前記ＤＭＡコントローラを介して前記記憶装置に転送された前記ユーザデータを読み込むことを特徴とする請求項１乃至３のいずれかに記載のデータ受信装置。
【請求項５】
前記非同期シリアルインターフェース、演算装置、ＤＭＡコントローラ、記憶装置、受信データ判定装置は、プロセス制御システムにおけるフィールド機器に実装されていることを特徴とする請求項１乃至４のいずれかに記載のデータ受信装置。
【請求項６】
前記フィールド機器は、通信線を介して上位装置から送信されるデータを受信することを特徴とする請求項５に記載のデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリアンブルとユーザデータの長さ情報とユーザデータとを持つ可変長データを非同期シリアルインターフェースで受信し、受信データの前記ユーザデータの長さ情報から算出されて演算装置から設定されるＤＭＡ転送数に基づいて、前記ユーザデータを非同期シリアルインターフェースからＤＭＡコントローラを介して記憶装置に転送するデータ受信装置に関するものである。
【背景技術】
【０００２】
プロセス制御におけるフィールド機器では、上位装置等のデータ送信装置より送信される、データ長が予測できない可変長データを非同期シリアルインターフェースを使用して受信する必要がある。フィールド機器におけるデータ伝送は、”フレーム”単位で行われる。
【０００３】
図３は、可変長データＤのフレーム構成例である。可変長データＤのフレームは、プリアンブルＤ１、開始信号Ｄ２、ユーザデータの長さの情報Ｄ３、ユーザデータＤ４、終了信号Ｄ５を含んでいる。
【０００４】
プリアンブルＤ１は、データ長が予測できない可変長データである。ユーザデータＤ４とは、フィールド機器のユーザアプリケーションで利用するデータであり、その長さの情報が、ユーザデータの長さの情報Ｄ３に格納されている。
【０００５】
図４は、従来のデータ受信装置の構成例を示す機能ブロック図である。フィールド機器１０は、上位装置等のデータ送信装置２０より通信線３０を介して可変長データＤを受信する。通信線３０は、４−２０ｍＡのアナログ信号通信線を使用し、これにＨＡＲＴ規格等のディジタルデータを重畳させる方式が実用化されている。
【０００６】
フィールド機器１０に実装されるデータ受信装置は、可変長データＤを非同期で１バイト単位でシリアル入力する非同期シリアルインターフェース１１、ＣＰＵを含む演算装置１２、ＤＭＡコントローラ１３、このＤＭＡコントローラを介して非同期シリアルインターフェース１１からのユーザデータが転送される記憶装置１４よりなる。
【０００７】
ＤＭＡコントローラ１３は、演算装置１２を介さずに非同期シリアルインターフェース１１から記憶装置１４へデータ転送（ＤＭＡ転送）を行うためのコントローラである。尚、ＤＭＡ転送を行うには、データ長が確定している必要があるため、データ長が確定後の受信に使用される。
【０００８】
非同期シリアルインターフェース１１は、データ送信装置２０から受信したシリアルの可変長データＤをパラレル変換し、演算装置１２へ割り込みＱ１を発生する。この割り込みにより演算装置１２は１バイト単位で受信データをＲ１で読み込む。
【０００９】
読み込んだデータがプリアンブル以外となったときにはそのデータを記憶装置１４にＷ１で書きこむと共に、ユーザデータの長さの情報を取得したときにその取得情報からＤＭＡ転送数を算出し、このＤＭＡ転送数を非同期シリアルインターフェース１１及びＤＭＡコントローラ１３に、夫々Ｓ１及びＳ２で設定する。
【００１０】
ＤＭＡ転送の設定Ｓ１を受けた非同期シリアルインターフェース１１は、ＤＭＡコントローラ１３にデータ読み込み要求Ｐを発生し、ＤＭＡコントローラ１３は非同期シリアルインターフェース１１よりＲ２でユーザデータを読み込み、Ｗ２で記憶装置１４にユーザデータを転送する。
【００１１】
ＤＭＡコントローラ１３は、設定された転送個数のユーザデータの記憶装置１４への転送が終了すると割り込みＱ２を制御装置１２に出力し、ユーザデータのＤＭＡ転送を終了する。この割り込みＱ２で、演算装置１２は記憶装置１４に転送されたユーザデータをＲ３で読み込み、所定のアプリケーションに渡す。
【００１２】
図５は、図４に示した従来装置のデータ受信時の処理を示すフローチャートを示す。このフローチャートのステップＦ１１乃至Ｆ２１により、処理の流れを時系列的に説明する。
（１）データ送信装置２０より、通信線３０を使用して、フィールド機器１０へ可変長データＤが送信される。
【００１３】
（２）フィールド機器１０では、非同期シリアルインターフェース１１にて１バイト分のデータを受信する（Ｆ１１）。
【００１４】
（３）非同期シリアルインターフェース１１は、データを受信後に、演算装置１２へ割り込みＱ１を発生させる（Ｆ１２）。
【００１５】
（４）演算装置１２は、割り込みＱ１を受け、非同期シリアルインターフェース１１から１バイト分のデータをＲ１で読み込む（Ｆ１３）。
【００１６】
（５）演算装置１２は、読み込んだデータの確認を行い、次の処理をする。
・読み込んだデータがプリアンブルであれば、何の処理も行わず、次のデータ受信を待ち、  読み込んだデータがプリアンブル以外であれば、次の処理を行う（Ｆ１４）。
・読み込んだデータをＷ１で記憶装置１４へ書き込む（Ｆ１５）。
・読み込んだデータがユーザデータの長さの情報以外であれば、何の処理も行わず、次の  データ受信を待ち、読み込んだデータがユーザデータの長さの情報であれば、次の処理  を行う（Ｆ１６）。
・ユーザデータの長さの情報からＤＭＡ転送数を算出する（Ｆ１７）。
【００１７】
（６）演算装置１２は、算出したＤＭＡ転送数を設定Ｓ１で非同期シリアルインターフェース１１へ、設定Ｓ２でＤＭＡコントローラ１３に設定する（Ｆ１８）。
【００１８】
（７）非同期シリアルインターフェース１１からＤＭＡコントローラ１３にユーザデータの読み込み要求Ｐを出力してＲ２でユーザデータを読み出し、Ｗ２の書き込みで記憶装置１４へのＤＭＡ転送を実施する（Ｆ１９）。
【００１９】
（８）ＤＭＡ転送終了時にＤＭＡコントローラ１３より演算装置１２へ割り込みＱ２を発生させ、ＤＭＡ転送を終了する（Ｆ２０）。
【００２０】
（９）演算装置１２は、割り込みＱ２を受け、記憶装置１４からＤＭＡ転送されたユーザデータをＲ３で読み込み、所定のアプリケーションに渡す（Ｆ２１）。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２００９−６０２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００２２】
従来構成のデータ受信装置では次のような問題がある。
（１）データ長が予測できない可変長データの受信に対しては、１バイト受信毎に割り込みＱ１が演算装置１２に対して連続的に発生し、その都度、本来の演算処理を遅らせる影響を及ぼしてしまう。
【００２３】
（２）この問題の解決のために、ＤＭＡコントローラを利用しようとしても、データ長が予測できない可変長データに対しては、ＤＭＡ転送数が確定していないので、ＤＭＡ転送の終了を自動的に行うことは困難である。
【００２４】
本発明の目的は、受信データのプリアンブルが終了するまでは演算装置への割り込み発生を回避させ、演算装置への割り込み回数を大幅に減らすことにより、本来の演算処理への影響を軽減させることができるデータ受信装置を実現することにある。
【課題を解決するための手段】
【００２５】
このような課題を達成するために、本発明は次の通りの構成になっている。
（１）プリアンブルとユーザデータの長さ情報とユーザデータとを含む可変長データを非同期シリアルインターフェースで受信し、受信データの前記ユーザデータの長さ情報から算出されて演算装置から設定されるＤＭＡ転送数に基づいて、前記ユーザデータを非同期シリアルインターフェースからＤＭＡコントローラを介して記憶装置に転送するデータ受信装置において、
前記演算装置からの初期設定により、前記ＤＭＡコントローラを介して前記受信データを前記プリアンブルの終了まで受信して前記演算装置に割り込み信号を出力する受信データ判定装置を備え、
前記演算装置は、前記割り込み信号を取得して前記初期設定を解除すると共に、前記非同期シリアルインターフェース及び前記ＤＭＡコントローラに対して前記ユーザデータの長さ情報の前記記憶装置へのＤＭＡ転送を設定して前記記憶装置に書き込ませた後に、前記記憶装置から読み出される前記ユーザデータの長さ情報より前記ユーザデータのＤＭＡ転送数を算定して前記非同期シリアルインターフェース及び前記ＤＭＡコントローラにＤＭＡ転送設定し、前記ユーザデータを前記非同期シリアルインターフェースから前記ＤＭＡコントローラを介して前記記憶装置に書き込ませることを特徴とするデータ受信装置。
【００２６】
（２）前記非同期シリアルインターフェースは、前記受信データを１バイト単位でシリアル入力して処理することを特徴とする（１）に記載のデータ受信装置。
【００２７】
（３）前記初期設定は、ＤＭＡ転送終了時に前記演算装置に割り込みは発生しない設定及びＤＭＡ伝送数の値は任意の設定であることを特徴とする（１）または（２）に記載のデータ受信装置。
【００２８】
（４）前記演算装置は、前記ＤＭＡコントローラを介して前記記憶装置に転送された前記ユーザデータを読み込むことを特徴とする（１）乃至（３）のいずれかに記載のデータ受信装置。
【００２９】
（５）前記非同期シリアルインターフェース、演算装置、ＤＭＡコントローラ、記憶装置、受信データ判定装置は、プロセス制御システムにおけるフィールド機器に実装されていることを特徴とする（１）乃至（４）のいずれかに記載のデータ受信装置。
【００３０】
（６）前記フィールド機器は、通信線を介して上位装置から送信されるデータを受信することを特徴とする（５）に記載のデータ受信装置。
【発明の効果】
【００３１】
本発明によれば、次のような効果を期待することができる。
（１）従来構成のデータ受信装置に比べ、プリアンブルのデータ長に関係なくデータ受信時に発生する演算装置１２への割り込み回数を「合計３回」に低減することができ、本来行うべき演算処理への影響を軽減することが可能である。
【００３２】
（２）従来のデータ受信装置の機能構成における非同期シリアルインターフェース１１に変更を加えることなく、簡素な機能構成の受信データ判定装置１００を追加することにより、（１）の効果を得ることができる。
【図面の簡単な説明】
【００３３】
【図１】本発明を適用したデータ受信装置の一実施例を示す機能ブロック図である。
【図２】図１の信号処理手順を示すフローチャートである。
【図３】可変長データのフレーム構成例である。
【図４】従来のデータ受信装置の構成例を示す機能ブロック図である。
【図５】図４の信号処理手順を示すフローチャートである。
【発明を実施するための形態】
【００３４】
以下本発明を、図面を用いて詳細に説明する。図１は、本発明を適用したデータ受信装置の一実施例を示す機能ブロック図である。図４で説明した従来構成と同一要素には同一符号を付して説明を省略する。
【００３５】
図４に示した従来構成との機能構成上の相違点は、受信データ判定装置１００を追加した構成にある。受信データ判定装置１００は、演算装置１２から非同期シリアルインターフェース１１及びＤＭＡコントローラ１３に設定される初期設定Ｓ１，Ｓ２により、ＤＭＡコントローラ１３を介して受信データのプリアンブルの終了までを、Ｐ１の読み込み要求、Ｒ１の読み込み、Ｗ１の書き込みで受信した後、演算装置１２に対して割り込みＱ１を発生する。つまり、プリアンブル終了までのデータを、演算装置１２を迂回させて受信する機能を備える。
【００３６】
演算装置１２は、割り込みＱ１を取得して受信データ判定装置１００よりユーザデータの長さ情報以外のデータ（例：開始信号Ｄ２等）をＲ２で読み込み、記憶装置１４にＷ２で書き込んだ後に、非同期シリアルインターフェース１１及びＤＭＡコントローラ１３にＤＭＡの中止設定Ｓ３，Ｓ４を実行し、初期設定Ｓ１，Ｓ２を解除して、受信データ判定装置１００へのＤＭＡ転送を停止させる。
【００３７】
演算装置１２は、更に、非同期シリアルインターフェース１１及びＤＭＡコントローラ１３にＤＭＡ転送設定Ｓ５及び設定Ｓ６を実行し、データ読み込み要求Ｐ２，データ読み込みＲ３，データ書き込みＷ３により、ユーザデータの長さの情報を非同期シリアルインターフェース１１からＤＭＡコントローラ１３を介して記憶装置１４に書き込ませる。ＤＭＡコントローラ１３は、ＤＭＡ転送終了の割り込みＱ２を演算装置１２に発生する。
【００３８】
演算装置１２はこの割り込みＱ２を受けて、記憶装置１４からＲ４で読み込んだユーザデータの長さの情報よりＤＭＡ転送数を算定し、非同期シリアルインターフェース１１及びＤＭＡコントローラ１３に対してユーザデータのＤＭＡ転送設定Ｓ７及び設定Ｓ８を実行し、データ読み込み要求Ｐ３、データ読み込みＲ５、データ書き込みＷ４により、ユーザデータを非同期シリアルインターフェース１１からＤＭＡコントローラ１３を介して記憶装置１４に書き込ませる。
【００３９】
ＤＭＡコントローラ１３は、ＤＭＡ転送終了の割り込みＱ３を演算装置１２に発生する。演算装置１２はこの割り込みＱ３を受けて、ＤＭＡコントローラ１３を介して記憶装置１４に転送されたユーザデータをＲ６で読み込んでアプリケーションに渡す。
【００４０】
従来構成では、ユーザデータの長さの情報を受信するまでは、１バイト毎にデータ受信を行っており、その度に非同期シリアルインターフェース１１から演算装置１２に対して、割り込みを発生させているので、割り込み回数が極めて多くなり、演算装置の本来処理に影響を与えている。
【００４１】
これに対して本発明では、プリアンブル受信時には演算装置１２に対して割り込みは発生させず、開始信号の受信時に始めて演算装置１２に対して割り込みＱ１を発生させることで、演算装置１２に対する割り込みの発生頻度を大幅に減少させている。
【００４２】
図２は、図１の信号処理手順を示すフローチャートである。このフローチャートのステップＦ５１乃至Ｆ６２及びステップＦ１７´乃至Ｆ２１´により、処理の流れを時系列的に説明する。
【００４３】
（１）演算装置１２より、非同期シリアルインターフェース１１から受信データ判定装置１００へのＤＭＡ転送を行うための初期設定Ｓ１及びＳ２を非同期シリアルインターフェース１１及びＤＭＡコントローラ１３に行う。この時、転送終了時の割り込みは発生しないに設定し、ＤＭＡ転送数は任意の値に設定する（Ｆ５１）。
【００４４】
（２）データ送信装置２０より、通信線３０を使用して、フィールド機器１０へ可変長データＤが送信され、フィールド機器１０では、非同期シリアルインターフェース１１にて１バイト分のデータを受信する（Ｆ５２）。
【００４５】
（３）読み込み要求Ｐ１、読み込みＲ１、書き込みＷ１で、非同期シリアルインターフェース１１から受信データ判定装置１００へＤＭＡ転送を実施する（Ｆ５３）。
【００４６】
（４）受信データ判定装置１００は、受け取ったデータの判定を行い、次の処理を実施する（Ｆ５４）。
・読み込んだデータがプリアンブルであれば、何もせず、次のデータ受信を待つ。
・読み込んだデータがプリアンブル以外であれば、演算装置１２へ割り込みＱ１を発生させる（Ｆ５５）。
【００４７】
（５）演算装置１２は、割り込みＱ１を受けて次の処理を実施する。
・受信データ判定装置１００からＲ２でデータを読み込み（Ｆ５６）、読み込んだデータをＷ２で記憶装置１４へ書き込む（Ｆ５７）。この場合に記憶装置１４へ書き込まれるデータは、プリアンブル以外のデータ（例：開始信号Ｄ２等）である。この書き込み処理は本発明では必須ではない。
・非同期シリアルインターフェース１１及びＤＭＡコントローラ１３へ、非同期シリアルインターフェース１１から受信データ判定装置１００へのＤＭＡ転送を中止させ、初期設定を解除する設定Ｓ３及びＳ４を行う（Ｆ５８）。
【００４８】
（６）演算装置１２は、開始信号の次のデータからユーザデータの長さの情報までのデータ数をＤＭＡ転送数として非同期シリアルインターフェース１１及びＤＭＡコントローラ１３へＳ５及びＳ６で設定し、読み込み要求Ｐ２、読み込みＲ３、書き込みＷ３で、非同期シリアルインターフェース１１から記憶装置１４へＤＭＡ転送を実施する（Ｆ５９、Ｆ６０）。
【００４９】
（７）ＤＭＡ転送終了時にＤＭＡコントローラ１３より演算装置１２へ割り込みＱ２を発生させる。（Ｆ６１）
【００５０】
（８）演算装置１２は、この割り込みＱ２を受け、記憶装置１４からユーザデータの長さの情報をＲ４で読み込む（Ｆ６２）。
【００５１】
以降の処理ステップＦ１７´乃至Ｆ２１´の領域Ａは、図５に示した従来構成のステップＦ１７〜Ｆ２１と同様の処理を行う。
【００５２】
（９）演算装置１２は、Ｒ４で読み込んだユーザデータの長さの情報からＤＭＡ転送数を算出する（Ｆ１７´）。
【００５３】
（１０）算出したＤＭＡ転送数を設定Ｓ７で非同期シリアルインターフェース１１へ、設定Ｓ８でＤＭＡコントローラに設定する（Ｆ１８´）。
【００５４】
（１１）非同期シリアルインターフェース１１からＤＭＡコントローラ１３にユーザデータの読み込み要求Ｐ３を出力してＲ５でユーザデータを読み出し、Ｗ４の書き込みで記憶装置１４へのＤＭＡ転送を実施する（Ｆ１９´）。
【００５５】
（１２）ＤＭＡ転送終了時にＤＭＡコントローラ１３より演算装置１２へ割り込みＱ３を発生させ、ＤＭＡ転送を終了する（Ｆ２０´）。
【００５６】
（１３）演算装置１２は、この割り込みＱ３を受け、記憶装置１４からＤＭＡ転送されたユーザデータをＲ６で読み込み、所定のアプリケーションに渡す（Ｆ２１´）。
【００５７】
図１に示した実施例では、受信装置がフィールド機器１０に実装されている構成を例示したが、これに限定されるものではなく、本発明は可変長データを受信するデータ受信装置一般に有効に適用することが可能である。
【符号の説明】
【００５８】
１０  フィールド機器
１１  非同期シリアルインターフェース
１２  演算装置
１３  ＤＭＡコントローラ
１４  記憶装置
２０  データ送信装置
３０  通信線
１００  受信データ判定装置
【図１】
2012141813.tif 000003
【図２】
2012141813.tif 000004
【図３】
2012141813.tif 000005
【図４】
2012141813.tif 000006
【図５】
2012141813.tif 000007