JP4201590B2 - データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体 - Google Patents
データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP4201590B2 JP4201590B2 JP2002372812A JP2002372812A JP4201590B2 JP 4201590 B2 JP4201590 B2 JP 4201590B2 JP 2002372812 A JP2002372812 A JP 2002372812A JP 2002372812 A JP2002372812 A JP 2002372812A JP 4201590 B2 JP4201590 B2 JP 4201590B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- length
- communication
- fixed
- communication means
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/353—Support for fire wire switches, i.e. according to IEEE 1394
Description
【発明の属する技術分野】
本発明は、外部通信回線、特にUSBやIEEE1394におけるアイソクロナス(Isochronous)通信や、或いは、Bluetoothやその他の無線通信のように、高速でのデータ通信を連続して行わなければならないような通信回線に対して、データを高速に且つ連続して供給或いは処理し、送受信するためのデータ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体に関するものである。
【0002】
【従来の技術】
従来の外部通信回線に対して送受信するためのデータを、互いに通信し合う第1の通信手段と第2の通信手段とを有するデータ通信装置やデータ通信方法には例えば、前記第1の通信手段と前記第2の通信手段が1度に連続して通信可能な最大パケット長を元に固定パケット長を決定し、前記第1の通信手段と前記第2の通信手段は通信するためのメッセージデータを決定した固定パケット長のデータパケットに分割して、ダイレクトメモリアクセス(Direct Memory Access:DMA)通信するものがあった(例えば、特許文献1参照)。
【0003】
図7及び図8は上記従来のデータ通信方法とそれを実行する通信装置を説明する図である。従来のデータ通信方法は、特に画像入出力部931と画像処理部921とからなる画像処理システム901でのデータ通信方法に関するものである。画像読み取り部955は、例えばスキャナであって、紙に印刷された画像を読み取って可変長のデジタルデータ化する。可変長のデジタルデータが調歩同期式シリアル通信回線である外部通信回線957を経由して画像部入力部931に入力される。
【0004】
画像入力部931が外部通信回線957から受信した可変長データが、第1の通信制御部932から第2の通信制御部922にバス(BUS)944を介して送信される。送信されるデータが例えば図8に示すような元の送信メッセージ961である。画像入力部931の第1の通信制御部932は元の送信メッセージ961を予め定められた固定長のデータパケット962に分割する。この例では3つの固定長データパケットに分割される。
【0005】
各データパケットにはパケットヘッダ963、964が付加される。最終パケット964以外のパケットのパケットヘッダ963は0x01(16進数の2桁で、01を示す。以下同様)であり、最終パケットのパケットヘッダ964は0x81である。パケットヘッダ964によってデータパケットを受信した第1の通信制御部932はそのデータパケットが最後のものか、まだ続きがあるのかを知ることができる。
【0006】
元の送信メッセージ961を固定長のデータパケット962に分割した時、必ずしも丁度割り切れるとは限らないので、もしも割り切れなかった時には最終パケットにダミーデータ965がパディングされる。
【0007】
このように作成された固定長のデータパケットは第1の通信制御部932から順次1つずつ通信コントローラ933に渡され、通信コントローラ933はデータパケットを1つ受け取る毎に、ダイレクトメモリアクセスコントローラ(Direct Memory Access Controller(以後単に「DMAC」とも言う))942に送信を要求する。
【0008】
DMAC942は1データパケット分のデータを通信コントローラ933から順次受け取り、BUS944を介して予め定められたRAM925の領域に格納する。1データパケット分のデータを格納し終えると、DMAC942はCPU923に割り込みをかけて、第2の通信制御部922に1データパケットのデータ受信を知らせる。
【0009】
第2の通信制御部922ではCPU923がRAM925から1データパケット分のデータを読み出し、これを繰り返して全データパケットを読み出した後に元の送信メッセージ961を復元して画像処理部921に渡す。画像処理部921はそのデータを画像生成部953に渡す。
【0010】
【特許文献1】
特開2001−101126号公報 (第7−8頁、第5−6図)
【0011】
【発明が解決しようとする課題】
しかしながらこのような従来のデータ通信装置またはデータ通信方法では、1データパケットを受信する毎にCPU923に対して割り込みがかかるため、外部通信回線957が高速で、各データパケットを受信する時間間隔が短い時、CPU923の割り込み処理が間に合わず、データ受信に失敗することがあった。このようなデータ受信の失敗を防ぐには高速且つ高機能なCPU923を装備することが必要であった。
【0012】
逆に外部通信回線957が低速で元の送信メッセージ961が揃うまで時間を要するケースでは、必要なデータを必要なタイミングで画像生成部953に渡すことができないことがあった。また、データパケットはパディングされたダミーデータ965を含んでいるため、実際のデータ長を別途何らかの方法で第2の通信制御部922に知らせることが必要であり、第2の通信制御部922は実際のデータ長を示すデータを受け取った後でなければ元の送信メッセージ961を復元することができず、更に必要なデータを画像生成部953に渡すタイミングが遅くなっていた。
【0013】
本発明は、上記事情に鑑みてなされたもので、高性能のデバイスを用いなくとも低負荷且つ必要なタイミングでデータ処理を行い正確なデータ通信を行うことができるデータ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体を提供することを目的とする。
【0014】
【課題を解決するための手段】
上記課題を解決するため、請求項1に記載の発明は、互いにデータを送受信し合う第1の通信手段と第2の通信手段とを有するデータ通信装置において、前記第1の通信手段又は前記第2の通信手段の送信側は、受信側の通信手段に送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって1個又は複数個の固定長データパケットを作成するパケット作成手段と、前記作成した1個又は複数個の固定長データパケットを受信側の通信手段に送信するデータパケット送信手段と、前記作成した1個又は複数個の固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット対応で受信側の通信手段に送信するデータ長送信手段とを備え、前記第1の通信手段と前記第2の通信手段の受信側は、受信したデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除して元のデータを復元する復元手段とを備えるデータ通信装置である。
【0015】
請求項2に記載の発明は、互いにデータを送受信し合う第1の通信手段と第2の通信手段とを有するデータ通信装置において、前記第1の通信手段又は前記第2の通信手段の送信側は、受信側の通信手段に送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって1個又は複数個の固定長データパケットを作成するパケット作成手段と、前記作成した1個又は複数個の固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケットに付加して受信側の通信手段に送信するデータパケット送信手段とを備え、前記第1の通信手段又は前記第2の通信手段の受信側は、受信した固定長データパケットに付加されたデータ長を参照して前記固定長データパケットに含まれるパディングデータを削除して元のデータを復元する復元手段とを備えるデータ通信装置である。
【0016】
請求項1、2に係る発明によれば、送信する複数の元のデータをパディングによって固定長のデータパケットとして受信側の通信手段に送信すると共に、これら固定長のデータパケットの実際のデータの長さを受信側の通信手段に送信することにより、受信側の通信制御部は送られてきた固定長のデータを実際のデータの長さを参照して元のデータに短時間且つ低負荷で復元することができるため、高性能のデバイスを用いなくとも低負荷且つ必要なタイミングでデータ処理を行うことができ、正確なデータ通信を行うことができる。
【0017】
請求項3に記載の発明は、請求項1又は2に記載のデータ通信装置において、前記受信側の通信手段に送信するデータを外部通信回線から受信したデータとするデータ通信装置である。
【0018】
上記構成によれば、外部通信手段の速度に応じて受信したデータを処理することができる。
【0019】
請求項4に記載の発明は、請求項1から3のいずれか一項に記載のデータ通信装置において、前記第1の通信手段又は前記第2の通信手段の送信側に、前記復元したデータを外部通信回線に対して送出する送信手段を設けたデータ通信装置である。
【0020】
上記構成によれば、外部通信手段が高速のものでも、その速さに応じた必要なタイミングでデータ処理を行って前記外部通信手段から送信することができる。
【0021】
請求項5に記載の発明は、請求項1から4のいずれか一項に記載のデータ通信装置において、前記データパケット送信手段は、前記1個又は複数個の固定長データパケットを前記受信側の通信手段にダイレクトメモリアクセスにて送信するデータ通信装置である。
【0022】
上記構成によれば、DMAによりデータ送信装置内のパケット(データ)転送をCPU等に負荷をかけずに高速に行うことができる。
【0023】
請求項6に記載の発明は、請求項1に記載のデータ通信装置において、前記データ長送信手段は、各データパケットのデータ長を先入れ先出しメモリを介して前記受信側の通信手段に送信するデータ通信装置である。
【0024】
上記構成によれば、FIFOメモリを介して本来のデータの長さをデータ送信装置内で転送することにより、データ転送をCPU等に負荷をかけずに高速に行うことができる。
【0025】
請求項7に記載の発明は、請求項3に記載のデータ通信装置において、前記第1の通信手段又は前記第2の通信手段の送信側が、前記外部通信回線から所定の時間内に受信するべきデータを受信することができなかった時には、前記パケット作成手段は全てのデータがパディングデータから成る固定長データパケットを作成するデータ通信装置である。
【0026】
上記構成によれば、内部送信するデータがない場合でも、全てパディングデータから成るパケットを内部転送することができる。
【0027】
請求項8に記載の発明は、互いにデータを送受信し合う第1の通信手段と第2の通信手段とを有するデータ通信方法において、前記第1の通信手段又は前記第2の通信手段の送信側は、送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって1個又は複数個の固定長データパケットを作成するステップと、前記作成した1個又は複数個の固定長データパケットを記憶するステップと、前記記憶した1個又は複数個の各固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット毎に先入れ先出しメモリに格納するステップと、前記記憶した1個又は複数個の固定長データパケットの送信をダイレクトメモリアクセスで受信側の通信手段に送信するステップとを備え、前記第1の通信手段又は前記第2の通信手段の受信側は、前記先入れ先出しメモリに格納されたデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除するステップと、前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出するステップとを備えるデータ通信方法である。
【0028】
請求項9に記載の発明は、送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって1個又は複数個の固定長データパケットを作成する機能と、前記作成した1個又は複数個の固定長データパケットを所定のメモリ領域に記憶する機能と、前記記憶した1個又は複数個の各固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット毎に先入れ先出しメモリに格納する機能と、前記格納した1個又は複数個の固定長データパケットの送信をダイレクトメモリアクセスコントローラに要求する機能とを第1の通信手段又は前記第2の通信手段の送信側が備え、前記先入れ先出しメモリに格納されたデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除する機能と、前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出する機能とを前記第1の通信手段又は前記第2の通信手段の受信側が備えるように前記各機能をコンピュータに実現させるデータ通信プログラム。
【0029】
請求項10に記載の発明は、互いにデータを送受信し合う第1の通信手段と第2の通信手段とで実行されるデータ通信プログラムを記録した記録媒体において、前記第1の通信手段又は前記第2の通信手段の送信側のコンピュータに、送信するデータに対して分割或いはパディングデータ付加のいずれか一方又は両方を行うことによって1個又は複数個の固定長データパケットを作成するステップと、前記作成した1個又は複数個の固定長データパケットを所定のメモリ領域に格納するステップと、前記格納した1個又は複数個の各固定長データパケットに含まれるパディングデータ以外のデータのデータ長を各データパケット毎に先入れ先出しメモリに格納するステップと、前記格納した1個又は複数個の固定長データパケットの送信をダイレクトメモリアクセスコントローラに要求するステップとを実行させ、前記第1の通信手段又は前記第2の通信手段の受信側のコンピュータに、前記先入れ先出しメモリに格納されたデータ長を参照して前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除するステップと、前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出するステップとを実行させるためのコンピュータ読み取り可能なプログラムを有するデータ通信プログラムを記録した記録媒体である。
【0030】
請求項8、9、10に係る発明によれば、送信する複数の元のデータをパディングによって固定長のデータパケットとして受信側の通信手段に送信すると共に、これら固定長のデータパケットの実際のデータの長さを受信側の通信手段にDMA送信することにより、受信側の通信制御部は送られてきた固定長のデータを実際のデータの長さにより元のデータに短時間且つ低負荷で復元することができるため、高性能のデバイスを用いなくとも低負荷且つ必要なタイミングでデータ処理を行うことができ、正確なデータ通信を行うことができる。
【0031】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
(実施の形態1)
図1は、本発明の第1の実施の形態に係るデータ通信装置の構成を示したブロック図である。データ通信装置101はその内部に入出力部131と情報処理部121とを有し、更に、入出力部131と情報処理部121を接続するBUS144と、BUS144に接続されたDMAC142と、入出力部131と情報処理部121間の情報伝達用のFIFO(First In First Out(先入れ先出し))メモリ146を有する。入出力部131はUSB又はIEEE1394のアイソクロナス通信等である外部通信路160と接続されており、外部通信路160を介して他の情報機器その他とデータ通信を行う。なお、外部通信路160は、USB又はIEEE1394のアイソクロナス通信等以外の例えば、Bluetoothやその他の無線通信やその他の外部通信路160であっても良い。
【0032】
情報処理部121はその内部に第2の通信制御部122を有し、第2の通信制御部122はその内部にCPU123やRAM125やその他図示しない種々の処理部を有する。なお、CPU123やRAM125や図示しないその他の処理部は、情報処理部121の第2の通信制御部122以外の部分と兼用されていることもあり、兼用されていないこともある。
【0033】
入出力部131はその内部に第1の通信制御部132を有し、第1の通信制御部132はその内部に通信コントローラ133や送信バッファ135やその他図示しない種々の処理部を有する。なお、通信コントローラ133や送信バッファ135やその他図示しない種々の処理部は、入出力部131の第1の通信制御部以外の部分と兼用されていることもあり、兼用されていないこともある。
【0034】
次に本実施の形態の動作について説明する。情報処理部121と入出力部131はBUS144によって接続されており、BUS144を使ってデータを送受信する。送受信されるデータは、情報処理部121が処理したデータで、入出力部131から外部通信路160へ出力するデータであったり、外部通信路160から入出力部131が入力したデータであって情報処理部121が処理するためのデータであったり、その他のデータである。
【0035】
例えば、情報処理部121が処理したデータで、入出力部131から外部通信路160へ出力するデータの例を図2(a)に示す。出力しようとする元のデータは、図2(a)に示すように、A〜Gの7個の可変長のデータパケットから成っており、各データパケットのデータ長はそれぞれ9、10、6、7、8、9、9バイトである。
【0036】
情報処理部121から元のデータが入出力部131へ送信するために第2の通信制御部122へ渡されると、第2の通信制御部122のCPU123は可変長のデータパケットにパディングを行い、固定長のデータパケットを作成する。
【0037】
CPU123によって作成された7個の固定長のデータパケットを図2(b)に示す。これによって元のA〜Gの7個の可変長のデータパケットは、各10バイトの固定長データパケットA〜Gに変更される。
【0038】
次にCPU123は各10バイトの固定長データパケット7個を、RAM125に格納する。更に、CPU123は各固定長データパケットの実際のデータの長さ、即ち、パディングデータ以外のデータの長さをA〜Gの順に、Length用FIFOメモリ146に格納する。
【0039】
図2(a)のデータの例では、”9”、”10”、”6”、”7”、”8”、”9”、”9”の順に、この値がLength用FIFOメモリ146に格納される。この内容は図2(c)に示す通りである。CPU123は、DMAC142にRAM125上の固定長データの転送を要求する。
【0040】
CPU123は、DMAC142にデータの転送を要求するに際し、データが格納されているRAM125上のアドレス、全体のバイト数、転送先の通信コントローラ133又は送信バッファ135のバス上のアドレスを指定する。DMAC142によってBUS144上を転送されるデータは図2(c)に示す通りである。
【0041】
例えば、送信バッファ135に空きがあると、送信バッファ135からDMAC142に送信要求が起こりデータ転送が行われることもある。更に外部通信路160の送信周期である1ms毎に送信バッファ135から外部通信路160にデータが送信されることによって、1ms毎に送信バッファ135が空き状態となり、送信要求が繰り返される。その結果、各データバケットは例えば1ミリ秒単位で転送される。しかし必ずしも、この時間間隔に限るものではなく、等時間間隔であることも必ずしも必要とは限らない。
【0042】
データパケットA〜Gのデータ転送を全て終えるとDMAC142は、CPU123と通信コントローラ133のいずれか一方又は両方に割り込みをかけてデータ転送が終わったことを知らせる。或いは他の例では、必ずしもCPU123や通信コントローラ133のいずれか一方又は両方がデータ転送の終了を知る必要が無い時や、他の方法でデータ転送の終了を知ることができる時は、割り込みは無くても良い。更に他の実施の形態では、CPU123からDMACに対するデータ転送の要求を、1データパケット毎に行っても良い。
【0043】
CPU123は、DMAC142がこれらデータパケットの転送を行っている間に、次のデータパケットの準備を行うことや、他の処理を行うこともできる。DMAC142によってBUS144を使って転送されたデータは、第1の通信制御部132によって受信される。
【0044】
第1の通信制御部132では、通信コントローラ133がそのデータパケットを直接受信するか或いは一旦送信バッファ135に格納する。通信コントローラ133がそのデータパケットを直接受信した時には、そのまま通信コントローラ133によって処理されることもあるし、一旦送信バッファ135に格納された後に、通信コントローラ133やその他の図示しない処理部によって処理されることもある。
【0045】
第1の通信処理部132では、図2(c)に示す7個の固定長データパケットを受信し、Length用FIFOメモリ146の内容を参照することによってパディングデータを削除し、元のデータを復元する。元のデータの復元は、それぞれの固定長データパケットを受信する毎に行われることもあるし、全ての固定長データパケットを受信した後に行われることもある。
【0046】
第1の通信処理部132は、復元した元のデータを入出力部131に渡し、入出力部131はそのデータをUSB又はIEEE1394のアイソクロナス通信等である外部通信路160に対して出力する。
【0047】
データパケットの例を、図2(d)に示す。図2(d)に示すようにこの例では、1ミリ秒単位でUSB等の外部通信路160に出力されている。しかし必ずしもこの時間間隔に限るものでは無く、等時間間隔に限るものでもない。
【0048】
本実施の形態では、実際のデータの長さ、即ち、パディングデータ以外のデータの長さをA〜Gの順に、Length用FIFOメモリ146に格納して第1の通信制御部132に知らせたが、他の実施の形態では、実際のデータの長さを固定長データパケットに付加し、DMAC142によってBUS144を使って第1の通信制御部132へ転送することもできる。
【0049】
本実施の形態での固定長データパケットの構造を図3に示す。実際のデータ、即ち、パディングデータ以外のデータ403に、パディングデータ405がパディングされることによって固定長データパケットが作成され、更にそれにパディングデータ以外のデータのデータ長401が付加されて、BUS144上を転送される固定長データパケットが作成される。
【0050】
本実施の形態では、パディングデータ以外のデータのデータ長401が付加された7個の固定長データパケットを受信した第1の通信制御部132は、Length用FIFOメモリ146の内容を参照するのではなく、受信したデータパケットに含まれるパディングデータ以外のデータのデータ長401を参照することによってパディングデータ405を削除し、元の実際のデータ403を復元する。
【0051】
本実施の形態によれば、情報処理部121のCPU123は送信する複数の元のデータをパディングによって固定長のデータパケットとし、これら固定長のデータパケットの実際のデータの長さをFIFOメモリ146により第1の通信制御部132に知らせると共に、DMAでこれら固定長のデータを第1の通信制御部132へ送ることにより、第1の通信制御部132の通信コントローラ133は送られてきた固定長のデータを実際のデータの長さにより元のデータに短時間且つ低負荷で復元し、復元したデータを入出力部131から外部通信路160上に送信するため、CPU123及び通信コントローラ133としてはそれ程高性能のものを用いなくとも、十分に速く且つ正確なデータ処理を行うことができる。
【0052】
(実施の形態2)
図4は本発明の第2の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図である。なお、第2の実施の形態の構成は第1の実施の形態と同様であるため、以下同一の構成を持つ各部においては、その構成動作の説明を省略し、以下、その相違点のみを説明する。
【0053】
第2の実施の形態である情報処理部121が処理したデータで、入出力部131から外部通信路160へ出力するデータの例は図4(a)に示される。
【0054】
出力しようとする元のデータは、図4(a)に示すように、1個の可変長のデータパケットAから成っており、本実施の形態の例ではデータパケットAのデータ長は56バイトである。
【0055】
情報処理部121から元のデータが入出力部131へ送信するために第2の通信制御部122へ渡されると、第2の通信制御部122のCPU123は可変長のデータパケットを各10バイトからなる固定長データブロック5個(A1〜A5)に分割すると共に、第6番目のブロックA6には4バイトのパディングを行って10バイトから成る固定長データブロックA6を作成する。更に必要があれば、やはり10バイトからなる固定長のダミーパケットDを作成する。
【0056】
ダミーパケットDは必ずしも必要とは限らないし、他の実施の形態によっては2つ以上必要となることもある。CPU123によって作成された例えば7個の固定長のデータパケットを図4(b)に示す。これによって元の1個の可変長のデータパケットAは、7個の各10バイトの固定長データパケットA1〜A6とDとに変更される。
【0057】
次にCPU123は各10バイトの固定長データパケット7個を、RAM125に格納する。更に、CPU123は各固定長データパケットの実際のデータの長さ、即ち、パディングデータ以外のデータの長さをA1〜Dの順に、Length用FIFOメモリ146に格納する。
【0058】
図4(b)に示す例では、”10”、”10”、”10”、”10”、”10”、”6”、”0”の順に、この値がLengh用FIFOメモリ146に格納される。この内容は図4(c)に示す通りである。CPU123は、DMAC142にRAM125上の固定長データの転送を要求する。
【0059】
DMAC142によってBUS144上を転送されるデータを図4(c)に示す。例えば、送信バッファ135に空きがあると、送信バッファ135からDMAC142に送信要求が起こりデータ転送が行われることもある。更に外部通信路160の送信周期である1ms毎に送信バッファ135から外部通信路160にデータが送信されることによって、1ms毎に送信バッファ135が空き状態となり、送信要求が繰り返される。
【0060】
その結果、各データバケットは例えば1ミリ秒単位で転送される。しかし必ずしも、この時間間隔に限るものではなく、等時間間隔であることも必ずしも必要とは限らない。DMAC142によってBUS144を使って転送されたデータは、第1の通信制御部132によって受信される。
【0061】
第1の通信処理部132では、図4(c)に示す7個の固定長データパケットを受信し、Length用FIFOメモリ146の内容を参照することによってパディングデータを削除し、元のデータを復元する。第1の通信処理部132は、復元した元のデータを入出力部131に渡し、入出力部131はそのデータをUSB又はIEEE1394のアイソクロナス通信等である外部通信路160に対して出力する。
【0062】
そのデータパケットの例を、図4(d)に示す。図4(d)に示すように、この例では、1ミリ秒単位で、ダミーパケットDも含めて、USB等の外部通信路160に出力される。
【0063】
しかし他の実施の形態では必ずしも本実施の形態のように1ミリ秒単位で出力されることは必要ではなく、等時間間隔で出力されることも必要とは限らない。他の実施の形態では、例えば、より高速に或いは、より低速に或いは連続的に出力されてもよい。又、更に他の実施の形態では必ずしもダミーパケットDを含めて出力されるとは限らず、ダミーパケットDは第1の通信制御部132又は入出力部131によって削除され、外部通信路160へは出力されなくても良い。
【0064】
本実施の形態では、実際のデータの長さ、即ち、パディングデータ以外のデータの長さをLength用FIFOメモリ146に格納して第1の通信制御部132に知らせたが、他の実施の形態では、実際のデータの長さを固定長データパケットに付加し、例えば図3に示すような固定長のデータパケット化し、DMAC142によってBUS144を使って第1の通信制御部132へ転送することもできることは、第1の実施の形態と同じである。
【0065】
本実施の形態によれば、送信処理部121は送信する1個の元のデータAをパディングによって固定長の複数のデータパケットとし、以降は第1の実施の形態と同様の処理を行うため、第1の実施の形態と同様の効果がある。
【0066】
(実施の形態3)
図5は本発明の第3の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図である。なお、第3の実施の形態の構成は第1の実施の形態と同様であるため、以下同一の構成を持つ各部においては、その構成動作の説明を省略し、以下、その相違点のみを説明する。
【0067】
第3の実施の形態で、入出力部131が外部通信路160から入力したデータであって、図5はデータ通信装置101に入出力されるデータの例を示している。
【0068】
入出力部131は、外部通信路160から例えば図5(a)に示すような、可変長のデータパケットを順次受信する。入出力部131は、受信データを情報処理部121へ送信するために、第1の通信制御部132へ渡す。第1の通信制御部132の通信コントローラ133は、可変長のデータパケットにパディングを行い、各10バイトの固定長のデータパケットを作成する。通信コントローラ133によって作成された固定長のデータパケットの一例を、図5(b)に示す。
【0069】
次に通信コントローラ133は各10バイトの固定長データパケットを、例えば送信バッファ135に格納する。更に、通信コントローラ133は各固定長データパケットの実際のデータの長さ、即ち、パディングデータ以外のデータ長を受信順に、Length用FIFOメモリ146に格納する。
【0070】
通信コントローラ133が、DMAC142に、送信バッファ135上の固定長データパケットの転送を要求する。CPU123は予めDMAC142に対し、データが格納されている送信バッファ135上のアドレス、全体のバイト数、転送先のRAM125のアドレスを指定しておくこともある。
【0071】
DMAC142によってBUS144上を転送されるデータの一例を、図5(c)に示す。DMAC142によってBUS144を使って転送されたデータは、第2の通信制御部122によって受信される。第2の通信制御部122では、例えば、その固定長データパケットが一旦RAM125に格納される。
【0072】
第2の通信処理部122では、CPU123が図5(c)に示す7個の固定長データパケットをRAM125から取り出し、Length用FIFOメモリ146の内容を参照することによってパディングデータを削除して、元のデータを復元する。元のデータの復元は、それぞれの固定長データパケットを受信する毎に行われることもあり得るし、全ての固定長データパケットを受信した後に行われることもあり得る。第2の通信処理部122は、復元した元のデータを情報処理部121に渡し、情報処理部121はそのデータを使って必要な情報処理を行う。
【0073】
本実施の形態では、実際のデータの長さ、即ち、パディングデータ以外のデータ長を受信順に、Length用FIFOメモリ146に格納して第2の通信制御部122に知らせたが、他の実施の形態では、実際のデータの長さを固定長データパケットに付加し、例えば図3に示すような固定長のデータパケット化し、DMAC142によってBUS144を使って第2の通信制御部122へ転送することもできる。この点についても本発明の第1の実施の形態と同じであるから説明を省略する。
【0074】
本実施の形態によれば、第1の通信制御部132は外部通信路160から入力した複数の元のデータをパディングによって固定長のデータパケットとし、これら固定長のデータパケットの実際のデータの長さをFIFOメモリ146により第2の通信制御部122に知らせると共に、DMAでこれら固定長のデータを第2の通信制御部121送くることにより、第2の通信制御部122のCPU123は送られてきた固定長のデータを実際のデータの長さにより元のデータに短時間且つ低負荷で復元し、復元したデータを用いて必要な処理を行うため、外部通信路160が低速でも高速でも通信コントローラ133としてはそれ程高性能のものを用いなくとも、外部通信路160の速度に応じた正確なデータ処理を行うことができ、また、CPU123としてもそれ程高性能のものを用いなくとも、十分早く且つ正確なデータ処理を行うことができる。
【0075】
(実施の形態4)
図6は本発明の第4の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図である。なお、第4の実施の形態の構成は第1の実施の形態と同様であるため、以下同一の構成を持つ各部においては、その構成動作の説明を省略し、以下、その相違点のみを説明する。
【0076】
第4の実施の形態で、入出力部131が外部通信路160から入力したデータであって、図6はデータ通信装置101で入出力されるデータの例を示している。
【0077】
入出力部131が図6(a)に示す各可変長のデータパケットを所定の時間内、例えば1ms以内に受信した場合は、第3の実施形態と同様の動作を行う。
【0078】
入出力部131がデータパケットとして例えば1ms以内に、通信路160から例えば図6(a)に示すダミーパケットDを受信した時は、受信データは全てのデータがパディングデータからなる例えば10バイトの固定長データパケットである。
【0079】
第1の通信制御部132の通信コントローラ133は例えば図6(b)に示すDパケットを作成し、送信バッファ135に格納すると共に、実際のデータ長、即ち、パディングデータ以外のデータのデータ長として値ゼロ(0)を、Length用FIFOメモリ146に格納する。更に必要であれば、1ms以内にデータパケットを受信しなかった時にも、全てのデータがパディングデータからなる例えば10バイトの固定長データパケットである例えば図6(b)に示すDパケットを作成し、送信バッファ135に格納すると共に、実際のデータ長、即ち、パディングデータ以外のデータのデータ長として値ゼロ(0)を、Length用FIFOメモリ146に格納する。
【0080】
パディングされた固定長データパケットを図6(b)に示し、BUS144上を転送されるデータパケットとFIFOメモリの内容を図6(c)に示す。データパケットを受信した第2の通信制御部122によって復元されるデータパケットの一例を図6(d)に示す。しかし必ずしも、このようなデータパケットに復元されると限るものではなく、他の形式のデータパケットに復元されてもかまわない。
【0081】
上記のように復元されたデータはDMAC142によってBUS144上を情報処理部121へ転送される。以降の情報処理部121の動作は第3の実施の形態と同じであるから説明を省略する。
【0082】
本実施の形態によれば、入出力部131が外部通信路160から時間内にデータパケットを受信できなかった場合は全てのデータがパディングデータからなる例えば10バイトの固定長データパケット作成し、これら固定長データパケットを情報処理部121に転送するがその動作は第3の実施の形態のそれと同様で同様の効果がある。
【0083】
【発明の効果】
本発明によれば、送信する複数の元のデータをパディングによって固定長のデータパケットとして受信側の通信手段に送信すると共に、これら固定長のデータパケットの実際のデータの長さを受信側の通信手段に送信することにより、受信側の通信制御部は送られてきた固定長のデータを実際のデータの長さを参照して元のデータに短時間且つ低負荷で復元することができるため、高性能のデバイスを用いなくとも低負荷且つ必要なタイミングでデータ処理を行うことができ、正確なデータ通信を行うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るデータ通信装置の構成を示したブロック図。
【図2】図1に示したデータ通信装置が通信するパケットの構成を説明する図。
【図3】本発明の実施の形態で用いる固定長データパケットの構造を示した図。
【図4】本発明の第2の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図。
【図5】本発明の第3の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図。
【図6】本発明の第4の実施の形態に係るデータ通信装置が通信するパケットの構成を説明する図。
【図7】従来のデータ通信方法とそれを実行する通信装置を説明する図。
【図8】図7に示した従来例で通信するデータ構成例を示した図。
【符号の説明】
101 データ通信装置
121 情報処理部
122 第2の通信制御部
123 CPU
125 RAM
131 入出力部
132 第1の通信制御部
133 通信コントローラ
135 送信バッファ
142 DMAC
144 BUS
146 Length用FIFOメモリ
160 外部通信路
Claims (5)
- 互いにデータを送受信し合う第1の通信手段と第2の通信手段とを有するデータ通信装置において、
前記第1の通信手段又は前記第2の通信手段の送信側は、
受信側の通信手段に送信する分割されたデータの各データサイズに応じて各データにパディングデータを付加して、分割された各データを含む複数個の固定長データパケットを作成するパケット作成手段と、
前記作成された各固定長データパケットを前記受信側の通信手段に送信するデータパケット送信手段と、を備え、
前記データ通信装置は、前記送信側の通信手段で作成された各固定長データパケットに含まれるパディングデータ以外のデータのデータ長に関する情報を記憶するデータ長記憶手段を備え、
前記第1の通信手段と前記第2の通信手段の受信側は、
前記データ長記憶手段に格納されているデータ長に関する情報を参照して、受信した固定長データパケットに含まれる前記付加されたパディングデータを削除して元のデータを復元する復元手段を備えることを特徴とするデータ通信装置。 - 前記データ長送信手段は、各データパケットのデータ長を先入れ先出しメモリを介して前記受信側の通信手段に送信することを特徴とする請求項1に記載のデータ通信装置。
- 互いにデータを送受信し合う第1の通信手段と第2の通信手段が行うデータ通信方法において、
前記第1の通信手段又は前記第2の通信手段の送信側が、
受信側の通信手段に送信する分割されたデータの各データサイズに応じて各データにパディングデータを付加して、分割された各データを含む複数個の固定長データパケットを作成するステップと、
前記作成された各固定長データパケットを所定のメモリ領域に格納するステップと、
前記作成された各固定長データパケットに含まれるパディングデータ以外のデータのデータ長に関する情報を先入れ先出しメモリに格納するステップと、
前記所定のメモリ領域に格納された固定長データパケットをダイレクトメモリアクセスで受信側の通信手段に送信するステップと、
前記第1の通信手段又は前記第2の通信手段の受信側が、
前記先入れ先出しメモリに格納されたデータ長に関する情報を参照して、前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除するステップと、
前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出するステップとを備えることを特徴とするデータ通信方法。 - 送信する分割されたデータの各データサイズに応じて各データにパディングデータを付加して、分割された各データを含む複数個の固定長データパケットを作成する機能と、
前記作成された各固定長データパケットを所定のメモリ領域に格納する機能と、
前記作成された各固定長データパケットに含まれるパディングデータ以外のデータのデータ長に関する情報を先入れ先出しメモリに格納する機能と、
前記所定のメモリ領域に格納された固定長データパケットの送信をダイレクトメモリアクセスコントローラに要求する機能とを第1の通信手段又は前記第2の通信手段の送信側が備え、
前記先入れ先出しメモリに格納されたデータ長に関する情報を参照して、前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除する機能と、
前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出する機能とを前記第1の通信手段又は前記第2の通信手段の受信側が備えるように前記各機能をコンピュータに実現させることを特徴とするデータ通信プログラム。 - 互いにデータを送受信し合う第1の通信手段と第2の通信手段とで実行されるデータ通信プログラムを記録した記録媒体において、
前記第1の通信手段又は前記第2の通信手段の送信側のコンピュータに、受信側の通信手段に送信する分割されたデータの各データサイズに応じてパディングデータを付加して、分割された各データを含む複数個の固定長データパケットを作成するステップと、
前記作成された各固定長データパケットを所定のメモリ領域に格納するステップと、
前記作成された各固定長データパケットに含まれるパディングデータ以外のデータのデータ長に関する情報を先入れ先出しメモリに格納するステップと、
前記所定のメモリ領域に格納された固定長データパケットをダイレクトメモリアクセスコントローラに要求するステップとを実行させ、
前記第1の通信手段又は前記第2の通信手段の受信側のコンピュータに、前記先入れ先出しメモリに格納されたデータ長に関する情報を参照して、前記受信した固定長データパケットに含まれる前記付加されたパディングデータを削除するステップと、
前記パディングデータを削除したデータパケットに含まれるデータを外部通信回線に対して送出するステップとを実行させるためのコンピュータ読み取り可能なプログラムを有することを特徴とするデータ通信プログラムを記録した記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002372812A JP4201590B2 (ja) | 2002-12-24 | 2002-12-24 | データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体 |
US10/873,644 US20050041606A1 (en) | 2002-12-24 | 2004-06-23 | Data communication apparatus, data communication method, data communication program and recording medium in which data communication program was recorded |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002372812A JP4201590B2 (ja) | 2002-12-24 | 2002-12-24 | データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004207891A JP2004207891A (ja) | 2004-07-22 |
JP4201590B2 true JP4201590B2 (ja) | 2008-12-24 |
Family
ID=32811308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002372812A Expired - Fee Related JP4201590B2 (ja) | 2002-12-24 | 2002-12-24 | データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050041606A1 (ja) |
JP (1) | JP4201590B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002077173A (ja) * | 2000-08-25 | 2002-03-15 | Sony Corp | 送信装置および方法、並びにプログラム格納媒体 |
JP4966505B2 (ja) * | 2005-03-24 | 2012-07-04 | ブラザー工業株式会社 | パケット通信システム |
JP4655868B2 (ja) * | 2005-10-18 | 2011-03-23 | セイコーエプソン株式会社 | 第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法 |
JP4952161B2 (ja) * | 2006-09-15 | 2012-06-13 | セイコーエプソン株式会社 | プリンタ制御プログラム、プリンタ制御方法、及びプリンタシステム |
JP4825265B2 (ja) * | 2006-03-30 | 2011-11-30 | 富士通株式会社 | データ転送装置およびデータ転送方法 |
JP4780030B2 (ja) * | 2007-05-08 | 2011-09-28 | セイコーエプソン株式会社 | 送信機、受信機、送信方法、受信方法、可変長シリアル・バースト・データ転送システム、半導体装置、およびハイブッド半導体装置 |
JP4780029B2 (ja) * | 2007-05-08 | 2011-09-28 | セイコーエプソン株式会社 | 送信機、受信機、送信方法、受信方法、固定長シリアル・バースト・データ転送システム、半導体装置、およびハイブッド半導体装置 |
GB2489932B (en) | 2011-04-07 | 2020-04-08 | Quantel Ltd | Improvements relating to file systems |
GB2495268B (en) | 2011-08-05 | 2019-09-04 | Quantel Ltd | Methods and systems for providing file data for media files |
KR20140070896A (ko) * | 2012-11-29 | 2014-06-11 | 삼성전자주식회사 | 비디오 스트리밍 방법 및 그 전자 장치 |
US10015111B2 (en) * | 2013-03-15 | 2018-07-03 | Huawei Technologies Co., Ltd. | System and method for steering packet streams |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10190705A (ja) * | 1996-10-22 | 1998-07-21 | Sony Corp | 伝送装置および方法、並びに、受信装置および方法 |
US6259694B1 (en) * | 1997-04-01 | 2001-07-10 | Sony Corporation | Signal processing circuit |
JP2000022707A (ja) * | 1998-07-03 | 2000-01-21 | Fujitsu Ltd | データ伝送方法、およびデータ伝送システム |
JP2003046952A (ja) * | 2001-08-02 | 2003-02-14 | Matsushita Electric Ind Co Ltd | 画像復号装置、コンピュータ読取可能な記録媒体、プログラム |
JPWO2003084077A1 (ja) * | 2002-03-25 | 2005-08-04 | アライドテレシスホールディングス株式会社 | 可変長/固定長データ変換方法及び装置 |
-
2002
- 2002-12-24 JP JP2002372812A patent/JP4201590B2/ja not_active Expired - Fee Related
-
2004
- 2004-06-23 US US10/873,644 patent/US20050041606A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2004207891A (ja) | 2004-07-22 |
US20050041606A1 (en) | 2005-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6925512B2 (en) | Communication between two embedded processors | |
JP4201590B2 (ja) | データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体 | |
JP6021132B2 (ja) | 連続データをパケットにより無線通信する送信装置、受信装置、通信装置、プログラム、送信方法、及び、受信方法 | |
TW200415474A (en) | Method and apparatus for intermediate buffer segmentation and reassembly | |
US9544401B2 (en) | Device and method for data communication using a transmission ring buffer | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
CN103200131B (zh) | 一种数据收发装置 | |
WO2018137218A1 (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
JP5313155B2 (ja) | 時分割多重化モードにおけるデータ伝送方法及びシステム | |
Zabolotny | Low latency protocol for transmission of measurement data from FPGA to Linux computer via 10 Gbps Ethernet link | |
JP3753622B2 (ja) | パケット送受信装置 | |
CN110765044A (zh) | 数据包传输装置及系统 | |
JP7423223B2 (ja) | 通信装置 | |
CN112637027B (zh) | 基于uart的帧边界界定装置及发送方法和接收方法 | |
JP6938399B2 (ja) | 通信装置、通信方法およびプログラム | |
KR101537560B1 (ko) | 호스트와 모뎀 간의 고속 인터페이스 장치 및 방법 | |
JP2002185466A (ja) | パケット送受信装置 | |
TW201324168A (zh) | 高效率傳輸機制之通用序列匯流排裝置 | |
JP2023102411A (ja) | シリアルインタフェース回路、その制御方法、プログラム、通信モジュール及び通信装置 | |
CN116192781A (zh) | 基于安全数字输入输出接口的数据传输方法、装置及系统 | |
JP2800771B2 (ja) | 可変長パケット処理方法及び装置 | |
JP2022059312A (ja) | 通信装置、制御方法およびプログラム | |
JPH04245355A (ja) | ファイル転送方式 | |
JP2642344B2 (ja) | 画像伝送方式および画像伝送制御装置 | |
JPH03255749A (ja) | 通信制御装置のデータ転送方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060325 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070828 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071114 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071121 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071128 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071205 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080313 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080910 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081007 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111017 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |