JP3697949B2 - Communication device - Google Patents
Communication device Download PDFInfo
- Publication number
- JP3697949B2 JP3697949B2 JP16565999A JP16565999A JP3697949B2 JP 3697949 B2 JP3697949 B2 JP 3697949B2 JP 16565999 A JP16565999 A JP 16565999A JP 16565999 A JP16565999 A JP 16565999A JP 3697949 B2 JP3697949 B2 JP 3697949B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- network
- time value
- time
- value
- 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 - Lifetime
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、通信技術に関し、特に複数の通信装置間で同期をとるための通信技術に関する。
【0002】
【従来の技術】
IEEE1394規格のデジタルシリアル通信が普及しつつある。IEEE1394規格では、複数の通信ノードを接続してネットワークを構成することができる。例えば、1つの受信ノードは、複数の送信ノードからオーディオデータを受信することができる。
【0003】
第1及び第2の送信ノードが同時に1つの受信ノードにデータを送信するとする。この場合、ノード間の距離の相違等により、通常、受信ノードが第1の送信ノードから受信する時刻と第2の送信ノードから受信する時刻が異なる。例えば、第1の送信ノードからデータを受信し、その後に第2の送信ノードからデータを受信する。
【0004】
送信ノードと受信ノードは、それぞれ独自のサイクルタイマを有する。各サイクルタイマは、同期がとれていない。受信ノードは、第1の送信ノードから受信するデータと第2の送信ノードから受信するデータとの同期をとることが困難である。
【0005】
また、1つの送信ノードが第1及び第2の受信ノードに同じデータをほぼ同時に送信することがある。しかし、上記と同様に、通常、第1の受信ノードが受信する時刻と第2の受信ノードが受信する時刻が異なる。第1及び第2の受信ノードは、それぞれ自己のサイクルタイマに応じて、受信したデータの再生を行うので、第1及び第2の受信ノードの再生処理にずれが生じやすい。
【0006】
【発明が解決しようとする課題】
受信ノードは、複数の送信ノードから送信されるデータの同期をとることが困難である。また、送信ノードが複数の受信ノードにデータを送信する場合には、複数の受信ノード間における同期をとることが困難である。
【0007】
本発明の目的は、複数の通信ノード間で通信するデータの同期をとることができる通信装置を提供することである。
【0008】
【課題を解決するための手段】
本発明の一観点によれば、ネットワークに接続された複数のノードの1つを形成する通信装置は、前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、オーディオデータのサンプルをカウントするカウント値を生成するサンプルカウント生成手段と、前記同期化された時間値に対応する時間値に最大遅延量を加味した同期時間値を生成する同期時間値生成手段と、所定時間間隔で、前記サンプルカウント値と同期時間値とを含む同期パケットを生成し、生成した同期パケットを前記ネットワークに出力する同期パケット出力手段とを有する。
【0009】
また、本発明の他の観点によれば、ネットワークに接続された複数のノードの1つを形成する通信装置は、前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、前記ネットワークに接続されたワードクロックノードから同期情報を受信する受信手段と、前記同期化された時間値と前記受信した同期情報に基づいてワードクロックを発生するクロック発生手段と、前記ワードクロックに基づいてオーディオデータのサンプルを順次供給するデータサンプル供給手段と、前記同期情報に基づいてオーディオデータのサンプルカウント値を供給するサンプルカウント供給手段と、前記カウント値に転送最大遅延量を加味した同期カウント値を生成する同期カウント生成手段と、前記供給された複数のサンプルと前記同期カウント値とを含むデータパケットを生成し、生成したデータパケットを前記ネットワークに接続された受信ノードに送信する送信手段とを有する通信装置。
【0010】
また、本発明のさらに他の観点によれば、ネットワークに接続された複数のノードの1つを形成する通信装置は、前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、前記ネットワークに接続されたワードクロックノードから同期情報を受信する受信手段と、前記同期化された時間値と前記受信した同期情報に基づいてワードクロックを発生するクロック発生手段と、前記ワードクロックに基づいてオーディオデータのサンプルを順次供給するデータサンプル供給手段と、前記同期化された時間値に転送最大遅延量を加味した同期時間値を生成する同期時間値生成手段と、前記供給された複数のサンプルと前記同期時間値とを含むデータパケットを生成し、生成したデータパケットを前記ネットワークに接続された受信ノードに送信する送信手段とを有する。
【0011】
また、本発明のさらに他の観点によれば、ネットワークに接続された複数のノードの1つを形成する通信装置は、前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、前記ネットワークに接続されたワードクロックノードから同期情報を受信する同期情報受信手段と、前記同期化された時間値と前記受信した同期情報に基づいてワードクロックを発生するクロック発生手段と、前記ネットワークに接続された送信ノードから、複数のサンプルと該複数のサンプルに関連した同期カウント値とを含むデータパケットを受信するデータ受信手段と、前記同期情報と前記同期カウント値とに基づくタイミングで、前記データパケットに含まれる複数のサンプルを、前記ワードクロックに応じて1サンプルずつ順次出力するサンプル出力手段とを有する。
【0012】
また、本発明のさらに他の観点によれば、ネットワークに接続された複数のノードの1つを形成する通信装置は、前記ネットワークに接続されたルートノードから当該通信装置までの通信の到達遅延時間を計測する計測手段と、前記計測手段が計測する到達遅延時間に応じて補正値を決定する決定手段と、前記ルートノードの出力する時間値を受信する時間値受信手段と、受信した時間値を前記補正値に応じて補正する補正手段と、補正された時間値に基づいて同期化された時間値を発生するサイクルタイマと、前記ネットワークに接続されたワードクロックノードから同期情報を受信する同期情報受信手段と、前記同期化された時間値と前記受信した同期情報に基づいてワードクロックを発生するクロック発生手段とを有する
また、本発明のさらに他の観点によれば、ネットワークに接続された複数のノードの1つを形成する通信装置は、前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、前記ルートノードから当該通信装置までの通信の到達遅延時間を計測する計測手段と、前記計測手段が計測する到達遅延時間に応じて補正値を決定する決定手段と、前記ネットワークに接続されたワードクロックノードから同期情報を受信する同期情報受信手段と、受信した同期情報を前記補正値に応じて補正する補正手段と、前記同期化された時間値と前記補正された同期情報に基づいてワードクロックを発生するクロック発生手段とを有する。
【0013】
【発明の実施の形態】
図1は、本発明の第1の実施例による通信ネットワークの構成を示すブロック図である。
本実施例では、IEEE1394規格に準拠した"audio and music data transmission protocol"の規定に則ったパケット転送が可能である。そのパケット転送は、IEEE1394規格のアイソクロナスパケット転送で行うことが好ましい。
【0014】
IEEE1394バス4には、ワードクロック(WC)マスタノード1とWCスレーブノード2,3が接続されている。WCスレーブノード2は送信ノード(以下、Txノードという)であり、WCスレーブノード3は受信ノード(以下、Rxノードという)である。バス4には、複数のTxノード2及び/又は複数のRxノード3を接続してもよい。
【0015】
WCマスタノード1はサイクルタイマ1aを有し、Txノード2はサイクルタイマ2aを有し、Rxノード3はサイクルタイマ3aを有する。サイクルタイマ1a,2a,3aは、基本的に約25MHzで動作するカウンタである。
【0016】
WCマスタノード1は、バス4を介して、Txノード2及びRxノード3にWCパケット5を送信する。WCパケット5は、同期をとるためのパケットであり、システムタイム5a及びサンプルカウント5bを含む。
【0017】
WCマスタノード1は、例えばWCパケット5−24、5−32、5−40等を所定間隔で順次送信する。WCパケット5−24は、第24サンプルのオーディオデータの同期をとるためのパケットである。WCパケット5−32及び5−40は、それぞれ第32サンプル及び第40サンプルのオーディオデータの同期をとるためのパケットである。
【0018】
Txノード2は、WCマスタノード1から受信したWCパケット5に応じてタイミングを調整し、データパケット6をバス4を介してRxノード3へ送信する。データパケット6は、サンプルカウントを示すDBC6a及び8つのサンプルデータ6bを含む。
【0019】
Txノード2は、例えばデータパケット6−24、6−32、6−40等を所定間隔で順次Rxノード3へ送信する。データパケット6−24は、第24〜31サンプルのオーディオデータ6bを含む。データパケット6−32及び6−40は、それぞれ第32〜39サンプル及び第40〜47サンプルのオーディオデータ6bを含む。
【0020】
Rxノード3は、WCマスタノード1から受信したWCパケット5に応じてタイミングを調整し、Txノード2から受信したデータパケット6内のサンプルデータ(例えばオーディオデータ)6bを再生する。
【0021】
図2は、Txノード2の動作を説明するためのタイミングチャートである。
【0022】
まず、データパケット6−24(図1)の生成方法を説明する。Txノード2は、第24サンプルデータD24から第31サンプルデータD31までの8個のデータを1つのデータパケット6bとして生成する。インターバルSYT_INTERVALは、パケットを生成する周期である。
【0023】
サイクルタイマ2aは、時間経過に応じて32ビットのサイクルタイム値を増加する。ここで、第24、第32及び第40サンプルデータD24、D32、D40のサイクルタイムをそれぞれCT24、CT32及びCT40とする。
【0024】
システムタイムSYT24、SYT32及びSYT40は、それぞれサイクルタイムCT24、CT32、CT40の下位16ビットの値である。
【0025】
DBC6aは、サンプルカウントを示す。例えば、データパケット6bの先頭データは、第24番目のサンプルデータD24であるので、そのデータパケット6bに対応するDBC6aの値は24である。
【0026】
データパケット6(図1)は、DBC6a及びデータパケット6bを有する。DBC6aの代わりに、システムタイムSYT24を含ませてもよい。システムタイムSYT24は、上記のように、データパケット6bの先頭サンプルデータD24のタイミングを示す。
【0027】
データパケット6−32(図1)も上記と同様に生成することができる。Txノード2は、第32サンプルデータD32から第39サンプルデータD39までの8個のデータを1つのデータパケット6bとして生成する。このデータパケット6bの先頭データは、第32番目のサンプルデータD32であるので、そのデータパケット6bに対応するDBC6aの値は32である。DBC6aの代わりに、システムタイムSYT32を用いてもよい。
なお、上記のDBC及びシステムタイム(SYT)は、IEEE1394規格に準拠した"audio and music data transmission protocol"で規定されているものと同じであり、アイソクロナスパケット転送のためのCIPヘッダ内に含まれている。DBCは8ビットであり、SYTは16ビットである。
【0028】
図3は、図1のノード間の動作を示すタイミングチャートである。
【0029】
WCマスタノード1は、サンプルデータ24、32、40等のタイミングを示すWCパケット5−24、5−32、5−40等をTxノード2及びRxノード3に順次送信する。WCパケット5の送信間隔はインターバルSYT_INTERVAL(図2参照)である。
【0030】
WCパケット5がWCマスタノード1からTxノード2又はRxノード3に到達するまでの最大通信時間はSYT_OFFSETである。時間SYT_OFFSETは、IEEE1394規格で決められている最大遅延時間(トランスファディレイ)であり、352μsである。つまり、あるノードから他のノードへパケットを送信すると、遅くとも352μs以内にはパケットが到達することが保証されている。
【0031】
WCパケット5は、最大遅延時間SYT_OFFSETが加味されている。すなわち、WCパケット5−24は、第24サンプルカウントを示すサンプルカウント5bと、それに対応するシステムタイムSYT24(図2)に上記の最大遅延時間SYT_OFFSETを加算したシステムタイムWC_SYT24とを含む。システムタイムWC_SYT24=SYT24+SYT_OFFSETである。WCパケット5−32及び5−40等も同様に最大遅延時間SYT_OFFSETが加味されている。
【0032】
図3中のWCマスタノード1の縦軸は、自己が送信するWCパケット5内のサンプルカウント5bの値を示す。Txノード2及びRxノード3の各縦軸は、WCマスタノード1から受信したWCパケット5内のサンプルカウント5bの値を示す。3つのノード1、2、3は、上記のサンプルカウントの軸を基準にして処理を行う。サンプルカウント軸は、時間軸に相当する。3つのノードの軸は、絶対時間は異なるが、相対時間は同じである。Txノード2及びRxノード3は、それぞれのサンプルカウント軸に基づき同期をとることができる。
【0033】
WCマスタノード1は、例えばWCパケット5−32をTxノード2及びRxノード3に送信する。WCパケット5−32は、第32サンプルカウントを示すサンプルカウント5bとそれに対応するシステムタイムSYT32に上記の最大遅延時間SYT_OFFSET(352μs)を加算したシステムタイムWC_SYT32とを含む。
【0034】
Txノード2は、WCパケット5−32を受信すると、第32サンプルカウントにオフセット値SAMPLE_OFFSET(例えば17サンプル)を加算した第49(=32+17)サンプルデータを先頭に含むデータパケット6−49を送信する。データパケット6−49は、DBC6aが49であり、サンプルデータ6bが第49〜56サンプルデータである。
【0035】
オフセット値SAMPLE_OFFSET(例えば17サンプル)を加算することは、Txノード2からRxノード3へのデータパケット6の最大通信遅延時間を考慮したものであり、17サンプル分先のサンプルデータを送信することを意味する。つまり、Txノード2は、WCパケット5内のサンプルカウント5bが32であれば、その値に17サンプルを足したサンプルカウント値のサンプルデータを先頭にしたデータパケット6−49を送信する。
【0036】
この最大通信遅延時間が17サンプル分に相当することを説明する。上記のように最大通信遅延時間SYT_OFFSETは352μsである。オーディオデータのサンプリング周波数は、例えば、48kHzである。
【0037】
この場合のサンプル数は、48kHz×352μs=16.896である。したがって、サンプルオフセット値は、16.896サンプル以上でなければならない。サンプルオフセット値は、最小の整数として17サンプルが好ましい。
【0038】
Rxノード3は、遅くともサンプルカウントが49の時には、Txノード2から上記のデータパケット6−49を既に受信している。上記の通信の合計遅延時間はT1+T2である。遅延時間T1は、WCマスタノード1からTxノード2までのWCパケット5−32の通信時間である。遅延時間T2は、Txノード2からRxノード3までのデータパケット6−49の通信時間である。
【0039】
Rxノード3は、受信したデータパケット6−49をファーストインファーストアウトバッファ(FIFO)に格納し、サンプルカウントが49になったところで、データパケット6−49の再生処理を開始する。サンプルカウントが49になるまで、FIFOにパケットを格納して処理を待機することにより、遅延時間T1+T2を吸収することができる。
【0040】
上記のように、WCパケット5−32は、最大遅延時間SYT_OFFSETがオフセットされたシステムタイムWC_SYT32を含む。この最大遅延時間SYT_OFFSETは、通信遅延時間T1を吸収するためのオフセット値である。
【0041】
仮に、システムタイムオフセット値SYT_OFFSETをオフセットせずにWCパケット5−32を送信するとすると、Rxノード3がそのWCパケット5−32を受信したときには既にサンプルカウントの32に相当するシステムタイムが過ぎてしまっており、処理できなくなってしまう。
【0042】
データパケット6−49は、サンプルカウントオフセット値SAMPLE_OFFSETがオフセットされたDBC6aを含む。このオフセット値SAMPLE_OFFSETは、通信遅延時間T2を吸収するためのオフセット値である。
【0043】
仮に、サンプルカウントオフセット値SAMPLE_OFFSETをオフセットせずにデータパケット6−32を送信するとすると、Rxノード3がそのデータパケット6−32を受信したときには既にサンプルカウントの32が過ぎてしまっており、処理できなくなってしまう。
【0044】
図4は、WCマスタノード1の処理を示すフローチャートである。
【0045】
ステップSA1では、レジスタsample countに定数SYT_INTERVALを加算する。レジスタsample countは、オーディオデータのサンプル数のカウント値を格納するためのレジスタである。定数SYT_INTERVALは、1パケット内のサンプル数であり、例えば8である。このレジスタsample countは、図1のWCパケット5内のサンプルカウント5bに相当する。
【0046】
次に、システムタイムSYT(図2)にオフセット値SYT_OFFSETを加算した値をレジスタsytに格納する。システムタイムSYTは、例えば図2のSYT24である。オフセット値SYT_OFFSETは、最大遅延時間であり、例えば352μsである。オフセット値SYT_OFFSETを加算することにより、図3に示す遅延時間T1を吸収することができる。このレジスタsytは、図1のWCパケット5内のシステムタイム5aに相当する。
【0047】
ステップSA2では、図1に示すように、レジスタsample countをサンプルカウント5bとし、レジスタsytをシステムタイム5aとして、WCパケット5を生成し、バス4上に送出する。
【0048】
以上は1つのパケットの生成処理を示したが、WCマスタノード1は、所定時間間隔で上記の処理を繰り返し、例えば、WCパケット5−24、5−32、5−40等を順次送出する。
【0049】
WCパケット5−24は、システムタイム5aがWC_SYT24(=SYT24+SYT_OFFSET)であり、サンプルカウント5bが24である。WCパケット5−32は、システムタイム5aがWC_SYT32(=SYT32+SYT_OFFSET)であり、サンプルカウント5bが32である。
【0050】
図5は、第1のTxノード2の構成例を示すブロック図である。
【0051】
Txノード2は、IEEE1394インタフェースシステム11及びノードシステム12を有する。
【0052】
WCパケット5は、システムタイム5a及びサンプルカウント5bを含み、WCマスタノード1から受信するパケットである。サンプルカウントFIFO13は、サンプルカウント5bをファーストインファーストアウトで格納する。システムタイムFIFO14は、システムタイム5aをファーストインファーストアウトで格納する。
【0053】
システムタイム比較器15は、FIFO14が出力するシステムタイム5aとサイクルタイマ2aが出力するサイクルタイムの下位16ビットを比較する。サイクルタイムは32ビットである。システムタイム5aは、WCマスタノード1のサイクルタイムの下位16ビットに最大遅延時間SYT_OFFSET(352μs)を加算した値である。
【0054】
システムタイム5aは、最大遅延時間SYT_OFFSET分加算されているので、サイクルタイマ2aのサイクルタイムよりも大きい。サイクルタイマ2aは、約25MHzで順次サイクルタイムをインクリメントする。
【0055】
やがて、サイクルタイムとシステムタイム5aは一致する。両者が一致すると、比較器15は、一致信号を出力する。一致信号が出力するまで後に示す処理は待たされる。後の処理を待たせることにより、WCマスタノード1からTxノード2までの通信遅延時間T1(図3)を吸収することができる。WCマスタノード1から複数のTxノード2へWCパケット5を送信する場合、各Txノード2の受信時刻の相違を吸収することができる。
【0056】
位相フェーズロックループ回路(PLL)16は、上記の一致信号に同期して、例えば48kHzのオーディオ用ワードクロックWCKを生成し、ノードシステム12に供給する。
【0057】
タイミング調整器17は、上記の一致信号を受けた時点で、FIFO13内のサンプルカウント5bを加算器18へ出力する。加算器18は、サンプルカウント5bにオフセット値SAMPLE_OFFSET(例えば、17サンプル)を加算し、サンプルカウントSCNを出力する。例えば、サンプルカウント5bが32の場合、加算器18はサンプルカウントSCN=32+17=49を出力する。オフセット値を加算することにより、Txノード2からRxノード3までの通信遅延時間T2(図3)を吸収するための準備が整う。通信遅延時間T2の吸収は、後に示すRxノード3(図7)で行われる。
【0058】
ノードシステム12は、ワードクロックWCKに同期して、サンプルカウントSCN(例えば49)に応じて、8個のサンプルデータ(例えば第49〜第56サンプルデータ)をデータSDTとして読み出して、データFIFO19にファーストインファーストアウトで格納する。
【0059】
DBCジェネレータ20は、ワードクロックWCKに同期して、サンプルカウントSCNに応じてDBCを生成する。
【0060】
DBC6aは、DBCジェネレータ20により生成される。サンプルデータ6bは、FIFO19内のサンプルデータSDTを基に生成される。
【0061】
DBC6a及びサンプルデータ6bをパケット化することにより、データパケット6が生成される。データパケット6は、Txノード2からRxノード3へ送信される。
【0062】
なお、加算器18でサンプルカウント5bにオフセット値SAMPLE_OFFSETを加算した値SCNをノードシステム12に供給する場合に限定されず、サンプルカウント5bを直接供給するようにしてもよい。その場合、ノードシステム12は、オフセット値SAMPLE_OFFSETを考慮した処理を行う必要がある。
【0063】
また、サンプルカウントSCNをノードシステム12に1パケット毎に供給する場合に限定されず、1サンプル毎に供給するようにしてもよい。
【0064】
図6は、Txノード2の処理を示すフローチャートである。フローチャートの左側の処理SB1〜SB8はインタフェースシステム11の処理を示し、右側の処理SB9はノードシステム12の処理を示す。
【0065】
ステップSB1では、WCパケット5内のシステムタイム5a及びサンプルカウント5bをそれぞれFIFO14及び13に格納する。
【0066】
ステップSB2では、比較器15がシステムタイムとサイクルタイムを比較し、両者が一致するまで待機する。両者が一致すると、ステップSB3へ進む。
【0067】
ステップSB3では、FIFO14に格納されている次のシステムタイムを比較器15にロードし、次回の比較の準備を行う。
【0068】
ステップSB4では、PLL16がワードクロックWCKを生成する。
【0069】
ステップSB5では、加算器18がサンプルカウント5bとオフセット値SAMPLE_OFFSETを加算し、加算値SCNをノードシステム12へ出力する。
【0070】
次に、インタフェースシステム11はステップSB6を処理し、ノードシステム12はステップSB9を処理する。
【0071】
ステップSB6では、生成したサンプルカウントSCNを基にDBCを生成する。必要であれば、生成したDBCをFIFOに格納する。次に、ステップSB7へ進む。
【0072】
ステップSB9では、入力したサンプルカウントCNTに対応したサンプルデータSDTをインタフェースシステム11へ供給する。次に、ステップSB7へ進む。
【0073】
ステップSB7では、上記のノードシステム12からサンプルデータSDTを受け取る。
【0074】
ステップSB8では、サンプルデータSDT及びDBC等をパケット化して、データパケット6をRxノード3へ送出する。
【0075】
図7は、第1のRxノード3の構成例を示すブロック図である。
【0076】
Rxノード3は、IEEE1394インタフェースシステム31及びノードシステム32を有する。
【0077】
WCパケット5は、システムタイム5a及びサンプルカウント5bを含み、WCマスタノード1から受信するパケットである。サンプルカウントFIFO33は、サンプルカウント5bをファーストインファーストアウトで格納する。システムタイムFIFO34は、システムタイム5aをファーストインファーストアウトで格納する。
【0078】
システムタイム比較器35は、FIFO34が出力するシステムタイム5aとサイクルタイマ3aが出力するサイクルタイムの下位16ビットを比較する。システムタイム5aは、WCマスタノード1のサイクルタイムの下位16ビットに最大遅延時間SYT_OFFSET(325μs)を加算した値である。
【0079】
サイクルタイムとシステムタイム5aが一致すると、比較器35は、一致信号を出力する。一致信号が出力するまで後に示す処理は待たされる。後の処理を待たせることにより、WCマスタノード1からRxノード3までの通信遅延時間を吸収することができる。WCマスタノード1から複数のRxノード3へWCパケット5を送信する場合、各Rxノード3の受信時刻の相違を吸収することができる。
【0080】
PLL36は、上記の一致信号に同期して、例えば48kHzのオーディオ用ワードクロックWCKを生成し、ノードシステム32に供給する。
【0081】
タイミング調整器37は、上記の一致信号を受けた時点で、FIFO33内のサンプルカウント5bをサンプルカウントSCNとしてノードシステム32へ供給する。
【0082】
データパケット6は、DBC6a及びサンプルデータ6bを含み、Txノード2から受信するパケットである。DBC−FIFO40は、DBC6aをファーストインファーストアウトで格納する。データFIFO39は、サンプルデータ6bをファーストインファーストアウトで格納する。
【0083】
DBC比較器38は、FIFO33が出力するサンプルカウント5bとFIFO40が出力するDBC6aを比較する。DBC6aは、図5のTxノード2の加算器18にてサンプルカウント5bにオフセット値SAMPLE_OFFSET(例えば17)が加算された値である。
【0084】
DBC6aは、オフセット値が加算されているので、FIFO33のサンプルカウント5bよりも大きい。FIFO33は、入力されたサンプルカウント5bの値を出力し、その後、順次サンプルカウントをインクリメントした値を出力する。
【0085】
やがて、DBCとサンプルカウントは一致する。両者が一致すると、比較器38は、一致信号を出力する。一致信号が出力するまで、データFIFO39内のデータの読み出し処理は待たされる。読み出し処理を待たせることにより、Txノード2からRxノード3までの通信遅延時間T2(図3)を吸収することができる。Txノード2から複数のRxノード3へデータパケット6を送信する場合、各Rxノード3の受信時刻の相違を吸収することができる。
【0086】
データFIFO39及びDBC−FIFO40は、比較器38の比較結果により読み出しポインタ(アドレス)が制御される。
【0087】
比較器38が一致信号を出力すると、データFIFO39からサンプルデータが読み出されてタイミング調整器41に出力され、比較器38にはDBC−FIFO40内の次のDBCがセットされる。
【0088】
タイミング調整器41は、ワードクロックWCKに同期して、FIFO39から出力されたデータをサンプルデータSDTとしてノードシステム32に供給する。
【0089】
ノードシステム32は、ワードクロックWCKに同期して、サンプルカウントSCNに応じてサンプルデータ(オーディオデータ)SDTを再生処理し、スピーカから発音させる。
【0090】
なお、WCパケット5は、サンプルカウント5bの代わりにDBCを用いてもよい。その場合、FIFO33にはDBCが格納され、比較器38はFIFO33内のDBCとFIFO40内のDBCとを比較する。
【0091】
また、Rxノード3が受信を開始する際、データFIFO39及びDBC−FIFO40のリードポインタを所定値に制御する必要がある。具体的には、DBC−FIFO40の先頭のDBC値とサンプルカウントFIFO33の先頭のサンプルカウント値とを比較し、サンプル単位でデータFIFO39及びDBC−FIFO40の各リードポインタを制御する。これにより、サンプルカウントSCNとそれに対応するサンプルデータSDTをノードシステム32に所定のタイミングで供給することができる。
【0092】
IEEE1394規格では、複数チャンネル分のデータをアイソクロナスパケット転送することができる。データが複数チャンネル分存在するときには、上記のリードポインタ制御器を複数設けてもよいし、1つのリードポインタ制御器を切り換えて、1チャンネルずつ制御してもよい。データが複数チャンネル分存在するときには、データFIFO39はチャンネル数分必要である。
【0093】
図8は、Rxノード3の処理を示すフローチャートである。
【0094】
ステップSC1では、受信したWCパケット5内のシステムタイム5a及びサンプルカウント5bをそれぞれFIFO34及び33に格納する。
【0095】
ステップSC2では、データパケット6を受信した場合、パケット6内の内のDBC6a及びサンプルデータ6bをそれぞれFIFO40及び39に格納する。
【0096】
ステップSC3では、比較器35がシステムタイムとサイクルタイムを比較し、両者が一致するまで待機する。両者が一致すると、ステップSC4へ進む。
【0097】
ステップSC4では、FIFO34に格納されている次のシステムタイムを比較器35にロードし、次回の比較の準備を行う。
【0098】
ステップSC5では、PLL36がワードクロックWCKを生成する。
【0099】
ステップSC6では、比較器38がFIFO33内のサンプルカウントとFIFO40内のDBCとを比較し、比較結果に応じてFIFO39及び40の読み出しポインタを調整する。
【0100】
ステップSC7では、調整したポインタを基にFIFO39からサンプルデータSDTを読み出し、ノードシステム32に供給する。そして、FIFO33内のサンプルカウントSCNを読み出して、ノードシステム32に供給する。
【0101】
以上の第1の実施例では、図3に示すように、サンプルカウント軸を基準にすることにより、ノード間の同期をとる。第1及び第2の2つの送信ノード2が1つの受信ノード3にデータパケット6を送信する場合を説明する。WCマスタノード1は、第1及び第2の送信ノード2及び受信ノード3にWCパケット5を送信する。第1及び第2の送信ノード2は、それぞれWCパケット5に応じてデータパケット6を受信ノード3に送信する。例えば、第1の送信ノードは、第1の演奏会場で演奏された楽音をオーディオデータとしてリアルタイムで送信し、第2の送信ノードは、第2の演奏会場で演奏された楽音をリアルタイムで送信する。受信ノードは、第1及び第2の送信ノードからそれぞれ受信したオーディオデータを同期をとって再生することができる。これにより、第1及び第2の演奏会場での合同演奏が可能になる。
【0102】
次に、第2の実施例を示す。第2の実施例では、サンプルカウント軸の代わりに、システムタイム軸を基準にすることにより、ノード間の同期をとる。
【0103】
図9は、第2のTxノード2の構成例を示すブロック図である。
【0104】
第2の実施例では、図2に示すように、DBC6aの代わりにシステムタイム6cを用いる。すなわち、データパケット6は、システムタイム6c及びサンプルデータ6bを含む。
【0105】
Txノード2は、IEEE1394インタフェースシステム51及びノードシステム52を有する。
【0106】
WCパケット5は、システムタイム5a及びサンプルカウント5bを含む。サンプルカウントFIFO53は、サンプルカウント5bをファーストインファーストアウトで格納する。システムタイムFIFO54は、システムタイム5aをファーストインファーストアウトで格納する。
【0107】
システムタイム比較器55は、FIFO54が出力するシステムタイム5aとサイクルタイマ2aが出力するサイクルタイムの下位16ビットを比較する。システムタイム5aは、WCマスタノード1のサイクルタイムの下位16ビットに最大遅延時間SYT_OFFSET(352μs)を加算した値である。
【0108】
サイクルタイムとシステムタイム5aが一致すると、比較器55は、一致信号を出力する。一致信号が出力するまで後に示す処理は待たされる。後の処理を待たせることにより、WCマスタノード1からTxノード2までの通信遅延時間T1(図3)を吸収することができる。
【0109】
PLL56は、上記の一致信号に同期して、例えば48kHzのオーディオ用ワードクロックWCKを生成し、ノードシステム52に供給する。
【0110】
タイミング調整器57は、上記の一致信号を受けた時点で、FIFO53内のサンプルカウント5bをサンプルカウントSCNとしてノードシステム52に供給する。
【0111】
ノードシステム52は、ワードクロックWCKに同期して、サンプルカウントSCN(例えば49)に応じて、8個のサンプルデータ(例えば第49〜第56サンプルデータ)をデータSDTとして読み出して、データFIFO59にファーストインファーストアウトで格納する。
【0112】
タイミング調整器100は、上記でシステムタイムFIFO54から出力されたシステムタイム5aの値(比較器55で一致した値)を、比較器55で一致したタイミングで加算器58へ供給する。加算器58は、システムタイム5aにオフセット値SYT_OFFSET(例えば、17サンプルに相当するシステムタイム)を加算し、システムタイムFIFO60にファーストインファーストアウトで格納する。オフセット値を加算することにより、Txノード2からRxノード3までの通信遅延時間T2(図3)を吸収するための準備が整う。通信遅延時間T2の吸収は、後に示すRxノード3(図11)にて行われる。
【0113】
FIFO60内のシステムタイム6a及びFIFO59内のサンプルデータ6bを基に、データパケット6を生成する。データパケット6は、Txノード2からRxノード3へ送信される。
【0114】
図10は、上記の第2のTxノード2(図9)の処理を示すフローチャートである。フローチャートの左側の処理SD1〜SD7はインタフェースシステム51の処理を示し、右側の処理SD8はノードシステム52の処理を示す。
【0115】
ステップSD1では、WCパケット5内のシステムタイム5a及びサンプルカウント5bをそれぞれFIFO54及び53に格納する。
【0116】
ステップSD2では、比較器55がシステムタイムとサイクルタイムを比較し、両者が一致するまで待機する。両者が一致すると、ステップSD3へ進む。
【0117】
ステップSD3では、FIFO54に格納されている次のシステムタイムを比較器55にロードし、次回の比較の準備を行う。
【0118】
ステップSD4では、PLL66がワードクロックWCKを生成する。
【0119】
ステップSD5では、FIFO53内のサンプルカウントSCNをノードシステム52に供給する。
【0120】
次に、インタフェースシステム51はステップSD6を処理し、ノードシステム52はステップSD8を処理する。
【0121】
ステップSD6では、加算器58が上記の一致したシステムタイム5aとオフセット値SYT_OFFSETを加算し、加算値をFIFO60に格納する。次に、ステップSD7へ進む。
【0122】
ステップSD8では、入力したサンプルカウントSCNに応じたサンプルデータSDTをインタフェースシステム51へ供給する。次に、ステップSD7へ進む。
【0123】
ステップSD7では、サンプルデータSDT及びシステムタイム等をパケット化して、データパケット6をバス4を介してRxノード3へ送出する。
【0124】
図11は、第2のRxノード3の構成例を示すブロック図である。
【0125】
第2の実施例では、第1の実施例(図7)と異なり、データパケット6はDBC6aの代わりにシステムタイム6cを含む。データパケット6は、システムタイム6c及びサンプルデータ6bを含む。
【0126】
Rxノード3は、IEEE1394インタフェースシステム71及びノードシステム72を有する。
【0127】
受信するデータパケット6は、システムタイム6c及びサンプルデータ6bを含む。システムタイムFIFO80は、システムタイム6cをファーストインファーストアウトで格納する。データFIFO79は、サンプルデータ6bをファーストインファーストアウトで格納する。
【0128】
システムタイム比較器78は、FIFO80が出力するシステムタイム5cとサイクルタイマ3aが出力するサイクルタイムを比較する。システムタイム6cは、図9のTxノード2の加算器58にてシステムタイム5aにオフセット値SYT_OFFSETを加算した値である。
【0129】
システムタイム6cは、オフセット値SYT_OFFSETが加算されているので、初期はサイクルタイマ3aのサイクルタイムの値よりも大きい。サイクルタイマ3aは、順次サイクルタイムをインクリメントする。
【0130】
システムタイム6cとサイクルタイムが一致すると、比較器78は、一致信号を出力する。一致信号が出力されるまで、データFIFO79内のデータの読み出し処理は待たされる。この待機により、Txノード2からRxノード3までの通信遅延時間T2(図3)を吸収することができる。
【0131】
タイミング調整器81は、比較器78から一致信号を受けると、データFIFO79からサンプルデータを読み出して、データFIFO73に格納する。比較器78が一致信号を出力すると、比較器78にはシステムタイム80内の次のシステムタイムがセットされる。
【0132】
受信するWCパケット5は、システムタイム5a及びサンプルカウント5bを含む。システムタイムFIFO74は、システムタイム5aをファーストインファーストアウトで格納する。サンプルカウントFIFO82は、サンプルカウント5bをファーストインファーストアウトで格納する。
【0133】
システムタイム比較器75は、FIFO74が出力するシステムタイム5aとサイクルタイマ3aが出力するサイクルタイムの下位16ビットを比較する。システムタイム5aは、WCマスタノード1のサイクルタイムの下位16ビットに最大遅延時間SYT_OFFSET(352μs)を加算した値である。
【0134】
サイクルタイムとシステムタイム5aが一致すると、比較器75は、一致信号を出力する。一致信号が出力するまで後に示す処理が待たされるので、WCマスタノード1からRxノード3までの通信遅延時間を吸収することができる。
【0135】
PLL76は、上記の一致信号に同期して、例えば48kHzのオーディオ用ワードクロックWCKを生成し、ノードシステム72に供給する。
【0136】
タイミング調整器77は、上記の一致信号を受けた時点で、データFIFO73内のサンプルデータ6bをサンプルデータSDTとしてノードシステム72へ供給する。
【0137】
タイミング調整器83は、上記の一致信号を受けた時点で、サンプルカウントFIFO82内のサンプルカウント5bをサンプルカウントSCNとしてノードシステム72へ供給する。
【0138】
ノードシステム72は、ワードクロックWCKに同期して、サンプルカウントSCNに応じてサンプルデータ(オーディオデータ)SDTを再生することにより、スピーカから発音させることができる。
【0139】
以上のように、第2の実施例によれば、システムタイム軸を基準にすることにより、ノード間の同期をとることができる。比較器78は、Txノード2からRxノード3までのデータパケット6の通信遅延時間を吸収し、比較器75は、WCマスタノード1からRxノード3までのWCパケット5の通信遅延時間を吸収することができる。これら通信遅延時間を吸収することにより、ノード間の同期をとることができる。
【0140】
図12は、上記の第2のRxノード3(図11)の処理を示すフローチャートである。
【0141】
ステップSE1では、受信したWCパケット5内のシステムタイム5a及びサンプルカウント5bをそれぞれFIFO74及び82に格納する。
【0142】
ステップSE2では、データパケット6を受信した場合、パケット6内のシステムタイム6c及びサンプルデータ6bをそれぞれFIFO80及び79に格納する。
【0143】
ステップSE3では、比較器78がFIFO80内のシステムタイム6cとサイクルタイマ3aのサイクルタイムとを比較し、両者が一致するまで待機する。両者が一致すると、ステップSE4へ進む。
【0144】
ステップSE4では、FIFO80に格納されている次のシステムタイムを比較器78にロードし、次回の比較の準備を行う。
【0145】
ステップSE5では、データFIFO79内のサンプルデータをデータFIFO73に格納する。
【0146】
ステップSE6では、比較器75がFIFO74内のシステムタイム5aとサイクルタイマ3aのサイクルタイムとを比較し、両者が一致するまで待機する。両者が一致すると、ステップSE7へ進む。
【0147】
ステップSE7では、FIFO74に格納されている次のシステムタイムを比較器75にロードし、次回の比較の準備を行う。
【0148】
ステップSE8では、PLL76がワードクロックWCKを生成する。
【0149】
ステップSE9では、FIFO82内のサンプルカウントSCN及びFIFO73内のサンプルデータSDTをノードシステムに供給する。
【0159】
次に、WCマスタノード1、Txノード2及びRxノード3の各サイクルタイマ1a,2a,3a(図1)の位相を合わせる方法を説明する。WCマスタノード1、Txノード2及びRxノード3は、全てIEEE1394バスに接続されたノードである。これらのノードのうちの一つがルートノードとして決定される。例えば、各ノードに識別番号が付与され、その識別番号が最も小さな値又は大きな値のノードがルートノードとなる。その構成を次に示す。
【0160】
図14は、図1のネットワークを別の観点から表現したネットワークの構成を示す。
【0161】
ルートノードRNは、WCマスタノード1、Txノード2又はRxノード3のうちのいずれか一つのノードである。第1ノードN1〜第nノードNnは、ルートノード以外のノードである。
【0162】
ルートノードRNは、自己のサイクルタイマで生成されたサイクルタイムCTをバス上に送出する。ノードN1〜Nnは、ルートノードRNが送出するサイクルタイムCTを受け取り、そのサイクルタイムCTの値を自己のサイクルタイマにセットする。
【0163】
図15は、ルートノードRNが行う処理を示すフローチャートである。
【0164】
ステップSF1では、自己のサイクルタイマの値CTを他のノードに送信し、処理を終了する。ルートノードRNは、所定周期でサイクルタイマの値CTをブロードキャストでバス上に送信する。
【0165】
図16は、ノードN1〜Nnが行う処理を示すフローチャートである。
【0166】
ステップSG1では、ルートノードRNからサイクルタイマの値CTを受信する。
【0167】
ステップSG2では、自己のサイクルタイマを受信したサイクルタイマの値CTに更新する。
【0168】
このフローチャートは、ルートノードRNから所定周期でサイクルタイマの値CTを受信する度に行う。
【0169】
上記の方法により、各ノードのサイクルタイマの同期をとることができる。ここで、ルートノードRNがサイクルタイムCTを送信する遅延時間について考える。遅延時間の相違により、各ノードN1〜NnがサイクルタイムCTを受信する時刻は異なる。次に、通信遅延時間を考慮した処理を示す。
【0170】
ノードN1〜Nnは、ルートノードRNにピンパケットを送信する。ルートノードRNは、ピンパケットを受信すると、レスポンスパケットを返送する。ノードN1〜Nnは、ピンパケットを送信してからレスポンスパケットを受信するまでの時間を計測する。その時間は、ノードN1〜NnからルートノードRNまでの往復通信遅延時間である。ノードN1〜Nnは、自己のサイクルタイマを片道通信遅延時間分だけ進め、ルートノードRNのサイクルタイマの位相に合わせる。
【0171】
例えば、往復通信遅延時間が100μsとして計測された場合、片道通信遅延時間は50μsである。ノードN1〜Nnは、自己のサイクルタイマを片道通信遅延時間(50μs)分だけ加算する。
【0172】
サイクルタイマを片道通信遅延時間だけ加算することにより、各ノードのサイクルタイマの位相を合わせることができる。これにより、複数のRxノードは、ほぼ同時にオーディオデータの再生を行うことができる。次に、上記の処理をフローチャートにそって説明する。
【0173】
図17は、サイクルタイマの遅延時間補正値の決定処理を示すフローチャートである。フローチャートの左側の処理SH1、SH4、SH5、SH6はノードN1〜Nnの処理を示し、右側の処理SH2、SH3はルートノードRNの処理を示す。
【0174】
ステップSH1では、ノードN1〜NnがピンパケットをルートノードRNに送信し、時間計測を開始する。
【0175】
ステップSH2では、ルートノードRNがピンパケットを受信する。
【0176】
ステップSH3では、ルートノードRNが送信元のノードN1〜Nnにレスポンスパケットを即時に送信する。
【0177】
ステップSH4では、ノードN1〜Nnがレスポンスパケットを受信する。
【0178】
ステップSH5では、ノードN1〜Nnがピンパケットを送信(ステップSH1)してからレスポンスパケットを受信(ステップSH4)するまでの往復通信遅延時間を算出する。
【0179】
ステップSH6では、算出した往復通信遅延時間の半分の値を片道通信遅延時間として算出する。次に、片道通信遅延時間の値をサイクルタイムに換算して、補正値を決定する。サイクルタイムは、原則として約25MHzでカウントされる値である。
【0180】
図18は、ノードN1〜Nnが行う補正処理を示すフローチャートであり、図16のフローチャートに代わるものである。
【0181】
ステップSI1では、図15でルートノードRNから送信されたサイクルタイマの値CTを受信する。
【0182】
ステップSI2では、受信したサイクルタイマの値CTに図17で決定した補正値を加算する。
【0183】
ステップSI3では、自己のサイクルタイマを、上記の補正されたサイクルタイムの値に更新する。
【0184】
サイクルタイムを補正することにより、各ノードのサイクルタイマの位相を合わせることができる。例えば、第1のTxノード2(図5)では、サイクルタイマ2aの値を補正し、第1のRxノード3(図7)では、サイクルタイマ3aの値を補正する。
【0185】
次に、サイクルタイムの代わりに、システムタイムを補正する方法を説明する。第1のTxノード2(図5)では、比較器15がサイクルタイマ2aの値とシステムタイムFIFO14の値とを比較する。上記では、サイクルタイマ2aの値を補正したが、その代わりにシステムタイムFIFO14の値を補正して、比較器15にセットする。
【0186】
第1のRxノード3(図7)でも、同様に、サイクルタイマ3aの値を補正する代わりに、システムタイムFIFO34の値を補正して、比較器35にセットする。
【0187】
第2のTxノード2(図9)でも、同様に、サイクルタイマ2aの値を補正する代わりに、システムタイムFIFO54の値を補正して、比較器55にセットする。
【0188】
第2のRxノード3(図11)でも、同様に、サイクルタイマ3aの値を補正する代わりに、システムタイムFIFO74の値を補正して比較器75にセットし、かつシステムタイムFIFO80の値を補正して比較器78にセットする。
【0189】
図19は、上記のシステムタイム補正処理を示すフローチャートである。
【0190】
ステップSJ1では、システムタイムの値を受信用FIFO14、34、54、74、80から取り出す。
【0191】
ステップSJ2では、取り出したシステムタイマの値と図17で決定した補正値とを基に演算する。例えば、システムタイマの値から補正値を減算する。
【0192】
ステップSJ3では、比較器15、35、55、75、78の上記の演算値をセットする。
【0193】
なお、第2のTxノード(図9)では、システムタイムFIFO60内のシステムタイムを補正してデータパケット6を送信するようにしてもよい。その場合、第2のRxノード(図11)のシステムFIFO80の値を補正する必要はない。
【0194】
以上のように、サイクルタイム又はシステムタイムを補正することによって、各ノードの時間軸の位相を合わせることができる。位相を合わせることにより、複数のTxノードの送信タイミング又は複数のRxノードの再生タイミングの位相を合わせることができる。
【0195】
第1及び第2の実施例によれば、WCマスタノード1がWCパケット5をTxノード2及びRxノード3に送信する。Txノード2は、Rxノード3にデータパケット6を送信する。データパケット6は、サンプルデータ6bの他、DBC6a又はシステムタイム6cを有する。
【0196】
第1の実施例では、DBC6aを用いて、サンプルカウント軸を基にノード間の同期をとることができる。第2の実施例では、システムタイム6cを用いて、システムタイム軸を基にノード間の同期をとることができる。
【0197】
ノード間で同期をとることにより、1つのTxノードから複数のRxノードに同じデータをほぼ同時に送信する場合に、複数のRxノード間でデータの再生時間を合わせることができる。また、各Rxノードは、タイミングずれを起こすことなく、一連のデータを再生することができる。
【0198】
また、ノード間で同期をとることにより、複数のTxノードから1つのRxノードにデータを送信する場合に、Rxノードでは複数のTxノードから送信されるデータのタイミングを合わせることができる。
【0199】
なお、パケット中のデータはオーディオデータに限定されず、画像データ等でもよい。通信は、IEEE1394デジタルシリアル通信に限定されず、その他のシリアル通信やパラレル通信でもよい。例えば、インターネット、LAN等でもよい。
【0200】
図20はパーソナルコンピュータ12の具体的なハードウェア構成を示す図である。
【0201】
パーソナルコンピュータ12の構成を説明する。バス21には、CPU22、RAM24、外部記憶装置25,外部に対してMIDIデータを送受信するためのMIDIインターフェース26、サウンドカード27、ROM28、表示装置29、キーボードやスイッチやマウス等の入力手段30,インターネットに接続するための通信インターフェース31が接続されている。
【0202】
サウンドカード27は、バッファ27aとコーデック回路27bを有する。バッファ27aは、外部に対して入力又は出力するためのデータをバッファリングする。コーデック回路27bは、A/D変換器及び、D/A変換器を有し、アナログ形式とデジタル形式両者間の変換を行うことが出来る。さらに、コーデック回路27bは、圧縮/伸張回路を有し、データの圧縮及び伸張を行うことができる。
【0203】
外部記憶装置25は、たとえばハードディスクドライブ、フロッピーディスクドライブ、CD−ROMドライブ、光磁気ディスクドライブ等であり、MIDIデータ、オーディオデータ、画像データ又はコンピュータープログラム等を記憶することができる。
【0204】
ROM28は、コンピュータプログラム及び各種パラメータを記憶することができる。RAM24は、バッファやレジスタ等のワーキングエリアを有し、外部記憶装置25に記憶されている内容をコピーして記憶することができる。
【0205】
CPU22は、ROM28又はRAM24に記憶されているコンピュータプログラムに従って、各種演算又は処理を行う。システムクロック23は、時間情報を生成する。CPU22はシステムクロック23から時間情報を得て、タイマ割り込み処理を行うことができる。
【0206】
インターネット回線32には、パーソナルコンピュータ12の通信インターフェース31が接続される。通信インターフェース31は、インターネットにより、MIDIデータ、オーディオデータ、画像データ及びコンピュータプログラム等を送受信するためのインターフェースである。
【0207】
MIDIインターフェース26には、MIDI音源13が接続され、サウンドカード27には、音声出力装置14が接続される。CPU22は、通信インターフェース31を介して、インターネット回線32上からMIDIデータとオーディオデータと画像データとコンピュータープログラム等を受信する。
【0208】
通信インターフェース31は、インターネット用インターフェースのほか、イーサネット用インターフェース、IEEE1394規格のデジタル通信インターフェース、RS−232C用インターフェースでもよく、種々のネットワークに接続することができる。
【0209】
パーソナルコンピュータ12は、オーディオデータの受信や再生等をするためのコンピュータプログラムを記憶する。コンピュータプログラムや各種パラメータ等を外部記憶装置25に記憶させておき、それをRAM24に読み込むことにより、コンピュータプログラム等の追加やバージョンアップ等が容易に行える。
【0210】
CD−ROM(コンパクトディスク−リード・オンリー・メモリー)ドライブは、CD−ROMに記憶されているコンピュータプログラム等を読み出す装置である。読み出したコンピュータプログラム等は、ハードディスクにストアされる。コンピュータプログラムの新規インストールやバージョンアップ等が容易に行える。
【0211】
通信インターフェース31はLAN(ローカルエリアネットワーク)やインターネット、電話回線等の通信ネットワーク32に接続されており、該通信ネットワーク32を介して、コンピュータ33と接続される。外部記憶装置25内に上記のコンピュータプログラム等が記憶されていない場合、コンピュータ33からコンピュータプログラム等をダウンロードすることができる。パーソナルコンピュータ12は、通信インターフェース31及び、通信ネットワーク32を介してコンピュータ33へコンピュータプログラム等のダウンロードを要求するコマンドを送信する。コンピュータ33は、このコマンドを受け、要求されたコンピュータプログラム等を、通信ネットワーク32を介して、パーソナルコンピュータ12へ配信する。パーソナルコンピュータ12が、通信インターフェース31介して、コンピュータプログラム等を受信して外部記憶装置25に蓄積することにより、ダウンロードが完了する。
【0212】
なお、本実施例は、本実施例に対応するコンピュータプログラム等をインストールした市販のパーソナルコンピュータ等によって、実施させるようにしてもよい。その場合には、本実施例に対応するコンピュータプログラム等を、CD−ROMやフロッピーディスク等の、コンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザーに提供してもよい。そのパーソナルコンピュータ等が、LAN、インターネット、電話回線等の通信ネットワークに接続されている場合には、通信ネットワークを介して、コンピュータプログラムや各種データ等をパーソナルコンピュータ等に提供してもよい。
【0213】
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。たとえば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。
【0214】
【発明の効果】
以上説明したように、本発明によれば、複数の通信装置間で同期情報を通信することにより、同期をとってデータの送信又は処理を行うことができる。
【図面の簡単な説明】
【図1】 本発明の実施例によるネットワークの構成を示すブロック図である。
【図2】 送信ノード(Txノード)の処理を示すタイミングチャートである。
【図3】 図1に示す各ノードのタイミングチャートである。
【図4】 WCマスタノードの処理を示すフローチャートである。
【図5】 第1のTxノードの構成を示すブロック図である。
【図6】 第1のTxノードの処理を示すフローチャートである。
【図7】 第1の受信ノード(Rxノード)の構成を示すブロック図である。
【図8】 第1のRxノードの処理を示すフローチャートである。
【図9】 第2のTxノードの構成を示すブロック図である。
【図10】 第2のTxノードの処理を示すフローチャートである。
【図11】 第2のRxノードの構成を示すブロック図である。
【図12】 第2のRxノードの処理を示すフローチャートである。
【図13】 ネットワークの構成を示すブロック図である。
【図14】 ルートノードの処理を示すフローチャートである。
【図15】 ルートノード以外のノードの処理を示すフローチャートである。
【図16】 サイクルタイマの遅延時間補正値の決定処理を示すフローチャートである。
【図17】 遅延時間の第1の補正処理を示すフローチャートである。
【図18】 遅延時間の第2の補正処理を示すフローチャートである。
【図19】 パーソナルコンピュータ12の具体的なハードウェア構成を示す図である。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a communication technique, and more particularly, to a communication technique for synchronizing a plurality of communication apparatuses.
[0002]
[Prior art]
IEEE 1394 standard digital serial communication is spreading. In the IEEE 1394 standard, a network can be configured by connecting a plurality of communication nodes. For example, one receiving node can receive audio data from multiple transmitting nodes.
[0003]
Assume that the first and second transmitting nodes transmit data to one receiving node at the same time. In this case, the time at which the receiving node receives from the first transmitting node and the time from the second transmitting node are usually different due to the difference in distance between the nodes. For example, data is received from a first transmission node and then data is received from a second transmission node.
[0004]
Each of the transmitting node and the receiving node has its own cycle timer. Each cycle timer is not synchronized. It is difficult for the receiving node to synchronize the data received from the first transmitting node and the data received from the second transmitting node.
[0005]
In addition, one transmitting node may transmit the same data to the first and second receiving nodes almost simultaneously. However, as described above, normally, the time received by the first receiving node is different from the time received by the second receiving node. Since the first and second receiving nodes reproduce the received data according to their own cycle timers, the reproduction processing of the first and second receiving nodes is likely to be shifted.
[0006]
[Problems to be solved by the invention]
It is difficult for the receiving node to synchronize data transmitted from a plurality of transmitting nodes. Further, when the transmitting node transmits data to a plurality of receiving nodes, it is difficult to synchronize between the plurality of receiving nodes.
[0007]
An object of the present invention is to provide a communication device capable of synchronizing data communicated between a plurality of communication nodes.
[0008]
[Means for Solving the Problems]
According to an aspect of the present invention, a communication device forming one of a plurality of nodes connected to a network generates a time value synchronized with a time value output from a root node connected to the network. A cycle timer, sample count generation means for generating a count value for counting samples of audio data, and a synchronization time value for generating a synchronization time value in which a maximum delay amount is added to a time value corresponding to the synchronized time value Generating means; and a synchronization packet output means for generating a synchronization packet including the sample count value and the synchronization time value at a predetermined time interval and outputting the generated synchronization packet to the network.
[0009]
According to another aspect of the present invention, a communication device forming one of a plurality of nodes connected to a network has a time value synchronized with a time value output by a route node connected to the network. A clock timer for generating a word clock based on the synchronized time value and the received synchronization information, a receiving unit for receiving synchronization information from a word clock node connected to the network, and a clock generator for generating a word clock based on the synchronized time value and the received synchronization information Data sample supply means for sequentially supplying audio data samples based on the word clock; sample count supply means for supplying audio data sample count values based on the synchronization information; and maximum transfer delay to the count values Synchronous count generating means for generating a synchronous count value taking the amount into account, Communication apparatus having a transmitting means for transmitting to the receiving node to generate a data packet, which is connected generated data packet to the network including the supplied plurality of samples and the synchronization count.
[0010]
According to still another aspect of the present invention, a communication device forming one of a plurality of nodes connected to a network is synchronized with a time value output by a root node connected to the network. A cycle timer for generating a value, receiving means for receiving synchronization information from a word clock node connected to the network, and clock generation for generating a word clock based on the synchronized time value and the received synchronization information Means, data sample supply means for sequentially supplying audio data samples based on the word clock, and a synchronization time value generation means for generating a synchronization time value in which a maximum transfer delay amount is added to the synchronized time value. Generating a data packet including the supplied plurality of samples and the synchronization time value; And a transmitting means for transmitting a packet to the connected receiving node to the network.
[0011]
According to still another aspect of the present invention, a communication device forming one of a plurality of nodes connected to a network is synchronized with a time value output by a root node connected to the network. A cycle timer for generating a value, synchronization information receiving means for receiving synchronization information from a word clock node connected to the network, and generating a word clock based on the synchronized time value and the received synchronization information Clock generation means, data reception means for receiving a data packet including a plurality of samples and a synchronization count value associated with the plurality of samples from a transmission node connected to the network, the synchronization information and the synchronization count value And a plurality of samples included in the data packet at the timing based on And a sample output means for sequentially output one sample in accordance with the click.
[0012]
According to still another aspect of the present invention, a communication device forming one of a plurality of nodes connected to a network has a communication arrival delay time from a root node connected to the network to the communication device. Measuring means for measuring, a determining means for determining a correction value according to the arrival delay time measured by the measuring means, a time value receiving means for receiving the time value output by the root node, and the received time value Correction means for correcting according to the correction value, a cycle timer for generating a time value synchronized based on the corrected time value, and synchronization information for receiving synchronization information from a word clock node connected to the network Receiving means; and clock generating means for generating a word clock based on the synchronized time value and the received synchronization information
According to still another aspect of the present invention, a communication device forming one of a plurality of nodes connected to a network is synchronized with a time value output by a root node connected to the network. A cycle timer for generating a value, a measuring means for measuring an arrival delay time of communication from the root node to the communication device, a determining means for determining a correction value according to the arrival delay time measured by the measuring means, Synchronization information receiving means for receiving synchronization information from a word clock node connected to the network, correction means for correcting the received synchronization information according to the correction value, the synchronized time value and the corrected Clock generating means for generating a word clock based on the synchronization information.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing the configuration of a communication network according to the first embodiment of the present invention.
In this embodiment, it is possible to transfer packets in accordance with the “audio and music data transmission protocol” compliant with the IEEE 1394 standard. The packet transfer is preferably performed by the IEEE 1394 standard isochronous packet transfer.
[0014]
A word clock (WC)
[0015]
The
[0016]
The
[0017]
The
[0018]
The
[0019]
The
[0020]
The
[0021]
FIG. 2 is a timing chart for explaining the operation of the
[0022]
First, a method for generating the data packet 6-24 (FIG. 1) will be described. The
[0023]
The cycle timer 2a increases the 32-bit cycle time value as time passes. Here, the cycle times of the 24th, 32nd, and 40th sample data D24, D32, D40 are CT24, CT32, and CT40, respectively.
[0024]
The system times SYT24, SYT32, and SYT40 are values of lower 16 bits of the cycle times CT24, CT32, and CT40, respectively.
[0025]
[0026]
The data packet 6 (FIG. 1) includes a
[0027]
The data packet 6-32 (FIG. 1) can also be generated in the same manner as described above. The
The above DBC and system time (SYT) are the same as those defined in “audio and music data transmission protocol” conforming to the IEEE 1394 standard, and are included in the CIP header for isochronous packet transfer. Yes. DBC is 8 bits and SYT is 16 bits.
[0028]
FIG. 3 is a timing chart showing the operation between the nodes in FIG.
[0029]
The
[0030]
The maximum communication time until the
[0031]
The
[0032]
The vertical axis of the
[0033]
For example, the
[0034]
Upon receipt of the WC packet 5-32, the
[0035]
The addition of the offset value SAMPLE_OFFSET (for example, 17 samples) considers the maximum communication delay time of the
[0036]
It will be explained that the maximum communication delay time corresponds to 17 samples. As described above, the maximum communication delay time SYT_OFFSET is 352 μs. The sampling frequency of audio data is 48 kHz, for example.
[0037]
In this case, the number of samples is 48 kHz × 352 μs = 16.896. Therefore, the sample offset value must be greater than or equal to 16.896 samples. The sample offset value is preferably 17 samples as the smallest integer.
[0038]
The
[0039]
The
[0040]
As described above, the WC packet 5-32 includes the system time WC_SYT32 in which the maximum delay time SYT_OFFSET is offset. The maximum delay time SYT_OFFSET is an offset value for absorbing the communication delay time T1.
[0041]
If the WC packet 5-32 is transmitted without offsetting the system time offset value SYT_OFFSET, when the
[0042]
The data packet 6-49 includes the
[0043]
If the data packet 6-32 is transmitted without offsetting the sample count offset value SAMPLE_OFFSET, when the
[0044]
FIG. 4 is a flowchart showing processing of the
[0045]
In step SA1, a constant SYT_INTERVAL is added to the register sample count. The register sample count is a register for storing a count value of the number of samples of audio data. The constant SYT_INTERVAL is the number of samples in one packet, for example, 8. This register sample count corresponds to the
[0046]
Next, a value obtained by adding the offset value SYT_OFFSET to the system time SYT (FIG. 2) is stored in the register syt. The system time SYT is, for example,
[0047]
In step SA2, as shown in FIG. 1, the register sample count is set to the
[0048]
The above has shown the generation processing of one packet, but the
[0049]
In the WC packet 5-24, the
[0050]
FIG. 5 is a block diagram illustrating a configuration example of the
[0051]
The
[0052]
The
[0053]
The
[0054]
Since the
[0055]
Eventually, the cycle time and the
[0056]
The phase phase lock loop circuit (PLL) 16 generates an audio word clock WCK of 48 kHz, for example, in synchronization with the coincidence signal, and supplies it to the
[0057]
The
[0058]
In synchronization with the word clock WCK, the
[0059]
The
[0060]
The
[0061]
[0062]
The
[0063]
The sample count SCN is not limited to being supplied to the
[0064]
FIG. 6 is a flowchart showing processing of the
[0065]
In step SB1, the
[0066]
In step SB2, the
[0067]
In step SB3, the next system time stored in the
[0068]
In step SB4, the
[0069]
In step SB5, the
[0070]
Next, the
[0071]
In step SB6, DBC is generated based on the generated sample count SCN. If necessary, the generated DBC is stored in the FIFO. Next, the process proceeds to step SB7.
[0072]
In step SB9, sample data SDT corresponding to the input sample count CNT is supplied to the
[0073]
In step SB7, sample data SDT is received from the
[0074]
In step SB8, the sample data SDT and DBC are packetized, and the
[0075]
FIG. 7 is a block diagram illustrating a configuration example of the
[0076]
The
[0077]
The
[0078]
The
[0079]
When the cycle time and the
[0080]
The
[0081]
When receiving the coincidence signal, the
[0082]
The
[0083]
The
[0084]
Since the offset value is added to the
[0085]
Eventually, the DBC and sample count will match. When the two match, the
[0086]
The read pointer (address) of the
[0087]
When the
[0088]
The
[0089]
The
[0090]
The
[0091]
Further, when the
[0092]
According to the IEEE 1394 standard, data for a plurality of channels can be transferred in an isochronous packet. When there are a plurality of channels of data, a plurality of the read pointer controllers may be provided, or one channel may be controlled by switching one read pointer controller. When there are data for a plurality of channels, the
[0093]
FIG. 8 is a flowchart showing processing of the
[0094]
In step SC1, the
[0095]
In step SC2, when the
[0096]
In step SC3, the
[0097]
In step SC4, the next system time stored in the
[0098]
In step SC5, the
[0099]
In step SC6, the
[0100]
In
[0101]
In the first embodiment described above, as shown in FIG. 3, synchronization between nodes is achieved by using the sample count axis as a reference. A case where the first and
[0102]
Next, a second embodiment is shown. In the second embodiment, synchronization between nodes is established by using the system time axis as a reference instead of the sample count axis.
[0103]
FIG. 9 is a block diagram illustrating a configuration example of the
[0104]
In the second embodiment, as shown in FIG. 2, a
[0105]
The
[0106]
The
[0107]
The system time comparator 55 compares the
[0108]
When the cycle time and the
[0109]
The
[0110]
When receiving the coincidence signal, the
[0111]
In synchronization with the word clock WCK, the
[0112]
The
[0113]
A
[0114]
FIG. 10 is a flowchart showing the processing of the second Tx node 2 (FIG. 9). The processes SD1 to SD7 on the left side of the flowchart show the process of the interface system 51, and the process SD8 on the right side shows the process of the
[0115]
In step SD1, the
[0116]
In step SD2, the comparator 55 compares the system time with the cycle time, and waits until they match. If they match, the process proceeds to step SD3.
[0117]
In step SD3, the next system time stored in the
[0118]
In step SD4, the
[0119]
In step SD5, the sample count SCN in the
[0120]
Next, the interface system 51 processes step SD6, and the
[0121]
In step SD6, the
[0122]
In step SD8, sample data SDT corresponding to the input sample count SCN is supplied to the interface system 51. Next, the process proceeds to step SD7.
[0123]
In step SD7, the sample data SDT and system time are packetized, and the
[0124]
FIG. 11 is a block diagram illustrating a configuration example of the
[0125]
In the second embodiment, unlike the first embodiment (FIG. 7), the
[0126]
The
[0127]
The received
[0128]
The
[0129]
Since the offset value SYT_OFFSET is added to the
[0130]
When the
[0131]
When the
[0132]
The received
[0133]
The
[0134]
When the cycle time and the
[0135]
The
[0136]
The
[0137]
When the
[0138]
The
[0139]
As described above, according to the second embodiment, synchronization between nodes can be achieved by using the system time axis as a reference. The
[0140]
FIG. 12 is a flowchart showing the processing of the second Rx node 3 (FIG. 11).
[0141]
In step SE1, the
[0142]
In step SE2, when
[0143]
In step SE3, the
[0144]
In step SE4, the next system time stored in the
[0145]
In step SE5, the sample data in the
[0146]
In step SE6, the
[0147]
In step SE7, the next system time stored in the
[0148]
In step SE8, the
[0149]
In step SE9, the sample count SCN in the
[0159]
Next, a method of matching the phases of the cycle timers 1a, 2a, 3a (FIG. 1) of the
[0160]
FIG. 14 shows a network configuration expressing the network of FIG. 1 from another viewpoint.
[0161]
The root node RN is any one of the
[0162]
The root node RN sends the cycle time CT generated by its own cycle timer onto the bus. The nodes N1 to Nn receive the cycle time CT sent from the root node RN, and set the value of the cycle time CT in its own cycle timer.
[0163]
FIG. 15 is a flowchart illustrating processing performed by the root node RN.
[0164]
In step SF1, the self-cycle timer value CT is transmitted to another node, and the process ends. The root node RN broadcasts the cycle timer value CT on the bus at a predetermined cycle.
[0165]
FIG. 16 is a flowchart illustrating processing performed by the nodes N1 to Nn.
[0166]
In step SG1, the cycle timer value CT is received from the root node RN.
[0167]
In step SG2, the own cycle timer is updated to the cycle timer value CT received.
[0168]
This flowchart is performed every time the cycle timer value CT is received from the root node RN at a predetermined cycle.
[0169]
The cycle timer of each node can be synchronized by the above method. Here, consider the delay time for the root node RN to transmit the cycle time CT. Due to the difference in delay time, the times at which the nodes N1 to Nn receive the cycle time CT differ. Next, processing that takes communication delay time into consideration is shown.
[0170]
The nodes N1 to Nn transmit pin packets to the root node RN. When the root node RN receives the pin packet, it returns a response packet. The nodes N1 to Nn measure the time from when the pin packet is transmitted until the response packet is received. The time is a round-trip communication delay time from the nodes N1 to Nn to the root node RN. The nodes N1 to Nn advance their cycle timers by the one-way communication delay time, and match the phase of the cycle timer of the root node RN.
[0171]
For example, when the round-trip communication delay time is measured as 100 μs, the one-way communication delay time is 50 μs. The nodes N1 to Nn add their cycle timers by the one-way communication delay time (50 μs).
[0172]
By adding the cycle timer by the one-way communication delay time, the phase of the cycle timer of each node can be matched. Thereby, the plurality of Rx nodes can reproduce the audio data almost simultaneously. Next, the above process will be described with reference to a flowchart.
[0173]
FIG. 17 is a flowchart showing the process for determining the delay time correction value of the cycle timer. The processes SH1, SH4, SH5, and SH6 on the left side of the flowchart indicate the processes of the nodes N1 to Nn, and the processes SH2 and SH3 on the right side indicate the processes of the root node RN.
[0174]
In step SH1, the nodes N1 to Nn transmit pin packets to the root node RN and start time measurement.
[0175]
In step SH2, the root node RN receives the pin packet.
[0176]
In step SH3, the root node RN immediately transmits a response packet to the transmission source nodes N1 to Nn.
[0177]
In step SH4, the nodes N1 to Nn receive the response packet.
[0178]
In step SH5, a round-trip communication delay time from when the nodes N1 to Nn transmit the pin packet (step SH1) to when the response packet is received (step SH4) is calculated.
[0179]
In step SH6, a half value of the calculated round-trip communication delay time is calculated as a one-way communication delay time. Next, the correction value is determined by converting the value of the one-way communication delay time into a cycle time. In principle, the cycle time is a value counted at about 25 MHz.
[0180]
FIG. 18 is a flowchart showing the correction process performed by the nodes N1 to Nn, which replaces the flowchart of FIG.
[0181]
In step SI1, the cycle timer value CT transmitted from the root node RN in FIG. 15 is received.
[0182]
In step SI2, the correction value determined in FIG. 17 is added to the received cycle timer value CT.
[0183]
In step SI3, the self cycle timer is updated to the corrected cycle time value.
[0184]
By correcting the cycle time, the phase of the cycle timer of each node can be matched. For example, the first Tx node 2 (FIG. 5) corrects the value of the cycle timer 2a, and the first Rx node 3 (FIG. 7) corrects the value of the cycle timer 3a.
[0185]
Next, a method for correcting the system time instead of the cycle time will be described. In the first Tx node 2 (FIG. 5), the
[0186]
Similarly, in the first Rx node 3 (FIG. 7), instead of correcting the value of the cycle timer 3a, the value of the
[0187]
Similarly, in the second Tx node 2 (FIG. 9), instead of correcting the value of the cycle timer 2a, the value of the
[0188]
Similarly, in the second Rx node 3 (FIG. 11), instead of correcting the value of the cycle timer 3a, the value of the
[0189]
FIG. 19 is a flowchart showing the system time correction process.
[0190]
In step SJ1, the system time value is extracted from the
[0191]
In step SJ2, calculation is performed based on the extracted system timer value and the correction value determined in FIG. For example, the correction value is subtracted from the value of the system timer.
[0192]
In step SJ3, the above calculation values of the
[0193]
Note that the second Tx node (FIG. 9) may transmit the
[0194]
As described above, the phase of the time axis of each node can be matched by correcting the cycle time or system time. By matching the phases, it is possible to match the phases of transmission timings of a plurality of Tx nodes or reproduction timings of a plurality of Rx nodes.
[0195]
According to the first and second embodiments, the
[0196]
In the first embodiment, the
[0197]
By synchronizing the nodes, when the same data is transmitted almost simultaneously from one Tx node to a plurality of Rx nodes, the data reproduction time can be adjusted between the plurality of Rx nodes. Each Rx node can reproduce a series of data without causing a timing shift.
[0198]
Further, by synchronizing between nodes, when data is transmitted from a plurality of Tx nodes to one Rx node, the timing of data transmitted from the plurality of Tx nodes can be matched in the Rx node.
[0199]
Note that the data in the packet is not limited to audio data, and may be image data or the like. Communication is not limited to IEEE 1394 digital serial communication, but may be other serial communication or parallel communication. For example, the Internet or a LAN may be used.
[0200]
FIG. 20 is a diagram showing a specific hardware configuration of the
[0201]
The configuration of the
[0202]
The
[0203]
The
[0204]
The
[0205]
The
[0206]
A
[0207]
The
[0208]
The
[0209]
The
[0210]
A CD-ROM (compact disk-read only memory) drive is a device that reads a computer program or the like stored in a CD-ROM. The read computer program or the like is stored in the hard disk. New installation and version upgrade of computer programs can be done easily.
[0211]
The
[0212]
In addition, you may make it implement a present Example by the commercially available personal computer etc. which installed the computer program etc. corresponding to a present Example. In that case, the computer program or the like corresponding to the present embodiment may be provided to the user while being stored in a storage medium that can be read by the computer, such as a CD-ROM or a floppy disk. When the personal computer or the like is connected to a communication network such as LAN, the Internet, or a telephone line, a computer program or various data may be provided to the personal computer or the like via the communication network.
[0213]
Although the present invention has been described with reference to the embodiments, the present invention is not limited thereto. It will be apparent to those skilled in the art that various modifications, improvements, combinations, and the like can be made.
[0214]
【The invention's effect】
As described above, according to the present invention, data can be transmitted or processed in synchronization by communicating synchronization information between a plurality of communication devices.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a network according to an embodiment of the present invention.
FIG. 2 is a timing chart showing processing of a transmission node (Tx node).
FIG. 3 is a timing chart of each node shown in FIG. 1;
FIG. 4 is a flowchart showing processing of a WC master node.
FIG. 5 is a block diagram showing a configuration of a first Tx node.
FIG. 6 is a flowchart showing processing of a first Tx node.
FIG. 7 is a block diagram showing a configuration of a first receiving node (Rx node).
FIG. 8 is a flowchart showing processing of a first Rx node.
FIG. 9 is a block diagram showing a configuration of a second Tx node.
FIG. 10 is a flowchart showing processing of a second Tx node.
FIG. 11 is a block diagram showing a configuration of a second Rx node.
FIG. 12 is a flowchart showing processing of a second Rx node.
FIG. 13 is a block diagram showing a network configuration.
FIG. 14 is a flowchart showing processing of a root node.
FIG. 15 is a flowchart showing processing of a node other than the root node.
FIG. 16 is a flowchart showing processing for determining a delay time correction value for a cycle timer.
FIG. 17 is a flowchart showing first delay time correction processing;
FIG. 18 is a flowchart showing a second delay time correction process;
FIG. 19 is a diagram illustrating a specific hardware configuration of the
Claims (6)
前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、
オーディオデータのサンプルをカウントするカウント値を生成するサンプルカウント生成手段と、
前記同期化された時間値に対応する時間値に最大遅延量を加味した同期時間値を生成する同期時間値生成手段と、
所定時間間隔で、前記サンプルカウント値と同期時間値とを含む同期パケットを生成し、生成した同期パケットを前記ネットワークに出力する同期パケット出力手段と
を有する通信装置。A communication device forming one of a plurality of nodes connected to a network,
A cycle timer for generating a time value synchronized with a time value output by a route node connected to the network;
Sample count generation means for generating a count value for counting samples of audio data;
A synchronization time value generating means for generating a synchronization time value in which a maximum delay amount is added to a time value corresponding to the synchronized time value;
A communication apparatus comprising: synchronization packet output means for generating a synchronization packet including the sample count value and the synchronization time value at a predetermined time interval and outputting the generated synchronization packet to the network.
前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、
前記ネットワークに接続されたワードクロックノードから同期情報を受信する受信手段と、
前記同期化された時間値と前記受信した同期情報に基づいてワードクロックを発生するクロック発生手段と、
前記ワードクロックに基づいてオーディオデータのサンプルを順次供給するデータサンプル供給手段と、
前記同期情報に基づいてオーディオデータのサンプルカウント値を供給するサンプルカウント供給手段と、
前記カウント値に転送最大遅延量を加味した同期カウント値を生成する同期カウント生成手段と、
前記供給された複数のサンプルと前記同期カウント値とを含むデータパケットを生成し、生成したデータパケットを前記ネットワークに接続された受信ノードに送信する送信手段と
を有する通信装置。A communication device forming one of a plurality of nodes connected to a network,
A cycle timer for generating a time value synchronized with a time value output by a route node connected to the network;
Receiving means for receiving synchronization information from a word clock node connected to the network;
Clock generating means for generating a word clock based on the synchronized time value and the received synchronization information;
Data sample supply means for sequentially supplying samples of audio data based on the word clock;
Sample count supply means for supplying a sample count value of audio data based on the synchronization information;
Synchronization count generation means for generating a synchronization count value in which a transfer maximum delay amount is added to the count value;
A communication apparatus comprising: a transmission unit configured to generate a data packet including the plurality of supplied samples and the synchronization count value, and to transmit the generated data packet to a reception node connected to the network.
前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、
前記ネットワークに接続されたワードクロックノードから同期情報を受信する受信手段と、
前記同期化された時間値と前記受信した同期情報に基づいてワードクロックを発生するクロック発生手段と、
前記ワードクロックに基づいてオーディオデータのサンプルを順次供給するデータサンプル供給手段と、
前記同期化された時間値に転送最大遅延量を加味した同期時間値を生成する同期時間値生成手段と、
前記供給された複数のサンプルと前記同期時間値とを含むデータパケットを生成し、生成したデータパケットを前記ネットワークに接続された受信ノードに送信する送信手段とを有する通信装置。A communication device forming one of a plurality of nodes connected to a network,
A cycle timer for generating a time value synchronized with a time value output by a route node connected to the network;
Receiving means for receiving synchronization information from a word clock node connected to the network;
Clock generating means for generating a word clock based on the synchronized time value and the received synchronization information;
Data sample supply means for sequentially supplying samples of audio data based on the word clock;
A synchronization time value generating means for generating a synchronization time value by adding a transfer maximum delay amount to the synchronized time value;
A communication apparatus comprising: a transmission unit configured to generate a data packet including the plurality of supplied samples and the synchronization time value, and to transmit the generated data packet to a reception node connected to the network.
前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、
前記ネットワークに接続されたワードクロックノードから同期情報を受信する同期情報受信手段と、
前記同期化された時間値と前記受信した同期情報に基づいてワードクロックを発生するクロック発生手段と、
前記ネットワークに接続された送信ノードから、複数のサンプルと該複数のサンプルに関連した同期カウント値とを含むデータパケットを受信するデータ受信手段と、
前記同期情報と前記同期カウント値とに基づくタイミングで、前記データパケットに含まれる複数のサンプルを、前記ワードクロックに応じて1サンプルずつ順次出力するサンプル出力手段と
を有する通信装置。A communication device forming one of a plurality of nodes connected to a network,
A cycle timer for generating a time value synchronized with a time value output by a route node connected to the network;
Synchronization information receiving means for receiving synchronization information from a word clock node connected to the network;
Clock generating means for generating a word clock based on the synchronized time value and the received synchronization information;
Data receiving means for receiving a data packet including a plurality of samples and a synchronization count value associated with the plurality of samples from a transmission node connected to the network;
A communication apparatus comprising: sample output means for sequentially outputting a plurality of samples included in the data packet sample by sample according to the word clock at a timing based on the synchronization information and the synchronization count value.
前記ネットワークに接続されたルートノードから当該通信装置までの通信の到達遅延時間を計測する計測手段と、
前記計測手段が計測する到達遅延時間に応じて補正値を決定する決定手段と、
前記ルートノードの出力する時間値を受信する時間値受信手段と、
受信した時間値を前記補正値に応じて補正する補正手段と、
補正された時間値に基づいて同期化された時間値を発生するサイクルタイマと、
前記ネットワークに接続されたワードクロックノードから同期情報を受信する同期情報受信手段と、
前記同期化された時間値と前記受信した同期情報に基づいてワードクロックを発生するクロック発生手段と
を有する通信装置。A communication device forming one of a plurality of nodes connected to a network,
Measuring means for measuring the arrival delay time of communication from the root node connected to the network to the communication device;
Determining means for determining a correction value according to the arrival delay time measured by the measuring means;
Time value receiving means for receiving a time value output from the root node;
Correction means for correcting the received time value according to the correction value;
A cycle timer that generates a synchronized time value based on the corrected time value;
Synchronization information receiving means for receiving synchronization information from a word clock node connected to the network;
A communication apparatus comprising: a clock generation means for generating a word clock based on the synchronized time value and the received synchronization information.
前記ネットワークに接続されたルートノードの出力する時間値によって同期化された時間値を発生するサイクルタイマと、
前記ルートノードから当該通信装置までの通信の到達遅延時間を計測する計測手段と、
前記計測手段が計測する到達遅延時間に応じて補正値を決定する決定手段と、
前記ネットワークに接続されたワードクロックノードから同期情報を受信する同期情報受信手段と、
受信した同期情報を前記補正値に応じて補正する補正手段と、
前記同期化された時間値と前記補正された同期情報に基づいてワードクロックを発生するクロック発生手段と
を有する通信装置。A communication device forming one of a plurality of nodes connected to a network,
A cycle timer for generating a time value synchronized with a time value output by a route node connected to the network;
Measuring means for measuring the arrival delay time of communication from the root node to the communication device;
Determining means for determining a correction value according to the arrival delay time measured by the measuring means;
Synchronization information receiving means for receiving synchronization information from a word clock node connected to the network;
Correction means for correcting the received synchronization information according to the correction value;
A communication apparatus comprising: clock generation means for generating a word clock based on the synchronized time value and the corrected synchronization information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16565999A JP3697949B2 (en) | 1998-06-15 | 1999-06-11 | Communication device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16747598 | 1998-06-15 | ||
JP10-167475 | 1998-06-15 | ||
JP16565999A JP3697949B2 (en) | 1998-06-15 | 1999-06-11 | Communication device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000078170A JP2000078170A (en) | 2000-03-14 |
JP3697949B2 true JP3697949B2 (en) | 2005-09-21 |
Family
ID=26490317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16565999A Expired - Lifetime JP3697949B2 (en) | 1998-06-15 | 1999-06-11 | Communication device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3697949B2 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3692858B2 (en) | 1999-09-27 | 2005-09-07 | ヤマハ株式会社 | Communications system |
JP3584873B2 (en) | 2000-10-31 | 2004-11-04 | ヤマハ株式会社 | Communication control device and communication system |
DE102005025529B4 (en) * | 2005-06-03 | 2007-05-16 | Wago Verwaltungs Gmbh | Method for controlling access times to a system bus and communication module |
JP4650248B2 (en) * | 2005-12-09 | 2011-03-16 | 株式会社デンソー | Vehicle network system and network node |
JP4923655B2 (en) * | 2006-03-22 | 2012-04-25 | ヤマハ株式会社 | Audio network system |
US7684415B2 (en) | 2006-03-22 | 2010-03-23 | Yamaha Corporation | Audio network system |
DE602006007369D1 (en) * | 2006-12-20 | 2009-07-30 | Ntt Docomo Inc | Apparatus for synchronizing a first transceiver with a second transceiver |
DE112011104955B4 (en) | 2011-02-25 | 2015-11-26 | Mitsubishi Electric Corporation | Master device and slave device and time synchronization method |
GB2503267B8 (en) * | 2012-06-22 | 2022-02-23 | Canon Kk | Gapless video transition |
-
1999
- 1999-06-11 JP JP16565999A patent/JP3697949B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000078170A (en) | 2000-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6751228B1 (en) | Packet handler of audio data by isochronous mode | |
US6477181B1 (en) | Data communication method and system | |
US5923902A (en) | System for synchronizing a plurality of nodes to concurrently generate output signals by adjusting relative timelags based on a maximum estimated timelag | |
JP3697949B2 (en) | Communication device | |
JPH11190993A (en) | Device and method for communicating musical sound information, device and method for control, and medium where program is recorded | |
US6909728B1 (en) | Synchronous communication | |
JP3531762B2 (en) | Transmitter and receiver | |
JP3702261B2 (en) | Time stamp correction circuit and correction method | |
JP3358528B2 (en) | Communication device and communication method | |
JP3451971B2 (en) | Packet transfer device | |
JP2005173136A (en) | Music system, and music data transmitting and receiving apparatus | |
JP2001022353A (en) | Musical singal processor and medium | |
JP3358581B2 (en) | Packet transfer device | |
JP2000020055A (en) | Musical sound information transfer device | |
JP3201298B2 (en) | Network data synchronization method and apparatus, synchronization node, and network system | |
JP3451973B2 (en) | Packet transfer device | |
JP2001144694A (en) | Sampling rate converter | |
JPH11284588A (en) | Communication device, communication method and recording medium program with program recorded therein | |
JP3496562B2 (en) | Packet transfer device | |
JP3444224B2 (en) | Packet transfer device | |
JP3786039B2 (en) | Communication apparatus and method | |
JP3700693B2 (en) | Music information transfer device | |
JP3451972B2 (en) | Packet transfer device | |
JP2000278326A (en) | Packet transfer device | |
JP3977124B2 (en) | Data transmission method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040623 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040721 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041216 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050519 |
|
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: 20050614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3697949 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090715 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090715 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100715 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100715 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110715 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110715 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120715 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130715 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |