(57)【要約】【課題】クロック同期の精度を向上させること。【解決手段】第１通信装置は、第２通信装置の設定時刻を要求するパケットの送信から第２通信装置により該パケットの受信までの時間を求め、該時間と、第１、第２通信装置間でパケットの伝送に要した時間とに基づいて、第２通信装置の時計の補正量を演算し、第１ＩＦからパケットと補正量を出力し、応答パケットを入力し、第１ＩＦには、パケットと補正量と応答パケットを転送する第１仮想チャネルを、データを転送する第２仮想チャネルよりも優先し、第２の通信装置は、時計によりパケットの受信から応答パケットの送信までの時間を求め、該時間を含む応答パケットを作成し、第１通信装置からの補正量に基づいて、時計を補正し、第２ＩＦから応答パケットを出力し、補正量を入力し、第２ＩＦには、時刻要求パケット、応答パケット、補正量を転送する第１仮想チャネルを、データを転送する第２仮想チャネルよりも優先する。【選択図】図１
2014146877.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置と、該第１の通信装置とシリアルＩＦでそれぞれ接続された１又は複数の第２の通信装置とを有する通信システムであって、
前記第１の通信装置は、
第１の時計と、
前記第１の時計により、前記１又は複数の第２の通信装置に設定されている時刻を要求する時刻要求パケットの送信を開始してから前記１又は複数の第２の通信装置により前記時刻要求パケットに対する応答パケットの受信が開始されるまでの時間を求め、該時間と、前記第１の通信装置と前記１又は複数の第２の通信装置との間で前記時刻要求パケットの伝送に要した時間とに基づいて、前記１又は複数の第２の通信装置の第２の時計の補正量を演算する第１の時刻同期回路と、
前記時刻要求パケットと前記補正量を出力するとともに、前記第１の時刻同期回路へ前記応答パケットを入力する第１のインターフェースと
を有し、
前記第１のインターフェースには、前記時刻要求パケットと前記補正量と前記応答パケットを転送する第１の仮想チャネルと、データを転送する第２の仮想チャネルとが設定され、前記第２の仮想チャネルで転送する前記データよりも前記第１の仮想チャネルで転送する前記時刻要求パケットと前記補正量のタイムスタンプを優先し、前記第２の仮想チャネルで送信する前記データの出力よりも前記第１の仮想チャネルで出力する前記応答パケットを優先的に選択し、
前記１又は複数の第２の通信装置の各々は、
第２の時計と、
前記第２の時計により前記時刻要求パケットの受信を開始してから前記応答パケットの送信を開始するまでの時間を求め、該時間を含む前記応答パケットを作成し、前記第１の通信装置からの前記補正量に基づいて、前記第２の時計を補正する第２の時刻同期回路と、
前記応答パケットを出力するとともに、前記第２の時刻同期回路へ前記補正量を入力する第２のインターフェースと
を有し、
前記第２のインターフェースには、前記時刻要求パケットと前記応答パケットと前記補正量を転送する第３の仮想チャネルと、データを転送する第４の仮想チャネルとが設定され、前記第４の仮想チャネルで転送する前記データよりも前記第３の仮想チャネルで転送する前記応答パケットのタイムスタンプを優先し、前記第４の仮想チャネルで送信する前記データの出力よりも前記第３の仮想チャネルで出力する前記時刻要求パケット、前記補正量を優先的に選択する、通信システム。
【請求項２】
前記第１の時刻同期回路は、
前記時刻要求パケットの送信を開始してから前記１又は複数の第２の通信装置からの前記時刻要求パケットに対する応答パケットを受信するまでに要した第１の時間を求め、該第１の時間と前記１又は複数の第２の通信装置が前記時刻要求パケットの受信を開始してから前記応答パケットの送信を開始するまでの第２の時間とに基づいて、前記第１の通信装置と前記１又は複数の第２の通信装置との間で前記時刻要求パケットの伝送に要した第３の時間を予測し、該第３の時間と、前記時刻要求パケットの送信を開始してから前記第２の通信装置により前記時刻要求パケットの受信が開始されるまでの時間に基づいて、前記１又は複数の第２の通信装置の第２の時計の補正量を演算する、請求項１に記載の通信システム。
【請求項３】
前記第１のインターフェースは、前記第１の仮想チャネルで転送する前記時刻要求パケットと前記補正量を格納する第１のバッファと、
前記第２の仮想チャネルで転送する前記データを格納する第２のバッファと
を有し
前記第１のバッファのサイズは、前記時刻要求パケットのサイズと略同一である、請求項１に記載の通信システム。
【請求項４】
前記第１のインターフェースには、第１のルートコンプレックスが含まれ、
前記第２のインターフェースには、第２のルートコンプレックス又はエンドポイントが含まれる、請求項１ないし３のいずれか１項に記載の通信システム。
【請求項５】
前記第１のルートコンプレックスと前記エンドポイント又は第２のルートコンプレッスとの間に配置されるスイッチ
を有する、請求項４に記載の通信システム。
【請求項６】
前記第１の通信装置は、デジタルフロントエンドに実装され、
前記第２の通信装置は、プリンタに実装される、請求項１ないし５のいずれか１項に記載の通信システム。
【請求項７】
第１の通信装置と、該第１の通信装置とシリアルＩＦで順次接続された１又は複数の第３の通信装置と、該１又は複数の第３の通信装置のうちの１つとシリアルＩＦで接続された第２の通信装置を有する通信システムであって、
前記第１の通信装置は、
第１の時計と、
前記第１の時計により、前記第１の通信装置に接続されている第３の通信装置に設定されている時刻を要求する第１の時刻要求パケットの送信を開始してから前記第１の通信装置に接続されている第３の通信装置からの前記第１の時刻要求パケットに対する第１の応答パケットの受信が開始されるまでの時間を求め、該時間と、前記第１の通信装置と前記第１の通信装置に接続されている第３の通信装置との間で前記第１の時刻要求パケットの伝送に要した時間とに基づいて、前記第１の通信装置に接続されている第３の通信装置の第３の時計の第１の補正量を演算する第１の時刻同期回路と、
前記第１の時刻要求パケットと前記第１の補正量を出力するとともに、前記第１の時刻同期回路へ前記第１の応答パケットを入力する第１のインターフェースと
を有し、
前記第１のインターフェースには、前記第１の時刻要求パケットと前記第１の補正量と前記第１の応答パケットを転送する第１の仮想チャネルと、第１のデータを転送する第２の仮想チャネルとが設定され、該第２の仮想チャネルで転送する前記第１のデータよりも該第１の仮想チャネルで転送する前記第１の時刻要求パケットと前記第１の補正量のタイムスタンプを優先し、該第２の仮想チャネルで送信する前記第１のデータの出力よりも該第１の仮想チャネルで出力する前記第１の応答パケットを優先的に選択し、
前記１又は複数の第３の通信装置の各々は、
前記第３の時計と、
前記第３の時計により前記第１の時刻要求パケット又は接続された第３の通信装置からの第２の時刻要求パケットの受信を開始してから前記第１の応答パケット又は前記第２の時刻要求パケットに対する第２の応答パケットの送信を開始するまでの時間を求め、該時間を含む前記第１の応答パケット又は前記第２の応答パケットを作成し、前記第１の通信装置からの前記第１の補正量又は前記第２の時刻要求パケットを送信する第３の通信装置からの第２の補正量に基づいて、前記第３の時計を補正する第３の時刻同期回路と、
前記第１の応答パケット又は前記第２の応答パケットを出力するとともに、前記第３の時刻同期回路へ前記第１の補正量又は第２の補正量を入力する第３のインターフェースと、
前記第３の時計により、前記第２の時刻要求パケットを送信する第３の通信装置以外の第３の通信装置のうち接続された第３の通信装置に設定されている時刻を要求する第３の時刻要求パケット又は前記第２の通信装置に設定されている時刻を要求する第４の時刻要求パケットの送信を開始してから前記第３の時刻要求パケットの送信先である第３の通信装置により前記第３の時刻要求パケットに対する第３の応答パケット又は前記第２の通信装置により前記第４の時刻要求パケットに対する第４の応答パケットの受信が開始されるまでの時間を求め、該時間と、前記第３の時刻要求パケットを送信する第３の通信装置と前記第３の時刻要求パケットの送信先である第３の通信装置との間で前記第３の時刻要求パケットの伝送に要した時間又は前記第４の時刻要求パケットを送信する第３の通信装置と第２の通信装置との間で前記第４の時刻要求パケットの伝送に要した時間とに基づいて、前記第３の時刻要求パケットの送信先である第３の通信装置の第３の時計の第３の補正量又は前記第２の通信装置の第２の時計の第４の補正量を演算する第４の時刻同期回路と、
前記第３の時刻要求パケットと前記第３の補正量又は前記第４の時刻要求パケットと前記第４の補正量を出力するとともに、前記第４の時刻同期回路へ前記第３の応答パケット又は前記第４の応答パケットを入力する第４のインターフェースと
を有し、
前記第３のインターフェースには、前記第１の時刻要求パケットと前記第１の応答パケットと前記第１の補正量又は前記第２の時刻要求パケットと前記第２の応答パケットと前記第２の補正量を転送する第５の仮想チャネルと、前記第１のデータを転送する第６の仮想チャネルとが設定され、該第６の仮想チャネルで転送する前記第１のデータよりも該第５の仮想チャネルで転送する前記第１の応答パケット又は前記第２の応答パケットのタイムスタンプを優先し、該第６の仮想チャネルで送信する前記第１のデータの出力よりも該第５の仮想チャネルで出力する前記第１の時刻要求パケットと前記第１の補正量又は前記第２の時刻要求パケットと前記第２の補正量を優先的に選択し、
前記第４のインターフェースには、前記第３の時刻要求パケットと前記第３の応答パケットと前記第３の補正量又は前記第４の時刻要求パケットと前記第４の応答パケットと前記第４の補正量を転送する第７の仮想チャネルと、第２のデータを転送する第８の仮想チャネルとが設定され、該第８の仮想チャネルで転送する前記第２のデータよりも該第７の仮想チャネルで転送する前記第３の時刻要求パケットと前記第３の補正量又は前記第４の時刻要求パケットと前記第４の補正量のタイムスタンプを優先し、該第８の仮想チャネルで送信する前記第２のデータの出力よりも該第７の仮想チャネルで出力する前記第３の応答パケット又は前記第４の応答パケットを優先的に選択し、
前記第２の通信装置は、
前記第２の時計と、
前記第２の時計により前記第４の時刻要求パケットの受信を開始してから前記第４の応答パケットの送信を開始するまでの時間を求め、該時間を含む前記第４の応答パケットを作成し、前記第４の時刻要求パケットを送信した第３の通信装置からの前記第４の補正量に基づいて、前記第２の時計を補正する第２の時刻同期回路と、
前記第４の応答パケットを出力するとともに、前記第２の時刻同期回路へ前記第４の補正量を入力する第２のインターフェースと
を有し、
前記第２のインターフェースには、前記第４の時刻要求パケットと前記第４の応答パケットと前記第４の補正量を転送する第３の仮想チャネルと、前記第２のデータを転送する第４の仮想チャネルとが設定され、該第４の仮想チャネルで転送する前記第２のデータよりも該第３の仮想チャネルで転送する前記第４の応答パケットのタイムスタンプを優先し、該第４の仮想チャネルで送信する前記第２のデータの出力よりも該第３の仮想チャネルで出力する前記第４の時刻要求パケット、前記第４の補正量を優先的に選択する、通信システム。
【請求項８】
第１の通信装置と、該第１の通信装置とシリアルＩＦで接続された１又は複数の第２の通信装置とを有する通信システムにおける時刻同期方法であって、
前記第１の通信装置は、
第１の時計により、前記１又は複数の第２の通信装置に設定されている時刻を要求する時刻要求パケットの送信を開始してから前記１又は複数の第２の通信装置により前記時刻要求パケットの受信が開始されるまでの時間を求め、該時間と、前記第１の通信装置と前記１又は複数の第２の通信装置との間で前記時刻要求パケットの伝送に要した時間とに基づいて、前記第２の通信装置の第２の時計の補正量を演算し、
第１のインターフェースにより、前記時刻要求パケットと前記補正量を出力するとともに、第１の時刻同期回路へ前記応答パケットを入力し、
前記第１のインターフェースには、前記時刻要求パケットと前記補正量と前記応答パケットを転送する第１の仮想チャネルと、データを転送する第２の仮想チャネルとが設定され、前記第２の仮想チャネルで転送する前記データよりも前記第１の仮想チャネルで転送する前記時刻要求パケットと前記補正量のタイムスタンプを優先し、前記第２の仮想チャネルで送信する前記データの出力よりも前記第１の仮想チャネルで出力する前記応答パケットを優先的に選択し、
前記１又は複数の第２の通信装置の各々は、
第２の時計により前記時刻要求パケットの受信を開始してから前記応答パケットの送信を開始するまでの時間を求め、該時間を含む前記応答パケットを作成し、前記第１の通信装置からの前記補正量に基づいて、前記第２の時計を補正し、
第２のインターフェースにより、前記応答パケットを出力するとともに、前記第２の時刻同期回路へ前記補正量を入力し、
前記第２のインターフェースには、前記時刻要求パケットと前記応答パケットと前記補正量を転送する第１の仮想チャネルと、データを転送する第２の仮想チャネルとが設定され、前記第２の仮想チャネルで転送する前記データよりも前記第１の仮想チャネルで転送する前記応答パケットのタイムスタンプを優先し、前記第２の仮想チャネルで送信する前記データの出力よりも前記第１の仮想チャネルで出力する前記時刻要求パケット、前記補正量を優先的に選択する、時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
複数の機器がそれぞれ連動して動作する通信システムにおいて、各機器が同期したクロックを用いて処理を実行する場合がある。このような通信システムには、証券取引向けネットワークサーバ機器や、ＦＡ(factory Automation)機器が含まれる。証券取引向けネットワークサーバ機器は、処理の実行時間をタイムスタンプとして正確に記録する必要がある。ＦＡ(factory Automation)機器は、複数の工程が正確に時間同期し、生産工程を制御する。
【０００３】
証券取引向けネットワークサーバ機器や、ＦＡ機器に、ＧＰＳや標準電波からの基準クロック信号を受信する機能や、原始時計を搭載すると非常に高コストになる。このため、イーサネット（登録商標）等のLANを経由して基準クロックを持つマスター機器のクロックに、その他のスレーブとなる機器のクロックを同期させるＮＴＰ(Network Time Protocol)技術を利用した通信システムが既に知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＮＴＰ技術を利用した通信システムでは、マスター機器のクロックと、スレーブ機器のクロックとの間のクロック同期の誤差が大きくなる。
【０００５】
そこで、クロック同期の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
開示の通信システムは、
第１の通信装置と、該第１の通信装置とシリアルＩＦでそれぞれ接続された１又は複数の第２の通信装置とを有する通信システムであって、
前記第１の通信装置は、
第１の時計と、
前記第１の時計により、前記１又は複数の第２の通信装置に設定されている時刻を要求する時刻要求パケットの送信を開始してから前記１又は複数の第２の通信装置により前記時刻要求パケットに対する応答パケットの受信が開始されるまでの時間を求め、該時間と、前記第１の通信装置と前記１又は複数の第２の通信装置との間で前記時刻要求パケットの伝送に要した時間とに基づいて、前記１又は複数の第２の通信装置の第２の時計の補正量を演算する第１の時刻同期回路と、
前記時刻要求パケットと前記補正量を出力するとともに、前記第１の時刻同期回路へ前記応答パケットを入力する第１のインターフェースと
を有し、
前記第１のインターフェースには、前記時刻要求パケットと前記補正量と前記応答パケットを転送する第１の仮想チャネルと、データを転送する第２の仮想チャネルとが設定され、前記第２の仮想チャネルで転送する前記データよりも前記第１の仮想チャネルで転送する前記時刻要求パケットと前記補正量のタイムスタンプを優先し、前記第２の仮想チャネルで送信する前記データの出力よりも前記第１の仮想チャネルで出力する前記応答パケットを優先的に選択し、
前記１又は複数の第２の通信装置の各々は、
第２の時計と、
前記第２の時計により前記時刻要求パケットの受信を開始してから前記応答パケットの送信を開始するまでの時間を求め、該時間を含む前記応答パケットを作成し、前記第１の通信装置からの前記補正量に基づいて、前記第２の時計を補正する第２の時刻同期回路と、
前記応答パケットを出力するとともに、前記第２の時刻同期回路へ前記補正量を入力する第２のインターフェースと
を有し、
前記第２のインターフェースには、前記時刻要求パケットと前記応答パケットと前記補正量を転送する第３の仮想チャネルと、データを転送する第４の仮想チャネルとが設定され、前記第４の仮想チャネルで転送する前記データよりも前記第３の仮想チャネルで転送する前記応答パケットのタイムスタンプを優先し、前記第４の仮想チャネルで送信する前記データの出力よりも前記第３の仮想チャネルで出力する前記時刻要求パケット、前記補正量を優先的に選択する。
【発明の効果】
【０００７】
開示の実施例によれば、クロック同期の精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】通信システムの一実施例を示す図である。
【図２】スレーブクロックの補正量の計算方法の一実施例を示す図である。
【図３】第１の通信装置のマスター時刻同期回路の一実施例を示す機能ブロック図である。
【図４】第２の通信装置のスレーブ時刻同期回路の一実施例を示す機能ブロック図である。
【図５】第１の通信装置のＩＦの一実施例を示す図である。
【図６】スイッチの一実施例を示す図である。
【図７】第２の通信装置のＩＦの一実施例を示す図である。
【図８】第１の通信装置の動作の一実施例を示すフローチャートである。
【図９】第２の通信装置の動作の一実施例を示すフローチャートである。
【図１０】通信システムの一実施例と従来の通信システムとの比較を示す図である。
【図１１】通信システムの一変形例を示す図である。
【図１２】通信システムの一変形例を示す図である。
【図１３】通信システムの一変形例を示す図である。
【図１４】通信システムの一変形例を示す図である。
【発明を実施するための形態】
【０００９】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１０】
＜実施例＞
＜通信システム＞
図１は、通信システムの一実施例を示す。
【００１１】
通信システムは、第１の通信装置１００と、第２の通信装置２００とを有する。図１には、主に、第１の通信装置１００と、第２の通信装置２００のハードウェア構成が示される。
【００１２】
第１の通信装置１００は時間同期においてマスターとして機能し、第２の通信装置２００は時間同期においてスレーブとして機能する。つまり、スレーブとしての第２の通信装置２００は、マスターとしての第１の通信装置１００の有するクロック（マスタークロック（マスター時計）１０２）に、自装置の有するクロック（スレーブクロック（スレーブ時計）２０２）を同期させる処理を実行する。
【００１３】
第１の通信装置１００と第２の通信装置２００との間は、高速シリアルインターフェース（ＩＦ）により接続される。通信システムの一実施例には、高速シリアルインターフェースに、ＰＣＩｅケーブルインターフェースが用いられる。
【００１４】
＜第１の通信装置１００＞
第１の通信装置１００は、マスタークロック（マスター時計）１０２と、マスター時刻同期回路１０４と、データ転送回路１０６と、ＩＦ１０８とを有する。第１の通信装置１００には、ＩＦ１０８を介して、ＩＦカード１１０が接続される。また、ＩＦカード１１０には、トランシーバ１１４が接続される。
【００１５】
ＩＦ１０８は、第１の通信装置１００とＩＦカード１１０との間のインターフェース(InterFace)である。ＩＦ１０８は、マスター時刻同期回路１０４と接続される。例えば、ＩＦ１０８には、PCIe IFが含まれる。PCIe IFは、時分割で、シリアル伝送路を複数のトラフィックで共有する仮想チャネル（VC： Virtual Channel)を複数実装する。第１の通信装置１００の一実施例には、２つの仮想チャネルが実装される。具体的には、ＩＦ１０８は、ＶＣ０と、ＶＣ１の２つの仮想チャネルを実装する。
【００１６】
ＩＦカード１１０は、スイッチ１１２を有する。スイッチ１１２は、ＩＦ１０８とＩＦカード１１０との間で、パケット転送を行う。つまり、スイッチ１１２は、ＩＦ１０８とＩＦカード１１０との間で、パケット転送を処理するブリッジとして機能する。ＩＦカード１１０には、PCIe Cable IF Cardが含まれる。スイッチ１１２には、PCIeスイッチが含まれる。スイッチ１１２は、ＶＣ０と、ＶＣ１の２つの仮想チャネルを実装する。
【００１７】
トランシーバ１１４は、第２の通信装置２００との間で、伝送路３００を介して、信号の送受信を行う。トランシーバ１１４には、光トランシーバが含まれる。伝送路３００には、光ファイバーが含まれる。
【００１８】
マスタークロック１０２は、通信システムにおける基準クロックである。
【００１９】
マスター時刻同期回路１０４は、マスタークロック１０２と接続される。マスター時刻同期回路１０４は、マスタークロック１０２から第１の時刻情報を受信する。マスター時刻同期回路１０４は、ＩＦ１０８のＶＣ１に、第２の通信装置２００に時刻を要求する時刻要求パケットを出力する。マスター時刻同期回路１０４は、ＩＦ１０８のＶＣ１から、時刻要求パケットに対する第２の通信装置２００からの時刻応答パケットを受信する。マスター時刻同期回路１０４は、マスタークロック１０２に、第２の通信装置２００のスレーブクロック２０２を同期させるための補正量を演算する。マスター時刻同期回路１０４は、ＩＦ１０８のＶＣ１に、補正量を含む補正量信号を出力する。
【００２０】
データ転送回路１０６は、ＩＦ１０８と接続される。データ転送回路１０６は、第１の通信装置１００と第２の通信装置２００との間でデータ転送を実行する。データ転送回路１０６は、ＩＦ１０８のＶＣ０へ、第２の通信装置２００へ転送するデータを入力する。データ転送回路１０６は、ＩＦ１０８のＶＣ０から、第２の通信装置２００により転送されたデータを受信する。
【００２１】
＜第２の通信装置２００＞
第２の通信装置２００は、スレーブクロック（スレーブ時計）２０２と、スレーブ時刻同期回路２０４と、データ転送回路２０６と、ＩＦ２０８とを有する。第２の通信装置２００には、ＩＦ２０８を介して、ＩＦカード２１０が接続される。また、ＩＦカード２１０には、トランシーバ２１４が接続される。
【００２２】
ＩＦ２０８は、第２の通信装置２００とＩＦカード２１０との間のインターフェース(InterFace)である。ＩＦ２０８は、スレーブ時刻同期回路２０４と接続される。例えば、ＩＦ２０８には、PCIe IFが含まれる。第２の通信装置２００の一実施例には、２つの仮想チャネルが実装される。具体的には、ＩＦ２０８は、ＶＣ０と、ＶＣ１の２つの仮想チャネルを実装する。
【００２３】
ＩＦカード２１０は、スイッチ２１２を有する。スイッチ２１２は、ＩＦ２０８とＩＦカード２１０との間で、パケット転送を行う。つまり、スイッチ２１２は、ＩＦ２０８とＩＦカード２１０との間で、パケット転送を処理するブリッジとして機能する。ＩＦカード２１０には、PCIe Cable IF Cardが含まれる。スイッチ２１２には、PCIeスイッチが含まれる。スイッチ２１２は、ＶＣ０と、ＶＣ１の２つの仮想チャネルを実装する。
【００２４】
トランシーバ２１４は、第１の通信装置１００との間で、伝送路３００を介して、信号の送受信を行う。トランシーバ２１４には、光トランシーバが含まれる。
【００２５】
スレーブクロック２０２は、第２の通信装置２００におけるクロックである。
【００２６】
スレーブ時刻同期回路２０４は、スレーブクロック２０２と接続される。スレーブ時刻同期回路２０４は、スレーブクロック２０２から第２の時刻情報を受信する。スレーブ時刻同期回路２０４は、ＩＦ２０８から、第１の通信装置１００からの時刻要求パケットを受信する。スレーブ時刻同期回路２０４は、ＩＦ２０８のＶＣ１へ、時刻要求パケットに対する時刻応答パケットを出力する。スレーブ時刻同期回路２０４は、ＩＦ２０８のＶＣ１から、補正量信号を受信する。スレーブ時刻同期回路２０４は、スレーブクロック２０２に、補正量信号に含まれる補正量を入力する。スレーブクロック２０２は、スレーブ時刻同期回路２０４からの補正量に基づいて、クロックを補正する。
【００２７】
データ転送回路２０６は、ＩＦ２０８と接続される。データ転送回路２０６は、第１の通信装置１００と第２の通信装置２００との間でデータ転送を実行する。データ転送回路２０６は、ＩＦ２０８のＶＣ０へ、第１の通信装置１００へ転送するデータを入力する。データ転送回路２０６は、ＩＦ２０８のＶＣ０から、第１の通信装置１００により転送されたデータを受信する。
【００２８】
＜スレーブクロック２０２の補正量の計算方法＞
図２は、スレーブクロック２０２の補正量の計算方法を示す。図２において、「遅延時間Ｔ１」は、第１の通信装置１００が時刻要求パケットの送信を開始してから、第１の通信装置２００が第２の通信装置２００からの時刻応答パケットの受信を開始するまでの時間である。「遅延時間Ｔ２」は、第２の通信装置２００が第１の通信装置１００からの時刻要求パケットの受信を開始してから、第２の通信装置２００が時刻応答パケットの送信を開始するまでの時間である。「遅延時間Ｔ３」は、第１の通信装置１００から第２の通信装置２００に、パケットが転送されるのに要した時間である。「遅延時間Ｔ４」は、第２の通信装置２００から第１の通信装置１００に、パケットが転送されるのに要した時間である。
【００２９】
図３は、第１の通信装置１００の一実施例を示す。図３には、マスター時刻同期回路１０４の機能ブロック図が示される。各機能ブロックは、マスター時刻同期回路１０４の有するＣＰＵ（図示なし）により実行されてもよい。
【００３０】
ＣＰＵは、第１の時刻情報取得部３０２と、時刻要求パケット作成部３０４と、補正量演算部３０６と、補正量信号作成部３０８として機能する。
【００３１】
第１の時刻情報取得部３０２は、マスタークロック１０２から時刻Ｍを取得する。
【００３２】
時刻要求パケット作成部３０４は、第１の時刻情報取得部３０２が時刻Ｍを取得した後、第２の通信装置２００に対する時刻要求パケットを作成し、ＩＦ１０８のＶＣ１に入力する。時刻要求パケットは、ＩＦ１０８、ＩＦカード１１０、トランシーバ１１４を介して、第２の通信装置２００へ送信される。時刻要求パケット作成部３０４は、時刻要求パケットを送信した時刻を記録する。例えば、時刻要求パケット作成部３０４は、ＩＦ１０８のＶＣ１へ、時刻要求パケットを入力した時間を記録するのが好ましい。
【００３３】
時刻要求パケットは、伝送路３００、第２の通信装置２００のトランシーバ２１４、ＩＦカード２１０、ＩＦ２０８を経由して、スレーブ時刻同期回路２０４へ入力される。
【００３４】
第１の通信装置１００から時刻要求パケットが送信（転送）され、該時刻要求パケットが第２の通信装置２００に受信されるまでの遅延時間をＴ３とする。
【００３５】
図４は、第２の通信装置２００の一実施例を示す。図４には、スレーブ時刻同期回路２０４の機能ブロック図が示される。各機能ブロックは、スレーブ時刻同期回路２０４の有するＣＰＵ（図示なし）により実行されてもよい。
【００３６】
ＣＰＵは、第２の時刻情報取得部４０２と、時刻応答パケット作成部４０４と、時刻補正処理部４０６として機能する。
【００３７】
スレーブ時刻同期回路２０４により時刻要求パケットが受信されると、第２の時刻情報取得部４０２は、スレーブクロック２０２から時刻Ｓを取得する。
【００３８】
時刻応答パケット作成部４０４は、第２の時刻情報取得部４０２が取得した時刻Ｓを含む時刻応答パケットを作成し、ＩＦ２０８に入力する。時刻応答パケット作成部４０４は、第１の通信装置１００へ時刻応答パケットを送信する際に、該時刻応答パケットに時刻要求パケットの受信を開始した時間からの遅延時間Ｔ２を含める。時刻応答パケット作成部４０４は、ＩＦ２０８へ時刻応答パケットを入力する際に、該時刻応答パケットに、時刻要求パケットの受信を開始した時間からの遅延時間Ｔ２を含めるのが好ましい。時刻応答パケット作成部４０４には、システムクロックが入力される。システムクロックは、一定周期のパルスを発生させる回路であるのが好ましい。例えば、時刻応答パケット作成部４０４は、スレーブクロック２０２に時刻を問い合わせてから時刻が戻ってくるまでに、システムクロックにより出力されるパルスの数を、クロックカウンタ等を用いて計測することにより経過時間を計算し、時刻応答パケットに含めるのが好ましい。
【００３９】
時刻応答パケットは、ＩＦ２０８、ＩＦカード２１０、トランシーバ２１４を介して、第１の通信装置１００へ送信される。さらに、時刻応答パケットは、伝送路３００、第１の通信装置１００のトランシーバ１１４、ＩＦカード１１０、ＩＦ１０８を介して、マスター時刻同期回路１０４の補正量演算部３０６へ入力される。
【００４０】
補正量演算部３０６は、時刻応答パケットが入力されると、時刻要求パケットを送信する際に記録した時刻Ｍから、時刻応答パケットの受信を開始するまでに要した遅延時間Ｔ１を演算する。補正量演算部３０６は、遅延時間Ｔ１を求める際に、時刻要求パケットを送信する際に記録した時刻Ｍから時刻応答パケットがマスター時刻同期回路１０４へ入力されるまでの経過時間を演算するのが好ましい。
【００４１】
補正量演算部３０６は、時刻応答パケットに含まれる時刻Ｓと、遅延時間Ｔ２を取得する。
【００４２】
補正量演算部３０６は、遅延時間Ｔ１−遅延時間Ｔ２により、第１の通信装置１００と第２の通信装置２００との間の往復に、パケット（時刻要求パケット、時刻応答パケット）が要した時間を演算する。通信システムの一実施例では、ＰＣＩｅが適用されるため、第１の通信装置１００から第２の通信装置２００へ時刻要求パケットが伝送される際の転送速度と、第２の通信装置２００から第１の通信装置１００へ時刻応答パケットが伝送される際の転送速度には、ほとんど差がないと想定される。従って、第１の通信装置１００から第２の通信装置２００に、パケットが転送されるのに要した遅延時間Ｔ３と第２の通信装置２００から第１の通信装置１００に、パケットが転送されるのに要した遅延時間Ｔ４は、（遅延時間Ｔ１−遅延時間Ｔ２）／２により算出できる。
【００４３】
補正量演算部３０６は、（時刻Ｓ）−（時刻Ｍ）−Ｔ３により、マスタークロック１０２にスレーブクロック２０２を同期させるために、スレーブクロックを補正する補正量を演算する。
【００４４】
補正量信号作成部３０８は、補正量を含む補正量パケットを作成し、ＩＦ１０８のＶＣ１に入力する。補正量パケットは、第２の通信装置２００へ転送される。
【００４５】
補正量パケットは、ＩＦ１０８、ＩＦカード１１０、トランシーバ１１４を介して、第２の通信装置２００へ転送される。
【００４６】
第２の通信装置２００のスレーブ時刻同期回路２０４に、伝送路３００、トランシーバ２１４、ＩＦカード２１０、ＩＦ２０８を介して、補正量パケットが入力される。
【００４７】
時刻補正処理部４０６は、補正量パケットに含まれる補正量に基づいて、スレーブクロック２０２を補正する。
【００４８】
スレーブクロック２０２を補正することにより、第１の通信装置１００のマスタークロック１０２に、第２の通信装置２００のスレーブクロック２０２を同期させることができる。
【００４９】
＜ＩＦ１０８＞
図５は、ＩＦ１０８の一実施例を示す。
【００５０】
ＩＦ１０８の一実施例は、仮想チャネルを２本実装する。２本の仮想チャネルをＶＣ１、ＶＣ２と呼ぶ。ＩＦ１０８が、３本以上の仮想チャネルを実装するようにしてもよい。ＩＦ１０８にPCIe IFを適用する場合、PCIe IFは、２つ以上の仮想チャネルインターフェースを備えることができる。
【００５１】
ＩＦ１０８は、ＶＣ１送信バッファ５０２と、ＶＣ０送信バッファ５０４と、アービタ５０６と、ＶＣ１受信バッファ５０８と、ＶＣ０受信バッファ５１０と、セレクタ５１２を有する。
【００５２】
各ＶＣは受信バッファと送信バッファを有する。つまり、ＶＣ０は、ＶＣ０受信バッファ５１０とＶＣ０送信バッファ５０４とを有する。ＶＣ１は、ＶＣ１受信バッファ５０８とＶＣ１送信バッファ５０２とを有する。
【００５３】
ＶＣ１は、マスター時刻同期回路１０４との通信に使用される。ＶＣ１受信バッファ５０８のサイズは、パケットが１つ格納できる程度であるのが好ましい。ＶＣ１送信バッファ５０２のサイズは、パケットが１つ格納できる程度であるのが好ましい。ＶＣ１送信バッファ５０２のサイズは予め設定されるのが好ましい。
【００５４】
ＶＣ０は、データ転送回路１０６との通信に使用される。ＶＣ０受信バッファ５１０のサイズは、パケットが複数格納できる程度であるのが好ましい。より好ましくは、ＶＣ０受信バッファ５１０のサイズは、データ転送レートが低下しないように、なるべく多くのパケットが格納できるように、回路サイズやコストが許す限り大きくする。ＶＣ０受信バッファ５１０のサイズは、予め設定されるのが好ましい。
【００５５】
ＶＣ０送信バッファ５０４のサイズは、パケットが複数格納できる程度であるのが好ましい。より好ましくは、ＶＣ０送信バッファ５０４のサイズは、データ転送レートが低下しないように、なるべく多くのパケットが格納できるように、回路サイズやコストが許す限り大きくする。ＶＣ０送信バッファ５０４のサイズは、予め設定されるのが好ましい。
【００５６】
ＩＦ１０８の一実施例では、ＶＣ０受信バッファ５１０のサイズを１２８バイトのペイロードのＰＣＩｅパケットが３０個格納できるサイズとし、ＶＣ０送信バッファ５０４のサイズを１２８バイトのペイロードのＰＣＩｅパケットが３０個格納できるサイズとする。
【００５７】
マスター時刻同期回路１０４からＶＣ１に入力されたパケットと、データ転送回路１０６からＶＣ０に入力されたパケットは、出力側で競合が発生しない限り、シリアルインターフェースにそのまま転送される。
【００５８】
仮に、ＶＣ１送信バッファ５０２、ＶＣ０送信バッファ５０４にパケットが格納されており、競合が発生した場合には、アービタ５０６は、ＶＣ１送信バッファ５０２とＶＣ０送信バッファ５０４との間で調停を行う。アービタ５０６は、ＶＣ１送信バッファ５０２に格納されたパケット、ＶＣ０送信バッファ５０４に格納されたパケットのいずれかを選択し、転送する。ＩＦ１０８の一実施例では、アービタ５０６は、ＶＣ１送信バッファ５０２に格納されたパケットを優先的に選択し、転送する。つまり、ＩＦ１０８にPCIe IFを適用する場合、PCIe規格に規定されているストリクト（Strict）モードを使用してＶＣ１送信バッファ５０２に格納されたパケットを優先的に選択するように設定する。ストリクトモードを使用することにより、仮想チャネル毎に固定の優先順でパケットを発行させることができる。このようにすることにより、データ転送回路１０６からのデータパケットよりも、時刻要求パケット、補正量パケット等の時刻同期用パケットを優先して送信できる。
【００５９】
ＶＣ１送信バッファ５０２に格納されたパケットと、ＶＣ０送信バッファ５０４に格納されたパケットとの間で競合が発生した場合でも、ＶＣ１送信バッファ５０２のサイズは、パケットが１つ格納できる程度であるので、PCIe規格により規定されたフロー制御により連続してＶＣ１送信バッファ５０２に格納されるパケットが入力されることはない。従って、データ転送回路１０６からのデータパケットに、時刻同期パケットが優先して連続で転送され続けることはない。このため、時刻同期パケットが転送され続けることにより、データ転送レートが低下することを抑えることができる。
【００６０】
第２の通信装置２００からのパケットは、スイッチ１１２からセレクタ５１２に入力される。
【００６１】
セレクタ５１２は、パケットのヘッダ情報を参照し、ＶＣ１受信バッファ５０８に格納するパケットであるか、ＶＣ０受信バッファ５１０に格納するデータであるかを判定する。
【００６２】
セレクタ５１２は、ＶＣ１受信バッファ５０８に、ＶＣ１受信バッファ５０８に格納するパケットを転送する。ＶＣ１受信バッファ５０８は、マスター時刻同期回路１０４に接続される。
【００６３】
セレクタ５１２は、ＶＣ０受信バッファ５１０に、ＶＣ０受信バッファ５１０に格納するパケットを転送する。ＶＣ０受信バッファ５１０は、データ転送回路１０６に接続される。
【００６４】
ＶＣ０とＶＣ１は、シリアルインターフェースでは、時分割される。セレクタ５１２は、シリアルインターフェースからのパケットを到着した順に、ＶＣ１受信バッファ５０８とＶＣ０受信バッファ５１０に順次振り分ける。
【００６５】
＜スイッチ１１２＞
図６は、スイッチ１１２の一実施例を示す。
【００６６】
スイッチ１１２は、第１のＩＦ６０２と、クロスバースイッチ６１６と、第２のＩＦ６１８とを有する。
【００６７】
第１のＩＦ６０２は、アービタ６０４と、ＶＣ１送信バッファ６０６と、ＶＣ０送信バッファ６０８と、セレクタ６１０と、ＶＣ１受信バッファ６１２と、ＶＣ０受信バッファ６１４とを有する。
【００６８】
第２のＩＦ６１８は、ＶＣ１受信バッファ６２０と、ＶＣ０受信バッファ６２２と、セレクタ６２４と、ＶＣ１送信バッファ６２６と、ＶＣ０送信バッファ６２８と、アービタ６３０とを有する。
【００６９】
スイッチ１１２は、外部ポートと同様の種類のＩＦを有する。例えば、スイッチ１１２は、ＩＦ１０８と同様の種類の第１のＩＦ６０２と、トランシーバ１１４と同様の種類の第２のＩＦ６１８とを有する。第１のＩＦ６０２にPCIe IF回路を適用する場合、PCIe IF回路は２つ以上のＶＣインターフェースを備えることができる。第１のＩＦ６０２の一実施例は、２本のＶＣを実装する。第２のＩＦ６１８にPCIe IF回路を適用する場合、PCIe IF回路は２つ以上のＶＣインターフェースを備えることができる。第２のＩＦ６１８の一実施例は、２本のＶＣを実装する。
【００７０】
図６に示される例では、第１のＩＦ６０２はＩＦ１０８と接続され、第２のＩＦ６１８はトランシーバ１１４と接続される。
【００７１】
第１のＩＦ６０２は、クロスバースイッチ６１６を介して、第２のＩＦ６１８と接続される。より詳細には、第１のＩＦ６０２のＶＣ１送信バッファ６０６は、クロスバースイッチ６１６を介して、第２のＩＦ６１８のＶＣ１受信バッファ６２０と接続される。第１のＩＦ６０２のＶＣ０送信バッファ６０８は、クロスバースイッチ６１６を介して、第２のＩＦ６１８のＶＣ０受信バッファ６２２と接続される。第１のＩＦ６０２のＶＣ１受信バッファ６１２は、クロスバースイッチ６１６を介して、第２のＩＦ６１８のＶＣ１送信バッファ６２６と接続される。第１のＩＦ６０２のＶＣ０受信バッファ６１４は、クロスバースイッチ６１６を介して、第２のＩＦ６１８のＶＣ０送信バッファ６２８と接続される。
【００７２】
第１のＩＦ６０２について説明する。
【００７３】
各ＶＣは受信バッファと送信バッファを有する。つまり、ＶＣ０は、ＶＣ０送信バッファ６０８と、ＶＣ０受信バッファ６１４とを有する。ＶＣ１は、ＶＣ１送信バッファ６０６と、ＶＣ１受信バッファ６１２とを有する。
【００７４】
ＶＣ１送信バッファ６０６のサイズは、パケットが１つ格納できる程度であるのが好ましい。ＶＣ１受信バッファ６１２のサイズは、パケットが１つ格納できる程度であるのが好ましい。ＶＣ０送信バッファ６０８のサイズは、パケットが複数格納できる程度であるのが好ましい。より好ましくは、ＶＣ０送信バッファ６０８のサイズは、データ転送レートが低下しないように、なるべく多くのパケットが格納できるように、回路コストが許す限り大きくする。ＶＣ０受信バッファ６１４のサイズは、パケットが複数格納できる程度であるのが好ましい。より好ましくは、ＶＣ０受信バッファ６１４のサイズは、データ転送レートが低下しないように、なるべく多くのパケットが格納できるように、回路コストが許す限り大きくする。
【００７５】
第２のＩＦ６１８について説明する。
【００７６】
各ＶＣは受信バッファと送信バッファを有する。つまり、ＶＣ０は、ＶＣ０受信バッファ６２２と、ＶＣ０送信バッファ６２８とを有する。ＶＣ１は、ＶＣ１受信バッファ６２０と、ＶＣ１送信バッファ６２６とを有する。
【００７７】
ＶＣ１受信バッファ６２０のサイズは、パケットが１つ格納できる程度であるのが好ましい。ＶＣ１送信バッファ６２６のサイズは、パケットが１つ格納できる程度であるのが好ましい。ＶＣ０受信バッファ６２２のサイズは、パケットが複数格納できる程度であるのが好ましい。より好ましくは、ＶＣ０受信バッファ６２２のサイズは、データ転送レートが低下しないように、なるべく多くのパケットが格納できるように、回路コストが許す限り大きくする。ＶＣ０送信バッファ６２８のサイズは、パケットが複数格納できる程度であるのが好ましい。より好ましくは、ＶＣ０送信バッファ６２８のサイズは、データ転送レートが低下しないように、なるべく多くのパケットが格納できるように、回路コストが許す限り大きくする。
【００７８】
ＩＦ１０８からＶＣ１に入力されたパケットと、ＩＦ１０８からＶＣ０に入力されたパケットは、出力側で競合が発生しない限り、トランシーバ１１４にそのまま転送される。
【００７９】
仮に、ＶＣ１送信バッファ６２６、ＶＣ０送信バッファ６２８にパケットが格納されており、競合が発生した場合には、アービタ６３０は、ＶＣ１送信バッファ６２６とＶＣ０送信バッファ６２８との間で調停を行う。アービタ６３０は、ＶＣ１送信バッファ６２６に格納されたパケット、ＶＣ０送信バッファ６２８に格納されたパケットのいずれかを選択し、転送する。スイッチ１１２の一実施例では、アービタ６３０は、ＶＣ１送信バッファ６２６に格納されたパケットを優先的に選択し、転送する。つまり、スイッチ１１２にPCIe Switchを適用する場合、PCIe規格に規定されているストリクトモードを使用してＶＣ１送信バッファ６２６に格納されたパケットを優先的に選択するように設定する。ストリクトモードを使用することにより、仮想チャネル毎に固定の優先順でパケットを発行させることができる。このようにすることにより、データパケットよりも、時刻要求パケット、補正量パケット等の時刻同期用パケットを優先して送信できる。
【００８０】
ＶＣ１送信バッファ６２６に格納されたパケットと、ＶＣ０送信バッファ６２８に格納されたパケットとの間で競合が発生した場合でも、ＶＣ１送信バッファ６２６のサイズは、パケットが１つ格納できる程度であるので、PCIe規格により規定されたフロー制御により連続してＶＣ１送信バッファ６２６に格納されるパケットが入力されることはない。従って、データパケットに、時刻同期パケットが優先して連続で転送され続けることはない。このため、時刻同期パケットが転送され続けることによりデータ転送レートが低下することを抑えることができる。
【００８１】
セレクタ６１０は、パケットのヘッダ情報を参照し、ＶＣ１受信バッファ６１２に格納するパケットであるか、ＶＣ０受信バッファ６１４に格納するデータであるかを判定する。
【００８２】
セレクタ６１０は、ＶＣ１受信バッファ６１２にＶＣ１受信バッファ６１２に格納するパケットを転送する。ＶＣ１受信バッファ６１２は、ＶＣ１送信バッファ６２６に接続される。
【００８３】
セレクタ６１０は、ＶＣ０受信バッファ６１４にＶＣ０受信バッファ６１４に格納するパケットを転送する。ＶＣ０受信バッファ６１４は、ＶＣ０送信バッファ６２８に接続される。
【００８４】
ＶＣ０とＶＣ１は、シリアルインターフェースでは、時分割される。セレクタ６１０は、シリアルインターフェースからのパケットを到着した順に、ＶＣ１受信バッファ６１２とＶＣ０受信バッファ６１４に順次振り分ける。
【００８５】
トランシーバ１１４からＶＣ１に入力されたパケットと、トランシーバ１１４からＶＣ０に入力されたパケットは、出力側で競合が発生しない限り、ＩＦ１０８にそのまま転送される。
【００８６】
仮に、ＶＣ１送信バッファ６０６、ＶＣ０送信バッファ６０８にパケットが格納されており、競合が発生した場合には、アービタ６０４は、ＶＣ１送信バッファ６０６とＶＣ０送信バッファ６０８との間で調停を行う。アービタ６０４は、ＶＣ１送信バッファ６０６に格納されたパケット、ＶＣ０送信バッファ６０８に格納されたパケットのいずれかを選択し、転送する。スイッチ１１２の一実施例では、アービタ６０４は、ＶＣ１送信バッファ６０６に格納されたパケットを優先的に選択し、転送する。つまり、スイッチ１１２にPCIe Switchを適用する場合、PCIe規格に規定されているストリクトモードを使用してＶＣ１送信バッファ６０６に格納されたパケットを優先的に選択するように設定する。ストリクトモードを使用することにより、仮想チャネル毎に固定の優先順でパケットを発行させることができる。このようにすることにより、データパケットよりも、時刻応答パケット等の時刻同期用パケットを優先して入力できる。
【００８７】
ＶＣ１送信バッファ６０６に格納されたパケットと、ＶＣ０送信バッファ６０８に格納されたパケットとの間で競合が発生した場合でも、ＶＣ１送信バッファ６０６のサイズは、パケットが１つ格納できる程度であるので、PCIe規格により規定されたフロー制御により連続してＶＣ１送信バッファ６０６に格納されるパケットが入力されることはない。従って、データパケットに、時刻同期パケットが優先して連続で転送され続けることはない。このため、時刻同期パケットが転送され続けることによりデータ転送レートが低下することを抑えることができる。
【００８８】
セレクタ６２４は、パケットのヘッダ情報を参照し、ＶＣ１受信バッファ６２０に格納するパケットであるか、ＶＣ０受信バッファ６２２に格納するデータであるかを判定する。
【００８９】
セレクタ６２４は、ＶＣ１受信バッファ６２０にＶＣ１受信バッファ６２０に格納するパケットを転送する。ＶＣ１受信バッファ６２０は、ＶＣ１送信バッファ６０６に接続される。
【００９０】
セレクタ６２４は、ＶＣ０受信バッファ６２２に、ＶＣ０受信バッファ６２２に格納するパケットを転送する。ＶＣ０受信バッファ６２２は、ＶＣ０送信バッファ６０８に接続される。
【００９１】
ＶＣ０とＶＣ１は、内部バスでは、時分割される。セレクタ６２４は、トランシーバ１１４からのパケットを到着した順に、ＶＣ１受信バッファ６２０とＶＣ０受信バッファ６２２に順次振り分ける。
【００９２】
＜ＩＦ２０８＞
図７は、ＩＦ２０８の一実施例を示す。
【００９３】
ＩＦ２０８の一実施例は、仮想チャネルを２本実装する。２本の仮想チャネルをＶＣ１、ＶＣ２と呼ぶ。ＩＦ２０８が、３本以上の仮想チャネルを実装するようにしてもよい。ＩＦ２０８にPCIe IFを適用する場合、PCIe IFは、２つ以上の仮想チャネルインターフェースを備えることができる。
【００９４】
ＩＦ２０８は、ＶＣ１送信バッファ７０２と、ＶＣ０送信バッファ７０４と、アービタ７０６と、ＶＣ１受信バッファ７０８と、ＶＣ０受信バッファ７１０と、セレクタ７１２を有する。
【００９５】
各ＶＣは受信バッファと送信バッファを有する。つまり、ＶＣ０は、ＶＣ０送信バッファ７０４と、ＶＣ０受信バッファ７１０とを有する。ＶＣ１は、ＶＣ１送信バッファ７０２と、ＶＣ１受信バッファ７０８とを有する。
【００９６】
ＶＣ１は、スレーブ時刻同期回路２０４との通信に使用される。ＶＣ１受信バッファ７０８のサイズは、パケットが１つ格納できる程度であるのが好ましい。ＶＣ１送信バッファ７０２のサイズは、パケットが１つ格納できる程度であるのが好ましい。
【００９７】
ＶＣ０は、データ転送回路２０６との通信に使用される。ＶＣ０受信バッファ７１０のサイズは、パケットが複数格納できる程度であるのが好ましい。より好ましくは、ＶＣ０受信バッファ７１０のサイズは、データ転送レートが低下しないように、なるべく多くのパケットが格納できるように、回路サイズやコストが許す限り大きくする。ＶＣ０送信バッファ７０４のサイズは、パケットが複数格納できる程度であるのが好ましい。より好ましくは、ＶＣ０送信バッファ７０４のサイズは、データ転送レートが低下しないように、なるべく多くのパケットが格納できるように、回路サイズやコストが許す限り大きくする。
【００９８】
ＩＦ２０８の一実施例では、ＶＣ０受信バッファ７１０のサイズを１２８バイトのペイロードのＰＣＩｅパケットが３０個格納できるサイズとし、ＶＣ０送信バッファ７０４のサイズを１２８バイトのペイロードのＰＣＩｅパケットが３０個格納できるサイズとする。
【００９９】
スレーブ時刻同期回路２０４からＶＣ１に入力されたパケットと、データ転送回路２０６からＶＣ０に入力されたパケットは、出力側で競合が発生しない限り、シリアルインターフェースにそのまま転送される。
【０１００】
仮に、ＶＣ１送信バッファ７０２、ＶＣ０送信バッファ７０４にパケットが格納されており、競合が発生した場合には、アービタ７０６は、ＶＣ１送信バッファ７０２とＶＣ０送信バッファ７０４との間で調停を行う。アービタ７０６は、ＶＣ１送信バッファ７０２に格納されたパケット、ＶＣ０送信バッファ７０４に格納されたパケットのいずれかを選択し、転送する。ＩＦ２０８の一実施例では、アービタ７０６は、ＶＣ１送信バッファ７０２に格納されたパケットを優先的に選択し、転送する。つまり、ＩＦ２０８にPCIe IFを適用する場合、PCIe規格に規定されているストリクトモードを使用してＶＣ１送信バッファ７０２に格納されたパケットを優先的に選択するように設定する。ストリクトモードを使用することにより、仮想チャネル毎に固定の優先順でパケットを発行させることができる。このようにすることにより、データ転送回路２０６からのデータパケットよりも、時刻応答パケットを優先して送信できる。
【０１０１】
ＶＣ１送信バッファ７０２に格納されたパケットと、ＶＣ０送信バッファ７０４に格納されたパケットとの間で競合が発生した場合でも、ＶＣ１送信バッファ７０２のサイズは、パケットが１つ格納できる程度であるので、PCIe規格により規定されたフロー制御により連続してＶＣ１送信バッファ７０２に格納されるパケットが入力されることはない。従って、データ転送回路２０６からのデータパケットに、時刻同期パケットが優先して連続で転送され続けることはない。このため、時刻同期パケットが転送され続けることによりデータ転送レートが低下することを抑えることができる。
【０１０２】
第１の通信装置１００からのパケットは、スイッチ２１２からセレクタ７１２に入力される。
【０１０３】
セレクタ７１２は、パケットのヘッダ情報を参照し、ＶＣ１受信バッファ７０８に格納するパケットであるか、ＶＣ０受信バッファ７１０に格納するデータであるかを判定する。
【０１０４】
セレクタ７１２は、ＶＣ１受信バッファ７０８に、ＶＣ１受信バッファ７０８に格納するパケットを転送する。ＶＣ１受信バッファ７０８は、スレーブ時刻同期回路２０４に接続される。
【０１０５】
セレクタ７１２は、ＶＣ０受信バッファ７１０に、ＶＣ０受信バッファ７１０に格納するパケットを転送する。ＶＣ０受信バッファ７１０は、データ転送回路２０６に接続される。
【０１０６】
ＶＣ０とＶＣ１は、シリアルインターフェースでは、時分割される。セレクタ７１２は、シリアルインターフェースからのパケットを到着した順に、ＶＣ１受信バッファ７０８とＶＣ０受信バッファ７１０に順次振り分ける。
【０１０７】
＜第１の通信装置１００の動作＞
図８は、第１の通信装置１００の動作の一実施例を示す。図６は、主に、マスター時刻同期回路１０４の動作を示す。
【０１０８】
ステップＳ８０２では、第１の通信装置１００は、マスタークロック１０２から、時刻Ｍを取得する。
【０１０９】
ステップＳ８０４では、第１の通信装置１００は、ＩＦ１０８のＶＣ１へ、時刻要求パケットを入力するとともに、送信開始時間を記録する。
【０１１０】
ステップＳ８０６では、第１の通信装置１００は、ＩＦ１０８のＶＣ１から、時刻応答パケットが受信可能か否かを判定する。時刻応答パケットが受信可能でない場合、ステップＳ８０６に戻る。
【０１１１】
ステップＳ８０８では、時刻応答パケットが受信可能であると判定された場合、時刻応答パケットの受信開始時間を記録する。
【０１１２】
ステップＳ８１０では、第１の通信装置１００は、遅延時間Ｔ１を計算する。マスター時刻同期回路１０４は、送信開始時間から受信開始時間を減算することにより、遅延時間Ｔ１を計算する。
【０１１３】
ステップＳ８１２では、第１の通信装置１００は、時刻応答パケットから、スレーブ時刻Ｓを読み出して記録する。
【０１１４】
ステップＳ８１４では、第１の通信装置１００は、パケットの伝送遅延時間Ｔ３（Ｔ4）を計算する。マスター時刻同期回路１０４は、遅延時間Ｔ１から遅延時間Ｔ２を減算したものを２で除算することにより、遅延時間Ｔ３を計算する。つまり、マスター時刻同期回路１０４は、（遅延時間Ｔ１−遅延時間Ｔ２）／２を計算する。
【０１１５】
ステップＳ８１６では、第１の通信装置１００は、スレーブクロックの補正量を計算する。マスター時刻同期回路１０４は、時刻Ｓから時刻Ｍを減算したものから遅延時間Ｔ３を減算することにより、スレーブクロックの補正量を計算する。つまり、マスター時刻同期回路１０４は、時刻Ｓ−時刻Ｍ−遅延時間Ｔ３を計算する。
【０１１６】
ステップＳ８１８では、第１の通信装置１００は、ＩＦ１０８へ、補正量を記録した補正量パケットを入力する。
【０１１７】
ステップＳ８２０では、第１の通信装置１００は、次の時刻補正時刻まで待機する。時刻補正は、所定の周期で実行されてもよい。次の時刻補正時刻となった場合、ステップＳ８０２へ戻る。
【０１１８】
時刻補正は、周期的に行うようにしてもよいし、常時行うようにしてもよい。
【０１１９】
＜第２の通信装置２００の動作＞
図９は、第２の通信装置２００の動作の一実施例を示す。図９は、主に、スレーブ時刻同期回路２０４の動作を示す。
【０１２０】
ステップＳ９０２では、第２の通信装置２００は、ＩＦ２０８から時刻要求パケットを受信可能であるか否かを判定する。時刻要求パケットが受信可能でない場合、ステップＳ９０２に戻る。
【０１２１】
ステップＳ９０４では、時刻要求パケットが受信可能であると判定された場合、第２の通信装置２００は、時刻要求パケットの受信開始時間を記録する。
【０１２２】
ステップＳ９０６では、第２の通信装置２００は、スレーブクロック２０２から、時刻Ｓを取得する。
【０１２３】
ステップＳ９０８では、第２の通信装置２００は、遅延時間Ｔ２を計算する。スレーブ時刻同期回路２０４は、受信開始時間から送信開始時間を減算することにより、遅延時間Ｔ２を計算する。
【０１２４】
ステップＳ９１０では、第２の通信装置２００は、ＩＦ２０８へ、遅延時間Ｔ２と時刻Ｓを含む時刻応答パケットを入力する。
【０１２５】
ステップＳ９１２では、第２の通信装置２００は、ＩＦ２０８から、補正量パケットが受信可能であるか否かを判定する。補正量パケットが受信可能でない場合、ステップＳ９１２に戻る。
【０１２６】
ステップＳ９１４では、第２の通信装置２００は、補正量パケットから、スレーブ時刻Ｓの補正量を読み出して記録する。
【０１２７】
ステップＳ９１６では、第２の通信装置２００は、スレーブクロック２０２を補正する。スレーブ時刻同期回路２０４は、時刻Ｓから補正量を減算することにより、補正後の時刻を求める。スレーブ時刻同期回路２０４は、スレーブクロック２０２に、補正後の時刻を設定する。
【０１２８】
＜通信システムの一実施例の効果＞
図１０は、通信システムの一実施例の効果を示す。
【０１２９】
図１０には、時刻同期用パケット（時刻要求パケット、時刻応答パケット、補正量パケット）がＩＦ１０８のアービタ５０６、ＩＦ２０８のアービタ７０６で待たされる遅延時間の比較を示す。第１の通信装置１００、第２の通信装置２００は、１２８Ｂｙｔｅ  Ｐａｙｌｏａｄのパケットが３０個を格納できるサイズのデータ転送用のパケットバッファを有する。図１０には、（１）データ転送が無い状態、（２）複数ＶＣを使用しない場合、（３）時刻同期用パケットをＶＣ１で優先して転送する場合を示す。（２）複数ＶＣを使用しない場合が従来の方法に相当する。（３）時刻同期用パケットをＶＣ１で優先して転送する場合が通信システムの一実施例に相当する。
【０１３０】
マスタークロック１０２とスレーブクロック２０２との間の同期精度を向上させるには、時刻要求パケット、時刻応答パケット、補正量パケット等の時刻同期パケットが高速シリアルインターフェースを伝送することにより生じる遅延時間の誤差が小さい方が好ましい。
【０１３１】
この遅延時間の誤差は、時刻同期用パケットとデータ転送用パケットの競合が無い場合は、発生しない。しかし、(２)に示されるように、データパケットと時刻同期用のパケットが共通のバッファを使用する通信システムでは、時刻同期用パケットとデータ転送との間に競合が発生した場合に、大きな誤差が生じる。
【０１３２】
（１）データ転送がない場合
時刻同期用パケットはデータパケットの転送に邪魔されないので、遅延は発生しない。
【０１３３】
（２）複数ＶＣを使用しない場合
バッファにデータパケットが３０個格納された後に時刻同期用パケットを転送しようとしても、先に格納された３０個のデータパケットの転送が完了するまで時刻同期用パケットは転送されないため、遅延する。
【０１３４】
仮に、高速シリアルIFがPCIe Gen1 (2.5GT/s)x4であるとすると、１つの１２８Ｂｙｔｅ  Ｐａｙｌｏａｄのデータパケットの伝送に１５２ｎｓ程度の時間が必要となる。従って、３０個のパケットの転送が終わるまでには、１５２ｎｓ×３０＝４５６０ｎｓの遅延が発生して、計測誤差となる。
【０１３５】
従って、複数ＶＣを使用しない場合には、μｓからｍｓオーダーの同期精度が限界となる。
【０１３６】
（３）時刻同期用パケットをＶＣ１で優先して転送する場合
複数のＶＣを使用して、時刻同期用パケットを優先して転送するので、待たされる時間は最大でも、１つのデータパケットの転送にかかる１５２ｎｓ程度となる。つまり、最大遅延がデータパケット1個分以下に保証される。従って、ｎｓオーダーの時刻補正が可能となる。
【０１３７】
最大遅延が１５２ｎｓ程度となるため、マスターとスレーブとの間でｎｓオーダーの精度のクロック同期が可能となる。
【０１３８】
さらに、データ転送と時刻同期用パケットの転送を同一のインターフェースで実行可能であるため、時刻同期用パケットを転送するために専用のLAN接続も不要となる。従って、簡単に実現できるとともに、低コスト化を実現できる。
【０１３９】
さらに、時刻同期用パケットを転送することによりデータ転送レートが低下するような悪影響はほとんどないため、高速シリアルのデータ転送と、高精度なクロック同期処理を両立することができる。
【０１４０】
通信システムの一実施例では、ｎｓｅｃレベルでのクロック同期を実現できる。
【０１４１】
ＮＴＰ技術を利用した通信システムでは、LANの通信遅延時間や、処理がソフトウェアとして実行されることから通信遅延が長くなっていた。また、クロック同期の誤差が大きく、最大でｍｓｅｃレベルでのクロック同期が限界であった。
【０１４２】
高精度にクロックを同期するＩＥＥＥ１５８８という標準規格では、クロック同期の精度はμｓｅｃオーダーである。このため、高精度なｎｓｅｃオーダーの同期を得るには、精度が不足する。
【０１４３】
通信システムの一実施例では、クロック同期のために、別途LANで接続することなく、時刻同期の精度を向上させることができる。複数の機器間で高速なデータ転送が必要な場合には、LANよりも高速なデータ転送帯域を持つＰＣＩｅ等の高速インターフェースで、複数の機器が接続される場合があった。この場合、クロック同期のために別途LANの接続が必要となり、コストアップにつながっていた。
＜変形例（その１）＞
通信システムの一変形例では、第１の通信装置１００はルートコンプレックスを有し、第２の通信装置２００はエンドポイントを有する。
【０１４４】
図１１は、通信システムの一変形例を示す。
【０１４５】
図１１に示される例では、第１の通信装置１００は、図１を参照して説明した第１通信装置１００のＩＦ１０８の代わりに、ルートコンプレックス１１６を有する。ルートコンプレックス１１６は、マスター時刻同期回路１０４と、データ転送回路１０６と、スイッチ１１２と接続される。第２の通信装置２００は、図１を参照して説明した第２の通信装置２００のＩＦ２０８の代わりに、エンドポイント２１６を有する。エンドポイント２１６は、スレーブ時刻同期回路２０４と、テータ転送回路２０６と、スイッチ２１２と接続される。
【０１４６】
通信システムの一変形例では、ｎｓｅｃレベルのクロック同期を実現できる。
＜変形例（その２）＞
通信システムの一変形例では、第１の通信装置１００はルートコンプレックス１１６を有し、第２の通信装置２００はエンドポイント２１６を有する。
【０１４７】
図１２は、通信システムの一変形例を示す。
【０１４８】
図１２に示される例では、図１１を参照して説明した第２の通信装置が複数用意される。第１の通信装置１００と、複数の第２の通信装置２００ｎ（ｎは、ｎ＞０の整数）とが、スイッチ６００を介して接続される。換言すれば、スイッチ６００は、ルートコンプレックス１１６とエンドポイント２１６との間に配置される。図１２には、ｎ＝２の場合ついて示す。ｎが３以上である場合についても同様である。
【０１４９】
第１の通信装置１００と複数の第２の通信装置２００ｎとの間は、スイッチ６００を経由して、時刻同期用パケットの転送、データ転送を行うことができる。
【０１５０】
通信システムの一変形例では、ｎｓｅｃレベルのクロック同期を実現できる。
＜変形例（その３）＞
通信システムの一変形例では、図１１を参照して説明した第１の通信装置１００と、第２の通信装置２００との間を、第３の通信装置を介して、デイジーチェーン接続する。
【０１５１】
図１３は、通信システムの一変形例を示す。
【０１５２】
図１３に示される例では、図１１を参照して説明した第１の通信装置１００と、第２の通信装置２００が用意される。第１の通信装置１００と、第２の通信装置２００とが、第３の通信装置１００を介してデイジーチェーン接続される。
【０１５３】
第３の通信装置１０００は、共通クロック１００２と、スレーブ時刻同期回路１００４と、データ転送回路１００６と、エンドポイント１０１６と、マスター時刻同期回路１０１８と、ルートコンプレックス１０２６とを有する。第３の通信装置１０００には、エンドポイント１０１６を介して、ＩＦカード１０１０が接続される。また、ＩＦカード１０１０には、トランシーバ１０１４が接続される。第３の通信装置１０００には、ルートコンプレックス１０２６を介して、ＩＦカード１０２０が接続される。また、ＩＦカード１０２０には、トランシーバ１０２４が接続される。
【０１５４】
スレーブ時刻同期回路１００４はスレーブ時刻同期回路２０４と同様であり、データ転送回路１００６はテータ転送回路２０６と同様であり、エンドポイント１０１６はエンドポイント２１６と同様である。マスター時刻同期回路１０１８はマスター時刻同期回路１０４と同様であり、ルートコンプレックス１０２６はルートコンプレックス１１６と同様である。ＩＦカード１０１０はＩＦカード２１０と同様であり、スイッチ１０１２はスイッチ２１２と同様であり、トランシーバ１０１４はトランシーバ２１４と同様である。
ＩＦカード１０２０はＩＦカード１１０と同様であり、スイッチ１０２２はスイッチ１１２と同様であり、トランシーバ１０２４はトランシーバ１１４と同様である。
【０１５５】
第３の通信装置１０００は、第１の通信装置１００に対しては時間同期においてスレーブとして機能する。また、第３の通信装置１０００は、第２の通信装置２００に対しては時間同期においてマスターとして機能する。
【０１５６】
第２の通信装置１０００は、マスターとしての第１の通信装置１００の有するクロック（マスタークロック１０２）に、自装置の有するクロック（共通クロック１００２）を同期させる処理を実行する。
【０１５７】
スレーブ時刻同期回路１００４は、共通クロック１００２と接続される。スレーブ時刻同期回路１００４は、共通クロック１００２から時刻情報を受信する。スレーブ時刻同期回路１００４は、エンドポイント１０１６から、第１の通信装置１００からの時刻要求パケットを受信する。スレーブ時刻同期回路１００４は、エンドポイント１０１６のＶＣ１へ、時刻要求パケットに対する時刻応答パケットを出力する。スレーブ時刻同期回路１００４は、エンドポイント１０１６のＶＣ１から、補正量信号を受信する。スレーブ時刻同期回路１００４は、共通クロック１００２に、補正量信号に含まれる補正量を入力する。共通クロック１００２は、スレーブ時刻同期回路１００４からの補正量に基づいて、クロックを補正する。
【０１５８】
マスター時刻同期回路１０１８は、共通クロック１００２と接続される。マスター時刻同期回路１０１８は、共通クロック１００２から時刻情報を受信する。マスター時刻同期回路１０１８は、ルートコンプレックス１０２６のＶＣ１に、第２の通信装置２００に時刻を要求する時刻要求パケットを出力する。マスター時刻同期回路１０１８は、ルートコンプレックス１０２６のＶＣ１から、時刻要求パケットに対する第２の通信装置２００からの時刻応答パケットを受信する。マスター時刻同期回路１０１８は、共通クロック１００２に、第２の通信装置２００のスレーブクロック２０２を同期させるための補正量を演算する。マスター時刻同期回路１０１８は、ルートコンプレックス１０２６のＶＣ１に、補正量を含む補正量信号を出力する。
【０１５９】
図１３において、複数の第３の通信装置１０００をデイジーチェーン接続するようにしてもよい。
【０１６０】
この場合、第３の通信装置と接続される他の第３の通信装置は、該第３の通信装置が直接又は間接に第１の通信装置１００と接続されている場合に、該第３の通信装置に対しては時間同期においてスレーブとして機能する。
【０１６１】
また、該他の第３の通信装置は、直接又は間接に第２の通信装置２００と接続されている第３の通信装置と接続されている場合に、該第３の通信装置に対して時間同期においてマスターとして機能する。
【０１６２】
第３の通信装置は、スレーブとしての他の第３の通信装置の有するクロック（共通クロック）に、該第３の通信装置の有するクロック（共通クロック）を同期させる処理を実行する。
【０１６３】
他の第３の通信装置のスレーブ時刻同期回路１００４は、他の第３の通信装置の共通クロック１００２と接続される。他の第３の通信装置のスレーブ時刻同期回路１００４は、他の第３の通信装置の共通クロック１００２から時刻情報を受信する。他の第３の通信装置のスレーブ時刻同期回路１００４は、他の第３の通信装置のエンドポイント１０１６から、第３の通信装置からの時刻要求パケットを受信する。他の第３の通信装置のスレーブ時刻同期回路１００４は、他の第３の通信装置のエンドポイント１０１６のＶＣ１へ、時刻要求パケットに対する時刻応答パケットを出力する。他の第３の通信装置のスレーブ時刻同期回路１００４は、他の第３の通信装置のエンドポイント１０１６のＶＣ１から、補正量信号を受信する。他の第３の通信装置のスレーブ時刻同期回路１００４は、他の第３の通信装置の共通クロック１００２に、補正量信号に含まれる補正量を入力する。他の第３の通信装置の共通クロック１００２は、他の第３の通信装置のスレーブ時刻同期回路１００４からの補正量に基づいて、クロックを補正する。
【０１６４】
他の第３の通信装置のマスター時刻同期回路１０１８は、他の第３の通信装置の共通クロック１００２と接続される。他の第３の通信装置のマスター時刻同期回路１０１８は、他の第３の通信装置の共通クロック１００２から時刻情報を受信する。他の第３の通信装置のマスター時刻同期回路１０１８は、他の第３の通信装置のルートコンプレックス１０２６のＶＣ１に、他の第３の通信装置に対してスレーブとして機能する第３の通信装置に時刻を要求する時刻要求パケットを出力する。他の第３の通信装置のマスター時刻同期回路１０１８は、他の第３の通信装置のルートコンプレックス１０２６のＶＣ１から、時刻要求パケットに対する第２の通信装置２００からの時刻応答パケットを受信する。他の第３の通信装置のマスター時刻同期回路１０１８は、他の第３の通信装置の共通クロック１００２に他の第３の通信装置に対してスレーブとして機能する第３の通信装置の共通クロックを同期させるための補正量を演算する。他の第３の通信装置のマスター時刻同期回路１０１８は、他の第３の通信装置のルートコンプレックス１０２６のＶＣ１に、補正量を含む補正量信号を出力する。
【０１６５】
通信システムの一変形例では、第１の通信装置１００のマスタークロック１０２に１又は複数の第３の通信装置１０００の共通クロック１００２を合わせることができるとともに、該１又は複数の第３の通信装置１０００のうち、第２の通信装置２００に接続された１の第３の通信装置の共通クロック１００２に第２の通信装置２００のスレーブクロック２０２を合わせることができる。つまり、第１の通信装置１００のマスタークロック１０２に、第３の通信装置１０００の共通クロック１００２、第２の通信装置２００のスレーブクロック２０２をｎｓｅｃレベルでクロック同期させることができる。
【０１６６】
＜変形例（その４）＞
通信システムの一変形例では、画像形成装置への適用例を示す。
【０１６７】
図１３は、通信システムの一変形例を示す。
【０１６８】
通信システムは、デジタルフロントエンド(DFE: Digital FrontRnd)７００と、プリンタ８００とを有する。
【０１６９】
デジタルフロントエンド７００は、ＲＩＰ(Raster Image Processing)処理部９０４と、第１の通信装置１００と、ＩＦカード１１０と、トランシーバ１１４とを有する。
【０１７０】
ＲＩＰ処理部９０４は、ＣＰＵ９０６と、レンダリング処理部９０８と、圧縮処理部９１０と、伸張処理部９１２と、ＨＤＤ９１４と、ネットワーク処理部９１６と、メモリ９１８とを有する。
【０１７１】
プリンタ８００は、トランシーバ２１４と、ＩＦカード２１０と、第２の通信装置２００と、印刷コントローラ８０２と、印刷エンジン８１６とを有する。
【０１７２】
印刷コントローラ８０２は、ＣＰＵ８０４と、書き込み制御部８０６と、ＤＭＡＣ(Direct Memory Access Controller)８０８とを有する。印刷エンジン８１６は、印刷部８１２を有する。
【０１７３】
ＲＩＰ処理部９０４は、クライアントＰＣ９０２から送信された印刷ジョブをＰＤＬ(Page Description Language)形式から、印刷用のラスター形式の画像データに展開する。
【０１７４】
印刷コントローラ８０２は、印刷エンジン８１６を制御する。印刷コントローラ８０２は、印刷エンジン８１６へ、第２の通信装置２００からの画像データを転送する制御を実行する。
【０１７５】
印刷エンジン８１６は、所定の方式で、画像データを印刷する。所定の方式には、電子写真方式、インクジェット方式が含まれる。
【０１７６】
＜通信システムの動作＞
図１３に示された番号に従って、クライアントによる印刷ジョブが実行される際の動作について説明する。
【０１７７】
（１）クライアントＰＣ９０２から、LANを経由して、ＲＩＰ処理部９０４のネットワーク処理部９１６に、印刷ジョブが送信される。印刷ジョブの形式は、ＰＤＬ形式であるのが好ましい。
【０１７８】
（２）ネットワーク処理部９１６に受信された印刷ジョブは、メモリ９１８に一時的に保管される。
【０１７９】
（３）レンダリング処理部９０８は、メモリ９１８に格納された印刷ジョブを読み出し、レンダリング処理を行うことにより、印刷用画像データに展開する。印刷用画像データはラスター形式であるのが好ましい。
【０１８０】
（４）圧縮処理部９１０は、レンダリング処理部９０８により展開された画像データを圧縮して、ＨＤＤ９１４に格納する。
【０１８１】
（５）伸張処理部９１２は、ＨＤＤ９１４に格納された圧縮データを、順次伸張し、メモリ９１８に展開する。
【０１８２】
（６）データ転送回路１０６は、メモリ９１８に展開されたイメージデータを読み込み、ＩＦ１０８に入力する。
【０１８３】
（７）ＩＦ１０８に入力されたイメージデータは、スイッチ１１２、トランシーバ１１４、伝送路３００、トランシーバ２１４、スイッチ２１２、ＩＦ２０８を経由して、第２の通信装置２００のデータ転送回路２０６に転送される。
【０１８４】
（８）印刷コントローラ８０２の書き込み制御部８０６は、印刷コントローラ８０２のＤＭＡＣ８０８と、印刷エンジン８１６の印刷部８１２に印刷処理を指示する。ＤＭＡＣ８０６は、データ転送回路２０６からイメージデータを読み出し、印刷部８１２へ転送する。印刷部８１２は、データ転送回路２０６から転送された画像データを印刷する。
【０１８５】
（８）のデータ転送する処理は、印刷ジョブ毎、ページ毎、又は、ページを構成するバンドデータ、バンドデータを構成するラインデータ単位で、同時並行して行われる。データ転送する処理が、所定の単位で、同時変更して行われることにより、印刷処理を実行できる。
【０１８６】
デジタルフロントエンド７００とプリンタ８００は、印刷処理を実行する際に、様々なジョブ制御や、障害発生時に参照可能なログデータを取得するために、それぞれが正確に同期した時刻で、タイムスタンプの管理を行わなければならない。
【０１８７】
画像形成装置に、通信システムの一実施例を適用することで、高速なプリンタのラスター画像転送を行う際に、高速なデータ転送が可能なシリアルインターフェースを時刻同期に利用できる。さらに、DFEがマスターとなり、プリンタがスレーブするとして、時刻同期することで正確なタイムスタンプ管理を実現することが可能となる。
【０１８８】
本発明は特定の実施例を参照しながら説明されてきたが、各実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウエアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【０１８９】
１００  第１の通信装置
１０２  マスタークロック
１０４  マスター時刻同期回路
１０６  データ転送回路
１０８  ＩＦ
１１０  ＩＦカード
１１２  スイッチ
１１４  トランシーバ
３００  伝送路
２００  第２の通信装置
２０２  マスタークロック
２０４  マスター時刻同期回路
２０６  データ転送回路
２０８  ＩＦ
２１０  ＩＦカード
２１２  スイッチ
２１４  トランシーバ
【先行技術文献】
【特許文献】
【０１９０】
【特許文献１】特開２００７−２７９８５号公報
【図１】
2014146877.tif 000003
【図２】
2014146877.tif 000004
【図３】
2014146877.tif 000005
【図４】
2014146877.tif 000006
【図５】
2014146877.tif 000007
【図６】
2014146877.tif 000008
【図７】
2014146877.tif 000009
【図８】
2014146877.tif 000010
【図９】
2014146877.tif 000011
【図１０】
2014146877.tif 000012
【図１１】
2014146877.tif 000013
【図１２】
2014146877.tif 000014
【図１３】
2014146877.tif 000015
【図１４】
2014146877.tif 000016