(57)【要約】【課題】高性能のデバイスを用いなくとも低負荷且つ必要なタイミングでデータ処理を行い正確なデータ通信を行う。【解決手段】第１の通信制御部１３２は送信する複数の元のデータをパディングによって固定長のデータパケットとし、これら固定長のデータパケットの実際のデータの長さをＦＩＦＯメモリ１４６により第２の通信制御部１２２に知らせると共に、ＤＭＡでこれら固定長のデータを第２の通信制御部１２２に送ることにより、第２の通信制御部１２２のＣＰＵ１２３は送られてきた固定長のデータを実際のデータの長さにより元のデータに短時間且つ低負荷で復元する。【選択図】  図１
2004207891.tif 000002
【特許請求の範囲】
【請求項１】
互いにデータを送受信し合う第１の通信手段と第２の通信手段とを有するデータ通信装置において、
前記第１の通信手段又は前記第２の通信手段の送信側は、受信側の通信手段に送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成するパケット作成手段と、
前記作成した１個又は複数個の固定長データパケットを受信側の通信手段に送信するデータパケット送信手段と、
前記作成した１個又は複数個の固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット対応で受信側の通信手段に送信するデータ長送信手段とを備え、
前記第１の通信手段と前記第２の通信手段の受信側は、受信したデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除して元のデータを復元する復元手段とを備えることを特徴とするデータ通信装置。
【請求項２】
互いにデータを送受信し合う第１の通信手段と第２の通信手段とを有するデータ通信装置において、
前記第１の通信手段又は前記第２の通信手段の送信側は、受信側の通信手段に送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成するパケット作成手段と、
前記作成した１個又は複数個の固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケットに付加して受信側の通信手段に送信するデータパケット送信手段とを備え、
前記第１の通信手段又は前記第２の通信手段の受信側は、受信した固定長データパケットに付加されたデータ長を参照して前記固定長データパケットに含まれるパディングデータを削除して元のデータを復元する復元手段とを備えることを特徴とするデータ通信装置。
【請求項３】
前記受信側の通信手段に送信するデータは外部通信回線から受信したデータであることを特徴とする請求項１又は２に記載のデータ通信装置。
【請求項４】
前記第１の通信手段又は前記第２の通信手段の送信側に、前記復元したデータを外部通信回線に対して送出する送信手段を設けることを特徴とする請求項１から３のいずれか一項に記載のデータ通信装置。
【請求項５】
前記データパケット送信手段は、前記１個又は複数個の固定長データパケットを前記受信側の通信手段にダイレクトメモリアクセスにて送信することを特徴とする請求項１から４のいずれか一項に記載のデータ通信装置。
【請求項６】
前記データ長送信手段は、各データパケットのデータ長を先入れ先出しメモリを介して前記受信側の通信手段に送信することを特徴とする請求項１に記載のデータ通信装置。
【請求項７】
前記第１の通信手段又は前記第２の通信手段の送信側が、前記外部通信回線から所定の時間内に受信するべきデータを受信することができなかった時には、前記パケット作成手段は全てのデータがパディングデータから成る固定長データパケットを作成することを特徴とする請求項３に記載のデータ通信装置。
【請求項８】
互いにデータを送受信し合う第１の通信手段と第２の通信手段とを有するデータ通信方法において、
前記第１の通信手段又は前記第２の通信手段の送信側は、
送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成するステップと、
前記作成した１個又は複数個の固定長データパケットを記憶するステップと、
前記記憶した１個又は複数個の各固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット毎に先入れ先出しメモリに格納するステップと、
前記記憶した１個又は複数個の固定長データパケットの送信をダイレクトメモリアクセスで受信側の通信手段に送信するステップとを備え、
前記第１の通信手段又は前記第２の通信手段の受信側は、
前記先入れ先出しメモリに格納されたデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除するステップと、
前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出するステップとを備えることを特徴とするデータ通信方法。
【請求項９】
送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成する機能と、
前記作成した１個又は複数個の固定長データパケットを所定のメモリ領域に記憶する機能と、
前記記憶した１個又は複数個の各固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット毎に先入れ先出しメモリに格納する機能と、
前記格納した１個又は複数個の固定長データパケットの送信をダイレクトメモリアクセスコントローラに要求する機能とを第１の通信手段又は前記第２の通信手段の送信側が備え、
前記先入れ先出しメモリに格納されたデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除する機能と、
前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出する機能とを前記第１の通信手段又は前記第２の通信手段の受信側が備えるように前記各機能をコンピュータに実現させることを特徴とするデータ通信プログラム。
【請求項１０】
互いにデータを送受信し合う第１の通信手段と第２の通信手段とで実行されるデータ通信プログラムを記録した記録媒体において、
前記第１の通信手段又は前記第２の通信手段の送信側のコンピュータに、送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成するステップと、
前記作成した１個又は複数個の固定長データパケットを所定のメモリ領域に格納するステップと、
前記格納した１個又は複数個の各固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット毎に先入れ先出しメモリに格納するステップと、
前記格納した１個又は複数個の固定長データパケットの送信をダイレクトメモリアクセスコントローラに要求するステップとを実行させ、
前記第１の通信手段又は前記第２の通信手段の受信側のコンピュータに、前記先入れ先出しメモリに格納されたデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除するステップと、
前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出するステップとを実行させるためのコンピュータ読み取り可能なプログラムを有することを特徴とするデータ通信プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部通信回線、特にＵＳＢやＩＥＥＥ１３９４におけるアイソクロナス（Ｉｓｏｃｈｒｏｎｏｕｓ）通信や、或いは、Ｂｌｕｅｔｏｏｔｈやその他の無線通信のように、高速でのデータ通信を連続して行わなければならないような通信回線に対して、データを高速に且つ連続して供給或いは処理し、送受信するためのデータ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
従来の外部通信回線に対して送受信するためのデータを、互いに通信し合う第１の通信手段と第２の通信手段とを有するデータ通信装置やデータ通信方法には例えば、前記第１の通信手段と前記第２の通信手段が１度に連続して通信可能な最大パケット長を元に固定パケット長を決定し、前記第１の通信手段と前記第２の通信手段は通信するためのメッセージデータを決定した固定パケット長のデータパケットに分割して、ダイレクトメモリアクセス（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ：ＤＭＡ）通信するものがあった（例えば、特許文献１参照）。
【０００３】
図７及び図８は上記従来のデータ通信方法とそれを実行する通信装置を説明する図である。従来のデータ通信方法は、特に画像入出力部９３１と画像処理部９２１とからなる画像処理システム９０１でのデータ通信方法に関するものである。画像読み取り部９５５は、例えばスキャナであって、紙に印刷された画像を読み取って可変長のデジタルデータ化する。可変長のデジタルデータが調歩同期式シリアル通信回線である外部通信回線９５７を経由して画像部入力部９３１に入力される。
【０００４】
画像入力部９３１が外部通信回線９５７から受信した可変長データが、第１の通信制御部９３２から第２の通信制御部９２２にバス（ＢＵＳ）９４４を介して送信される。送信されるデータが例えば図８に示すような元の送信メッセージ９６１である。画像入力部９３１の第１の通信制御部９３２は元の送信メッセージ９６１を予め定められた固定長のデータパケット９６２に分割する。この例では３つの固定長データパケットに分割される。
【０００５】
各データパケットにはパケットヘッダ９６３、９６４が付加される。最終パケット９６４以外のパケットのパケットヘッダ９６３は０ｘ０１（１６進数の２桁で、０１を示す。以下同様）であり、最終パケットのパケットヘッダ９６４は０ｘ８１である。パケットヘッダ９６４によってデータパケットを受信した第１の通信制御部９３２はそのデータパケットが最後のものか、まだ続きがあるのかを知ることができる。
【０００６】
元の送信メッセージ９６１を固定長のデータパケット９６２に分割した時、必ずしも丁度割り切れるとは限らないので、もしも割り切れなかった時には最終パケットにダミーデータ９６５がパディングされる。
【０００７】
このように作成された固定長のデータパケットは第１の通信制御部９３２から順次１つずつ通信コントローラ９３３に渡され、通信コントローラ９３３はデータパケットを１つ受け取る毎に、ダイレクトメモリアクセスコントローラ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ（以後単に「ＤＭＡＣ」とも言う））９４２に送信を要求する。
【０００８】
ＤＭＡＣ９４２は１データパケット分のデータを通信コントローラ９３３から順次受け取り、ＢＵＳ９４４を介して予め定められたＲＡＭ９２５の領域に格納する。１データパケット分のデータを格納し終えると、ＤＭＡＣ９４２はＣＰＵ９２３に割り込みをかけて、第２の通信制御部９２２に１データパケットのデータ受信を知らせる。
【０００９】
第２の通信制御部９２２ではＣＰＵ９２３がＲＡＭ９２５から１データパケット分のデータを読み出し、これを繰り返して全データパケットを読み出した後に元の送信メッセージ９６１を復元して画像処理部９２１に渡す。画像処理部９２１はそのデータを画像生成部９５３に渡す。
【００１０】
【特許文献１】
特開２００１−１０１１２６号公報  （第７−８頁、第５−６図）
【００１１】
【発明が解決しようとする課題】
しかしながらこのような従来のデータ通信装置またはデータ通信方法では、１データパケットを受信する毎にＣＰＵ９２３に対して割り込みがかかるため、外部通信回線９５７が高速で、各データパケットを受信する時間間隔が短い時、ＣＰＵ９２３の割り込み処理が間に合わず、データ受信に失敗することがあった。このようなデータ受信の失敗を防ぐには高速且つ高機能なＣＰＵ９２３を装備することが必要であった。
【００１２】
逆に外部通信回線９５７が低速で元の送信メッセージ９６１が揃うまで時間を要するケースでは、必要なデータを必要なタイミングで画像生成部９５３に渡すことができないことがあった。また、データパケットはパディングされたダミーデータ９６５を含んでいるため、実際のデータ長を別途何らかの方法で第２の通信制御部９２２に知らせることが必要であり、第２の通信制御部９２２は実際のデータ長を示すデータを受け取った後でなければ元の送信メッセージ９６１を復元することができず、更に必要なデータを画像生成部９５３に渡すタイミングが遅くなっていた。
【００１３】
本発明は、上記事情に鑑みてなされたもので、高性能のデバイスを用いなくとも低負荷且つ必要なタイミングでデータ処理を行い正確なデータ通信を行うことができるデータ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記課題を解決するため、請求項１に記載の発明は、互いにデータを送受信し合う第１の通信手段と第２の通信手段とを有するデータ通信装置において、前記第１の通信手段又は前記第２の通信手段の送信側は、受信側の通信手段に送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成するパケット作成手段と、前記作成した１個又は複数個の固定長データパケットを受信側の通信手段に送信するデータパケット送信手段と、前記作成した１個又は複数個の固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット対応で受信側の通信手段に送信するデータ長送信手段とを備え、前記第１の通信手段と前記第２の通信手段の受信側は、受信したデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除して元のデータを復元する復元手段とを備えるデータ通信装置である。
【００１５】
請求項２に記載の発明は、互いにデータを送受信し合う第１の通信手段と第２の通信手段とを有するデータ通信装置において、前記第１の通信手段又は前記第２の通信手段の送信側は、受信側の通信手段に送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成するパケット作成手段と、前記作成した１個又は複数個の固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケットに付加して受信側の通信手段に送信するデータパケット送信手段とを備え、前記第１の通信手段又は前記第２の通信手段の受信側は、受信した固定長データパケットに付加されたデータ長を参照して前記固定長データパケットに含まれるパディングデータを削除して元のデータを復元する復元手段とを備えるデータ通信装置である。
【００１６】
請求項１、２に係る発明によれば、送信する複数の元のデータをパディングによって固定長のデータパケットとして受信側の通信手段に送信すると共に、これら固定長のデータパケットの実際のデータの長さを受信側の通信手段に送信することにより、受信側の通信制御部は送られてきた固定長のデータを実際のデータの長さを参照して元のデータに短時間且つ低負荷で復元することができるため、高性能のデバイスを用いなくとも低負荷且つ必要なタイミングでデータ処理を行うことができ、正確なデータ通信を行うことができる。
【００１７】
請求項３に記載の発明は、請求項１又は２に記載のデータ通信装置において、前記受信側の通信手段に送信するデータを外部通信回線から受信したデータとするデータ通信装置である。
【００１８】
上記構成によれば、外部通信手段の速度に応じて受信したデータを処理することができる。
【００１９】
請求項４に記載の発明は、請求項１から３のいずれか一項に記載のデータ通信装置において、前記第１の通信手段又は前記第２の通信手段の送信側に、前記復元したデータを外部通信回線に対して送出する送信手段を設けたデータ通信装置である。
【００２０】
上記構成によれば、外部通信手段が高速のものでも、その速さに応じた必要なタイミングでデータ処理を行って前記外部通信手段から送信することができる。
【００２１】
請求項５に記載の発明は、請求項１から４のいずれか一項に記載のデータ通信装置において、前記データパケット送信手段は、前記１個又は複数個の固定長データパケットを前記受信側の通信手段にダイレクトメモリアクセスにて送信するデータ通信装置である。
【００２２】
上記構成によれば、ＤＭＡによりデータ送信装置内のパケット（データ）転送をＣＰＵ等に負荷をかけずに高速に行うことができる。
【００２３】
請求項６に記載の発明は、請求項１に記載のデータ通信装置において、前記データ長送信手段は、各データパケットのデータ長を先入れ先出しメモリを介して前記受信側の通信手段に送信するデータ通信装置である。
【００２４】
上記構成によれば、ＦＩＦＯメモリを介して本来のデータの長さをデータ送信装置内で転送することにより、データ転送をＣＰＵ等に負荷をかけずに高速に行うことができる。
【００２５】
請求項７に記載の発明は、請求項３に記載のデータ通信装置において、前記第１の通信手段又は前記第２の通信手段の送信側が、前記外部通信回線から所定の時間内に受信するべきデータを受信することができなかった時には、前記パケット作成手段は全てのデータがパディングデータから成る固定長データパケットを作成するデータ通信装置である。
【００２６】
上記構成によれば、内部送信するデータがない場合でも、全てパディングデータから成るパケットを内部転送することができる。
【００２７】
請求項８に記載の発明は、互いにデータを送受信し合う第１の通信手段と第２の通信手段とを有するデータ通信方法において、前記第１の通信手段又は前記第２の通信手段の送信側は、送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成するステップと、前記作成した１個又は複数個の固定長データパケットを記憶するステップと、前記記憶した１個又は複数個の各固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット毎に先入れ先出しメモリに格納するステップと、前記記憶した１個又は複数個の固定長データパケットの送信をダイレクトメモリアクセスで受信側の通信手段に送信するステップとを備え、前記第１の通信手段又は前記第２の通信手段の受信側は、前記先入れ先出しメモリに格納されたデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除するステップと、前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出するステップとを備えるデータ通信方法である。
【００２８】
請求項９に記載の発明は、送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成する機能と、前記作成した１個又は複数個の固定長データパケットを所定のメモリ領域に記憶する機能と、前記記憶した１個又は複数個の各固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット毎に先入れ先出しメモリに格納する機能と、前記格納した１個又は複数個の固定長データパケットの送信をダイレクトメモリアクセスコントローラに要求する機能とを第１の通信手段又は前記第２の通信手段の送信側が備え、前記先入れ先出しメモリに格納されたデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除する機能と、前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出する機能とを前記第１の通信手段又は前記第２の通信手段の受信側が備えるように前記各機能をコンピュータに実現させるデータ通信プログラム。
【００２９】
請求項１０に記載の発明は、互いにデータを送受信し合う第１の通信手段と第２の通信手段とで実行されるデータ通信プログラムを記録した記録媒体において、前記第１の通信手段又は前記第２の通信手段の送信側のコンピュータに、送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって１個又は複数個の固定長データパケットを作成するステップと、前記作成した１個又は複数個の固定長データパケットを所定のメモリ領域に格納するステップと、前記格納した１個又は複数個の各固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット毎に先入れ先出しメモリに格納するステップと、前記格納した１個又は複数個の固定長データパケットの送信をダイレクトメモリアクセスコントローラに要求するステップとを実行させ、前記第１の通信手段又は前記第２の通信手段の受信側のコンピュータに、前記先入れ先出しメモリに格納されたデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除するステップと、前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出するステップとを実行させるためのコンピュータ読み取り可能なプログラムを有するデータ通信プログラムを記録した記録媒体である。
【００３０】
請求項８、９、１０に係る発明によれば、送信する複数の元のデータをパディングによって固定長のデータパケットとして受信側の通信手段に送信すると共に、これら固定長のデータパケットの実際のデータの長さを受信側の通信手段にＤＭＡ送信することにより、受信側の通信制御部は送られてきた固定長のデータを実際のデータの長さにより元のデータに短時間且つ低負荷で復元することができるため、高性能のデバイスを用いなくとも低負荷且つ必要なタイミングでデータ処理を行うことができ、正確なデータ通信を行うことができる。
【００３１】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
（実施の形態１）
図１は、本発明の第１の実施の形態に係るデータ通信装置の構成を示したブロック図である。データ通信装置１０１はその内部に入出力部１３１と情報処理部１２１とを有し、更に、入出力部１３１と情報処理部１２１を接続するＢＵＳ１４４と、ＢＵＳ１４４に接続されたＤＭＡＣ１４２と、入出力部１３１と情報処理部１２１間の情報伝達用のＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ（先入れ先出し））メモリ１４６を有する。入出力部１３１はＵＳＢ又はＩＥＥＥ１３９４のアイソクロナス通信等である外部通信路１６０と接続されており、外部通信路１６０を介して他の情報機器その他とデータ通信を行う。なお、外部通信路１６０は、ＵＳＢ又はＩＥＥＥ１３９４のアイソクロナス通信等以外の例えば、Ｂｌｕｅｔｏｏｔｈやその他の無線通信やその他の外部通信路１６０であっても良い。
【００３２】
情報処理部１２１はその内部に第２の通信制御部１２２を有し、第２の通信制御部１２２はその内部にＣＰＵ１２３やＲＡＭ１２５やその他図示しない種々の処理部を有する。なお、ＣＰＵ１２３やＲＡＭ１２５や図示しないその他の処理部は、情報処理部１２１の第２の通信制御部１２２以外の部分と兼用されていることもあり、兼用されていないこともある。
【００３３】
入出力部１３１はその内部に第１の通信制御部１３２を有し、第１の通信制御部１３２はその内部に通信コントローラ１３３や送信バッファ１３５やその他図示しない種々の処理部を有する。なお、通信コントローラ１３３や送信バッファ１３５やその他図示しない種々の処理部は、入出力部１３１の第１の通信制御部以外の部分と兼用されていることもあり、兼用されていないこともある。
【００３４】
次に本実施の形態の動作について説明する。情報処理部１２１と入出力部１３１はＢＵＳ１４４によって接続されており、ＢＵＳ１４４を使ってデータを送受信する。送受信されるデータは、情報処理部１２１が処理したデータで、入出力部１３１から外部通信路１６０へ出力するデータであったり、外部通信路１６０から入出力部１３１が入力したデータであって情報処理部１２１が処理するためのデータであったり、その他のデータである。
【００３５】
例えば、情報処理部１２１が処理したデータで、入出力部１３１から外部通信路１６０へ出力するデータの例を図２（ａ）に示す。出力しようとする元のデータは、図２（ａ）に示すように、Ａ〜Ｇの７個の可変長のデータパケットから成っており、各データパケットのデータ長はそれぞれ９、１０、６、７、８、９、９バイトである。
【００３６】
情報処理部１２１から元のデータが入出力部１３１へ送信するために第２の通信制御部１２２へ渡されると、第２の通信制御部１２２のＣＰＵ１２３は可変長のデータパケットにパディングを行い、固定長のデータパケットを作成する。
【００３７】
ＣＰＵ１２３によって作成された７個の固定長のデータパケットを図２（ｂ）に示す。これによって元のＡ〜Ｇの７個の可変長のデータパケットは、各１０バイトの固定長データパケットＡ〜Ｇに変更される。
【００３８】
次にＣＰＵ１２３は各１０バイトの固定長データパケット７個を、ＲＡＭ１２５に格納する。更に、ＣＰＵ１２３は各固定長データパケットの実際のデータの長さ、即ち、パディングデータ以外のデータの長さをＡ〜Ｇの順に、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６に格納する。
【００３９】
図２（ａ）のデータの例では、”９”、”１０”、”６”、”７”、”８”、”９”、”９”の順に、この値がＬｅｎｇｔｈ用ＦＩＦＯメモリ１４６に格納される。この内容は図２（ｃ）に示す通りである。ＣＰＵ１２３は、ＤＭＡＣ１４２にＲＡＭ１２５上の固定長データの転送を要求する。
【００４０】
ＣＰＵ１２３は、ＤＭＡＣ１４２にデータの転送を要求するに際し、データが格納されているＲＡＭ１２５上のアドレス、全体のバイト数、転送先の通信コントローラ１３３又は送信バッファ１３５のバス上のアドレスを指定する。ＤＭＡＣ１４２によってＢＵＳ１４４上を転送されるデータは図２（ｃ）に示す通りである。
【００４１】
例えば、送信バッファ１３５に空きがあると、送信バッファ１３５からＤＭＡＣ１４２に送信要求が起こりデータ転送が行われることもある。更に外部通信路１６０の送信周期である１ｍｓ毎に送信バッファ１３５から外部通信路１６０にデータが送信されることによって、１ｍｓ毎に送信バッファ１３５が空き状態となり、送信要求が繰り返される。その結果、各データバケットは例えば１ミリ秒単位で転送される。しかし必ずしも、この時間間隔に限るものではなく、等時間間隔であることも必ずしも必要とは限らない。
【００４２】
データパケットＡ〜Ｇのデータ転送を全て終えるとＤＭＡＣ１４２は、ＣＰＵ１２３と通信コントローラ１３３のいずれか一方又は両方に割り込みをかけてデータ転送が終わったことを知らせる。或いは他の例では、必ずしもＣＰＵ１２３や通信コントローラ１３３のいずれか一方又は両方がデータ転送の終了を知る必要が無い時や、他の方法でデータ転送の終了を知ることができる時は、割り込みは無くても良い。更に他の実施の形態では、ＣＰＵ１２３からＤＭＡＣに対するデータ転送の要求を、１データパケット毎に行っても良い。
【００４３】
ＣＰＵ１２３は、ＤＭＡＣ１４２がこれらデータパケットの転送を行っている間に、次のデータパケットの準備を行うことや、他の処理を行うこともできる。ＤＭＡＣ１４２によってＢＵＳ１４４を使って転送されたデータは、第１の通信制御部１３２によって受信される。
【００４４】
第１の通信制御部１３２では、通信コントローラ１３３がそのデータパケットを直接受信するか或いは一旦送信バッファ１３５に格納する。通信コントローラ１３３がそのデータパケットを直接受信した時には、そのまま通信コントローラ１３３によって処理されることもあるし、一旦送信バッファ１３５に格納された後に、通信コントローラ１３３やその他の図示しない処理部によって処理されることもある。
【００４５】
第１の通信処理部１３２では、図２（ｃ）に示す７個の固定長データパケットを受信し、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６の内容を参照することによってパディングデータを削除し、元のデータを復元する。元のデータの復元は、それぞれの固定長データパケットを受信する毎に行われることもあるし、全ての固定長データパケットを受信した後に行われることもある。
【００４６】
第１の通信処理部１３２は、復元した元のデータを入出力部１３１に渡し、入出力部１３１はそのデータをＵＳＢ又はＩＥＥＥ１３９４のアイソクロナス通信等である外部通信路１６０に対して出力する。
【００４７】
データパケットの例を、図２（ｄ）に示す。図２（ｄ）に示すようにこの例では、１ミリ秒単位でＵＳＢ等の外部通信路１６０に出力されている。しかし必ずしもこの時間間隔に限るものでは無く、等時間間隔に限るものでもない。
【００４８】
本実施の形態では、実際のデータの長さ、即ち、パディングデータ以外のデータの長さをＡ〜Ｇの順に、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６に格納して第１の通信制御部１３２に知らせたが、他の実施の形態では、実際のデータの長さを固定長データパケットに付加し、ＤＭＡＣ１４２によってＢＵＳ１４４を使って第１の通信制御部１３２へ転送することもできる。
【００４９】
本実施の形態での固定長データパケットの構造を図３に示す。実際のデータ、即ち、パディングデータ以外のデータ４０３に、パディングデータ４０５がパディングされることによって固定長データパケットが作成され、更にそれにパディングデータ以外のデータのデータ長４０１が付加されて、ＢＵＳ１４４上を転送される固定長データパケットが作成される。
【００５０】
本実施の形態では、パディングデータ以外のデータのデータ長４０１が付加された７個の固定長データパケットを受信した第１の通信制御部１３２は、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６の内容を参照するのではなく、受信したデータパケットに含まれるパディングデータ以外のデータのデータ長４０１を参照することによってパディングデータ４０５を削除し、元の実際のデータ４０３を復元する。
【００５１】
本実施の形態によれば、情報処理部１２１のＣＰＵ１２３は送信する複数の元のデータをパディングによって固定長のデータパケットとし、これら固定長のデータパケットの実際のデータの長さをＦＩＦＯメモリ１４６により第１の通信制御部１３２に知らせると共に、ＤＭＡでこれら固定長のデータを第１の通信制御部１３２へ送ることにより、第１の通信制御部１３２の通信コントローラ１３３は送られてきた固定長のデータを実際のデータの長さにより元のデータに短時間且つ低負荷で復元し、復元したデータを入出力部１３１から外部通信路１６０上に送信するため、ＣＰＵ１２３及び通信コントローラ１３３としてはそれ程高性能のものを用いなくとも、十分に速く且つ正確なデータ処理を行うことができる。
【００５２】
（実施の形態２）
図４は本発明の第２の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図である。なお、第２の実施の形態の構成は第１の実施の形態と同様であるため、以下同一の構成を持つ各部においては、その構成動作の説明を省略し、以下、その相違点のみを説明する。
【００５３】
第２の実施の形態である情報処理部１２１が処理したデータで、入出力部１３１から外部通信路１６０へ出力するデータの例は図４（ａ）に示される。
【００５４】
出力しようとする元のデータは、図４（ａ）に示すように、１個の可変長のデータパケットＡから成っており、本実施の形態の例ではデータパケットＡのデータ長は５６バイトである。
【００５５】
情報処理部１２１から元のデータが入出力部１３１へ送信するために第２の通信制御部１２２へ渡されると、第２の通信制御部１２２のＣＰＵ１２３は可変長のデータパケットを各１０バイトからなる固定長データブロック５個（Ａ１〜Ａ５）に分割すると共に、第６番目のブロックＡ６には４バイトのパディングを行って１０バイトから成る固定長データブロックＡ６を作成する。更に必要があれば、やはり１０バイトからなる固定長のダミーパケットＤを作成する。
【００５６】
ダミーパケットＤは必ずしも必要とは限らないし、他の実施の形態によっては２つ以上必要となることもある。ＣＰＵ１２３によって作成された例えば７個の固定長のデータパケットを図４（ｂ）に示す。これによって元の１個の可変長のデータパケットＡは、７個の各１０バイトの固定長データパケットＡ１〜Ａ６とＤとに変更される。
【００５７】
次にＣＰＵ１２３は各１０バイトの固定長データパケット７個を、ＲＡＭ１２５に格納する。更に、ＣＰＵ１２３は各固定長データパケットの実際のデータの長さ、即ち、パディングデータ以外のデータの長さをＡ１〜Ｄの順に、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６に格納する。
【００５８】
図４（ｂ）に示す例では、”１０”、”１０”、”１０”、”１０”、”１０”、”６”、”０”の順に、この値がＬｅｎｇｈ用ＦＩＦＯメモリ１４６に格納される。この内容は図４（ｃ）に示す通りである。ＣＰＵ１２３は、ＤＭＡＣ１４２にＲＡＭ１２５上の固定長データの転送を要求する。
【００５９】
ＤＭＡＣ１４２によってＢＵＳ１４４上を転送されるデータを図４（ｃ）に示す。例えば、送信バッファ１３５に空きがあると、送信バッファ１３５からＤＭＡＣ１４２に送信要求が起こりデータ転送が行われることもある。更に外部通信路１６０の送信周期である１ｍｓ毎に送信バッファ１３５から外部通信路１６０にデータが送信されることによって、１ｍｓ毎に送信バッファ１３５が空き状態となり、送信要求が繰り返される。
【００６０】
その結果、各データバケットは例えば１ミリ秒単位で転送される。しかし必ずしも、この時間間隔に限るものではなく、等時間間隔であることも必ずしも必要とは限らない。ＤＭＡＣ１４２によってＢＵＳ１４４を使って転送されたデータは、第１の通信制御部１３２によって受信される。
【００６１】
第１の通信処理部１３２では、図４（ｃ）に示す７個の固定長データパケットを受信し、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６の内容を参照することによってパディングデータを削除し、元のデータを復元する。第１の通信処理部１３２は、復元した元のデータを入出力部１３１に渡し、入出力部１３１はそのデータをＵＳＢ又はＩＥＥＥ１３９４のアイソクロナス通信等である外部通信路１６０に対して出力する。
【００６２】
そのデータパケットの例を、図４（ｄ）に示す。図４（ｄ）に示すように、この例では、１ミリ秒単位で、ダミーパケットＤも含めて、ＵＳＢ等の外部通信路１６０に出力される。
【００６３】
しかし他の実施の形態では必ずしも本実施の形態のように１ミリ秒単位で出力されることは必要ではなく、等時間間隔で出力されることも必要とは限らない。他の実施の形態では、例えば、より高速に或いは、より低速に或いは連続的に出力されてもよい。又、更に他の実施の形態では必ずしもダミーパケットＤを含めて出力されるとは限らず、ダミーパケットＤは第１の通信制御部１３２又は入出力部１３１によって削除され、外部通信路１６０へは出力されなくても良い。
【００６４】
本実施の形態では、実際のデータの長さ、即ち、パディングデータ以外のデータの長さをＬｅｎｇｔｈ用ＦＩＦＯメモリ１４６に格納して第１の通信制御部１３２に知らせたが、他の実施の形態では、実際のデータの長さを固定長データパケットに付加し、例えば図３に示すような固定長のデータパケット化し、ＤＭＡＣ１４２によってＢＵＳ１４４を使って第１の通信制御部１３２へ転送することもできることは、第１の実施の形態と同じである。
【００６５】
本実施の形態によれば、送信処理部１２１は送信する１個の元のデータＡをパディングによって固定長の複数のデータパケットとし、以降は第１の実施の形態と同様の処理を行うため、第１の実施の形態と同様の効果がある。
【００６６】
（実施の形態３）
図５は本発明の第３の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図である。なお、第３の実施の形態の構成は第１の実施の形態と同様であるため、以下同一の構成を持つ各部においては、その構成動作の説明を省略し、以下、その相違点のみを説明する。
【００６７】
第３の実施の形態で、入出力部１３１が外部通信路１６０から入力したデータであって、図５はデータ通信装置１０１に入出力されるデータの例を示している。
【００６８】
入出力部１３１は、外部通信路１６０から例えば図５（ａ）に示すような、可変長のデータパケットを順次受信する。入出力部１３１は、受信データを情報処理部１２１へ送信するために、第１の通信制御部１３２へ渡す。第１の通信制御部１３２の通信コントローラ１３３は、可変長のデータパケットにパディングを行い、各１０バイトの固定長のデータパケットを作成する。通信コントローラ１３３によって作成された固定長のデータパケットの一例を、図５（ｂ）に示す。
【００６９】
次に通信コントローラ１３３は各１０バイトの固定長データパケットを、例えば送信バッファ１３５に格納する。更に、通信コントローラ１３３は各固定長データパケットの実際のデータの長さ、即ち、パディングデータ以外のデータ長を受信順に、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６に格納する。
【００７０】
通信コントローラ１３３が、ＤＭＡＣ１４２に、送信バッファ１３５上の固定長データパケットの転送を要求する。ＣＰＵ１２３は予めＤＭＡＣ１４２に対し、データが格納されている送信バッファ１３５上のアドレス、全体のバイト数、転送先のＲＡＭ１２５のアドレスを指定しておくこともある。
【００７１】
ＤＭＡＣ１４２によってＢＵＳ１４４上を転送されるデータの一例を、図５（ｃ）に示す。ＤＭＡＣ１４２によってＢＵＳ１４４を使って転送されたデータは、第２の通信制御部１２２によって受信される。第２の通信制御部１２２では、例えば、その固定長データパケットが一旦ＲＡＭ１２５に格納される。
【００７２】
第２の通信処理部１２２では、ＣＰＵ１２３が図５（ｃ）に示す７個の固定長データパケットをＲＡＭ１２５から取り出し、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６の内容を参照することによってパディングデータを削除して、元のデータを復元する。元のデータの復元は、それぞれの固定長データパケットを受信する毎に行われることもあり得るし、全ての固定長データパケットを受信した後に行われることもあり得る。第２の通信処理部１２２は、復元した元のデータを情報処理部１２１に渡し、情報処理部１２１はそのデータを使って必要な情報処理を行う。
【００７３】
本実施の形態では、実際のデータの長さ、即ち、パディングデータ以外のデータ長を受信順に、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６に格納して第２の通信制御部１２２に知らせたが、他の実施の形態では、実際のデータの長さを固定長データパケットに付加し、例えば図３に示すような固定長のデータパケット化し、ＤＭＡＣ１４２によってＢＵＳ１４４を使って第２の通信制御部１２２へ転送することもできる。この点についても本発明の第１の実施の形態と同じであるから説明を省略する。
【００７４】
本実施の形態によれば、第１の通信制御部１３２は外部通信路１６０から入力した複数の元のデータをパディングによって固定長のデータパケットとし、これら固定長のデータパケットの実際のデータの長さをＦＩＦＯメモリ１４６により第２の通信制御部１２２に知らせると共に、ＤＭＡでこれら固定長のデータを第２の通信制御部１２１送くることにより、第２の通信制御部１２２のＣＰＵ１２３は送られてきた固定長のデータを実際のデータの長さにより元のデータに短時間且つ低負荷で復元し、復元したデータを用いて必要な処理を行うため、外部通信路１６０が低速でも高速でも通信コントローラ１３３としてはそれ程高性能のものを用いなくとも、外部通信路１６０の速度に応じた正確なデータ処理を行うことができ、また、ＣＰＵ１２３としてもそれ程高性能のものを用いなくとも、十分早く且つ正確なデータ処理を行うことができる。
【００７５】
（実施の形態４）
図６は本発明の第４の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図である。なお、第４の実施の形態の構成は第１の実施の形態と同様であるため、以下同一の構成を持つ各部においては、その構成動作の説明を省略し、以下、その相違点のみを説明する。
【００７６】
第４の実施の形態で、入出力部１３１が外部通信路１６０から入力したデータであって、図６はデータ通信装置１０１で入出力されるデータの例を示している。
【００７７】
入出力部１３１が図６（ａ）に示す各可変長のデータパケットを所定の時間内、例えば１ｍｓ以内に受信した場合は、第３の実施形態と同様の動作を行う。
【００７８】
入出力部１３１がデータパケットとして例えば１ｍｓ以内に、通信路１６０から例えば図６（ａ）に示すダミーパケットＤを受信した時は、受信データは全てのデータがパディングデータからなる例えば１０バイトの固定長データパケットである。
【００７９】
第１の通信制御部１３２の通信コントローラ１３３は例えば図６（ｂ）に示すＤパケットを作成し、送信バッファ１３５に格納すると共に、実際のデータ長、即ち、パディングデータ以外のデータのデータ長として値ゼロ（０）を、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６に格納する。更に必要であれば、１ｍｓ以内にデータパケットを受信しなかった時にも、全てのデータがパディングデータからなる例えば１０バイトの固定長データパケットである例えば図６（ｂ）に示すＤパケットを作成し、送信バッファ１３５に格納すると共に、実際のデータ長、即ち、パディングデータ以外のデータのデータ長として値ゼロ（０）を、Ｌｅｎｇｔｈ用ＦＩＦＯメモリ１４６に格納する。
【００８０】
パディングされた固定長データパケットを図６（ｂ）に示し、ＢＵＳ１４４上を転送されるデータパケットとＦＩＦＯメモリの内容を図６（ｃ）に示す。データパケットを受信した第２の通信制御部１２２によって復元されるデータパケットの一例を図６（ｄ）に示す。しかし必ずしも、このようなデータパケットに復元されると限るものではなく、他の形式のデータパケットに復元されてもかまわない。
【００８１】
上記のように復元されたデータはＤＭＡＣ１４２によってＢＵＳ１４４上を情報処理部１２１へ転送される。以降の情報処理部１２１の動作は第３の実施の形態と同じであるから説明を省略する。
【００８２】
本実施の形態によれば、入出力部１３１が外部通信路１６０から時間内にデータパケットを受信できなかった場合は全てのデータがパディングデータからなる例えば１０バイトの固定長データパケット作成し、これら固定長データパケットを情報処理部１２１に転送するがその動作は第３の実施の形態のそれと同様で同様の効果がある。
【００８３】
【発明の効果】
本発明によれば、送信する複数の元のデータをパディングによって固定長のデータパケットとして受信側の通信手段に送信すると共に、これら固定長のデータパケットの実際のデータの長さを受信側の通信手段に送信することにより、受信側の通信制御部は送られてきた固定長のデータを実際のデータの長さを参照して元のデータに短時間且つ低負荷で復元することができるため、高性能のデバイスを用いなくとも低負荷且つ必要なタイミングでデータ処理を行うことができ、正確なデータ通信を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るデータ通信装置の構成を示したブロック図。
【図２】図１に示したデータ通信装置が通信するパケットの構成を説明する図。
【図３】本発明の実施の形態で用いる固定長データパケットの構造を示した図。
【図４】本発明の第２の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図。
【図５】本発明の第３の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図。
【図６】本発明の第４の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図。
【図７】従来のデータ通信方法とそれを実行する通信装置を説明する図。
【図８】図７に示した従来例で通信するデータ構成例を示した図。
【符号の説明】
１０１  データ通信装置
１２１  情報処理部
１２２  第２の通信制御部
１２３  ＣＰＵ
１２５  ＲＡＭ
１３１  入出力部
１３２  第１の通信制御部
１３３  通信コントローラ
１３５  送信バッファ
１４２  ＤＭＡＣ
１４４  ＢＵＳ
１４６  Ｌｅｎｇｔｈ用ＦＩＦＯメモリ
１６０  外部通信路
【図１】
2004207891.tif 000003
【図２】
2004207891.tif 000004
【図３】
2004207891.tif 000005
【図４】
2004207891.tif 000006
【図５】
2004207891.tif 000007
【図６】
2004207891.tif 000008
【図７】
2004207891.tif 000009
【図８】
2004207891.tif 000010