(57)【特許請求の範囲】
【請求項１】
フレーム周期毎に優先順位が設定されるフレーム同期転送モードとフレームに同期しない転送モードとをそれぞれ一または複数有し、それぞれの転送モード間に優先順位を決めて通信を行う通信制御において、アドレス番号毎の全通信チャンネルを順に読み出すためのポーリングカウンタ手段と、該フレーム周期毎の初期化後に該ポーリングカウンタ手段が一回りカウントする毎に優先順位を順次変更する状態回路とを備えたポーリング装置であって、
該ポーリングカウンタ手段の値をフレーム周期毎にラッチするラッチ部と、該ラッチ部でラッチされた値と該ポーリングカウンタ手段の値とを比較する一致検出部とを有し、該フレーム周期毎の初期化時に、該ラッチ部でラッチされた値からポーリングを開始するポーリング装置。
【請求項２】
フレーム周期毎に優先順位が設定されるフレーム同期転送モードとフレームに同期しない転送モードとをそれぞれ一または複数有し、それぞれの転送モード間に優先順位を決めて通信を行う通信制御において、アドレス番号毎の全通信チャンネルを順に読み出すためのポーリングカウンタ手段と、該フレーム周期毎の初期化後に該ポーリングカウンタ手段が一回りカウントする毎に優先順位を順次変更する状態回路とを備えたポーリング装置であって、
該ポーリングカウンタ手段の値をフレーム周期毎にラッチするラッチ部と、該ラッチ部でラッチされた値と該ポーリングカウンタ手段の値とを比較する一致検出部とを有し、該ポーリングカウンタ手段および状態回路は、該一致検出部による一致検出まで該フレーム周期毎の初期化動作を停止すると共に、該一致検出部で一致を検出した場合に初期化停止動作を解除するポーリング装置。
【請求項３】
前記通信チャンネル毎の転送モード情報をそれぞれ格納するレジスタ手段と、該通信チャンネル毎の転送データ数および転送間隔の情報を順次それぞれ出力可能とするカウンタ手段とを有し、各通信チャンネルに対応した転送モードタイプ、転送データ数および転送間隔を該レジスタ手段およびカウンタ手段からそれぞれ読み出して、その通信チャンネルに対して通信準備として所定のデータかどうかを確認する請求項１または２記載のポーリング装置。
【請求項４】
請求項３記載のポーリング装置が、前記通信準備ができていると判定した場合にデータ通信を実行し、該通信準備ができていないと判定した場合および該データ通信が完了した場合に、該ポーリング装置に対して現在の通信チャンネルから次の通信チャンネルのポーリング動作を再開させて通信制御を行う通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＵＳＢ（Universal Serial Bus）のホスト制御回路などに応用可能であり、通信制御を行うポーリング装置およびそれを用いた通信装置に関する。
【０００２】
【従来の技術】
近年、デジタル機器で音声データおよび画像データ、特に動画データなどの連続的に動いているストリーミングデータが扱われることが多くなった。このようなストリーミングデータを通信するためには、通信経路におい一定の帯域を常に確保する必要がある。これを可能にした通信用バスとしてＵＳＢおよびＩＥＥＥ１３９４などが使用されている。一定の帯域を常に確保するためには、一定のフレーム周期内に、通信すべき情報を配分できることが必要であり、ＵＳＢではこれをフレーム周期の１ｍｓｅｃ以内に配分する。
【０００３】
これらのバスで一定の帯域を確保して情報転送を行うモードをアイソクロナス転送と呼ぶ。ＩＥＥＥ１３９４などの他の転送方式であっても基本的には同様であるので、ここでは、まず、ＵＳＢの各種転送タイプについて説明する。
【０００４】
ＵＳＢには１台のホストと複数台（最大１２７台）のデバイスが接続される。各デバイスには０〜１２７までのアドレス番号（デバイス番号；０は接続直後のみ使用）が割り振られ、最大１６のエンドポイント（通信チャンネルに相当）を持つことができる。
【０００５】
まず、ホストは時間をフレームと呼ばれる一定期間（ＵＳＢの場合、１ｍｓｅｃ）に分割する。ホストは、フレームの最初にＳＯＦ（Start Of Frame）を送信し、その後に、転送タイプとしてアイソクロナス転送または、フレーム周期の整数倍のインタラプト転送を行う。アイソクロナス転送は、毎フレーム転送が行われるが、インタラプト転送はインターバルと呼ばれる転送時間間隔毎に転送が行われる。即ち、インタラプト転送はインターバルカウンタでフレーム数をカウントしながら転送を行うものである。
【０００６】
次に、アイソクロナス転送やインタラプト転送が一通り行われたら、別の転送タイプとしてコマンドのコントロール転送やデータのバルク転送を行う。コントロール転送は１フレームで転送は１回が望ましいので、コントロール転送が一通り完了すれば、後は、バルク転送のみが行われる。即ち、コントロール転送でコマンドのやり取りを行った後に、バルク転送でデータのやり取りを行う。なお、これらのアイソクロナス転送、インタラプト転送、コントロール転送およびバルク転送は、優先度（優先順位）の高い転送タイプから行われる。
【０００７】
以上の機能を実現する通信システムの構成例を図４に示している。
【０００８】
図４は、従来の通信回路の要部構成を示すブロック図である。図４において、通信回路１００は、１ｍｓカウンタ１０１と、コントローラ１０２と、ポーリング回路１０３と、送信回路１０４と、受信回路１０５とを有している。
【０００９】
１ｍｓカウンタ１０１は、フレームの単位となる一定期間１ｍｓｅｃをカウントして、１ｍｓタイマ信号を生成する。
【００１０】
コントローラ１０２は、図５にて後述する転送タイプ、転送カウンタおよびインターバルカウンタなどの値を設定する。インターバルカウンタは、一定期間１ｍｓｅｃの整数倍毎にパルス信号を発生することによりフレームをカウントする。
【００１１】
ポーリング回路１０３は、優先順位や通信準備ができているかどうかを判断して通信要求（送信要求）を出力する。
【００１２】
送信回路１０４は、送信要求にしたがって他の機器１０６にデータ信号を送信する。
【００１３】
受信回路１０５は、他の機器１０６からの応答を受信して通信終了信号をポーリング回路１０３に返す。
【００１４】
図５は、図４のポーリング回路の詳細構成を示すブロック図である。図６は、図５のポーリング回路の動作を示すタイミングチャートである。
【００１５】
図５および図６に示すように、まず、１ｍｓカウンタ１０１からの１ｍｓタイマ信号が「１」になると、オア（ＯＲ）回路から出力段のフリップフロップを介して送信要求が「１」となり、ＳＯＦ（Start Of Frame）が送信される。この１ｍｓタイマ信号によってポーリングアドレスカウンタおよびポーリングエンドポイントカウンタをリセットして「０」にクリアする。また、１ｍｓタイマ信号によって、ステートカウンタのステート信号を「００」にリセットし、カウントアップ信号生成回路もリセットしてカウントアップ信号を「０」にする。さらには、図示していないが、インターバルカウンタの値も「１」だけカウントダウンし、「０」になると初期値をロードする。
【００１６】
次に、ＳＯＦ（Start Of Frame）の送信が終わると、ポーリングアドレスカウンタおよびポーリングエンドポイントカウンタは、前述したようにリセットされて「０」になっている。同様にステートカウンタのステート信号も「００」になっている。このとき、カウントアップ信号は「１」になる。
【００１７】
ポーリングエンドポイントカウンタには「０」〜「３」の４つのエンドポイント番号（通信チャンネル）があるが、カウントアップ信号が「１」の状態で、クロック信号が入力されると、ポーリングエンドポイントカウンタは「１」だけカウントアップし、クロック信号毎にエンドポイント番号が「０」、「１」、「２」と順次変化して、エンドポイント番号が「３」になると、「＝３」検出部が「３」を検出し、次のクロック信号で「０」に戻る。
【００１８】
一方、ポーリングアドレスカウンタは「０」〜「２」の３つの状態があるが、ポーリングエンドポイントカウンタの値が「３」の場合、次のクロック信号でアドレス番号が「１」だけカウントアップし、アドレス番号が「２」になると、「＝２」検出部が「２」を検出し、次のクロック信号でアドレス番号が「０」に戻る。
【００１９】
これらのポーリングアドレスカウンタおよびポーリングエンドポイントカウンタで示されるエンドポイントの転送タイプおよび転送数カウンタ、さらにはインターバルカウンタの値をそれぞれ読み出し、ステートカウンタが「００」の場合は、アイソクロナス転送または、インターバルカウンタが「０」になったインタラプト転送かどうかを判定する。この動作は判定回路（「＝０」検出部、二つの一致検出回路とアンド回路およびオア回路）のロジック回路からの出力状態にて判定する。なお、転送タイプおよび転送数カウンタ、さらにはインターバルカウンタの値を読み出している間は、ポーリングアドレスカウンタおよびポーリングエンドポイントカウンタはカウントアップしないように、カウントアップ信号は「０」にする必要がある。また、転送タイプの各記号はそれぞれ、ＩＳはアイソクロナス転送、ＩＮはインタラプト転送、Ｃはコントロール転送、Ｂはバルク転送を示している。
【００２０】
ステートカウンタのステート信号が「００」であれば、通信要求を「１」にして転送を行い、通信が終了すると、通信終了信号が「１」になり、通信要求は「０」に戻る。ステート信号が「００」でなかったり、通信が終われば、ポーリングアドレスカウンタおよびポーリングエンドポイントカウンタを１カウントアップする。全てのアドレス番号およびエンドポイントについて確認が終わると、ステートカウンタをカウントアップし、ステート信号を「０１」にする。
【００２１】
ステートカウンタのステート信号が「０１」の場合、ポーリングアドレスカウンタおよびポーリングエンドポイントカウンタで示されるエンドポイントの転送タイプ、転送数カウンタおよびインターバルカウンタの値を各レジスタ（図示せず）に読み出し、転送数カウンタが「０」でないコントロール転送またはバルク転送を探す。この動作は判定回路（二つの一致検出回路およびオア回路と「≠０」検出部およびアンド回路）のロジック回路からの出力状態にて判定する。
【００２２】
コントロール転送またはバルク転送が見つかれば、通信要求を「１」にして転送を行い、その通信が終了すると通信終了信号が「１」になり、通信要求は「０」に戻る。
【００２３】
また、コントロール転送またはバルク転送が見つからなかったり、通信が終われば、ポーリングアドレスカウンタおよびポーリングエンドポイントカウンタを１カウントアップする。全てのアドレスおよびエンドポイントについて確認が終わると、ステートカウンタをカウントアップし、ステート信号を「１０」にする。
【００２４】
さらに、ステートカウンタのステート信号が「１０」の場合、ポーリングアドレスカウンタおよびポーリングエンドポイントカウンタで示されるエンドポイントの転送タイプ、転送数カウンタおよびインターバルカウンタの値を各レジスタに読み出し、転送数カウンタが「０」でないバルク転送を探す。この動作は判定回路（二つの一致検出回路およびオア回路と「≠０」検出部およびアンド回路）のロジック回路からの出力状態にて判定する。
【００２５】
バルク転送が見つかれば、通信要求を「１」にして転送を行い、その通信が終了すると通信終了信号が「１」になり、通信要求は「０」に戻る。
【００２６】
また、バルク転送が見つからなかったり、通信が終われば、ポーリングアドレスカウンタおよびポーリングエンドポイントカウンタを１カウントアップする。これ以降、ステート信号は「１０」（ＵＳＢではこれがマックス値）を保持する。これを１ｍｓタイマ信号が発生するまで続ける。
【００２７】
以上のようにして、ステートカウンタからのステート信号の値「００」が最も優先度の高い転送であり、アイソクロナス転送またはインタラプト転送を実行し、ステート信号の値が「０１」から「１０」の転送というように、ステート信号の値にしたがって優先順に処理される。
【００２８】
【発明が解決しようとする課題】
上記従来の構成で、デバイス数（アドレス番号がデバイス番号として付されている）が増えて転送が頻繁に行われると、ステート信号の値、例えば優先度の最も高い「００」の次の「０１」の途中で次のフレームが始まり（ＵＳＢでは１ｍｓｅｃ毎に強制的に信号が入る）、優先度の低い転送の場合には、いつまで経っても転送が行われないエンドポイント（通信チャンネルに相当）が発生する可能性がある。具体的には、通信システムに繋がる１０台のデバイスからインタラプト転送要求があった場合などがこれに相当する。
【００２９】
具体的に例を挙げて説明すると、図６に示すように、アイソクロナス転送またはインタラプト転送が行われた後に、ステート信号の値が「０１」になり、コントロール転送やバルク転送についてアドレス番号「０」、エンドポイント「０」から開始し、アドレス番号「１」、エンドポイント「２」を転送後に次のフレームが始まる状態が続くと、アドレス番号「１」、エンドポイント「３」およびアドレス番号「２」の全てのエンドポイントの転送処理がいつまでたっても行われないことになる。
【００３０】
なお、ＵＳＢの規格では、アイソクロナス転送やインタラプト転送が頻繁に行われ、ステートカウンタの優先度の最も高いステート信号の値「００」の途中で、次のフレームが始まることは許されない。例えば音声データが多量に入ったときに音声が途切れる様なケースがこれである。このような可能性が有る場合は、デバイスが接続された時点で、ホストがそのデバイスを使用不可状態にすればよい。インタラプト転送は、いつ入力されるのかが予想ができない。その上、帯域の確保をしなければならないという問題もある。
【００３１】
本発明は、上記事情に鑑みて為されたもので、通信制御において情報転送の取り残しを防止することができるポーリング装置およびそれを用いた通信装置を提供することを目的とする。
【００３２】
【課題を解決するための手段】
本発明のポーリング装置は、フレーム周期毎に優先順位が設定されるフレーム同期転送モードとフレームに同期しない転送モードとをそれぞれ一または複数有し、それぞれの転送モード間に優先順位を決めて通信を行う通信制御において、アドレス番号毎の全通信チャンネルを順に読み出すためのポーリングカウンタ手段と、フレーム周期毎の初期化後にポーリングカウンタ手段が一回りカウントする毎に優先順位を順次変更する状態回路とを備えたポーリング装置において、ポーリングカウンタ手段の値をフレーム周期毎にラッチするラッチ部と、このラッチ部でラッチされた値とポーリングカウンタ手段の値とを比較する一致検出部とを有し、該フレーム周期毎の初期化時に、該ラッチ部でラッチされた値からポーリングを開始するものであり、そのことにより上記目的が達成される。
【００３３】
また、本発明のポーリング装置は、フレーム周期毎に優先順位が設定されるフレーム同期転送モードとフレームに同期しない転送モードとをそれぞれ一または複数有し、それぞれの転送モード間に優先順位を決めて通信を行う通信制御において、アドレス番号毎の全通信チャンネルを順に読み出すためのポーリングカウンタ手段と、フレーム周期毎の初期化後にポーリングカウンタ手段が一回りカウントする毎に優先順位を順次変更する状態回路とを備えたポーリング装置において、ポーリングカウンタ手段の値をフレーム周期毎にラッチするラッチ部と、このラッチ部でラッチされた値とポーリングカウンタ手段の値とを比較する一致検出部とを有し、ポーリングカウンタ手段および状態回路は、一致検出部による一致検出までフレーム周期毎の初期化動作を停止すると共に、一致検出部で一致を検出した場合に初期化停止動作を解除するものであり、そのことにより上記目的が達成される。
【００３４】
また、好ましくは、本発明のポーリング装置において、通信チャンネル毎の転送モード情報をそれぞれ格納するレジスタ手段と、この通信チャンネル毎の転送データ数および転送間隔の情報を順次それぞれ出力可能とするカウンタ手段とを有し、各通信チャンネルに対応した転送モードタイプ、転送データ数および転送間隔をレジスタ手段およびカウンタ手段からそれぞれ読み出して、その通信チャンネルに対して通信準備として所定のデータかどうかを確認する。
【００３５】
また、本発明の通信装置は、請求項３記載のポーリング装置が、通信準備ができていると判定した場合にデータ通信を実行し、通信準備ができていないと判定した場合およびデータ通信が完了した場合に、ポーリング装置に対して現在の通信チャンネルから次の通信チャンネルのポーリング動作を再開させて通信制御を行うものであり、そのことにより上記目的が達成される。
【００３６】
上記構成により、優先順位の異なる複数の転送モードを持つ通信を行う場合、一通り全てのアドレスおよび通信チャンネルに対する情報について確認が終わってから通信の優先順位を切り替える必要がある。そこで、本発明では、フレーム毎にポーリングカウンタ手段の値をラッチし、そのラッチされた値と、ポーリングカウンタ手段の値とを比較することにより、全てのアドレスおよび通信チャンネルについて一致の確認が終わったかどうかを知ることができる。フレーム周期毎の初期化時に、該ラッチ部でラッチされた値からポーリングを開始するか、または、その一致が検出された場合に状態回路のリセット動作を解除すれば、優先度の低いチャンネルの転送がいつまでたっても行われないことが防止でき、したがって、通信制御においてフレーム同期転送モードとフレーム非同期転送モードとを均等に転送することができて、転送の取り残しが防止される。
【００３７】
【発明の実施の形態】
以下、本発明の通信装置の実施形態について図面を参照しながら説明する。
【００３８】
図１は、本発明の一実施形態における通信装置の要部構成を示すブロック図である。なお、従来技術と同様の作用効果を奏する部材には同一の符号を付してその説明を省略する。
【００３９】
図１において、通信回路１は、１ｍｓカウンタ１０１と、コントローラ１０２と、優先順位や通信準備ができているかどうかを判断して通信要求（送信要求）を出力するポーリング回路３と、送信回路１０４と、受信回路１０５とを有し、通信準備ができていると判定した場合にデータ通信を実行し、通信準備ができていないと判定した場合およびデータ通信が完了した場合に、ポーリング装置３に対して次の通信チャンネルのポーリング動作を再開して通信制御を行う。
【００４０】
図２は、図１のポーリング回路３の詳細構成を示すブロック図である。図２において、ポーリング回路３は、アドレス番号毎の全通信チャンネル（エンドポイント番号）を順に読み出すためのポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２（ポーリングカウンタ手段）と、フレーム周期毎の初期化後にポーリングカウンタ手段が一回りカウントする毎に優先順位（「００」、「０１」、「１０」）を順次変更する状態回路としてのステートカウンタ３８と、ポーリングアドレスカウンタ３１の値をフレーム周期毎にラッチするラッチ部３３と、ラッチ部３３でラッチされた値とポーリングアドレスカウンタ３１の値とを比較する一致検出部３５と、ポーリングエンドポイントカウンタ３２の値をフレーム周期毎にラッチするラッチ部３４と、ラッチ部３４でラッチされた値とポーリングエンドポイントカウンタ３２の値とをそれぞれ比較する一致検出部３６と、各一致検出部３５，３６の各出力を各入力とするアンド回路３７とを有しており、アドレス番号および通信チャンネルを決定するためのポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２をフレーム周期で初期化せずに、初期化する前のフレームの最終のポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２の値（アドレス番号およびエンドポイント番号）をラッチ部３３，３４でそれぞれ記憶しておき、フレーム周期毎の初期化時に、ラッチ部３３，３４でそれぞれラッチされた各値からポーリングを開始する。
【００４１】
また、ポーリング回路３は、通信チャンネル毎の転送モード情報をそれぞれ格納するレジスタ３９と、通信チャンネル毎の転送データ数の情報を順次出力可能とする転送数カウンタ４０と、通信チャンネル毎の転送間隔の情報を順次出力可能とするインターバルカウンタ４１とを有し、各通信チャンネルに対応した転送タイプ、転送データ数および転送間隔をレジスタ３９およびカウンタ４０，４１からそれぞれ読み出して、その通信チャンネルに対して通信準備として所定のデータかどうかを確認し、所定のデータであれば通信要求を出力する。
【００４２】
図３は、図１のポーリング回路３の動作を示すタイミングチャートである。
【００４３】
図２および図３に示すように、まず、１ｍｓタイマ信号が「１」でオンになると、通信要求も「１」でオンし、オア回路さらにフリップフロップを介してＳＯＦ送信が為される。ポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２の値はそれぞれラッチ部３３，３４にそれぞれ格納する。また、１ｍｓタイマ信号によってステートカウンタ３８のステート信号を「００」にリセットし、カウントアップ信号生成回路４４もリセットしてカウントアップ信号を「０」にする。さらには、図示していないが、インターバルカウンタ４１も「１」だけカウントダウンし、「０」になると初期値をロードする。
【００４４】
次に、ＳＯＦの送信が終わると、ステー卜信号が優先順位の最も高い「００」であるので、ポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２で示されるエンドポイント（通信チャンネルに相当）の転送タイプ、転送数カウンタ４０やインターバルカウンタ４１の値をそれぞれ読み出し、アイソクロナス転送ＩＳまたは、インターバルカウンタ４１が「０」になったインタラプト転送ＩＮを探す。これは判定回路（「＝０」検出部４２、二つの一致検出部、アンド回路およびオア回路）のゲート出力により判定することができる。
【００４５】
アイソクロナス転送ＩＳまたはインタラプト転送ＩＮが見つかれば、通信要求を「１」にして、転送を行い、通信が終了すると、通信終了信号が「１」になり、通信要求は「０」に戻る。
【００４６】
また、アイソクロナス転送ＩＳまたはインタラプト転送ＩＮが見つからなかったり、転送が終われば、ポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２を１カウントアップする。
【００４７】
さらに、ポーリングアドレスカウンタ３１とポーリングエンドポイントカウンタ３２の値と、ラッチ部３３，３４に格納されている値とを各一致検出部３５，３６でそれぞれ比較し、各一致検出部３５，３６で共に一致すれば、各一致検出部３５，３６の各出力端が入力されるアンド回路３７の出力状態によって、全てのアドレス番号およびエンドポイントについて確認が終わったと判断することができる。
【００４８】
全てのアドレス番号およびエンドポイントについて確認が終わると、ステートカウンタ３８は、アンド回路３７からの出力を受け、クロック信号に同期してカウントアップし、ステート信号を「０１」にする。
【００４９】
ステート信号が「０１」の場合、ポーリングアドレスカウンタ３１やポーリグエンドポイントカウンタ３２で示されるエンドポイント（チャンネルに相当）の転送タイプ、転送数カウンタ４０やインターバルカウンタ４１の値をそれぞれ読み出し、転送数カウンタ４０の値が「０」でない「コントロール転送Ｃ」または「バルク転送Ｂ」を探す。これは判定回路（「≠０」検出部４３、二つの一致検出部、オア回路およびアンド回路）のゲート出力により判定することができる。
【００５０】
「コントロール転送Ｃ」または「バルク転送Ｂ」が見つかれば、通信要求を「１」にして転送を行い、通信が終了すると、通信終了信号が「１」になり、通信要求は「０」に戻る。
【００５１】
また、「コントロール転送Ｃ」または「バルク転送Ｂ」が見つからなかったり、通信が終われば、ポーリングアドレスカウンタ３１やポーリングエンドボイントカウンタ３２を１カウントアップする。ポーリングアドレスカウンタ３１とポーリングエンドポイントカウンタ３２の各値と、ラッチ部３３，３４に格納されている各値とを各一致検出部３５，３６でそれぞれ比較し、各一致検出部３５，３６で共に一致が検出されれば、各一致検出部３５，３６の各出力端が入力されるアンド回路３７の出力状態によって、全てのアドレス番号およびエンドポイントについて確認が終わったと判断することができる。
【００５２】
全てのアドレス番号およびエンドポイントについて確認が終わると、ステートカウンタ３８は、アンド回路３７からの出力を受け、クロック信号に同期してカウントアップし、ステート信号を「１０」にする。
【００５３】
ステート信号が「１０」の場合、ポーリングアドレスカウンタ３１やポーリグエンドポイントカウンタ３２で示されるエンドポイント（チャンネルに相当）の転送タイプ、転送数カウンタ４０やインターバルカウンタ４１の値をそれぞれ読み出し、転送数カウンタ４０の値が「０」でないバルク転送を探す。これは判定回路（「≠０」検出部４３、一つの一致検出部およびアンド回路）のゲート出力により判定することができる。
【００５４】
そのようなバルク転送が見つかれば、通信要求を「１」にして転送を行い、通信が終了すると、通信終了信号が「１」になり、通信要求は「０」に戻る。
【００５５】
また、そのようなバルク転送が見つからなかったり、通信が終われば、ポーリングアドレスカウンタ３１やポーリングエンドボイントカウンタ３２を１カウントアップする。これ以降、ステートカウンタ３８は「１０」を保持する。これを次の１ｍｓタイマが発生するまで続ける。
【００５６】
以上により、本実施形態によれば、一定期間（フレーム周期）毎に優先度（フレームが変われば異なる）が設定されたフレーム同期転送モード（アイソクロナス転送やインタラプト転送などのモード）と、フレームに同期しない転送モード（コントロール転送やバルク転送などのモード）をそれぞれ一または複数持ち、転送モード間に優先順位が決まっている通信を行う通信制御において、アドレス番号および通信チャンネルを決定するためのポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２をフレーム周期で初期化せずに、初期化する前のフレームの最終のポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２の値（アドレス番号およびエンドポイント番号）を記憶しておき、初期化後にその値からポーリングを開始することで、特定のチャンネル、ここでは優先度の低いチャンネルの転送がいつまでたっても行われないことを防止することができて、各チャンネルの転送が均等に行われるようにスケジューリングすることができ、転送の取り残しを防止することができる。
【００５７】
なお、上記実施形態では、転送の取り残しを防止するべく、フレーム周期毎の初期化時に、ラッチ部３３，３４でラッチされた各値からポーリングを開始するように構成したが、これに限らず、ポーリング回路３は、アドレス番号毎の全通信チャンネル（エンドポイント番号）を順に読み出すためのポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２（ポーリングカウンタ手段）と、フレーム周期毎の初期化後にポーリングカウンタ手段が一回りカウントする毎に優先順位（「００」、「０１」、「１０」）を順次変更する状態回路としてのステートカウンタ３８と、ポーリングアドレスカウンタ３１の値をフレーム周期毎にラッチするラッチ部３３と、ラッチ部３３でラッチされた値とポーリングアドレスカウンタ３１の値とを比較する一致検出部３５と、ポーリングエンドポイントカウンタ３２の値をフレーム周期毎にラッチするラッチ部３４と、ラッチ部３４でラッチされた値とポーリングエンドポイントカウンタ３２の値とをそれぞれ比較する一致検出部３６と、各一致検出部３５，３６の各出力を各入力とするアンド回路３７とを有しており、アンド回路３７の出力により、ポーリングアドレスカウンタ３１およびポーリングエンドポイントカウンタ３２、ステートカウンタ３８は、一致検出部３５，３６による両一致検出までフレーム周期毎の初期化せず、一致検出部３５，３６で一致を検出した場合に初期化動作可能とするように構成してもよい。
【００５８】
また、上記実施形態では、特に説明しなかったが、カウントアップ信号生成回路４４の具体的回路例としては、図７に示すように二つのデータフリップフロップとアンド回路との直列回路で構成することができる。
【００５９】
【発明の効果】
以上により、本発明によれば、フレーム同期転送モードとフレーム非同期転送モードという優先順位の異なる複数の転送モードを持つ通信を行う場合、ポーリングカウンタ手段に多少の回路を追加するだけで、優先順位の高いフレーム同期転送を行った後、優先順位の低いフレーム非同期転送を均等にスケジューリングすることができて、転送の取り残しを防止することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態における通信装置の要部構成を示すブロック図である。
【図２】図１のポーリング回路の詳細構成を示すブロック図である。
【図３】図１のポーリング回路の動作を示すタイミングチャートである。
【図４】従来の通信装置の要部構成を示すブロック図である。
【図５】図４のポーリング回路の詳細構成を示すブロック図である。
【図６】図５のポーリング回路の動作を示すタイミングチャートである。
【図７】図１のカウントアップ信号生成回路の具体的回路例を示す回路図である。
【符号の説明】
１    通信回路
３    ポーリング回路
３１    ポーリングアドレスカウンタ
３２    ポーリングエンドポイントカウンタ
３３，３４    ラッチ部
３５，３６    一致検出部
３７    アンド回路
３８    ステートカウンタ
３９    レジスタ
４０    転送数カウンタ
４１    インターバルカウンタ
【図１】
0003832733.tif 000002
【図２】
0003832733.tif 000003
【図３】
0003832733.tif 000004
【図４】
0003832733.tif 000005
【図５】
0003832733.tif 000006
【図６】
0003832733.tif 000007
【図７】
0003832733.tif 000008