[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2000078170A - 通信装置 - Google Patents

通信装置

Info

Publication number
JP2000078170A
JP2000078170A JP11165659A JP16565999A JP2000078170A JP 2000078170 A JP2000078170 A JP 2000078170A JP 11165659 A JP11165659 A JP 11165659A JP 16565999 A JP16565999 A JP 16565999A JP 2000078170 A JP2000078170 A JP 2000078170A
Authority
JP
Japan
Prior art keywords
node
synchronization information
data
receiving
packet
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.)
Granted
Application number
JP11165659A
Other languages
English (en)
Other versions
JP3697949B2 (ja
Inventor
Yasutaka Kuribayashi
泰孝 栗林
Yasushi Otani
康 大谷
Junichi Fujimori
潤一 藤森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP16565999A priority Critical patent/JP3697949B2/ja
Publication of JP2000078170A publication Critical patent/JP2000078170A/ja
Application granted granted Critical
Publication of JP3697949B2 publication Critical patent/JP3697949B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

(57)【要約】 【課題】 複数の通信装置間で同期をとるための通信技
術に関し、複数の通信ノード間で通信するデータの同期
をとることができる通信装置を提供することである。 【解決手段】 第1の同期情報を生成するタイマと、前
記タイマが生成する第1の同期情報に転送最大遅延量を
加味した第2の同期情報を生成する生成手段と、所定タ
イミング毎にそのタイミングに対応するサンプルカウン
ト及び前記第2の同期情報をネットワークに送信する送
信手段とを有する通信装置を提供する。

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の同期情報を生成するタイマと、前記タイマが
生成する第1の同期情報に転送最大遅延量を加味した第
2の同期情報を生成する生成手段と、所定タイミング毎
にそのタイミングに対応するサンプルカウント及び前記
第2の同期情報をネットワークに送信する送信手段とを
有する通信装置が提供される。
【0009】本発明の他の観点によれば、外部から第1
の同期情報を受信する受信手段と、前記受信手段が受信
する第1の同期情報に転送最大遅延量を加味した第2の
同期情報を生成する生成手段と、前記第2の同期情報及
びそれに対応するデータをネットワークに送信する送信
手段とを有する通信装置が提供される。
【0010】本発明の他の観点によれば、外部から第1
の同期情報及びそれに対応するデータを受信する第1の
受信手段と、外部から第2の同期情報を受信する第2の
受信手段と、前記第1の受信手段が受信する第1の同期
情報に基づき第1の同期調整を行い、前記第2の受信手
段が受信する第2の同期情報に基づき第2の同期調整を
行って前記第1の受信手段が受信するデータの処理を行
う処理手段とを有する通信装置が提供される。
【0011】本発明の他の観点によれば、第1の同期情
報を生成する第1の同期情報生成手段と、前記第1の同
期情報生成手段が生成する第1の同期情報をネットワー
クを介して他の通信装置に転送する場合の転送最大遅延
量を加味して前記第1の同期情報を基に第2の同期情報
を生成する第2の同期情報生成手段と、前記第2の同期
情報生成手段が生成する第2の同期情報をネットワーク
に送信する送信手段と、前記第2の同期情報生成手段が
生成する第2の同期情報をネットワークを介さずに直接
受け取り、該第2の同期情報に基づいてデータを処理す
る処理手段とを有する通信装置が提供される。
【0012】本発明の他の観点によれば、外部通信装置
から第1の同期情報を受信する第1の受信手段と、外部
から第2の同期情報を受信する第2の受信手段と、前記
第1の受信手段が受信する第1の同期情報の前記外部通
信装置からの到達遅延時間を計測する計測手段と、前記
計測手段が計測する到達遅延時間に応じて前記第1又は
第2の同期情報の補正値を決定する決定手段と、前記第
1又は第2の受信手段が第1又は第2の同期情報を受信
する毎に前記決定手段により決定される補正値に応じて
該第1又は第2の同期情報を補正する補正手段とを有す
る通信装置が提供される。
【0013】
【発明の実施の形態】図1は、本発明の第1の実施例に
よる通信ネットワークの構成を示すブロック図である。
本実施例では、IEEE1394規格に準拠した"audio
and music data transmission protocol"の規定に則っ
たパケット転送が可能である。そのパケット転送は、I
EEE1394規格のアイソクロナスパケット転送で行
うことが好ましい。
【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を有し、R
xノード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サンプルのオ
ーディオデータの同期をとるためのパケットである。W
Cパケット5−32及び5−40は、それぞれ第32サ
ンプル及び第40サンプルのオーディオデータの同期を
とるためのパケットである。
【0018】Txノード2は、WCマスタノード1から
受信したWCパケット5に応じてタイミングを調整し、
データパケット6をバス4を介してRxノード3へ送信
する。データパケット6は、サンプルカウントを示すD
BC6a及び8つのサンプルデータ6bを含む。
【0019】Txノード2は、例えばデータパケット6
−24、6−32、6−40等を所定間隔で順次Rxノ
ード3へ送信する。データパケット6−24は、第24
〜31サンプルのオーディオデータ6bを含む。データ
パケット6−32及び6−40は、それぞれ第32〜3
9サンプル及び第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、D3
2、D40のサイクルタイムをそれぞれCT24、CT
32及びCT40とする。
【0024】システムタイムSYT24、SYT32及
びSYT40は、それぞれサイクルタイムCT24、C
T32、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規格に準拠した"aud
io and music data transmission protocol"で規定され
ているものと同じであり、アイソクロナスパケット転送
のためのCIPヘッダ内に含まれている。DBCは8ビ
ットであり、SYTは16ビットである。
【0028】図3は、図1のノード間の動作を示すタイ
ミングチャートである。
【0029】WCマスタノード1は、サンプルデータ2
4、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_O
FFSETは、IEEE1394規格で決められている
最大遅延時間(トランスファディレイ)であり、352
μsである。つまり、あるノードから他のノードへパケ
ットを送信すると、遅くとも352μs以内にはパケッ
トが到達することが保証されている。
【0031】WCパケット5は、最大遅延時間SYT_
OFFSETが加味されている。すなわち、WCパケッ
ト5−24は、第24サンプルカウントを示すサンプル
カウント5bと、それに対応するシステムタイムSYT
24(図2)に上記の最大遅延時間SYT_OFFSE
Tを加算したシステムタイムWC_SYT24とを含
む。システムタイムWC_SYT24=SYT24+S
YT_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_OFF
SET(352μs)を加算したシステムタイムWC_
SYT32とを含む。
【0034】Txノード2は、WCパケット5−32を
受信すると、第32サンプルカウントにオフセット値S
AMPLE_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×3
52μs=16.896である。したがって、サンプル
オフセット値は、16.896サンプル以上でなければ
ならない。サンプルオフセット値は、最小の整数として
17サンプルが好ましい。
【0038】Rxノード3は、遅くともサンプルカウン
トが49の時には、Txノード2から上記のデータパケ
ット6−49を既に受信している。上記の通信の合計遅
延時間はT1+T2である。遅延時間T1は、WCマス
タノード1からTxノード2までのWCパケット5−3
2の通信時間である。遅延時間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−3
2を送信するとすると、Rxノード3がそのWCパケッ
ト5−32を受信したときには既にサンプルカウントの
32に相当するシステムタイムが過ぎてしまっており、
処理できなくなってしまう。
【0042】データパケット6−49は、サンプルカウ
ントオフセット値SAMPLE_OFFSETがオフセ
ットされたDBC6aを含む。このオフセット値SAM
PLE_OFFSETは、通信遅延時間T2を吸収する
ためのオフセット値である。
【0043】仮に、サンプルカウントオフセット値SA
MPLE_OFFSETをオフセットせずにデータパケ
ット6−32を送信するとすると、Rxノード3がその
データパケット6−32を受信したときには既にサンプ
ルカウントの32が過ぎてしまっており、処理できなく
なってしまう。
【0044】図4は、WCマスタノード1の処理を示す
フローチャートである。
【0045】ステップSA1では、レジスタsampl
e 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_OFF
SETは、最大遅延時間であり、例えば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−3
2、5−40等を順次送出する。
【0049】WCパケット5−24は、システムタイム
5aがWC_SYT24(=SYT24+SYT_OF
FSET)であり、サンプルカウント5bが24であ
る。WCパケット5−32は、システムタイム5aがW
C_SYT32(=SYT32+SYT_OFFSE
T)であり、サンプルカウント5bが32である。
【0050】図5は、第1のTxノード2の構成例を示
すブロック図である。
【0051】Txノード2は、IEEE1394インタ
フェースシステム11及びノードシステム12を有す
る。
【0052】WCパケット5は、システムタイム5a及
びサンプルカウント5bを含み、WCマスタノード1か
ら受信するパケットである。サンプルカウントFIFO
13は、サンプルカウント5bをファーストインファー
ストアウトで格納する。システムタイムFIFO14
は、システムタイム5aをファーストインファーストア
ウトで格納する。
【0053】システムタイム比較器15は、FIFO1
4が出力するシステムタイム5aとサイクルタイマ2a
が出力するサイクルタイムの下位16ビットを比較す
る。サイクルタイムは32ビットである。システムタイ
ム5aは、WCマスタノード1のサイクルタイムの下位
16ビットに最大遅延時間SYT_OFFSET(35
2μs)を加算した値である。
【0054】システムタイム5aは、最大遅延時間SY
T_OFFSET分加算されているので、サイクルタイ
マ2aのサイクルタイムよりも大きい。サイクルタイマ
2aは、約25MHzで順次サイクルタイムをインクリ
メントする。
【0055】やがて、サイクルタイムとシステムタイム
5aは一致する。両者が一致すると、比較器15は、一
致信号を出力する。一致信号が出力するまで後に示す処
理は待たされる。後の処理を待たせることにより、WC
マスタノード1からTxノード2までの通信遅延時間T
1(図3)を吸収することができる。WCマスタノード
1から複数のTxノード2へWCパケット5を送信する
場合、各Txノード2の受信時刻の相違を吸収すること
ができる。
【0056】位相フェーズロックループ回路(PLL)
16は、上記の一致信号に同期して、例えば48kHz
のオーディオ用ワードクロックWCKを生成し、ノード
システム12に供給する。
【0057】タイミング調整器17は、上記の一致信号
を受けた時点で、FIFO13内のサンプルカウント5
bを加算器18へ出力する。加算器18は、サンプルカ
ウント5bにオフセット値SAMPLE_OFFSET
(例えば、17サンプル)を加算し、サンプルカウント
SCNを出力する。例えば、サンプルカウント5bが3
2の場合、加算器18はサンプルカウントSCN=32
+17=49を出力する。オフセット値を加算すること
により、Txノード2からRxノード3までの通信遅延
時間T2(図3)を吸収するための準備が整う。通信遅
延時間T2の吸収は、後に示すRxノード3(図7)で
行われる。
【0058】ノードシステム12は、ワードクロックW
CKに同期して、サンプルカウントSCN(例えば4
9)に応じて、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_OFFS
ETを加算し、加算値SCNをノードシステム12へ出
力する。
【0070】次に、インタフェースシステム11はステ
ップSB6を処理し、ノードシステム12はステップS
B9を処理する。
【0071】ステップSB6では、生成したサンプルカ
ウントSCNを基にDBCを生成する。必要であれば、
生成したDBCをFIFOに格納する。次に、ステップ
SB7へ進む。
【0072】ステップSB9では、入力したサンプルカ
ウントCNTに対応したサンプルデータSDTをインタ
フェースシステム11へ供給する。次に、ステップSB
7へ進む。
【0073】ステップSB7では、上記のノードシステ
ム12からサンプルデータSDTを受け取る。
【0074】ステップSB8では、サンプルデータSD
T及びDBC等をパケット化して、データパケット6を
Rxノード3へ送出する。
【0075】図7は、第1のRxノード3の構成例を示
すブロック図である。
【0076】Rxノード3は、IEEE1394インタ
フェースシステム31及びノードシステム32を有す
る。
【0077】WCパケット5は、システムタイム5a及
びサンプルカウント5bを含み、WCマスタノード1か
ら受信するパケットである。サンプルカウントFIFO
33は、サンプルカウント5bをファーストインファー
ストアウトで格納する。システムタイムFIFO34
は、システムタイム5aをファーストインファーストア
ウトで格納する。
【0078】システムタイム比較器35は、FIFO3
4が出力するシステムタイム5aとサイクルタイマ3a
が出力するサイクルタイムの下位16ビットを比較す
る。システムタイム5aは、WCマスタノード1のサイ
クルタイムの下位16ビットに最大遅延時間SYT_O
FFSET(325μs)を加算した値である。
【0079】サイクルタイムとシステムタイム5aが一
致すると、比較器35は、一致信号を出力する。一致信
号が出力するまで後に示す処理は待たされる。後の処理
を待たせることにより、WCマスタノード1からRxノ
ード3までの通信遅延時間を吸収することができる。W
Cマスタノード1から複数のRxノード3へWCパケッ
ト5を送信する場合、各Rxノード3の受信時刻の相違
を吸収することができる。
【0080】PLL36は、上記の一致信号に同期し
て、例えば48kHzのオーディオ用ワードクロックW
CKを生成し、ノードシステム32に供給する。
【0081】タイミング調整器37は、上記の一致信号
を受けた時点で、FIFO33内のサンプルカウント5
bをサンプルカウントSCNとしてノードシステム32
へ供給する。
【0082】データパケット6は、DBC6a及びサン
プルデータ6bを含み、Txノード2から受信するパケ
ットである。DBC−FIFO40は、DBC6aをフ
ァーストインファーストアウトで格納する。データFI
FO39は、サンプルデータ6bをファーストインファ
ーストアウトで格納する。
【0083】DBC比較器38は、FIFO33が出力
するサンプルカウント5bとFIFO40が出力するD
BC6aを比較する。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−FIFO
40は、比較器38の比較結果により読み出しポインタ
(アドレス)が制御される。
【0087】比較器38が一致信号を出力すると、デー
タFIFO39からサンプルデータが読み出されてタイ
ミング調整器41に出力され、比較器38にはDBC−
FIFO40内の次のDBCがセットされる。
【0088】タイミング調整器41は、ワードクロック
WCKに同期して、FIFO39から出力されたデータ
をサンプルデータSDTとしてノードシステム32に供
給する。
【0089】ノードシステム32は、ワードクロックW
CKに同期して、サンプルカウントSCNに応じてサン
プルデータ(オーディオデータ)SDTを再生処理し、
スピーカから発音させる。
【0090】なお、WCパケット5は、サンプルカウン
ト5bの代わりにDBCを用いてもよい。その場合、F
IFO33にはDBCが格納され、比較器38はFIF
O33内のDBCとFIFO40内のDBCとを比較す
る。
【0091】また、Rxノード3が受信を開始する際、
データFIFO39及びDBC−FIFO40のリード
ポインタを所定値に制御する必要がある。具体的には、
DBC−FIFO40の先頭のDBC値とサンプルカウ
ントFIFO33の先頭のサンプルカウント値とを比較
し、サンプル単位でデータFIFO39及びDBC−F
IFO40の各リードポインタを制御する。これによ
り、サンプルカウント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がFIF
O33内のサンプルカウントとFIFO40内のDBC
とを比較し、比較結果に応じてFIFO39及び40の
読み出しポインタを調整する。
【0100】ステップSC7では、調整したポインタを
基にFIFO39からサンプルデータSDTを読み出
し、ノードシステム32に供給する。そして、FIFO
33内のサンプルカウント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に示すように、D
BC6aの代わりにシステムタイム6cを用いる。すな
わち、データパケット6は、システムタイム6c及びサ
ンプルデータ6bを含む。
【0105】Txノード2は、IEEE1394インタ
フェースシステム51及びノードシステム52を有す
る。
【0106】WCパケット5は、システムタイム5a及
びサンプルカウント5bを含む。サンプルカウントFI
FO53は、サンプルカウント5bをファーストインフ
ァーストアウトで格納する。システムタイムFIFO5
4は、システムタイム5aをファーストインファースト
アウトで格納する。
【0107】システムタイム比較器55は、FIFO5
4が出力するシステムタイム5aとサイクルタイマ2a
が出力するサイクルタイムの下位16ビットを比較す
る。システムタイム5aは、WCマスタノード1のサイ
クルタイムの下位16ビットに最大遅延時間SYT_O
FFSET(352μs)を加算した値である。
【0108】サイクルタイムとシステムタイム5aが一
致すると、比較器55は、一致信号を出力する。一致信
号が出力するまで後に示す処理は待たされる。後の処理
を待たせることにより、WCマスタノード1からTxノ
ード2までの通信遅延時間T1(図3)を吸収すること
ができる。
【0109】PLL56は、上記の一致信号に同期し
て、例えば48kHzのオーディオ用ワードクロックW
CKを生成し、ノードシステム52に供給する。
【0110】タイミング調整器57は、上記の一致信号
を受けた時点で、FIFO53内のサンプルカウント5
bをサンプルカウントSCNとしてノードシステム52
に供給する。
【0111】ノードシステム52は、ワードクロックW
CKに同期して、サンプルカウントSCN(例えば4
9)に応じて、8個のサンプルデータ(例えば第49〜
第56サンプルデータ)をデータSDTとして読み出し
て、データFIFO59にファーストインファーストア
ウトで格納する。
【0112】タイミング調整器100は、上記でシステ
ムタイムFIFO54から出力されたシステムタイム5
aの値(比較器55で一致した値)を、比較器55で一
致したタイミングで加算器58へ供給する。加算器58
は、システムタイム5aにオフセット値SYT_OFF
SET(例えば、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はステップS
D8を処理する。
【0121】ステップSD6では、加算器58が上記の
一致したシステムタイム5aとオフセット値SYT_O
FFSETを加算し、加算値をFIFO60に格納す
る。次に、ステップSD7へ進む。
【0122】ステップSD8では、入力したサンプルカ
ウントSCNに応じたサンプルデータSDTをインタフ
ェースシステム51へ供給する。次に、ステップSD7
へ進む。
【0123】ステップSD7では、サンプルデータSD
T及びシステムタイム等をパケット化して、データパケ
ット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は、FIFO8
0が出力するシステムタイム5cとサイクルタイマ3a
が出力するサイクルタイムを比較する。システムタイム
6cは、図9のTxノード2の加算器58にてシステム
タイム5aにオフセット値SYT_OFFSETを加算
した値である。
【0129】システムタイム6cは、オフセット値SY
T_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をファーストイ
ンファーストアウトで格納する。サンプルカウントFI
FO82は、サンプルカウント5bをファーストインフ
ァーストアウトで格納する。
【0133】システムタイム比較器75は、FIFO7
4が出力するシステムタイム5aとサイクルタイマ3a
が出力するサイクルタイムの下位16ビットを比較す
る。システムタイム5aは、WCマスタノード1のサイ
クルタイムの下位16ビットに最大遅延時間SYT_O
FFSET(352μs)を加算した値である。
【0134】サイクルタイムとシステムタイム5aが一
致すると、比較器75は、一致信号を出力する。一致信
号が出力するまで後に示す処理が待たされるので、WC
マスタノード1からRxノード3までの通信遅延時間を
吸収することができる。
【0135】PLL76は、上記の一致信号に同期し
て、例えば48kHzのオーディオ用ワードクロックW
CKを生成し、ノードシステム72に供給する。
【0136】タイミング調整器77は、上記の一致信号
を受けた時点で、データFIFO73内のサンプルデー
タ6bをサンプルデータSDTとしてノードシステム7
2へ供給する。
【0137】タイミング調整器83は、上記の一致信号
を受けた時点で、サンプルカウントFIFO82内のサ
ンプルカウント5bをサンプルカウントSCNとしてノ
ードシステム72へ供給する。
【0138】ノードシステム72は、ワードクロックW
CKに同期して、サンプルカウント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がFIF
O80内のシステムタイム6cとサイクルタイマ3aの
サイクルタイムとを比較し、両者が一致するまで待機す
る。両者が一致すると、ステップSE4へ進む。
【0144】ステップSE4では、FIFO80に格納
されている次のシステムタイムを比較器78にロード
し、次回の比較の準備を行う。
【0145】ステップSE5では、データFIFO79
内のサンプルデータをデータFIFO73に格納する。
【0146】ステップSE6では、比較器75がFIF
O74内のシステムタイム5aとサイクルタイマ3aの
サイクルタイムとを比較し、両者が一致するまで待機す
る。両者が一致すると、ステップSE7へ進む。
【0147】ステップSE7では、FIFO74に格納
されている次のシステムタイムを比較器75にロード
し、次回の比較の準備を行う。
【0148】ステップSE8では、PLL76がワード
クロックWCKを生成する。
【0149】ステップSE9では、FIFO82内のサ
ンプルカウントSCN及びFIFO73内のサンプルデ
ータSDTをノードシステムに供給する。
【0150】図13は、第3のTxノード90の構成例
を示すブロック図である。
【0151】第3のTxノード90は、第2のTxノー
ド2(図9)とWCマスタノード1(図4)を含めた構
成である。第3のTxノード90は、Txノードとして
の機能の他、WCマスタノードとしての機能をも有す
る。第3のTxノード90をネットワークに接続した場
合には、独立のWCマスタノード1をネットワークに接
続する必要はない。
【0152】第3のTxノード90は、IEEE139
4インタフェースシステム91及びノードシステム52
を有する。インタフェースシステム91は、上部がWC
マスタノードに相当し、下部がTxノードに相当する。
下部のTxノードは、第2のTxノード2(図9)と同
じ構成である。以下、上部のWCマスタノードに相当す
る部分の構成を説明する。
【0153】発振器(OSC)93は、インタフェース
システム91の外部に設けられ、所定周波数の信号を発
振する。発振器93は、インタフェースシステム91の
内部に設けてもよい。分周器94は、発振器93が発振
する信号を分周し、所定周波数(図2のパケット周期S
YT_INTERVALに相当する周波数)の信号を出
力する。サンプルカウンタ95は、発振器93が発振す
る信号に同期して、ワードクロックWCK(例えば48
kHz)と同じ周波数でサンプルカウントをインクリメ
ントする。
【0154】ラッチ96は、分周器94の出力信号に同
期して、サンプルカウンタ95が生成するサンプルカウ
ントをサンプルカウント5bとして出力する。
【0155】ラッチ97は、分周器94の出力信号に同
期して、サイクルタイマ2aが生成するサイクルタイム
を加算器98へ出力する。加算器98は、ラッチ97が
出力するサイクルタイムの下位16ビットにオフセット
値SYT_OFFSETを加算し、その加算値をシステ
ムタイム5aとして出力する。
【0156】システムタイム5a及びサンプルカウント
5bはパケット化され、WCパケット5としてバス4上
に送出される。
【0157】それと同時に、システムタイム5aは、I
EEE1394バスを介さず、Txノード90内のシス
テムタイムFIFO54に直接格納され、サンプルカウ
ント5bは、Txノード90内のサンプルカウントFI
FO53に直接格納される。その後のTxノード部の処
理は、図9のTxノードの処理と同じである。
【0158】WCマスタノードをTxノードに含ませる
ことにより、単独のWCマスタノードをネットワークに
接続する必要がなくなり、ノード数を減らすことができ
る。WCマスタノードをTxノードに含ませるのと同様
にして、WCマスタノードをRxノードに含ませてもよ
い。
【0159】次に、WCマスタノード1、Txノード2
及びRxノード3の各サイクルタイマ1a,2a,3a
(図1)の位相を合わせる方法を説明する。WCマスタ
ノード1、Txノード2及びRxノード3は、全てIE
EE1394バスに接続されたノードである。これらの
ノードのうちの一つがルートノードとして決定される。
例えば、各ノードに識別番号が付与され、その識別番号
が最も小さな値又は大きな値のノードがルートノードと
なる。その構成を次に示す。
【0160】図14は、図1のネットワークを別の観点
から表現したネットワークの構成を示す。
【0161】ルートノードRNは、WCマスタノード
1、Txノード2又はRxノード3のうちのいずれか一
つのノードである。第1ノードN1〜第nノードNn
は、ルートノード以外のノードである。
【0162】ルートノードRNは、自己のサイクルタイ
マで生成されたサイクルタイムCTをバス上に送出す
る。ノードN1〜Nnは、ルートノードRNが送出する
サイクルタイムCTを受け取り、そのサイクルタイムC
Tの値を自己のサイクルタイマにセットする。
【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、SH
3はルートノード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)のシステムFIFO
80の値を補正する必要はない。
【0194】以上のように、サイクルタイム又はシステ
ムタイムを補正することによって、各ノードの時間軸の
位相を合わせることができる。位相を合わせることによ
り、複数のTxノードの送信タイミング又は複数のRx
ノードの再生タイミングの位相を合わせることができ
る。
【0195】第1及び第2の実施例によれば、WCマス
タノード1がWCパケット5をTxノード2及びRxノ
ード3に送信する。Txノード2は、Rxノード3にデ
ータパケット6を送信する。データパケット6は、サン
プルデータ6bの他、DBC6a又はシステムタイム6
cを有する。
【0196】第1の実施例では、DBC6aを用いて、
サンプルカウント軸を基にノード間の同期をとることが
できる。第2の実施例では、システムタイム6cを用い
て、システムタイム軸を基にノード間の同期をとること
ができる。
【0197】ノード間で同期をとることにより、1つの
Txノードから複数のRxノードに同じデータをほぼ同
時に送信する場合に、複数のRxノード間でデータの再
生時間を合わせることができる。また、各Rxノード
は、タイミングずれを起こすことなく、一連のデータを
再生することができる。
【0198】また、ノード間で同期をとることにより、
複数のTxノードから1つのRxノードにデータを送信
する場合に、Rxノードでは複数のTxノードから送信
されるデータのタイミングを合わせることができる。
【0199】なお、パケット中のデータはオーディオデ
ータに限定されず、画像データ等でもよい。通信は、I
EEE1394デジタルシリアル通信に限定されず、そ
の他のシリアル通信やパラレル通信でもよい。例えば、
インターネット、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−R
OMドライブ、光磁気ディスクドライブ等であり、MI
DIデータ、オーディオデータ、画像データ又はコンピ
ュータープログラム等を記憶することができる。
【0204】ROM28は、コンピュータプログラム及
び各種パラメータを記憶することができる。RAM24
は、バッファやレジスタ等のワーキングエリアを有し、
外部記憶装置25に記憶されている内容をコピーして記
憶することができる。
【0205】CPU22は、ROM28又はRAM24
に記憶されているコンピュータプログラムに従って、各
種演算又は処理を行う。システムクロック23は、時間
情報を生成する。CPU22はシステムクロック23か
ら時間情報を得て、タイマ割り込み処理を行うことがで
きる。
【0206】インターネット回線32には、パーソナル
コンピュータ12の通信インターフェース31が接続さ
れる。通信インターフェース31は、インターネットに
より、MIDIデータ、オーディオデータ、画像データ
及びコンピュータプログラム等を送受信するためのイン
ターフェースである。
【0207】MIDIインターフェース26には、MI
DI音源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】 第3のTxノードの構成を示すブロック図
である。
【図14】 ネットワークの構成を示すブロック図であ
る。
【図15】 ルートノードの処理を示すフローチャート
である。
【図16】 ルートノード以外のノードの処理を示すフ
ローチャートである。
【図17】 サイクルタイマの遅延時間補正値の決定処
理を示すフローチャートである。
【図18】 遅延時間の第1の補正処理を示すフローチ
ャートである。
【図19】 遅延時間の第2の補正処理を示すフローチ
ャートである。
【図20】 パーソナルコンピュータ12の具体的なハ
ードウェア構成を示す図である。
【符号の説明】
1 WCマスタノード、 2 送信ノード(Txノー
ド)、 3 受信ノード(Rxノード)、 1a,
2a,3a サイクルタイマ、 4 IEEE139
4バス、 5 WCパケット、 5a システムタ
イム、 5bサンプルカウント、 6 データパケ
ット、 6a DBC、 6bサンプルデータ、
6c システムタイム、 11 IEEE1394
インタフェースシステム、 12 ノードシステム、
13 サンプルカウントFIFO、 14 シス
テムタイムFIFO、 15 システムタイム比較
器、 16 PLL、 17 タイミング調整器、
18 加算器、19 データFIFO、 20
DBCジェネレータ、 31 IEEE1394イン
タフェースシステム、 32 ノードシステム、
33 サンプルカウントFIFO、 34 システム
タイムFIFO、 35 システムタイム比較器、
36 PLL、 37 タイミング調整器、 3
8 DBC比較器、 39 データFIFO、 4
0 DBC−FIFO、 41 タイミング調整器、
51 IEEE1394インタフェースシステム、
52 ノードシステム、 53 サンプルカウントF
IFO、 54システムタイムFIFO、 55
システムタイム比較器、 56 PLL、 57
タイミング調整器、 58 加算器、 59 デー
タFIFO、 60 システムタイムFIFO、
71 IEEE1394インタフェースシステム、
72 ノードシステム、 73 データFIFO、
74 システムタイムFIFO、 75 システム
タイム比較器、 76 PLL、 77,81,8
3 タイミング調整器、 78 システムタイム比較
器、 79 データFIFO、 80 システムタ
イムFIFO、 82 サンプルカウントFIFO、
90 Txノード、 91 IEEE1394イ
ンタフェースシステム、 93 発振器、 94
分周器、 95 サンプルカウンタ、 96,97
ラッチ、 98 加算器

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 第1の同期情報を生成するタイマと、 前記タイマが生成する第1の同期情報に転送最大遅延量
    を加味した第2の同期情報を生成する生成手段と、 所定タイミング毎にそのタイミングに対応するサンプル
    カウント及び前記第2の同期情報をネットワークに送信
    する送信手段とを有する通信装置。
  2. 【請求項2】 外部から第1の同期情報を受信する受信
    手段と、 前記受信手段が受信する第1の同期情報に転送最大遅延
    量を加味した第2の同期情報を生成する生成手段と、 前記第2の同期情報及びそれに対応するデータをネット
    ワークに送信する送信手段とを有する通信装置。
  3. 【請求項3】 外部から第1の同期情報及びそれに対応
    するデータを受信する第1の受信手段と、 外部から第2の同期情報を受信する第2の受信手段と、 前記第1の受信手段が受信する第1の同期情報に基づき
    第1の同期調整を行い、前記第2の受信手段が受信する
    第2の同期情報に基づき第2の同期調整を行って前記第
    1の受信手段が受信するデータの処理を行う処理手段と
    を有する通信装置。
  4. 【請求項4】 第1の同期情報を生成する第1の同期情
    報生成手段と、 前記第1の同期情報生成手段が生成する第1の同期情報
    をネットワークを介して他の通信装置に転送する場合の
    転送最大遅延量を加味して前記第1の同期情報を基に第
    2の同期情報を生成する第2の同期情報生成手段と、 前記第2の同期情報生成手段が生成する第2の同期情報
    をネットワークに送信する送信手段と、 前記第2の同期情報生成手段が生成する第2の同期情報
    をネットワークを介さずに直接受け取り、該第2の同期
    情報に基づいてデータを処理する処理手段とを有する通
    信装置。
  5. 【請求項5】 外部通信装置から第1の同期情報を受信
    する第1の受信手段と、 外部から第2の同期情報を受信する第2の受信手段と、 前記第1の受信手段が受信する第1の同期情報の前記外
    部通信装置からの到達遅延時間を計測する計測手段と、 前記計測手段が計測する到達遅延時間に応じて前記第1
    又は第2の同期情報の補正値を決定する決定手段と、 前記第1又は第2の受信手段が第1又は第2の同期情報
    を受信する毎に前記決定手段により決定される補正値に
    応じて該第1又は第2の同期情報を補正する補正手段と
    を有する通信装置。
JP16565999A 1998-06-15 1999-06-11 通信装置 Expired - Lifetime JP3697949B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16565999A JP3697949B2 (ja) 1998-06-15 1999-06-11 通信装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-167475 1998-06-12
JP16747598 1998-06-15
JP16565999A JP3697949B2 (ja) 1998-06-15 1999-06-11 通信装置

Publications (2)

Publication Number Publication Date
JP2000078170A true JP2000078170A (ja) 2000-03-14
JP3697949B2 JP3697949B2 (ja) 2005-09-21

Family

ID=26490317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16565999A Expired - Lifetime JP3697949B2 (ja) 1998-06-15 1999-06-11 通信装置

Country Status (1)

Country Link
JP (1) JP3697949B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775246B1 (en) 1999-09-27 2004-08-10 Yamaha Corporation Method of determining master and slaves by communication capability of network nodes
JP2006340371A (ja) * 2005-06-03 2006-12-14 Wago Verwaltungs Gmbh システムバスへのアクセス時間を制御するための方法および通信モジュール
US7158488B2 (en) 2000-10-31 2007-01-02 Yamaha Corporation Communication control apparatus and method
JP2007160976A (ja) * 2005-12-09 2007-06-28 Denso Corp 車両用ネットワークシステム及びネットワークノード
JP2007258967A (ja) * 2006-03-22 2007-10-04 Yamaha Corp オーディオネットワークシステム
JP2008211767A (ja) * 2006-12-20 2008-09-11 Ntt Docomo Inc 第1の送信又は受信デバイスを第2の送信又は受信デバイスへ同期させる装置
US8189602B2 (en) 2006-03-22 2012-05-29 Yamaha Corporation Audio network system
GB2503267A (en) * 2012-06-22 2013-12-25 Canon Kk Gapless video transition
US9312974B2 (en) 2011-02-25 2016-04-12 Mitsubishi Electric Corporation Master apparatus and slave apparatus and time-synchronization method

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775246B1 (en) 1999-09-27 2004-08-10 Yamaha Corporation Method of determining master and slaves by communication capability of network nodes
US7158488B2 (en) 2000-10-31 2007-01-02 Yamaha Corporation Communication control apparatus and method
EP1746752A2 (en) 2000-10-31 2007-01-24 Yamaha Corporation Communication control apparatus for performing a synchronisation process and method thereof
JP4540637B2 (ja) * 2005-06-03 2010-09-08 バーゴ・フェアバルトゥングスゲゼルシャフト・エムベーハー システムバスへのアクセス時間を制御するための方法および通信モジュール
JP2006340371A (ja) * 2005-06-03 2006-12-14 Wago Verwaltungs Gmbh システムバスへのアクセス時間を制御するための方法および通信モジュール
JP4650248B2 (ja) * 2005-12-09 2011-03-16 株式会社デンソー 車両用ネットワークシステム及びネットワークノード
JP2007160976A (ja) * 2005-12-09 2007-06-28 Denso Corp 車両用ネットワークシステム及びネットワークノード
JP2007258967A (ja) * 2006-03-22 2007-10-04 Yamaha Corp オーディオネットワークシステム
US8189602B2 (en) 2006-03-22 2012-05-29 Yamaha Corporation Audio network system
JP2008211767A (ja) * 2006-12-20 2008-09-11 Ntt Docomo Inc 第1の送信又は受信デバイスを第2の送信又は受信デバイスへ同期させる装置
JP4536771B2 (ja) * 2006-12-20 2010-09-01 株式会社エヌ・ティ・ティ・ドコモ 第1の送信又は受信デバイスを第2の送信又は受信デバイスへ同期させる装置
US9312974B2 (en) 2011-02-25 2016-04-12 Mitsubishi Electric Corporation Master apparatus and slave apparatus and time-synchronization method
GB2503267A (en) * 2012-06-22 2013-12-25 Canon Kk Gapless video transition
GB2503267B (en) * 2012-06-22 2015-05-06 Canon Kk Gapless video transition

Also Published As

Publication number Publication date
JP3697949B2 (ja) 2005-09-21

Similar Documents

Publication Publication Date Title
US6751228B1 (en) Packet handler of audio data by isochronous mode
US5923902A (en) System for synchronizing a plurality of nodes to concurrently generate output signals by adjusting relative timelags based on a maximum estimated timelag
JP4575643B2 (ja) 非同期デジタルホームネットワークにおけるマルチメディアジッタの除去
EP0895378B1 (en) Method and system for transmitting audio data with time stamp
JP4546026B2 (ja) 非同期デジタルホームネットワークにおけるマルチメディアジッタ除去
JPH11190993A (ja) 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体
JPH0897807A (ja) パケット伝送方式
JP2007020183A (ja) レジデンシャルイーサネットシステムにおける時刻同期化方法
JPH0897837A (ja) パケット受信装置
JP3697949B2 (ja) 通信装置
US8902934B2 (en) Method and arrangement for synchronising data streams in networks and a corresponding computer program and corresponding computer-readable storage medium
US6909728B1 (en) Synchronous communication
JP3531762B2 (ja) 送信装置および受信装置
Werner et al. Unison: a novel system for ultra-low latency audio streaming over the internet
JP3499818B2 (ja) タイムスタンプのオフセット調整方法及びそれを用いたパケット伝送装置
US6239346B1 (en) Musical tone signal processing apparatus and storage medium storing programs for realizing functions of apparatus
JP2000278275A (ja) パケット転送装置
JP2005173136A (ja) 音楽システム及び音楽データ送受装置
JP3358581B2 (ja) パケット転送装置
JP2000020055A (ja) 楽音情報転送装置
JP3201298B2 (ja) ネットワークデータの同期方法および装置、同期ノード、並びに、ネットワークシステム
JP2001144694A (ja) サンプリングレートコンバータ
JP2000278277A (ja) パケット転送装置
JP3496562B2 (ja) パケット転送装置
JP3444224B2 (ja) パケット転送装置

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