JP3849670B2 - Signal transmission device - Google Patents

Signal transmission device Download PDF

Info

Publication number
JP3849670B2
JP3849670B2 JP2003141486A JP2003141486A JP3849670B2 JP 3849670 B2 JP3849670 B2 JP 3849670B2 JP 2003141486 A JP2003141486 A JP 2003141486A JP 2003141486 A JP2003141486 A JP 2003141486A JP 3849670 B2 JP3849670 B2 JP 3849670B2
Authority
JP
Japan
Prior art keywords
node
data
block
setting information
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003141486A
Other languages
Japanese (ja)
Other versions
JP2004349772A (en
Inventor
光敬 越智
琢 錦織
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 JP2003141486A priority Critical patent/JP3849670B2/en
Priority to EP04102153A priority patent/EP1482664A3/en
Priority to US10/850,613 priority patent/US7606174B2/en
Priority to CNB2004100458266A priority patent/CN100377623C/en
Priority to CN2009101705225A priority patent/CN101667876B/en
Priority to CN2007100921533A priority patent/CN101026905B/en
Publication of JP2004349772A publication Critical patent/JP2004349772A/en
Application granted granted Critical
Publication of JP3849670B2 publication Critical patent/JP3849670B2/en
Priority to US12/552,586 priority patent/US8228802B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Control Of Amplification And Gain Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークを介して音声信号を伝送するとともにアンプ等を制御するシステムに用いて好適な信号伝送装置に関する。
【0002】
【従来の技術】
大型のコンサートホール等に用いられる音響システムにおいては、ミキシングシステム等によって生成された複数チャンネルの音声信号が多数のアンプを介して、多数のスピーカから発音される。そして、これら個々のチャンネル毎に音声信号伝送用のケーブルを敷設すると、ケーブル量が多大になるため、複数チャンネルの音声信号をパケット(音声データ)に変換し、ネットワークを介して伝送することが望ましい。
【0003】
そこで、CSMA/CD(搬送波感知多重アクセス/衝突検出)方式のネットワーク、例えばイーサネット(登録商標)を介して複数チャンネルの音声データをリアルタイムに伝送する方法として、Cobra Net(商標)という技術が知られている(非特許文献1)。CSMA/CD方式においては、衝突が発生した場合すなわち複数のノードが同時に送信を開始した場合の調停方法が定められているが、衝突が生じた場合に帯域のロスが大きくなる。このため、Cobra Netにおいては、ネットワーク上の各ノードに対して所定の伝送サイクル毎に音声データの送信期間を割り当て、衝突を回避することによって最大128チャンネルの音声データの伝送を可能にしている。
【0004】
ここで、図3(a)を参照し、Cobra Netのプロトコルの概要を説明しておく。まず、Cobra Netにおいては、1.33msecの「伝送サイクル200」を周期として、ネットワーク上の各ノードから音声データが出力される。そして、各ノードのうち何れか一のノードは、伝送サイクル200を管理するための特殊ノード(「コンダクタ」という)に設定される。そして、各伝送サイクル200の先頭においては、コンダクタによって開始パケット201がネットワーク1000上に出力される。
【0005】
この開始パケット201が出力されると、該コンダクタを含む全てのノードから所定順序で音声データのパケット211,212,……21nが出力される。これらのパケットを「バンドル」といい、「1」バンドルは複数のチャンネル、例えば最大「8」チャンネルの音声データから構成されている。各バンドルには他のバンドルとは重ならないバンドル番号が付与されており、出力された音声データを受信しようとするノードは、該バンドル番号により受信すべき音声データを含むバンドルを判別して取り込み、取り込んだバンドルから所望のチャンネルの音声データを取り出す。また、各ノードから送信されるパケット211,212,……21nの各々において、複数のバンドルが出力されることもあり得る。そして、一の伝送サイクル200内において各バンドルが出力された後、伝送サイクル200が終了するまでの空き時間に、シリアル通信用のパケット220を送信できる期間が確保されている。
【0006】
このため、Cobra Netにおいては、伝送サイクル200内の空き時間を利用してシリアル通信を行うことが可能であるが、シリアル通信用の帯域が元々狭いために制御データを伝送しようとすると遅延時間が長くなるという問題がある。しかも、この遅延時間は、音声データのバンドル数によって左右されるため、多数のアンプ等を安定して制御したり、あるいはアンプ等の状態データを安定して収集することが困難であった。
【0007】
かかる理由により、Cobra Netに規定されているシリアル通信用のパケット220は、実際には用いられていない場合が多い。例えば、Cobra Netを適用したシステムに対して制御データを伝送する技術としてQSControl(商標)またはAudia(商標)のようなものが知られているが、これらの技術においては、何れもCobra Netからは独立した制御データ専用のネットワークを介して、各ノードの制御、例えばアンプの状態の収集や制御が行われている。
【0008】
【非特許文献1】
「Audio Networks on Overview」CIRRUS LOGIC社,2001年
【0009】
【発明が解決しようとする課題】
しかし、アンプ等の制御を行うためにCobra Netから独立したネットワークを用いると、音声データ用のネットワークケーブルと制御データ用のネットワークケーブルの双方を各ノードに接続する必要がある。これにより、使用されるケーブルの本数が多大になり、音響システムのセッティングを行う手間が増大するという問題が生じていた。
この発明は上述した事情に鑑みてなされたものであり、制御データの伝送路が狭帯域であってもアンプ等を安定して監視・制御することができる信号伝送装置を提供することを目的としている。
【0010】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載の信号伝送装置にあっては、所定の伝送サイクル(200)毎に複数チャンネルの音声信号(パケット211,212,……21n)を伝送する音声信号伝送期間と、これら音声信号伝送期間以外の空き時間であって制御データ(パケット220)を伝送する制御データ伝送期間とが設けられたネットワークに対して複数のノードのうちの一のノードとして接続される信号伝送装置において、前記複数のノードの全ての設定情報(400)であって所定のブロック(404〜410)毎にエラーチェックコード(CRC符号)を付与して成る設定情報(400)を記憶する記憶手段(122)と、他のノードのエラーチェックコードを前記ネットワークを介して他のノードから繰り返し受信するエラーチェックコード受信手段(110)と、受信したエラーチェックコードと前記設定情報(400)内に保持している対応するエラーチェックコードとを比較することにより、前記設定情報の中からエラーが生じたブロックを検知する比較手段と、該エラーが生じたブロックの送信を要求する要求データを、該ブロックに対応する特定のノードへ送信する送信手段と、該ブロックに対する設定情報を該特定のノードから受信する設定情報受信手段と、この受信した設定情報によって、前記ブロックを更新する更新手段と、この更新されたブロックの設定情報に対応する新たなエラーチェックコードを生成し、生成したエラーチェックコードを前記設定情報の対応部分に書き込むエラーチェックコード更新手段とを有することを特徴とする。
さらに、請求項2記載の構成にあっては、請求項1記載の信号伝送装置において、前記エラーチェックコード(CRC符号)のうち、自機の設定状態に対応するエラーチェックコードを前記ネットワークを介して繰り返し送信するエラーチェックコード送信手段(110)と、このエラーチェックコードに対応するブロックについて他のノードから要求データを受信すると、要求されたブロックを当該他のノードに対して送信する設定情報送信手段(110)とをさらに有することを特徴とする。
【0011】
【発明の実施の形態】
1.実施形態の構成
1.1.全体構成
次に、本発明の一実施形態の信号伝送システムの全体構成を図1を参照し説明する。
1000はイーサネット(登録商標)形式のネットワークであり、ここに接続された複数のノード間のパケットを伝送する。ネットワーク1000に接続されるノードは「汎用I/Oノード」と「アンプI/Oノード」とに大別される。前者は、ネットワーク1000を介して音声データの入出力を行えるノードであり、後者は音声データについてはネットワーク1000からの入力のみが可能なノードである。ネットワーク1000には、最大「8」台の汎用I/Oノードと、最大「16」台のアンプI/Oノードとを接続することが可能である。
【0012】
図示の例においては、「2」台の汎用I/Oノード1100,1200と、「2」台のアンプI/Oノード1500,1600とがネットワーク1000に接続されている。そして、汎用I/Oノード1100にはマイク1102およびレコーダ1104が接続され、汎用I/Oノード1200にはミキサ1202が接続され、該ミキサ1202にマイク1204およびレコーダ1206が接続されている。
【0013】
また、アンプI/Oノード1500には、複数のアンプ1502〜150nが接続され、これらアンプから出力された音声信号はスピーカ1512〜151nを介して発音される。なお、アンプI/Oノード1500と各アンプ1502〜150nとを接続するケーブルは、ノードから各アンプに対してアナログ音声信号を伝送するためのケーブルと、ノードと各アンプ間で制御信号の双方向伝送を行うためのケーブルとから構成されるが、図上では便宜上各々一本の線によって表現されている。ここで、一のアンプI/Oノードは、「4」バンドル(「32」チャンネル)の音声データの中から任意の最大「16」チャンネルの音声データをアナログ信号に変換し出力することができ、最大「32」のアンプに対して制御信号を双方向伝送することができる。
【0014】
同様に、アンプI/Oノード1600は、複数のアンプ1602〜160nに接続され、これらアンプには各々スピーカ1612〜161nが接続されている。また、本実施形態においては、一または複数の任意のノードに対して、信号伝送システムの監視・制御用のパーソナルコンピュータ(PC)を接続することができる。図示の例においては、汎用I/Oノード1100およびアンプI/Oノード1600に各々PC1910,1920が接続されている。
【0015】
1.2.各ノードの構成
次に、図2(a)を参照し、各ノードの詳細構成を説明する。
図において102は表示器であり、ユーザに対して各種情報を表示する。104はパネル操作子であり、各種情報を設定する。なお、表示器102およびパネル操作子104は簡易な構成であるため、各ノードの詳細な設定あるいは表示はPC1910または1920を介して実行されることになる。106は固有I/O部であり、各ノード毎に用途に応じて構成される。例えば、汎用I/Oノード1100,1200においては、ミキサ等に対してデジタル信号またはアナログ信号の入出力を行えるよう、ADコンバータ、DAコンバータ、デジタルI/Oなどが固有I/O部106に設けられる。一方、アンプI/Oノード1500,1600においては、各アンプにアナログ信号を供給するためのDAコンバータと、アンプとの間で制御信号をやりとりするためのシリアルインタフェースとが固有I/O部106に設けられる。
【0016】
110はLANI/O部であり、ネットワーク1000との間で音声データおよび制御データのパケットの入出力を行う。108はDSPであり、後述するプロトコルに基づいて、音声信号または制御信号と、音声データパケットまたは制御データパケットとの相互変換を行う。116はPC・I/O部であり、ここに上述したPC1910,1920が接続されると、該PCとの間でデータ通信を行う。118はCPUであり、フラッシュメモリ120に格納された制御プログラムに基づいて、バス112を介して該ノード内の各部を制御する。122はRAMであり、CPU118のワークメモリとして用いられる。
【0017】
1.3.各パーソナルコンピュータの構成
次に、各PCの構成を図2(b)を参照し説明する。図において134は入力装置であり、文字入力用キーボードおよびマウス等から構成されている。136は表示装置であり、ユーザに対して各種情報を表示する。138はハードディスクであり、オペレーティングシステムと、信号伝送システムを制御するアプリケーションプログラム(詳細は後述する)等のプログラムが記憶される。140はCPUであり、これらのプログラムに基づいて、バス130を介して他の構成要素を制御する。142はROMであり、イニシャルプログラムローダ等が記憶されている。144はRAMであり、CPU140のワークメモリとして用いられる。132はシリアルインタフェースであり、上述した何れかのノードのPC・I/O部116に接続される。
【0018】
2.実施形態のデータ構造
各ノードのRAM122および各PCのハードディスク138またはRAM144には、信号伝送システムの状態を共有するための情報として、各々図4に示す設定情報400が記憶される。そして、各ノードに記憶された設定情報400は、後述する処理によって、同一内容になるように同期制御される。ここで、設定情報400は、「24」のノード領域400−1〜24に分割されている。上述したように、ネットワーク1000には、最大「8」台の汎用I/Oノードと、最大「16」台のアンプI/Oノードとを接続することが可能である。そこで、これらのノードが最大数接続された場合に備えて、実際の接続数にかかわらず最大数に応じた「24」領域が予め確保されているのである。
【0019】
ノード領域400−1において404はRO(Read Only)ブロックであり、PCによって状態の変更を指示することができない読み出し専用のデータが格納される。406〜410はRWブロックであり、PCによって状態設定のための書き込みと状態確認のための読み出しが共に可能なデータが格納される。また、412は物理量ブロックであり、対応するノードにおける温度以外の各種物理量、すなわちアンプへの入力電圧、アンプの出力電圧、アンプの出力電力、アンプの出力インピーダンス等が格納される。この物理量ブロック412も状態確認のための読み出しのみが許容される「Read Only」のブロックである。また、402はCRCブロックであり、上記各ブロック404〜410の各々に対するCRC符号(エラーチェックコード)と、該ノードのMACアドレスが格納される。すなわち、CRCブロック402には、ブロック404〜410の各々のCRC符号、すなわち「4」種類のCRC符号が記憶されることになる。
【0020】
ここで、ある一つのノードにおいては、ノード領域400−1〜24のうち何れか一つのノード領域400−jは自ノードの情報を表すものであるから、この領域を「自ノード領域」と呼ぶ。また、その他のノード領域400−1〜(j−1),(j+1)〜24は他のノードの状態を表すものであるから「他ノード領域」という。
【0021】
上記各ブロック404〜410に記憶されるデータは、ノードの種類に応じて異なる。まず、仮にノード領域400−1が汎用I/Oノードに係る領域であったとすると、ROブロック404には当該汎用I/Oノードのワードクロックのソースを特定する情報が記憶される。また、RWブロック406には、当該ノードから入出力されるバンドルのバンドル番号が記憶される。また、RWブロック408には、当該ノードに対して外部から入出力されるアナログまたはデジタル音声信号のチャンネルと、ネットチャンネル(ネットワーク1000に対して入出力されるバンドル内のチャンネル)との対応関係が記憶される。また、RWブロック410には、当該汎用I/Oノードの名称(文字列)が記憶される。
【0022】
また、仮にノード領域400−1がアンプI/Oノードに係る領域であったとすると、ROブロック404には当該ノードに接続されているアンプの温度、当該ノードによって制御される最大「32」台のアンプが動作可能状態であるか否か、および、これらのアンプから何らかの警告が出力されているか否かが記憶される。また、RWブロック406には、当該アンプI/Oノードによって受信される最大「4」バンドル(32ネットチャンネル相当)のバンドル番号が記憶される。また、RWブロック408には、これらのチャンネルのうちアナログ信号に変換されるものについて対応するDAコンバータのチャンネル番号を特定する情報が記憶される。そして、RWブロック410には、当該アンプI/Oノードの名称(文字列)が記憶される。
【0023】
そして、アンプI/Oノードに接続されているアンプに係る物理量のうち、アンプの温度等の変化の頻度が低い物理量はROブロック404に記憶され、常時変化する物理量(電圧、インピーダンス等)は物理量ブロック412に記憶される。
【0024】
3.データ伝送プロトコル
図3(a)について上述したように、Cobra Netにおいては、各伝送サイクル200にシリアル通信用のパケット220を送信し得る期間が確保されている。そこで、本実施形態においては、この一連の伝送サイクル200によってさらに上位のレイヤ(制御レイヤ)を形成し、この制御レイヤを介して、各種制御信号を伝送することとした。この制御レイヤにおけるプロトコルを図3(b)を参照し説明する。
【0025】
制御レイヤにおいては、最短「250msec」の「制御サイクル240」を周期として、各種制御データが伝送される。そして、各ノードのうち何れか一のノードは、制御サイクル240を管理するための特殊なノード(「指揮ノード」という)に設定される。なお、指揮ノードは、上述した「コンダクタ」と同一のノードであってもよいし異なるノードであってもよい。そして、各制御サイクル240の先頭においては、指揮ノードによってサイクル開始指示パケット250がネットワーク1000上に出力される。そして、これに引き続いて、各ノードから制御データパケット群251〜254が順次ネットワーク1000上に出力される。
【0026】
ここで、制御データパケット群の数は、ネットワーク1000に接続されているノード数(図1の例では「4」)と同数であり、1回の制御サイクル240内において各ノードから1回づつ制御データパケット群が出力されることになる。ここで、先頭の制御データパケット群251は、指揮ノードが出力する制御データパケット群である。従って、該制御データパケット群251は、サイクル開始指示パケット250が出力された後に直ちに出力される。一方、その後の制御データパケット群252〜254は指揮ノード以外のノードから出力される制御データパケット群であり、これらパケット群は、衝突を防止するために所定の猶予期間づづ隔てられる。
【0027】
そして、制御データパケット群は、イベントデータパケット260、レポートパケット262、物理量データパケット264および終了パケット266から構成される。このうち、レポートパケット262および終了パケット266は必須のパケットであり、他のパケットは必要に応じて追加されるパケットである。
【0028】
制御サイクル240の周期は最短で「250msec」であるから、接続されるノード数が多くなると、図3(c)に示すように「250msec」よりも長くなる。しかし、制御サイクル240の周期は「250msec」よりも短くなることはない。これは、各ノードは制御サイクル240毎に自ノードの状態を収集して他ノードに報告するため、自ノードの状態を収集するための時間として最短でも「250msec」を予め確保しているのである。
【0029】
3.1.サイクル開始指示パケット250
以下、上述した各パケットの詳細を説明する。まず、サイクル開始指示パケット250は、以下のデータから構成される。
(1)各ノードのパケット群出力順序
上述したように、制御サイクル240内においては各ノードによって制御データパケット群251〜254が順次出力されるが、各ノードの出力順序はサイクル開始指示パケット250において指定される。
【0030】
(2)各ノードが出力すべき物理量の内容
詳細は後述するが、各ノードは自機に接続されているアンプの温度、電圧、インピーダンス等の物理量を制御データパケット群251〜254に含めて送信することができる。そして、出力すべき物理量のうち常時変化する物理量は、主としてPCが接続されたノード(接続ノード)から出力されるイベントデータパケット260によって指定される。しかし、他の個々のノードが接続ノードからのイベントデータパケット260に基づいて出力すべき物理量を認識すると、通信エラー等によるとりこぼしが発生することがある。そこで、本実施形態においては、各ノードが出力すべき物理量については、サイクル開始指示パケット250の中に該出力すべき物理量のリストである「表示中リスト」を含めることにより、指揮ノードによって一括して指示することにしている。
【0031】
3.2.イベントデータパケット260
また、イベントデータパケット260は、以下のデータから構成される。
(1)指示データ
詳細は後述するが、制御データパケット群を送信するノード(以下、送信ノードという)にPCが接続されている場合には、ユーザはこのPCを介して、送信ノードのみならず全てのノードに対する全ての設定状態(各ノード領域のRWブロック406〜410に記憶されたデータ)の変更を指示することができる。その際、当該送信ノードから、状態が変更されるべき他ノードに対してその旨が指示される。この指示を行うためのデータを「指示データ」という。なお、PCによって、該PCが接続されているノード(以下、接続ノードという)自体の変更が行われた場合には、当該ノードからは指示データは出力されない。また、PCによって物理量の監視ポイント(所望のノードの所望の物理量)が指定された場合には、その監視ポイントは指揮ノードに通知され、上述したようにサイクル開始指示パケット250を介して他の各ノードに通知される。なお、指揮ノード以外のノードも指揮ノードに昇格する可能性があるため、PCから通知された監視ポイントないしサイクル開始指示パケット250により通知された監視ポイントを各ノードにおいて保存しておくようにするとよい。
【0032】
(2)変更データ
上記指示データを受けたノードにおいて設定状態が変更されると、変更後の設定状態が全てのノードに対して通知される。また、PCによって、PCが接続されているノード自体の変更が行われた場合も、変更後の設定状態が他のノードに対して通知される。また、頻繁には変化しない、例えばアンプの出力段の「温度」等の物理量を検出しているノードにおいては、その検出された物理量に変化が生じたとき、その変化後の物理量が他のノードに通知される。これらの通知を行うデータを「変更データ」という。すなわち、各ノードは、自ノード領域400−jのブロック404〜410の何れかのデータが変更された場合は、変更データによって、他のノードに対してその状態変更を通知しなければならない。これは、各ノードおよびPCにおける各ノード領域のブロック404〜410のの内容を同期させるためである。
【0033】
(3)要求データ
ある第1のノードの自ノード領域を400−jとしたとき、何れかの他ノード領域400−k(kは1〜(j−1),(j+1)〜24の何れか)において、CRCブロック402の内容と、他のブロック404〜410のCRC演算結果との間に矛盾が生じた場合は、他ノード領域400−kのブロック404〜410にエラーが生じていることになる。かかる場合には、第1のノードが送信ノードになった際に、エラーが生じた他ノード領域400−kに係る第2のノードに対して、第1のノードによって他ノード領域400−kのエラーが生じたブロックを転送するように要求される。かかる要求を行うデータを「要求データ」という。
【0034】
3.3.レポートパケット262
また、レポートパケット262は、以下のデータから構成される。
(1)送信ノードに係るCRCブロック402の内容
送信ノードの自ノード領域400−j内のCRCブロック402は、制御サイクル240毎に常にレポートパケット262に含めて送信される。従って、このレポートパケット262は、制御サイクル240毎に必ず発生する必須のパケットになる。このCRC符号を受信することにより、他ノードにおいては、該他ノードの設定情報400に該送信ノードに係る正しいデータが格納されているか否かを確認することができる。
【0035】
(2)送信ノードに係る他のブロック404〜410の内容
上述したように、ある第1のノードに記憶されている、第2のノードに係るノード領域の何れかのブロックにエラーが生じた場合は、該第1のノードから第2のノードに対して要求データが送信される。第2のノードがこの要求データを受信すると、次に第2のノードが送信ノードになった際に、要求されたブロックの内容がレポートパケット262中に追加される。
【0036】
3.4.物理量データパケット264
サイクル開始指示パケット250によって、出力すべき物理量が指定されると、アンプへの入力電圧、アンプの出力電圧、アンプの出力インピーダンス等の常時変化する物理量のうち、指定された物理量の値が当該物理量データパケット264に含められ、制御サイクル240毎に出力される。なお、上述したように、「温度」については変化が生じた時にイベントデータパケット260内の変更データとして送信される。これは、「温度」は変化する頻度が小さいために、制御サイクル240毎に物理量データパケット264を介して伝送すると、相当のデータ量が無駄になることに鑑みたものであり、変化が生じたことを条件として送信することにより、送信される全体のデータ量を削減することができる。
3.5.終了パケット266
終了パケット266は、今回の送信ノードによるパケット送信が終了した旨を他のノードに通知するために出力される。
【0037】
4.実施形態の動作
4.1.ノードにおける制御データ送信(図6)
次に、本実施形態の動作を説明する。まず、各ノードにおいて制御データパケット群251〜254をネットワーク1000を介して他ノードへ送信すべき状態になると、図6に示す制御データ送信ルーチンが起動される。なお、該パケット群を「送信すべき状態」とは、具体的には以下の3通りが考えられる。
(1)サイクル開始指示パケット250が出力された直後
指揮ノードにおいては、自ノード内のクロックに基づいて、制御サイクル240毎にサイクル開始指示パケット250が出力される。かかる指揮ノードにおいては、サイクル開始指示パケット250が出力された直後のタイミングが制御データパケット群251を出力すべきタイミングになる。
【0038】
(2)終了パケット266の検出後
上述したように、各ノードが制御データパケット群を出力する順序はサイクル開始指示パケット250によって指示される。従って、指揮ノード以外のノードにおいては、順番が一つ前のノードから終了パケット266が出力された後に所定の猶予期間が経過したタイミングが、制御データパケット群を出力するタイミングになる。
(3)指揮ノードから指示を受けた場合
指揮ノードにおいては、各ノードが正しい順序で制御データパケット群を出力しているか否かが常時監視されている。そして、パケット群を本来出力すべきノードからのパケット群が検出できなかった場合には、その次の順序のノードに対してパケット群の出力が指示される。かかる場合には、指示を受けたノードにおいて制御データパケット群が直ちに出力される。
【0039】
さて、図6において処理がステップSP6に進むと、送信すべきイベントデータが存在するか否かが判定される。すなわち、送信ノードにおいて状態変更(測定が指示された「温度変化」を含む)が生じた場合は変更データを出力する必要があり、PCの指示に基づいて他のノードに対して状態変更を要求する場合には指示データを出力する必要があり、CRC符号に矛盾が生じた場合は他ノードに対して要求データを出力する必要がある。これら何れかの場合に該当すれば、ここで「YES」と判定され、処理はステップSP8に進む。該ステップSP8においては、対応するイベントデータに基づいてイベントデータパケット260が生成されネットワーク1000に送信される。
【0040】
次に、処理がステップSP10に進むと、自ノード領域400−j内のブロック404〜410のうち送信すべきブロックが存在するか否か、すなわち他ノードから先に「要求データ」を受信したか否かが判定される。ここで「YES」と判定されると、処理はステップSP12に進み、レポートパケット262に含めるべきブロックとして、この要求データによって送信要求を受けた一または複数のブロックがリストアップされる。
【0041】
次に、処理がステップSP14に進むと、レポートパケット262に含めるべきブロックのリストに、自ノード領域400−j内のCRCブロック402が追加される。従って、先にステップSP10において「NO」と判定された場合には、CRCブロック402のみがリストアップされることになる。次に、リストアップされた全てのブロックに基づいて、それらの内容を表すレポートパケット262が作成される。次に、処理がステップSP16に進むと、この作成されたレポートパケット262がネットワーク1000を介して出力される。
【0042】
次に、処理がステップSP18に進むと、指揮ノードから受信した「表示中リスト」の内容がチェックされる。すなわち、「表示中リスト」には各ノードが出力すべき物理量が全て含まれているため、この中から「自ノードが出力すべき物理量であって温度以外の物理量」が検索される。次に、処理がステップSP20に進むと、このステップSP18のチェック結果に基づいて、送信すべき物理量が存在するか否かが判定される。ここで「YES」と判定されると、処理はステップSP22に進み、送信すべき物理量に基づいて物理量データパケット264が生成され、該パケットがネットワーク1000に出力される。次に、処理がステップSP24に進むと、終了パケット266がネットワーク1000に出力される。以上の処理により、本ルーチンが終了する。
【0043】
4.2.ノードにおける制御データ受信(図7)
次に、送信ノード以外のノードにおいてネットワーク1000を介して制御データパケット群が受信されると、該パケット群を受信した各ノード(受信ノード)において図7に示す制御データ受信ルーチンが起動される。図において処理がステップSP32に進むと、自ノードのPC・I/O部116にPCが接続されているか否かが判定される。ここで「YES」と判定されると、処理はステップSP34に進み、受信した各種制御データを当該PCに転送する処理が実行される。ここで、PCに転送される制御データは、「直ちに転送すべきデータ」と「所定時間待機した後に転送すべきデータ」とに分類され、この分類に応じたタイミングで各制御データが転送される。なお、この制御データの分類方法および分類する理由については後述する。
【0044】
次に、処理がステップSP36に進むと、受信したパケット群の中に自ノードに対する「要求データ」が含まれているか否かが判定される。ここで「YES」と判定されると、処理はステップSP38に進み、自ノード領域400−j内のブロック404〜410のうち、要求されたブロックの送信準備が行われる。すなわち、自ノードが次に送信ノードになった際、上述したステップSP12の処理によってレポートパケット262に含めるべき一または複数のブロックに、今回要求されたブロックが追加されることになる。
【0045】
次に、処理がステップSP40に進むと、受信したパケット群の中に自ノードに対する「指示データ」が含まれているか否かが判定される。ここで「YES」と判定されると、処理はステップSP42に進み、当該指示データに基づいて自ノード領域400−jの内容が変更される。また、指示データが例えば自ノードに接続されるアンプの状態変更を指示するものである場合には、かかる状態変更を実現するように、アンプ等に制御信号が出力される。次に、処理がステップSP44に進むと、自ノード領域400−jの変更内容を表す変更データの送信準備が行われる。すなわち、自ノードが次に送信ノードになった際、上記ステップSP8の処理によってイベントデータパケット260に含めるべき変更データに、今回の自ノード領域400−jの変更内容が追加される。
【0046】
次に、処理がステップSP46に進むと、受信したパケット群の中に「変更データ」すなわち送信ノードからの変更データが含まれているか否かが判定される。ここで「YES」と判定されると、処理はステップSP47に進み、当該送信ノードに係るノード領域400−k(kは1〜24のうち何れか)の内容が、該変更データに基づいて変更される。
【0047】
次に、処理がステップSP48に進むと、受信したレポートパケット262中にブロック404〜410の何れかが含まれているか否かが判定され、含まれていた場合には、当該送信ノードに係るノード領域400−k内の対応する箇所に、受信したブロックの内容が上書きされる。そして、ブロック404〜410のうち変更されたブロック(すなわちステップSP47において変更されたブロックまたは本ステップSP48において上書きされたブロック)について変更後の内容に対応するCRC符号が計算され、算出されたCRC符号がCRCブロック402内の対応する箇所に書き込まれる。なお、CRC符号の計算式は全てのノードおよびPC間で統一されており、ブロック404〜410の内容が特定されると、CRCブロック402内のCRC符号は一意に特定される。
【0048】
次に、処理がステップSP50に進むと、受信したパケット群の中に物理量データパケット264が含まれているか否かが判定され、含まれていた場合には該パケットの内容が、送信ノードのノード領域400−k内の物理量ブロック412に上書きされる。次に、処理がステップSP54に進むと、当該送信ノードに係るノード領域400−k内のCRCブロック402に格納された複数のCRC符号と、送信ノードから供給された(レポートパケット262に含まれていた)対応する複数のCRC符号とが各々比較される。
【0049】
次に、処理がステップSP56に進むと、これらのCRC符号のうち一致しないものが存在するか否かが判定される。ここで、一致しないCRC符号に係るブロックは、通信エラー等によって不正な情報が記憶されていることになる。ここで「YES」と判定されると、処理はステップSP58に進み、送信ノードに対して当該ブロックの再送信を要求する要求データが作成されるとともに、通信エラーが発生した旨のメッセージが表示器102に表示される。この要求データは、次に自ノードが送信ノードになった際、上記ステップSP8を介して出力される。
【0050】
但し、CRC符号の不一致がROブロック404について発生した場合には、表示器102に通信エラーのメッセージを表示させないようにしてもよい。一方、物理量ブロック412については元々CRC符号は作成されていない。このため、物理量ブロック412については、伝送エラー等によって仮に誤った内容が記憶されたとしても、該ブロックが次回更新されるまで、その状態が継続することになる。これにより、要求データが出力される頻度を抑え、ネットワーク1000上の制御データ量を抑制することができる。
【0051】
ここで、ネットワーク1000には、新規ノードをホットプラグインにより接続することが可能である。ネットワーク1000に接続された時点においては、この新規ノードに記憶されている設定情報400は、自ノード領域400−j以外の領域が「空」になっており、該自ノード領域以外の領域におけるCRCブロック402には、各ブロックが「空」であることを示すCRC符号が記録されている。このため、ネットワーク1000上の他ノードから受信するCRC符号と、この新規ノードに記憶されているCRC符号とは必ず不一致になるため、他ノードからCRC符号を受信するたびに、その送信ノードに対して、該送信ノードに係る全ての設定状態を表す設定情報(ブロック404〜410)の再送信が要求されることになる。この要求によって、全ての他ノードからそれぞれのノードの全ての設定情報が順次受信される。そして、受信された情報は設定情報400として該新規ノードに記録されるから、この新規ノードにおいてもネットワーク1000上の全ノードの設定情報を保持することができる。
【0052】
4.3.PCの接続
PC1910,1920が何れかのノードに接続され、このPCにおいて所定のアプリケーションプログラムが起動されると、最初に「転送コマンド」が実行される。このコマンドが実行されると、接続ノードに記憶されている設定情報400が当該PCに転送される。これにより、当該PCにおいては、設定情報400を参照する様々な画面を表示することができるようになる。そして、ユーザはこれらの画面によって信号伝送システムの状態を把握することができ、状態の変更を指示することができるようになる。
【0053】
4.4.画面選択イベント(図8(a),図5)
上記アプリケーションプログラムにおいては、当該PC内の設定情報400を参照する各種の画面(ウィンドウ)の中から任意のものを入力装置134によって選択して表示することができる。この画面の選択イベントが発生すると、当該PCにおいて図8(a)に示す画面選択イベント発生ルーチンが起動される。図において処理がステップSP70に進むと、選択された画面は「物理量」(温度、電圧、インピーダンス等)を表示する画面であるか否かが判定される。
【0054】
ここで「YES」と判定されると、処理はステップSP72に進み、当該選択された画面が表示装置136に表示される。次に、処理がステップSP74に進むと、接続ノードに対して、画面に表示される物理量の指定を行う指定イベントが送信される。また、ステップSP70において「NO」と判定されると、処理はステップSP76に進み、選択された画面が表示装置136に表示される。次に、処理がステップSP78に進むと、その他各種の処理が実行され、本ルーチンが終了する。
【0055】
ここで、「物理量」の表示を行う画面の一例として、任意のアンプI/Oノードに接続された任意のアンプの任意のチャンネルを複数チャンネル分グループ化して、グループ単位で複数チャンネルの動作状態を表示するようにしたグループ表示画面(図5)を参照し説明する。まず、本実施形態においては、物理量の監視ポイントが複数の「グループ」に分類される。図において350〜354はタグであり、ユーザが任意のタグをマウスでクリックすることによって対応するグループが選択される。300は表示ウィンドウであり、選択されたグループに属する物理量を表示する。300−1,300−2,……は監視ポイント枠であり、各々が一の監視ポイントに対応する複数の物理量等を表示する。
【0056】
監視ポイント枠300−1の内部において302はチャンネル表示部であり、監視ポイント枠300−1で行われている表示が、どのアンプI/Oノードに接続されたどのアンプのどのチャンネルに係るものであるかを特定する文字列を表示する。この文字列「AN1-3-2」において最初の2文字「AN」は「アンプI/Oノード」の意味であり、次の「1」はアンプI/Oノードのシリアル番号を表す。次の「3」は、当該アンプI/Oノードに接続されているアンプのシリアル番号であり、最後の「2」は、当該アンプにおけるチャンネル番号である。
【0057】
次に、304は名称表示部であり、アンプのメーカーが定めたアンプ名を表す文字列が表示される。306はパワーボタンであり、マウスでクリックされる毎に当該アンプの電源を「ON」または「STAND-BY」状態に設定するとともに、この状態を表す文字列を表示する。308はチャンネル名表示部であり、ユーザによって定められた任意のチャンネル名(文字列)を表示する。310はプロテクト表示部である。ここには通常は何も表示されないが、例えばアンプが過熱状態になりアンプのプロテクションシステムが作動したときに「PROTECT」の文字列が表示される。
【0058】
312は出力クリップ表示部であり、当該チャンネルの出力信号がクリップすると点灯状態になる。314は出力メータであり、該出力信号の出力レベル(「電力」または「電圧」)を表示する。316はインピーダンス表示器であり、当該チャンネルの負荷インピーダンスを数値表示する。318は温度メータであり、当該チャンネルの出力段の温度を表示する。320は入力メータであり、当該チャンネルへの入力レベルをdB単位で表示する。322はATTフェーダであり、当該チャンネルに入力される入力信号を減衰させる減衰率の設定状態が表示されるとともに、マウスでドラッグされることにより、該減衰率の設定状態が変更される。
【0059】
324は位相ボタンであり、マウスでクリックされる毎に、当該チャンネルの出力の位相を「NORMAL」または「REVERSE」に交互に切り替える。326はミュートボタンであり、マウスでクリックされる毎に、当該チャンネルのミュート(出力レベルの減衰)のオンオフを切り替える。上述した各表示内容のうち、出力メータ314、インピーダンス表示器316、入力メータ320の表示内容は、当該アンプI/Oノードの自ノード領域400−j内の物理量ブロック412に記憶されている内容に基づくものであり、温度メータ318の表示内容は同ROブロック404に基づくものであり、その他の表示内容は同RWブロック406〜410の何れかに基づくものである。すなわち、アンプI/Oノードは、接続されているアンプから各種設定状態や物理量を収集し、当該アンプI/Oノードの自ノード領域400−j内にその内容を記憶している。そして、該領域の内容が接続ノードを介してPC内の設定情報400に反映されると、該PCにおける表示ウィンドウ300の内容が更新される。
【0060】
監視ポイント枠300−2等も監視ポイント枠300−1と同様に構成されている。そして、各グループに属するアンプのチャンネルはユーザが自由に選択することができ、異なるノード、異なるアンプの任意のチャンネルも一の表示ウィンドウ300内に表示することが可能である。
【0061】
4.5.設定変更イベント(図8(b))
上述したように、ユーザは、PC上の操作によって各部の設定状態を操作することができる。図5の例においては、例えばあるアンプI/OノードのあるチャンネルのATTフェーダ322をマウスでドラッグすることにより、該ATTフェーダ322に対応する設定状態を変更することができる。このように何れかのノード(またはノードに接続されているアンプ等)の状態を変更するイベントが発生すると、該PCにおいて図8(b)に示す設定変更イベント発生ルーチンが起動される。
【0062】
図において処理がステップSP80に進むと、当該PC内の設定情報400が、指示された内容通りに変更される。例えば、上記ATTフェーダ322によって減衰率が「10dB」に設定されたのであれば、当該アンプI/Oノードに係るノード領域のRWブロック406〜410内の当該アンプの当該チャンネルに対応する領域に、直ちに「10dB」のデータが書き込まれる。そして、更新されたブロックに対応するCRC符号が再計算され、この計算結果がCRCブロック402内の対応する領域に書き込まれる。次に、処理がステップSP82に進むと、この更新された設定情報400に基づいて、当該PCにおける表示内容が更新される。すなわち、上記例においては、ATTフェーダ322の「つまみ」の部分が「10dB」に対応する位置に移動される。
【0063】
但し、この時点では、実際のアンプの対応するチャンネルの減衰量が未だ「10dB」に設定されたことが確認されていないため、未確認であることが判るように通常とは異なる表示態様(例えばグレー表示や点滅表示)によって、当該表示部分(ここではATTフェーダ322)が表示される。次に、処理がステップSP84に進むと、変更内容(変更対象のノード、アンプ、パラメータの種類、変更量など)を表す変更指示が当該PCから接続ノードに対して送信される。
【0064】
4.6.設定変更イベント(図8(c))
次に、接続ノードにおいて上記変更指示が受信されると、当該接続ノードにおいて図8(c)に示す変更指示受信ルーチンが起動される。図において処理がステップSP90に進むと、受信した変更指示は自ノード(または自ノードに接続されているアンプ等)に対する変更指示であるか否かが判定される。ここで「YES」と判定されると、処理はステップSP96に進み、当該接続ノードの自ノード領域400−jの対応箇所が変更される。
【0065】
また、変更箇所がブロック404〜410の何れかである場合には、当該ブロックに係るCRC符号が再計算され、CRCブロック402内の対応箇所に上書きされる。また、受信した変更指示が自ノードに接続されているアンプ等に対する変更指示である場合には、当該アンプ等の設定状態も変更される。そして、当該変更内容を表す変更データが作成され、この変更データは、当該接続ノードが接続されたPCに送信されるとともに、当該接続ノードが送信ノードになった際にイベントデータパケット260に含められ、他のノードに対して伝送される(図6のステップSP8)。
【0066】
一方、ステップSP90において「NO」と判定されると、処理はステップSP92に進む。ここでは、状態変更を行うべき他ノードに対する指示データが作成される。この場合には設定情報400の内容は変更されない。すなわち、この接続ノードが送信ノードになると、当該指示データは状態変更を行うべき他ノードに送信され(図6のステップSP8)、該他ノードにおいて設定情報400が変更される(図7のステップSP42,SP44)。その後、該他ノードが送信ノードになると、変更された状態に応じた変更データが接続ノードおよび他のノードに対して送信される(図6のステップSP8)。そこで、当該接続ノードにおいては、該変更データ(ステップSP92の指示データで変更を指示した箇所に係る変更データ)を受信した際に設定情報400の対応する箇所が変更されるのである(図7のステップSP47)。
【0067】
次に、処理がステップSP94に進むと、所定時間の計時が開始される。ここで、「所定時間」とは、例えば過去の制御サイクル240の平均値を「1サイクル」として「4サイクル」相当の時間である。ところで、上述したステップSP34(図7)においては、ある接続ノードがネットワーク1000から受信した制御データをPCに転送する際に、制御データは「直ちに転送すべきデータ」と「所定時間待機した後に転送すべきデータ」とに分類される旨を述べた。ここで、「所定時間待機した後に転送すべきデータ」とは、「ステップSP92の指示データで変更を指示した箇所に係る変更データ」のことであり、「所定時間」とは「ステップSP94において計時が開始される所定時間(例えば4サイクル)」のことである。
【0068】
ここで、このように転送を待機すべき理由について説明する。まず、仮に待機を行わなかった場合に発生する不具合を例を挙げて説明する。
図1の例においては、汎用I/Oノード1100にPC1910が接続され、アンプI/Oノード1600にPC1920が接続されている。これらPC1910,1920において、共に図5に示す表示ウィンドウ300が表示されているとする。また、同ウィンドウ内の監視ポイント枠300−1は、アンプI/Oノード1500に接続されているアンプ1502の第2チャンネルに係るものであったとする。ここで、例えばPC1910においてATTフェーダ322が「10dB」に設定され、これに僅かに(数100msec程度)遅れてPC1920においてATTフェーダ322が「20dB」に設定されると、以下のような挙動が予想される。
【0069】
(1)まず、PC1910において、ATTフェーダ322を「10dB」に設定する操作イベントが検出されると、その変更指示が汎用I/Oノード1100に伝達される。
(2)これに応じて、汎用I/Oノード1100においては、自ノードが送信ノードになった際に、アンプI/Oノード1500に対して、「アンプ1502の第2チャンネルの減衰率を10dBにせよ」との指示データが送信される。
(3)ここで、PC1920において、ATTフェーダ322を「20dB」に設定する操作イベントが検出されると、その変更指示がアンプI/Oノード1600に伝達される。
【0070】
(4)アンプI/Oノード1500においては、先の汎用I/Oノード1100からの指示データに基づいてアンプ1502が制御されるとともに設定情報400が更新され、その結果として「アンプ1502の第2チャンネルの減衰率を10dBに設定した」旨の変更データが他の各ノードに出力される。
(5)この変更データがアンプI/Oノード1600によって受信されると、「アンプ1502の第2チャンネルの減衰率を10dBに設定した」旨の変更データがアンプI/Oノード1600からPC1920に転送される。
(6)次に、アンプI/Oノード1600が送信ノードになると、アンプI/Oノード1500に対して、「アンプ1502の第2チャンネルの減衰率を20dBにせよ」との指示データが送信される。
【0071】
(7)アンプI/Oノード1500においては、このアンプI/Oノード1600からの指示データに基づいてアンプ1502が制御されるとともに設定情報400が更新され、その結果として「アンプ1502の第2チャンネルの減衰率を20dBに設定した」旨の変更データが他の各ノードに出力される。
(8)この変更データがアンプI/Oノード1600によって受信されると、「アンプ1502の第2チャンネルの減衰率を20dBに設定した」旨の変更データがアンプI/Oノード1600からPC1920に転送される。
【0072】
以上の動作をPC1920の側から見ると、減衰率を20dBに設定するように指示したにもかかわらず、「減衰率を10dBに設定した」旨の変更データが受信され、これに引き続いて「減衰率を20dBに設定した」旨の変更データが受信されることになる。詳細は後述するが、各PCにおいては、設定情報400内の何れかの箇所についての変更指示が接続ノードに送信された後は、この箇所に対する変更データに基づいて、変更指示の通りに状態が変更されたか否かが監視されている。従って、「20dB」の変更指示に対して「10dB」の変更データが供給された場合には、通信エラーが生じたものとみなされ、その旨がPC1920上で警告されることになる。
【0073】
このように、仮に変更指示に対応する変更データの転送を待機しなかった場合には、複数のPCを用いて信号伝送システムの設定を行っている場合に、実際には伝送エラーが生じていないにもかかわらず「エラーが生じた」との警告が頻発することになる。そこで、本実施形態においては、変更指示に対応する変更データについては、所定時間だけ転送を待機することとしたものである。この「所定時間(例えば4サイクル)」は、「PCが接続ノード以外のノードに対する変更指示を接続ノードに対して出力した後、この変更指示に対応する変更データを受信するまでの時間の予測値」に等しい。
【0074】
また、ここで「待機する」とは、単に「遅延させる」こととは異なり、「対応箇所について待機時間中に複数の変更データを受信された場合には、待機時間終了時に最後に受信された変更データを転送する」という意味である。上記例においては、PC1920において「10dB」および「20dB」の変更データが順次受信されるが、これらが待機時間中に受信された場合には、最後の「20dB」の変更データのみがPC1920に転送される。従って、PC1920においては「20dB」の変更指示に対して「20dB」の変更データが受信されるのであるから、変更指示と変更データとの間になんら矛盾が生じないのである。
【0075】
一方、PC1910においても、「10dB」および「20dB」の変更データが順次受信される。ここで、「10dB」の変更データを受信した後に待機時間が満了すると、PC1910においては「10dB」の変更指示に対して「10dB」の変更データが受信されるのであるから、変更指示と変更データとの間にやはり矛盾が生じない。なお、PC1910においては、その後に「20dB」の変更データが受信されるが、これは先の変更指示には対応しない単なる変更データとして受信される。このように、本実施形態においては、変更指示に係る箇所の変更データのPCへの転送が所定時間だけ待機されるから、上述したような複数のPCを用いて両方から指示データを送信する場合や、PCからの指示データの送信直後に、他ノードから「該指示データを変更しようとするデータを含むブロックを要求する要求データ」が送信された場合などの、エラーとみなさなくてよい場合を除外することができ、エラーの発生頻度を抑制することができるのである。
【0076】
4.7.制御データを受信した際のPC処理(図9)
上記ステップSP34(図7)の処理により、接続ノードからPCに制御データが供給されると、該PCにおいて図9に示す制御データ受信ルーチンが起動される。
図において処理がステップSP100に進むと、該制御データに変更データが含まれているか否かが判定される。ここで「YES」と判定されると、処理はステップSP101に進み、先に接続ノードに対して出力された変更指示(図8(b)のステップSP84)のうち、該指示の結果が未確認である変更指示が存在するか否かが判定される。ここで「YES」と判定されると、処理はステップSP102に進み、受信した変更データのうち「先に出力した変更指示に対応する変更データ」、すなわち「当該変更指示に係る箇所について、変更指示の後に最初に受信した変更データ」が検索される。次に、処理がステップSP103に進むと、この「変更指示に対応する変更データ」が存在するか否かが判定される。
【0077】
ステップSP103において「YES」と判定されると、次に処理がステップSP104に進み、これらの変更データの表す内容は先に出力された変更指示の表す内容に一致するか否かが判定される。ここで「一致する」との判定は当該変更指示通りにパラメータが変更されたことを示し、「一致しない」との判定は当該変更指示通りにパラメータが変更されたなかったことを示す。ここで、「NO(一致しない)」と判定されると、処理はステップSP106に進む。ここでは、必要に応じて、「変更データが変更指示とは異なる」旨の警告が行われる(例えばポップアップウィンドウが表示される)。すなわち、PCにおいては、かかる警告表示を行うか否かの動作モードを事前に設定することができる。この動作モードが「表示を行う」ように設定されていた場合にのみ、当該PC上の表示装置136において、警告表示が行われるのである。
【0078】
なお、ステップSP80(図8(b))において説明したように、当該PC内の設定情報400は既に変更指示が反映された内容に更新されている。従って、ステップSP104における一致判定は、データ同士を比較(ブロック404〜410の内容と変更データとを比較)することによって行ってもよく、CRC符号同士を比較(CRCブロック402内のCRC符号と、変更データに基づいて新たに求めたCRC符号とを比較)してもよい。
【0079】
上記ステップSP101またはSP103において「NO」と判定された場合、ステップSP104において「YES」と判定された場合、あるいはステップSP106の警告処理が完了すると、次に処理はステップSP108に進み、受信した変更データに基づいて、PC内の設定情報400の内容が変更される。すなわち、送信ノードのノード領域400−kにおけるブロック404〜410の内容が更新されるとともに、CRCブロック402内の対応するCRC符号が更新される。ステップSP108はステップSP104の判定結果にかかわらず実行されるから、PCにおいては、変更指示と変更データとが矛盾する場合には、常に変更データの方が正しいものとみなされることになる。また、表示装置136上の表示状態も、この変更データに基づいて更新される。
【0080】
また、先にステップSP82(図8(b))において説明したように、未確認の変更指示に対応する設定の表示部分は、通常とは異なる表示態様で表示されていた。該未確認の変更指示に対応するデータが今回の変更データに含まれていた場合には、ステップSP108によって、当該表示部分の表示態様が未確認を示す表示態様から通常の表示態様に戻される。
【0081】
次に、処理がステップSP109に進むと、先に受信した制御データ中にレポートパケット262としてブロック404〜410の何れかが含まれているか否かが判定され、含まれていた場合には、当該送信ノードに係るノード領域400−k内の対応する箇所に、受信したブロックの内容が上書きされる。そして、ブロック404〜410のうち変更されたブロック(すなわちステップSP108において変更されたブロックまたは本ステップSP109において上書きされたブロック)についてCRC符号が計算され、算出されたCRC符号がCRCブロック402内の対応する箇所に書き込まれる。
【0082】
次に、処理がステップSP110に進むと、先のステップSP109におけるデータ更新(すなわちレポートパケット262に基づくデータ更新)によって表示装置136に表示中のデータが更新されたか否かが判定される。ここで「YES」と判定されると、処理はステップSP112に進み、該データの表示内容が今回受信した制御データに基づいて更新される。次に、処理がステップSP116に進むと、CRCブロック402に格納された複数のCRC符号と、送信ノードから供給された(レポートパケット262に含まれていた)対応する複数のCRC符号とが各々比較される。次に、処理がステップSP118に進むと、これらのCRC符号のうち一致しないものが存在するか否かが判定される。ここで「YES」と判定されると、処理はステップSP124に進み、CRC符号の不一致が発生した旨が表示装置136に表示される。その際、不一致の発生したブロックが特定できるように表示を行ってもよい。
【0083】
次に、処理がステップSP126に進むと、当該PCの接続ノードに対して、CRC符号の不一致が発生した箇所のデータを再送信するように要求が出力される。
【0084】
次に、処理がステップSP119に進むと、受信した制御データの中に物理量データパケット264が含まれているか否かが判定され、含まれていた場合には該パケットの内容が、送信ノードのノード領域400−k内の物理量ブロック412に上書きされる。次に、処理がステップSP120に進むと、表示装置136において常時変化する物理量のうち何れかが表示中であるか否かが判定される。ここで「YES」と判定されると、処理はステップSP122に進み、設定情報400内に記憶された物理量に基づいて、表示内容が更新される。ここで、サイクル開始指示パケット250の表示中リストでは表示中の物理量のうちの常時変化する物理量が指定されているので、ここで表示が更新されるものは、該表示中リストに従って対応する送信ノードから物理量データパケットとして転送された物理量である。なお、頻繁には変化しない物理量は各ノード領域のROブロック404に記憶されているので、その表示はステップSP108またはSP112で更新される。
【0085】
4.8.指揮ノードにおける処理
4.8.1.既存ノードの障害検出
指揮ノードにおいては、サイクル開始指示パケット250において指示した送信順序通りに他のノードが制御データパケット群を送信しているか否かが監視されている。ここで、ある第1のノードから終了パケット266が出力された後、所定時間内に次の第2のノードから制御データパケット群が出力されなかった場合には、当該第2のノードに何らかの障害が発生した(例えばネットワーク1000から切断された等)と考えられる。この第2のノードを「障害ノード」と呼ぶ。
【0086】
かかる場合には、指揮ノードにおいて、図10(a)の障害ノード検出ルーチンが起動される。図において処理がステップSP130に進むと、当該障害ノードは送信順序中の最後のノードであるか否かが判定される。ここで「NO」と判定されると、処理はステップSP132に進み、当該障害ノードの次に送信順序が割り当てられているノードに対して、制御データパケット群の送信が指示される。次に、処理がステップSP134に進むと、当該障害ノードを除くように送信順序が変更される。すなわち、元々の送信順序の中から障害ノードを除いた新しい送信順序に対応する送信順序リストが作成される。従って、次の制御サイクル240においては、この新たな送信順序に従って各ノードから制御データパケット群が出力されることになる。
【0087】
4.8.2.新規ノードの追加検出
上述したように、ネットワーク1000には、新規ノードをホットプラグインにより接続することが可能である。制御サイクル240の終端部分には若干の空き時間が設けられており、この空き時間内に「自ノードが接続された」旨が新規ノードによって指揮ノードに報告される。指揮ノードにおいては、この報告が受信されると図10(b)に示すノード接続検出ルーチンが起動される。図において処理がステップSP140に進むと、当該新規ノードを追加するように送信順序が変更される。すなわち、元々の送信順序に対してこの新規ノードを追加した新しい送信順序に対応する送信順序リストが作成される。従って、次の制御サイクル240においては、この新たな送信順序に従って各ノードから制御データパケット群が出力されることになる。なお、新たにネットワークに接続されたノードのみならず、サイクル開始指示パケット250で示される送信順序に含まれていないノードについても、それが新規ノードであるとして上記の処理を行うようにしてもよい。
【0088】
4.8.3.終了パケット検出処理
また、指揮ノードにおいては、他のノードからの終了パケット266を検出する毎に図10(c)に示す終了パケット検出ルーチンが起動される。図において処理がステップSP150に進むと、当該終了パケット266は、送信順序における最後のノードから出力されたものであるか否かが判定される。ここで「NO」と判定されると、本ルーチンの処理は直ちに終了する。一方、「YES」と判定されると、処理はステップSP152に進み、現在の制御サイクル240が開始された後、制御サイクル240の最短時間(250msec)が経過したか否かが判定される。
【0089】
ここで「NO」と判定されると、処理はステップSP154に進み、この最短時間が経過するまで処理が待機する。また、「YES」と判定された場合には、ステップSP154はスキップされる。次に、処理がステップSP156に進むと、新規ノード検出のために(上述したように新規ノードが指揮ノードに対して該新規ノードの接続を通知できるように)、若干の時間だけ処理が待機される。そして、処理がステップSP158に進むと、各ノードに対して最新の送信順序を報知するサイクル開始指示パケット250が出力され、これによって新たな制御サイクル240が開始される。このサイクル開始指示パケット250に含まれる送信順序リストは、上述した図10(a)のステップSP134、または同図(b)のステップSP140の変更結果を反映した最新の送信順序リストである。そして、ネットワーク1000上の各ノードにおいては、このサイクル開始指示パケット250が受信されると、ここに含まれる最新の送信順序リストが保持される。
【0090】
5.変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記各実施形態においては、ノード上で動作するプログラムおよびパーソナルコンピュータ上で動作するアプリケーションプログラムによって各種処理を実行したが、これらのプログラムのみをCD−ROM、フレキシブルディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【0091】
(2)上記実施形態の各ノードで実行される制御データ受信ルーチン(図7)においては、レポートパケット262中にブロック404〜410の何れかが含まれていたとき、ステップSP48で送信ノードに係るノード領域400−k内の対応する箇所に該ブロックが上書きされ、しかる後にステップSP56においてCRC符号のチェックが行われた。しかし、両ステップの順序を逆にしてもよい。すなわち、まず、受信したレポートパケット262中のブロック404〜410に関してCRC符号のチェックを行い、整合していれば該ブロックをその対応する箇所に上書きする一方、整合していなければ該ブロックの上書きを行わず、そのブロックの再送信を要求する要求データを作成するようにしってもよい。
【0092】
(3)また、各PCで実行される制御データ受信ルーチン(図9)のステップSP100〜SP106においては、当該PCにおける未確認の変更指示に対応する変更データについてのみ、その変更指示の内容と矛盾するか否かがチェックされている。しかしながら、当該PCにおける操作による変更指示以外で、何れかのノードのRWブロックのデータの変更が行われた場合を全てエラーチェックの対象とし、エラーが生じた場合は警告するようにしてもよい。その場合、例えばステップSP101〜SP104を以下のように変更するとよい。
【0093】
・ステップSP1001:ここでは、変更データが「ROブロック404の変更データであるか?」が判定される。「NO」であるときステップSP1002に進み、「YES」であればステップSP108に進む。
・ステップSP1002:ここでは、該変更データと、該PCに記憶されている対応するRWブロック406〜410の値とが比較され、それらが一致するか否かが判定される。一致しないものがあれば、ステップSP106の警告処理が実行される。また、全て一致すれば、ステップSP108に進む。
以上のように処理内容を変更した場合であっても、当該PCにおける未確認の変更指示についてのチェックは正しく行われる。
【0094】
(4)上記実施形態においては、アンプI/Oノードに関して設定状態や物理量の監視、および設定状態のリモート制御を行う例を説明したが、汎用I/Oノード等の他のノードについても同様に監視やリモート制御を行うことができる。
【0095】
【発明の効果】
以上説明したように本発明によれば、信号伝送装置はエラーチェックコードの比較結果に応じて、必要なブロックの送信のみを他のノードに要求するから、ネットワークを流れるデータの量を極力抑えながら、全ノードの最新の設定情報を効率的に受信することができ、ネットワークでのデータの通信を安定させることができる。さらに、通信エラー等の原因により、他のノードから送信された設定情報を受信できなかったとしても、ネットワークを流れるデータの量を極力抑えながら、その設定情報をその後に補うことができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態の信号伝送システムの全体ブロック図である。
【図2】 図1における各ノードおよびパーソナルコンピュータ(PC)のブロック図である。
【図3】 一実施形態のタイミングチャートである。
【図4】 一実施形態のデータ構造図である。
【図5】 PCにおける表示例を示す図である。
【図6】 各ノードにおける制御データ送信ルーチンのフローチャートである。
【図7】 各ノードにおける制御データ受信ルーチンのフローチャートである。
【図8】 各ノードおよびPCにおける処理プログラムのフローチャートである。
【図9】 PCにおける制御データ受信ルーチンのフローチャートである。
【図10】 指揮ノードにおける処理プログラムのフローチャートである。
【符号の説明】
102:表示器、104:パネル操作子、106:固有I/O部、108:DSP、110:LANI/O部、112:バス、116:PC・I/O部、118:CPU、120:フラッシュメモリ、122:RAM、130:バス、132:シリアルインタフェース、134:入力装置、136:表示装置、138:ハードディスク、140:CPU、142:ROM、144:RAM、200:伝送サイクル、201:開始パケット、220:パケット、240:制御サイクル、250:サイクル開始指示パケット、251〜254:制御データパケット群、260:イベントデータパケット、262:レポートパケット、264:物理量データパケット、266:終了パケット、300:表示ウィンドウ、300−1,300−2,……:監視ポイント枠、302:チャンネル表示部、306:パワーボタン、308:チャンネル名表示部、310:プロテクト表示部、312:出力クリップ表示部、314:出力メータ、316:インピーダンス表示器、318:温度メータ、320:入力メータ、322:ATTフェーダ、324:位相ボタン、326:ミュートボタン、400:設定情報、400−1〜24:ノード領域、402:CRCブロック、404:ROブロック、406〜410:RWブロック、412:物理量ブロック、1000:ネットワーク、1910,1920:パーソナルコンピュータ、1502〜150n,1602〜160n:アンプ、1512〜151n,1612〜161n:スピーカ、1100,1200:汎用I/Oノード、1500,1600:アンプI/Oノード。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a signal transmission apparatus suitable for use in a system for transmitting an audio signal via a network and controlling an amplifier or the like.
[0002]
[Prior art]
In an acoustic system used in a large concert hall or the like, a plurality of channels of audio signals generated by a mixing system or the like are generated from a large number of speakers via a large number of amplifiers. If a cable for audio signal transmission is laid for each individual channel, the amount of cable becomes large. Therefore, it is desirable to convert audio signals of a plurality of channels into packets (audio data) and transmit them via a network. .
[0003]
Therefore, a technique called Cobra Net (trademark) is known as a method for transmitting audio data of a plurality of channels in real time via a CSMA / CD (carrier sense multiple access / collision detection) network, for example, Ethernet (registered trademark). (Non-Patent Document 1). In the CSMA / CD method, an arbitration method is defined when a collision occurs, that is, when a plurality of nodes start transmission at the same time. However, when a collision occurs, a loss of bandwidth increases. For this reason, in Cobra Net, a voice data transmission period is assigned to each node on the network every predetermined transmission cycle to avoid collision, thereby enabling transmission of voice data of up to 128 channels.
[0004]
Here, an outline of the Cobra Net protocol will be described with reference to FIG. First, in Cobra Net, audio data is output from each node on the network with a “transmission cycle 200” of 1.33 msec. Any one of the nodes is set as a special node (referred to as “conductor”) for managing the transmission cycle 200. At the beginning of each transmission cycle 200, a start packet 201 is output on the network 1000 by the conductor.
[0005]
When the start packet 201 is output, audio data packets 211, 212,... 21n are output in a predetermined order from all nodes including the conductor. These packets are called “bundles”. The “1” bundle is composed of audio data of a plurality of channels, for example, a maximum of “8” channels. Each bundle is given a bundle number that does not overlap with other bundles, and a node that wants to receive the output audio data discriminates and includes a bundle containing the audio data to be received by the bundle number, Audio data of a desired channel is extracted from the acquired bundle. In addition, a plurality of bundles may be output in each of the packets 211, 212, ... 21n transmitted from each node. Then, after each bundle is output in one transmission cycle 200, a period during which the serial communication packet 220 can be transmitted is secured in the idle time until the transmission cycle 200 ends.
[0006]
For this reason, in Cobra Net, it is possible to perform serial communication using the free time in the transmission cycle 200. However, when the control data is transmitted because the bandwidth for serial communication is originally narrow, the delay time is increased. There is a problem of becoming longer. Moreover, since the delay time depends on the number of bundles of audio data, it is difficult to stably control a large number of amplifiers or to stably collect state data of the amplifiers.
[0007]
For this reason, the packet 220 for serial communication defined in Cobra Net is often not actually used. For example, QSControl (trademark) or Audi (trademark) is known as a technology for transmitting control data to a system using Cobra Net, but these technologies are all from Cobra Net. Each node is controlled through, for example, an independent network dedicated to control data, for example, collecting and controlling the state of the amplifier.
[0008]
[Non-Patent Document 1]
"Audio Networks on Overview" CIRRUS LOGIC, 2001
[0009]
[Problems to be solved by the invention]
However, if a network independent of Cobra Net is used to control an amplifier or the like, both a network cable for audio data and a network cable for control data need to be connected to each node. As a result, the number of cables used is enormous, and there has been a problem that the effort for setting the acoustic system increases.
The present invention has been made in view of the above-described circumstances, and an object thereof is to provide a signal transmission device capable of stably monitoring and controlling an amplifier or the like even when the transmission path of control data is a narrow band. Yes.
[0010]
[Means for Solving the Problems]
In order to solve the above problems, the present invention is characterized by having the following configuration. The parentheses are examples.
In the signal transmission device according to claim 1, an audio signal transmission period in which audio signals (packets 211, 212, ... 21n) of a plurality of channels are transmitted every predetermined transmission cycle (200), and these audio signal transmissions In the signal transmission apparatus connected as one of a plurality of nodes to a network provided with a control data transmission period for transmitting control data (packet 220) which is idle time other than the period, Storage means (122) for storing setting information (400), which is an error check code (CRC code) added to every predetermined block (404 to 410) of all the setting information (400) of the node Error check code receiving means for repeatedly receiving error check codes of other nodes from other nodes via the network ( 10) and comparing means for detecting a block in which an error has occurred in the setting information by comparing the received error check code with a corresponding error check code held in the setting information (400). Transmitting means for requesting transmission of the block in which the error has occurred to a specific node corresponding to the block; and setting information receiving means for receiving setting information for the block from the specific node; In accordance with the received setting information, an update unit for updating the block, a new error check code corresponding to the updated block setting information is generated, and the generated error check code is set in a corresponding part of the setting information. And an error check code updating means for writing.
Furthermore, in the configuration according to claim 2, Claim 1 In the signal transmission apparatus, an error check code transmitting means (110) for repeatedly transmitting an error check code corresponding to a setting state of the own apparatus out of the error check code (CRC code) via the network, and the error check code And a setting information transmitting means (110) for transmitting the requested block to the other node when request data is received from the other node for the block corresponding to.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
1. Configuration of the embodiment
1.1. overall structure
Next, the overall configuration of the signal transmission system according to the embodiment of the present invention will be described with reference to FIG.
Reference numeral 1000 denotes an Ethernet (registered trademark) network, which transmits packets between a plurality of nodes connected thereto. Nodes connected to the network 1000 are roughly classified into “general-purpose I / O nodes” and “amplifier I / O nodes”. The former is a node that can input and output audio data via the network 1000, and the latter is a node that can only input audio data from the network 1000. A maximum of “8” general-purpose I / O nodes and a maximum of “16” amplifier I / O nodes can be connected to the network 1000.
[0012]
In the illustrated example, “2” general-purpose I / O nodes 1100 and 1200 and “2” amplifier I / O nodes 1500 and 1600 are connected to the network 1000. A microphone 1102 and a recorder 1104 are connected to the general purpose I / O node 1100, a mixer 1202 is connected to the general purpose I / O node 1200, and a microphone 1204 and a recorder 1206 are connected to the mixer 1202.
[0013]
In addition, a plurality of amplifiers 1502 to 150n are connected to the amplifier I / O node 1500, and audio signals output from these amplifiers are generated via speakers 1512 to 151n. Note that the cable connecting the amplifier I / O node 1500 and each amplifier 1502 to 150n is a cable for transmitting an analog audio signal from the node to each amplifier, and bidirectional control signals between the node and each amplifier. It is composed of a cable for performing transmission, but is represented by a single line for convenience in the figure. Here, one amplifier I / O node can convert audio data of any maximum “16” channel out of audio data of “4” bundle (“32” channel) into an analog signal and output it. Control signals can be bidirectionally transmitted to up to “32” amplifiers.
[0014]
Similarly, the amplifier I / O node 1600 is connected to a plurality of amplifiers 1602 to 160n, and speakers 1612 to 161n are connected to these amplifiers, respectively. In the present embodiment, a personal computer (PC) for monitoring and controlling the signal transmission system can be connected to one or a plurality of arbitrary nodes. In the illustrated example, PCs 1910 and 1920 are connected to the general-purpose I / O node 1100 and the amplifier I / O node 1600, respectively.
[0015]
1.2. Configuration of each node
Next, the detailed configuration of each node will be described with reference to FIG.
In the figure, reference numeral 102 denotes a display that displays various types of information to the user. A panel operator 104 sets various information. Since the display 102 and the panel operator 104 have a simple configuration, detailed setting or display of each node is executed via the PC 1910 or 1920. Reference numeral 106 denotes a unique I / O unit, which is configured for each node according to the application. For example, in the general-purpose I / O nodes 1100 and 1200, an AD converter, a DA converter, a digital I / O, etc. are provided in the specific I / O unit 106 so that digital signals or analog signals can be input / output to / from a mixer or the like. It is done. On the other hand, in the amplifier I / O nodes 1500 and 1600, a DA converter for supplying an analog signal to each amplifier and a serial interface for exchanging control signals with the amplifier are provided in the specific I / O unit 106. Provided.
[0016]
A LAN I / O unit 110 inputs and outputs voice data and control data packets to and from the network 1000. Reference numeral 108 denotes a DSP that performs mutual conversion between a voice signal or control signal and a voice data packet or control data packet based on a protocol described later. Reference numeral 116 denotes a PC / I / O unit. When the above-described PCs 1910 and 1920 are connected, data communication is performed with the PC. A CPU 118 controls each unit in the node via the bus 112 based on a control program stored in the flash memory 120. A RAM 122 is used as a work memory for the CPU 118.
[0017]
1.3. Configuration of each personal computer
Next, the configuration of each PC will be described with reference to FIG. In the figure, reference numeral 134 denotes an input device, which includes a character input keyboard and a mouse. Reference numeral 136 denotes a display device that displays various types of information to the user. A hard disk 138 stores an operating system and programs such as application programs (details will be described later) for controlling the signal transmission system. Reference numeral 140 denotes a CPU, which controls other components via the bus 130 based on these programs. A ROM 142 stores an initial program loader and the like. Reference numeral 144 denotes a RAM, which is used as a work memory for the CPU 140. Reference numeral 132 denotes a serial interface, which is connected to the PC / I / O unit 116 of any of the nodes described above.
[0018]
2. Data structure of the embodiment
The RAM 122 of each node and the hard disk 138 or RAM 144 of each PC store setting information 400 shown in FIG. 4 as information for sharing the state of the signal transmission system. And the setting information 400 memorize | stored in each node is synchronously controlled so that it may become the same content by the process mentioned later. Here, the setting information 400 is divided into “24” node regions 400-1 to 24-24. As described above, a maximum of “8” general-purpose I / O nodes and a maximum of “16” amplifier I / O nodes can be connected to the network 1000. Therefore, in preparation for the case where the maximum number of these nodes are connected, the “24” area corresponding to the maximum number is secured in advance regardless of the actual number of connections.
[0019]
In the node area 400-1, 404 is an RO (Read Only) block, and stores read-only data that cannot be instructed to change the state by the PC. Reference numerals 406 to 410 denote RW blocks, which store data that can be written by the PC for both state setting and state confirmation reading. Reference numeral 412 denotes a physical quantity block which stores various physical quantities other than the temperature at the corresponding node, that is, the input voltage to the amplifier, the output voltage of the amplifier, the output power of the amplifier, the output impedance of the amplifier, and the like. This physical quantity block 412 is also a “Read Only” block in which only reading for status confirmation is allowed. A CRC block 402 stores a CRC code (error check code) for each of the blocks 404 to 410 and a MAC address of the node. That is, the CRC block 402 stores the CRC codes of the blocks 404 to 410, that is, “4” types of CRC codes.
[0020]
Here, in a certain node, any one of the node areas 400-1 to 400-j represents the information of the own node, and therefore this area is referred to as “own node area”. . The other node areas 400-1 to (j-1) and (j + 1) to 24 represent the states of the other nodes and are referred to as "other node areas".
[0021]
The data stored in each of the blocks 404 to 410 differs depending on the type of node. First, assuming that the node area 400-1 is an area related to a general-purpose I / O node, the RO block 404 stores information for specifying the word clock source of the general-purpose I / O node. The RW block 406 stores bundle numbers of bundles input / output from the node. Also, the RW block 408 has a correspondence relationship between channels of analog or digital audio signals input / output from / to the node and net channels (channels in a bundle input / output to / from the network 1000). Remembered. The RW block 410 stores the name (character string) of the general purpose I / O node.
[0022]
Also, assuming that the node area 400-1 is an area related to the amplifier I / O node, the RO block 404 includes the temperature of the amplifier connected to the node and a maximum of “32” units controlled by the node. It is stored whether or not the amplifiers are operable and whether or not any warning is output from these amplifiers. The RW block 406 stores the bundle number of the maximum “4” bundle (corresponding to 32 net channels) received by the amplifier I / O node. Also, the RW block 408 stores information for specifying the channel number of the corresponding DA converter for those channels that are converted into analog signals. The RW block 410 stores the name (character string) of the amplifier I / O node.
[0023]
Of the physical quantities related to the amplifier connected to the amplifier I / O node, the physical quantity whose frequency of change such as the temperature of the amplifier is low is stored in the RO block 404, and the constantly changing physical quantity (voltage, impedance, etc.) is the physical quantity. Stored in block 412.
[0024]
3. Data transmission protocol
As described above with reference to FIG. 3A, in Cobra Net, a period during which the serial communication packet 220 can be transmitted in each transmission cycle 200 is secured. Therefore, in the present embodiment, a higher layer (control layer) is formed by this series of transmission cycles 200, and various control signals are transmitted through this control layer. The protocol in this control layer will be described with reference to FIG.
[0025]
In the control layer, various control data are transmitted with a “control cycle 240” of the shortest “250 msec” as a cycle. One of the nodes is set as a special node (referred to as a “command node”) for managing the control cycle 240. Note that the command node may be the same node as the “conductor” described above or a different node. At the head of each control cycle 240, a cycle start instruction packet 250 is output on the network 1000 by the command node. Subsequently, control data packet groups 251 to 254 are sequentially output on the network 1000 from each node.
[0026]
Here, the number of control data packet groups is the same as the number of nodes connected to the network 1000 (“4” in the example of FIG. 1), and control is performed once from each node in one control cycle 240. A data packet group is output. Here, the head control data packet group 251 is a control data packet group output by the command node. Therefore, the control data packet group 251 is output immediately after the cycle start instruction packet 250 is output. On the other hand, the subsequent control data packet groups 252 to 254 are control data packet groups output from nodes other than the command node, and these packet groups are separated by a predetermined grace period in order to prevent a collision.
[0027]
The control data packet group includes an event data packet 260, a report packet 262, a physical quantity data packet 264, and an end packet 266. Among these, the report packet 262 and the end packet 266 are indispensable packets, and the other packets are packets that are added as necessary.
[0028]
Since the cycle of the control cycle 240 is “250 msec” at the shortest, as the number of connected nodes increases, it becomes longer than “250 msec” as shown in FIG. However, the cycle of the control cycle 240 does not become shorter than “250 msec”. This is because each node collects the status of its own node for each control cycle 240 and reports it to other nodes, so at least “250 msec” is secured in advance as the time for collecting the status of its own node. .
[0029]
3.1. Cycle start instruction packet 250
Hereinafter, details of each packet described above will be described. First, the cycle start instruction packet 250 includes the following data.
(1) Packet group output order of each node
As described above, the control data packet groups 251 to 254 are sequentially output by the nodes in the control cycle 240, but the output order of the nodes is specified in the cycle start instruction packet 250.
[0030]
(2) Contents of physical quantity that each node should output
Although details will be described later, each node can transmit the control data packet group 251 to 254 including physical quantities such as the temperature, voltage, impedance, etc. of the amplifier connected to the own node. A physical quantity that constantly changes among physical quantities to be output is designated by an event data packet 260 that is mainly output from a node (connection node) to which a PC is connected. However, if another individual node recognizes a physical quantity to be output based on the event data packet 260 from the connection node, a failure due to a communication error or the like may occur. Therefore, in the present embodiment, the physical quantity to be output by each node is included in the cycle start instruction packet 250 by including a “displaying list” that is a list of the physical quantities to be output by the command node. I will tell you.
[0031]
3.2. Event data packet 260
The event data packet 260 includes the following data.
(1) Instruction data
As will be described in detail later, when a PC is connected to a node that transmits a control data packet group (hereinafter referred to as a transmission node), the user does not only transmit to the transmitting node but also all nodes via this PC. Can be instructed to change the setting state (data stored in the RW blocks 406 to 410 of each node area). At that time, the transmission node instructs the other node whose state is to be changed. Data for performing this instruction is referred to as “instruction data”. Note that when a PC changes a node to which the PC is connected (hereinafter referred to as a connection node), instruction data is not output from the node. Also, when a physical quantity monitoring point (desired physical quantity of a desired node) is designated by the PC, the monitoring point is notified to the command node, and as described above, each of the other monitoring points is transmitted via the cycle start instruction packet 250. The node is notified. Since nodes other than the command node may be promoted to the command node, the monitoring point notified from the PC or the monitoring point notified by the cycle start instruction packet 250 may be stored in each node. .
[0032]
(2) Change data
When the setting state is changed in the node that has received the instruction data, the changed setting state is notified to all nodes. In addition, when the PC itself is changed by the PC, the setting state after the change is notified to the other nodes. Also, in a node that detects a physical quantity that does not change frequently, such as the “temperature” of the output stage of the amplifier, when a change occurs in the detected physical quantity, the physical quantity after the change is changed to another node. Will be notified. The data for performing these notifications is called “change data”. That is, each node must notify other nodes of the state change by the change data when any of the data in the blocks 404 to 410 of the own node area 400-j is changed. This is to synchronize the contents of the blocks 404 to 410 in each node area in each node and PC.
[0033]
(3) Request data
A CRC block in any other node region 400-k (k is any one of (1 to (j-1), (j + 1) to 24)) where the local node region of a certain first node is 400-j. If there is a conflict between the contents of 402 and the CRC calculation results of the other blocks 404 to 410, an error has occurred in the blocks 404 to 410 of the other node area 400-k. In such a case, when the first node becomes the transmission node, the second node related to the other node region 400-k in which an error has occurred is compared with the second node region 400-k by the first node. A request is made to transfer the block in error. Data that makes such a request is called “request data”.
[0034]
3.3. Report packet 262
The report packet 262 is composed of the following data.
(1) Contents of CRC block 402 related to transmission node
The CRC block 402 in the own node area 400-j of the transmitting node is always included in the report packet 262 and transmitted every control cycle 240. Therefore, the report packet 262 is an indispensable packet that must be generated every control cycle 240. By receiving this CRC code, the other node can confirm whether or not correct data related to the transmitting node is stored in the setting information 400 of the other node.
[0035]
(2) Contents of other blocks 404 to 410 related to the transmission node
As described above, when an error occurs in any block in the node area related to the second node, which is stored in a certain first node, from the first node to the second node Request data is sent. When the second node receives this request data, the contents of the requested block are added to the report packet 262 the next time the second node becomes the sending node.
[0036]
3.4. Physical quantity data packet 264
When the physical quantity to be output is designated by the cycle start instruction packet 250, the value of the designated physical quantity is the physical quantity among the constantly changing physical quantities such as the input voltage to the amplifier, the output voltage of the amplifier, and the output impedance of the amplifier. It is included in the data packet 264 and output every control cycle 240. As described above, “temperature” is transmitted as change data in the event data packet 260 when a change occurs. This is because “temperature” changes only infrequently, and if data is transmitted via the physical quantity data packet 264 every control cycle 240, a considerable amount of data is wasted. By transmitting on the condition, the total amount of data to be transmitted can be reduced.
3.5. End packet 266
The end packet 266 is output in order to notify other nodes that the packet transmission by the current transmission node has ended.
[0037]
Four. Operation of the embodiment
4.1. Control data transmission in the node (Fig. 6)
Next, the operation of this embodiment will be described. First, when the control data packet groups 251 to 254 are to be transmitted to other nodes via the network 1000 at each node, the control data transmission routine shown in FIG. 6 is started. In addition, the “three states to be transmitted” of the packet group can be specifically considered as the following three types.
(1) Immediately after the cycle start instruction packet 250 is output
The command node outputs a cycle start instruction packet 250 for each control cycle 240 based on the clock in the own node. In such a command node, the timing immediately after the cycle start instruction packet 250 is output is the timing at which the control data packet group 251 should be output.
[0038]
(2) After detecting end packet 266
As described above, the order in which each node outputs the control data packet group is instructed by the cycle start instruction packet 250. Therefore, in a node other than the command node, the timing at which a predetermined grace period elapses after the end packet 266 is output from the previous node in order is the timing at which the control data packet group is output.
(3) When receiving instructions from the command node
In the command node, it is constantly monitored whether each node outputs the control data packet group in the correct order. When a packet group from a node that should originally output the packet group cannot be detected, the next group of nodes is instructed to output the packet group. In such a case, the control data packet group is immediately output at the node receiving the instruction.
[0039]
Now, when the process proceeds to step SP6 in FIG. 6, it is determined whether there is event data to be transmitted. That is, when a state change (including a “temperature change” instructed to be measured) occurs in the transmission node, it is necessary to output change data, and request a state change from another node based on an instruction from the PC In order to do so, it is necessary to output the instruction data, and when there is a contradiction in the CRC code, it is necessary to output the request data to other nodes. If any of these cases is met, “YES” is determined here, and the process proceeds to step SP8. In step SP8, an event data packet 260 is generated based on the corresponding event data and transmitted to the network 1000.
[0040]
Next, when the process proceeds to step SP10, whether there is a block to be transmitted among the blocks 404 to 410 in the own node area 400-j, that is, whether “request data” has been received first from another node. It is determined whether or not. If "YES" is determined here, the process proceeds to step SP12, and one or a plurality of blocks having received a transmission request by this request data are listed as blocks to be included in the report packet 262.
[0041]
Next, when the process proceeds to step SP14, the CRC block 402 in the own node area 400-j is added to the list of blocks to be included in the report packet 262. Therefore, when it is determined “NO” in step SP10, only the CRC block 402 is listed. Next, based on all the listed blocks, a report packet 262 representing their contents is created. Next, when the process proceeds to step SP16, the created report packet 262 is output via the network 1000.
[0042]
Next, when the process proceeds to step SP18, the contents of the “displaying list” received from the command node are checked. That is, since the “displayed list” includes all physical quantities to be output by each node, “physical quantities to be output by the own node and other than temperature” are searched from this list. Next, when the process proceeds to step SP20, it is determined whether there is a physical quantity to be transmitted based on the check result of step SP18. If “YES” is determined here, the process proceeds to step SP 22, a physical quantity data packet 264 is generated based on the physical quantity to be transmitted, and the packet is output to the network 1000. Next, when the process proceeds to step SP24, an end packet 266 is output to the network 1000. Through this process, this routine ends.
[0043]
4.2. Control data reception at the node (Fig. 7)
Next, when a control data packet group is received via the network 1000 at a node other than the transmitting node, the control data receiving routine shown in FIG. 7 is started at each node (receiving node) that has received the packet group. When the processing proceeds to step SP32 in the figure, it is determined whether or not a PC is connected to the PC / I / O unit 116 of the own node. If "YES" is determined here, the process proceeds to step SP34, and a process of transferring the received various control data to the PC is executed. Here, the control data transferred to the PC is classified into “data to be transferred immediately” and “data to be transferred after waiting for a predetermined time”, and each control data is transferred at a timing according to this classification. . The control data classification method and the reason for classification will be described later.
[0044]
Next, when the process proceeds to step SP36, it is determined whether or not “request data” for the own node is included in the received packet group. If “YES” is determined here, the process proceeds to step SP38 to prepare for transmission of the requested block among the blocks 404 to 410 in the own node area 400-j. That is, when the own node becomes the transmission node next time, the block requested this time is added to one or a plurality of blocks to be included in the report packet 262 by the process of step SP12 described above.
[0045]
Next, when the process proceeds to step SP40, it is determined whether or not “instruction data” for the own node is included in the received packet group. If “YES” is determined here, the process proceeds to step SP42, and the content of the own node area 400-j is changed based on the instruction data. Further, when the instruction data indicates, for example, a state change of an amplifier connected to the own node, a control signal is output to the amplifier or the like so as to realize the state change. Next, when the process proceeds to step SP44, preparation for transmitting change data representing the change contents of the own node area 400-j is performed. That is, when the own node becomes the transmission node next time, the change contents of the current own node area 400-j are added to the change data to be included in the event data packet 260 by the process of step SP8.
[0046]
Next, when the process proceeds to step SP46, it is determined whether or not “change data”, that is, change data from the transmission node is included in the received packet group. If "YES" is determined here, the process proceeds to step SP47, and the content of the node area 400-k (k is any one of 1 to 24) related to the transmission node is changed based on the change data. Is done.
[0047]
Next, when the process proceeds to step SP48, it is determined whether or not any of the blocks 404 to 410 is included in the received report packet 262. If included, the node related to the transmission node is determined. The content of the received block is overwritten at the corresponding location in the area 400-k. Then, a CRC code corresponding to the changed content is calculated for the changed block (that is, the block changed in step SP47 or the block overwritten in step SP48) among the blocks 404 to 410, and the calculated CRC code is calculated. Is written to the corresponding location in the CRC block 402. The CRC code calculation formula is uniform among all nodes and PCs. When the contents of the blocks 404 to 410 are specified, the CRC code in the CRC block 402 is uniquely specified.
[0048]
Next, when the processing proceeds to step SP50, it is determined whether or not the physical quantity data packet 264 is included in the received packet group. If it is included, the content of the packet is changed to the node of the transmission node. The physical quantity block 412 in the area 400-k is overwritten. Next, when the process proceeds to step SP54, a plurality of CRC codes stored in the CRC block 402 in the node area 400-k related to the transmission node and the supply from the transmission node (included in the report packet 262). And each of the corresponding CRC codes is compared.
[0049]
Next, when the process proceeds to step SP56, it is determined whether or not there is a mismatch among these CRC codes. Here, in the block related to the CRC code that does not match, incorrect information is stored due to a communication error or the like. If "YES" is determined here, the process proceeds to step SP58, request data for requesting the transmission node to retransmit the block is created, and a message indicating that a communication error has occurred is displayed on the display unit. 102. This request data is output via the step SP8 when the own node becomes the transmission node next time.
[0050]
However, if a CRC code mismatch occurs in the RO block 404, the display 102 may not display a communication error message. On the other hand, no CRC code is originally created for the physical quantity block 412. For this reason, even if an erroneous content is stored due to a transmission error or the like, the state of the physical quantity block 412 continues until the block is updated next time. As a result, the frequency at which the request data is output can be suppressed, and the amount of control data on the network 1000 can be suppressed.
[0051]
Here, a new node can be connected to the network 1000 by hot plug-in. At the time of connection to the network 1000, the setting information 400 stored in the new node is “empty” in the area other than the own node area 400-j, and the CRC in the area other than the own node area In the block 402, a CRC code indicating that each block is “empty” is recorded. For this reason, the CRC code received from the other node on the network 1000 and the CRC code stored in the new node are always inconsistent. Therefore, every time the CRC code is received from the other node, Thus, re-transmission of the setting information (blocks 404 to 410) indicating all the setting states related to the transmission node is requested. By this request, all setting information of each node is sequentially received from all other nodes. Since the received information is recorded in the new node as setting information 400, the setting information of all the nodes on the network 1000 can be held in this new node.
[0052]
4.3. PC connection
When the PCs 1910 and 1920 are connected to one of the nodes and a predetermined application program is activated on the PC, a “transfer command” is first executed. When this command is executed, the setting information 400 stored in the connection node is transferred to the PC. As a result, various screens referring to the setting information 400 can be displayed on the PC. The user can grasp the state of the signal transmission system from these screens, and can instruct the change of the state.
[0053]
4.4. Screen selection event (Fig. 8 (a), Fig. 5)
In the application program described above, any one of various screens (windows) referring to the setting information 400 in the PC can be selected and displayed by the input device 134. When this screen selection event occurs, the screen selection event generation routine shown in FIG. In the figure, when the process proceeds to step SP70, it is determined whether or not the selected screen is a screen displaying “physical quantities” (temperature, voltage, impedance, etc.).
[0054]
If “YES” is determined here, the process proceeds to step SP 72, and the selected screen is displayed on the display device 136. Next, when the process proceeds to step SP74, a designation event for designating a physical quantity displayed on the screen is transmitted to the connection node. If “NO” is determined in step SP70, the process proceeds to step SP76, and the selected screen is displayed on the display device 136. Next, when the process proceeds to step SP78, various other processes are executed, and this routine ends.
[0055]
Here, as an example of a screen for displaying “physical quantities”, an arbitrary channel of an arbitrary amplifier connected to an arbitrary amplifier I / O node is grouped into a plurality of channels, and the operation state of the multiple channels is displayed in units of groups. This will be described with reference to the group display screen (FIG. 5) configured to be displayed. First, in the present embodiment, physical quantity monitoring points are classified into a plurality of “groups”. In the figure, reference numerals 350 to 354 denote tags, and a corresponding group is selected by the user clicking an arbitrary tag with the mouse. Reference numeral 300 denotes a display window that displays physical quantities belonging to the selected group. 300-1, 300-2,... Are monitoring point frames, each displaying a plurality of physical quantities and the like corresponding to one monitoring point.
[0056]
In the monitoring point frame 300-1, 302 is a channel display unit, and the display performed in the monitoring point frame 300-1 relates to which channel of which amplifier connected to which amplifier I / O node. Displays a character string that identifies whether or not it exists. In this character string “AN1-3-2”, the first two characters “AN” mean “amplifier I / O node”, and the next “1” represents the serial number of the amplifier I / O node. The next “3” is the serial number of the amplifier connected to the amplifier I / O node, and the last “2” is the channel number in the amplifier.
[0057]
Reference numeral 304 denotes a name display unit that displays a character string representing an amplifier name determined by the amplifier manufacturer. A power button 306 sets the power supply of the amplifier to an “ON” or “STAND-BY” state each time it is clicked with the mouse, and displays a character string representing this state. A channel name display unit 308 displays an arbitrary channel name (character string) determined by the user. Reference numeral 310 denotes a protect display unit. Although nothing is normally displayed here, for example, when the amplifier is overheated and the amplifier protection system is activated, the character string “PROTECT” is displayed.
[0058]
An output clip display unit 312 is turned on when the output signal of the channel is clipped. Reference numeral 314 denotes an output meter, which displays the output level (“power” or “voltage”) of the output signal. Reference numeral 316 denotes an impedance display that numerically displays the load impedance of the channel. A temperature meter 318 displays the temperature of the output stage of the channel. An input meter 320 displays the input level to the channel in dB units. An ATT fader 322 displays an attenuation rate setting state for attenuating an input signal input to the channel and is dragged with a mouse to change the attenuation rate setting state.
[0059]
A phase button 324 alternately switches the phase of the output of the channel to “NORMAL” or “REVERSE” each time it is clicked with the mouse. A mute button 326 switches on / off of the mute (attenuation of the output level) of the channel each time it is clicked with the mouse. Among the display contents described above, the display contents of the output meter 314, the impedance indicator 316, and the input meter 320 are the contents stored in the physical quantity block 412 in the own node area 400-j of the amplifier I / O node. The display content of the temperature meter 318 is based on the RO block 404, and the other display content is based on any of the RW blocks 406 to 410. That is, the amplifier I / O node collects various setting states and physical quantities from the connected amplifier, and stores the contents in its own node area 400-j of the amplifier I / O node. Then, when the contents of the area are reflected in the setting information 400 in the PC via the connection node, the contents of the display window 300 in the PC are updated.
[0060]
The monitoring point frame 300-2 and the like are configured in the same manner as the monitoring point frame 300-1. The channels of the amplifiers belonging to each group can be freely selected by the user, and arbitrary channels of different nodes and different amplifiers can be displayed in one display window 300.
[0061]
4.5. Setting change event (Figure 8 (b))
As described above, the user can operate the setting state of each unit by an operation on the PC. In the example of FIG. 5, for example, the setting state corresponding to the ATT fader 322 can be changed by dragging the ATT fader 322 of a channel of a certain amplifier I / O node with a mouse. When an event for changing the state of any node (or an amplifier connected to the node, etc.) occurs in this way, the setting change event generation routine shown in FIG. 8B is started in the PC.
[0062]
In the figure, when the process proceeds to step SP80, the setting information 400 in the PC is changed as instructed. For example, if the attenuation factor is set to “10 dB” by the ATT fader 322, the area corresponding to the channel of the amplifier in the RW blocks 406 to 410 of the node area related to the amplifier I / O node Immediately, “10 dB” data is written. Then, the CRC code corresponding to the updated block is recalculated, and the calculation result is written in the corresponding area in the CRC block 402. Next, when the process proceeds to step SP82, the display content on the PC is updated based on the updated setting information 400. That is, in the above example, the “knob” portion of the ATT fader 322 is moved to a position corresponding to “10 dB”.
[0063]
However, at this point in time, it has not been confirmed that the attenuation amount of the channel corresponding to the actual amplifier has been set to “10 dB”. The display portion (here, ATT fader 322) is displayed by display or blinking display. Next, when the process proceeds to step SP84, a change instruction indicating the change contents (change target node, amplifier, parameter type, change amount, etc.) is transmitted from the PC to the connection node.
[0064]
4.6. Setting change event (Figure 8 (c))
Next, when the change instruction is received at the connection node, a change instruction reception routine shown in FIG. 8C is started at the connection node. In the figure, when the process proceeds to step SP90, it is determined whether or not the received change instruction is a change instruction for the own node (or an amplifier or the like connected to the own node). If "YES" is determined here, the process proceeds to step SP96, and the corresponding part of the own node area 400-j of the connection node is changed.
[0065]
When the changed part is any of the blocks 404 to 410, the CRC code related to the block is recalculated and overwritten on the corresponding part in the CRC block 402. If the received change instruction is a change instruction for an amplifier or the like connected to the own node, the setting state of the amplifier or the like is also changed. Then, change data representing the change content is created, and this change data is transmitted to the PC to which the connection node is connected, and is included in the event data packet 260 when the connection node becomes the transmission node. Are transmitted to other nodes (step SP8 in FIG. 6).
[0066]
On the other hand, if “NO” is determined in step SP90, the process proceeds to step SP92. Here, instruction data for another node whose state is to be changed is created. In this case, the contents of the setting information 400 are not changed. That is, when this connection node becomes a transmission node, the instruction data is transmitted to another node whose state is to be changed (step SP8 in FIG. 6), and the setting information 400 is changed in the other node (step SP42 in FIG. 7). , SP44). Thereafter, when the other node becomes a transmission node, change data corresponding to the changed state is transmitted to the connection node and other nodes (step SP8 in FIG. 6). Therefore, in the connection node, when the change data (change data related to the location instructed to change by the instruction data in step SP92) is received, the corresponding location of the setting information 400 is changed (FIG. 7). Step SP47).
[0067]
Next, when the process proceeds to step SP94, timing of a predetermined time is started. Here, the “predetermined time” is, for example, a time corresponding to “4 cycles” where the average value of the past control cycles 240 is “1 cycle”. By the way, in the above-described step SP34 (FIG. 7), when control data received from a network 1000 by a certain connection node is transferred to the PC, the control data is transferred after “waiting for a predetermined time” and “data to be transferred immediately”. It was classified as “Data to be”. Here, “data to be transferred after waiting for a predetermined time” means “change data related to a location instructed to change by the instruction data in step SP92”, and “predetermined time” means “time measurement in step SP94”. Is a predetermined time (for example, 4 cycles) at which “is started”.
[0068]
Here, the reason why the transfer should be waited for will be described. First, a problem that occurs when standby is not performed will be described as an example.
In the example of FIG. 1, a PC 1910 is connected to the general-purpose I / O node 1100, and a PC 1920 is connected to the amplifier I / O node 1600. In these PCs 1910 and 1920, it is assumed that the display window 300 shown in FIG. Further, it is assumed that the monitoring point frame 300-1 in the same window relates to the second channel of the amplifier 1502 connected to the amplifier I / O node 1500. Here, for example, if the ATT fader 322 is set to “10 dB” in the PC 1910, and the ATT fader 322 is set to “20 dB” in the PC 1920 after a slight delay (about several hundred msec), the following behavior is expected. Is done.
[0069]
(1) First, when the PC 1910 detects an operation event for setting the ATT fader 322 to “10 dB”, the change instruction is transmitted to the general-purpose I / O node 1100.
(2) In response to this, in the general-purpose I / O node 1100, when the self-node becomes the transmission node, the “attenuation rate of the second channel of the amplifier 1502 is set to 10 dB with respect to the amplifier I / O node 1500”. The instruction data “Niseyo” is transmitted.
(3) Here, when an operation event for setting the ATT fader 322 to “20 dB” is detected in the PC 1920, the change instruction is transmitted to the amplifier I / O node 1600.
[0070]
(4) In the amplifier I / O node 1500, the amplifier 1502 is controlled on the basis of the instruction data from the general-purpose I / O node 1100 and the setting information 400 is updated. Change data indicating that the channel attenuation factor is set to 10 dB is output to each of the other nodes.
(5) When the changed data is received by the amplifier I / O node 1600, the changed data indicating that the attenuation rate of the second channel of the amplifier 1502 is set to 10 dB is transferred from the amplifier I / O node 1600 to the PC 1920. Is done.
(6) Next, when the amplifier I / O node 1600 becomes a transmission node, instruction data “Please set the attenuation factor of the second channel of the amplifier 1502 to 20 dB” is transmitted to the amplifier I / O node 1500. The
[0071]
(7) In the amplifier I / O node 1500, the amplifier 1502 is controlled and the setting information 400 is updated based on the instruction data from the amplifier I / O node 1600. As a result, the “second channel of the amplifier 1502” is updated. Change data indicating that “the attenuation factor of 20 dB is set to 20 dB” is output to the other nodes.
(8) When the changed data is received by the amplifier I / O node 1600, the changed data indicating that “the attenuation rate of the second channel of the amplifier 1502 is set to 20 dB” is transferred from the amplifier I / O node 1600 to the PC 1920. Is done.
[0072]
When the above operation is viewed from the PC 1920 side, change data indicating that “the attenuation rate is set to 10 dB” is received despite the instruction to set the attenuation rate to 20 dB. Change data indicating that the rate has been set to 20 dB is received. Although details will be described later, in each PC, after a change instruction for any part in the setting information 400 is transmitted to the connection node, the state is changed according to the change instruction based on the change data for this part. Whether it has been changed is monitored. Accordingly, when “10 dB” change data is supplied in response to the “20 dB” change instruction, it is considered that a communication error has occurred, and a warning is given on the PC 1920.
[0073]
As described above, if the transfer of the change data corresponding to the change instruction is not waited, no transmission error actually occurs when the signal transmission system is set using a plurality of PCs. Nevertheless, the warning “An error has occurred” will occur frequently. Therefore, in the present embodiment, transfer of change data corresponding to the change instruction is waited for a predetermined time. This “predetermined time (for example, 4 cycles)” is an estimated value of the time from when the PC outputs a change instruction for a node other than the connection node to the connection node until the change data corresponding to this change instruction is received. "be equivalent to.
[0074]
Also, here, “waiting” is different from simply “delaying”, and “when a plurality of change data is received during the waiting time for the corresponding part, it is received last when the waiting time ends. It means "transfer change data". In the above example, the change data “10 dB” and “20 dB” are sequentially received by the PC 1920, but when these are received during the standby time, only the last change data “20 dB” is transferred to the PC 1920. Is done. Therefore, since the PC 1920 receives the change data of “20 dB” in response to the change instruction of “20 dB”, there is no contradiction between the change instruction and the change data.
[0075]
On the other hand, the PC 1910 also receives the change data “10 dB” and “20 dB” sequentially. Here, when the waiting time expires after receiving the change data of “10 dB”, the change instruction and the change data are received because the change data of “10 dB” is received in response to the change instruction of “10 dB” in the PC 1910. There is no contradiction between the two. The PC 1910 subsequently receives change data of “20 dB”, but this is received as simple change data that does not correspond to the previous change instruction. As described above, in this embodiment, since the transfer of the change data at the location related to the change instruction to the PC is waited for a predetermined time, the instruction data is transmitted from both using a plurality of PCs as described above Or a case where it is not necessary to regard it as an error, such as when “request data for requesting a block including data to be changed in the instruction data” is transmitted from another node immediately after the instruction data is transmitted from the PC. It can be excluded, and the occurrence frequency of errors can be suppressed.
[0076]
4.7. PC processing when receiving control data (Fig. 9)
When control data is supplied from the connection node to the PC by the processing in step SP34 (FIG. 7), the control data reception routine shown in FIG. 9 is started in the PC.
In the figure, when the process proceeds to step SP100, it is determined whether or not change data is included in the control data. If “YES” is determined here, the process proceeds to step SP101, and the result of the instruction among the change instructions (step SP84 in FIG. 8B) previously output to the connection node is not confirmed. It is determined whether there is a certain change instruction. If "YES" is determined here, the process proceeds to step SP102, and "change data corresponding to the change instruction output earlier" in the received change data, that is, "change instruction for the location related to the change instruction""Change data received first after" is searched. Next, when the process proceeds to step SP103, it is determined whether or not the “change data corresponding to the change instruction” exists.
[0077]
If “YES” is determined in step SP103, the process then proceeds to step SP104, and it is determined whether or not the contents represented by the change data match the contents represented by the change instruction output previously. Here, the determination of “match” indicates that the parameter has been changed according to the change instruction, and the determination of “not match” indicates that the parameter has not been changed according to the change instruction. If it is determined “NO (does not match)”, the process proceeds to step SP106. Here, a warning that “change data is different from the change instruction” is issued as necessary (for example, a pop-up window is displayed). That is, in the PC, an operation mode for determining whether or not to perform such warning display can be set in advance. Only when the operation mode is set to “display”, a warning is displayed on the display device 136 on the PC.
[0078]
As described in step SP80 (FIG. 8B), the setting information 400 in the PC has already been updated to the contents reflecting the change instruction. Therefore, the coincidence determination in step SP104 may be performed by comparing the data (comparing the contents of the blocks 404 to 410 with the changed data), and comparing the CRC codes (the CRC code in the CRC block 402) It may be compared with a CRC code newly obtained based on the changed data).
[0079]
If “NO” is determined in step SP101 or SP103, “YES” is determined in step SP104, or if the warning process in step SP106 is completed, the process proceeds to step SP108, and the received change data is received. The contents of the setting information 400 in the PC are changed based on the above. That is, the contents of the blocks 404 to 410 in the node area 400-k of the transmitting node are updated, and the corresponding CRC code in the CRC block 402 is updated. Since step SP108 is executed regardless of the determination result of step SP104, in the PC, when the change instruction and the change data contradict each other, the change data is always regarded as correct. The display state on the display device 136 is also updated based on the change data.
[0080]
Further, as described above in step SP82 (FIG. 8B), the display portion of the setting corresponding to the unconfirmed change instruction is displayed in a display mode different from normal. When the data corresponding to the unconfirmed change instruction is included in the current change data, the display form of the display portion is returned from the display form indicating unconfirmed to the normal display form by step SP108.
[0081]
Next, when the process proceeds to step SP109, it is determined whether or not any of the blocks 404 to 410 is included as the report packet 262 in the previously received control data. The content of the received block is overwritten in the corresponding location in the node area 400-k related to the transmission node. Then, a CRC code is calculated for the changed block among the blocks 404 to 410 (that is, the block changed in step SP108 or the block overwritten in step SP109), and the calculated CRC code corresponds to the correspondence in the CRC block 402. It is written in the place where
[0082]
Next, when the process proceeds to step SP110, it is determined whether or not the data being displayed on the display device 136 has been updated by the data update in the previous step SP109 (that is, data update based on the report packet 262). If "YES" is determined here, the process proceeds to step SP112, and the display content of the data is updated based on the control data received this time. Next, when the process proceeds to step SP116, the plurality of CRC codes stored in the CRC block 402 are compared with the corresponding plurality of CRC codes supplied from the transmission node (included in the report packet 262). Is done. Next, when the process proceeds to step SP118, it is determined whether or not there is a mismatch among these CRC codes. If "YES" is determined here, the process proceeds to step SP124, and the display device 136 displays that a CRC code mismatch has occurred. At that time, display may be performed so that the block in which the mismatch has occurred can be identified.
[0083]
Next, when the process proceeds to step SP126, a request is output to the connection node of the PC so as to retransmit the data at the location where the CRC code mismatch has occurred.
[0084]
Next, when the process proceeds to step SP119, it is determined whether or not the physical quantity data packet 264 is included in the received control data. If it is included, the content of the packet is changed to the node of the transmission node. The physical quantity block 412 in the area 400-k is overwritten. Next, when the process proceeds to step SP120, it is determined whether or not any of the physical quantities that constantly change in the display device 136 is being displayed. If “YES” is determined here, the process proceeds to step SP122, and the display content is updated based on the physical quantity stored in the setting information 400. Here, in the currently displayed list of the cycle start instruction packet 250, a physical quantity that is constantly changing among the displayed physical quantities is specified, and therefore, what is updated here is the transmission node corresponding to the displayed list. Is a physical quantity transferred as a physical quantity data packet. Since the physical quantity that does not change frequently is stored in the RO block 404 of each node area, the display is updated in step SP108 or SP112.
[0085]
4.8. Processing at the command node
4.8.1. Fault detection for existing nodes
In the command node, it is monitored whether another node is transmitting the control data packet group in the transmission order instructed in the cycle start instruction packet 250. Here, if a control data packet group is not output from the next second node within a predetermined time after the end packet 266 is output from a certain first node, there is some trouble in the second node. (For example, disconnected from the network 1000). This second node is called a “failure node”.
[0086]
In such a case, the failure node detection routine of FIG. 10A is started in the command node. In the figure, when the process proceeds to step SP130, it is determined whether or not the faulty node is the last node in the transmission order. If “NO” is determined here, the process proceeds to step SP132 to instruct the transmission of the control data packet group to the node to which the transmission order is assigned next to the failed node. Next, when the process proceeds to step SP134, the transmission order is changed so as to exclude the failed node. That is, a transmission order list corresponding to a new transmission order obtained by removing the faulty node from the original transmission order is created. Therefore, in the next control cycle 240, a control data packet group is output from each node according to this new transmission order.
[0087]
4.8.2. New node detection
As described above, a new node can be connected to the network 1000 by hot plug-in. Some free time is provided at the end of the control cycle 240, and the new node reports to the command node that the “own node is connected” within this free time. In the command node, when this report is received, a node connection detection routine shown in FIG. 10B is started. In the figure, when the process proceeds to step SP140, the transmission order is changed so as to add the new node. That is, a transmission order list corresponding to the new transmission order in which the new node is added to the original transmission order is created. Therefore, in the next control cycle 240, a control data packet group is output from each node according to this new transmission order. Note that not only the node newly connected to the network but also the node not included in the transmission order indicated by the cycle start instruction packet 250 may be processed as described above, assuming that it is a new node. .
[0088]
4.8.3. End packet detection processing
Further, in the command node, every time the end packet 266 from another node is detected, the end packet detection routine shown in FIG. 10C is started. In the figure, when the process proceeds to step SP150, it is determined whether or not the end packet 266 is output from the last node in the transmission order. If “NO” is determined here, the processing of this routine is immediately terminated. On the other hand, if “YES” is determined, the process proceeds to step SP152 to determine whether or not the shortest time (250 msec) of the control cycle 240 has elapsed after the current control cycle 240 is started.
[0089]
If "NO" is determined here, the process proceeds to step SP154, and the process waits until the shortest time elapses. If it is determined as “YES”, step SP154 is skipped. Next, when the process proceeds to step SP156, the process waits for a short time to detect a new node (so that the new node can notify the command node of the connection of the new node as described above). The When the process proceeds to step SP158, a cycle start instruction packet 250 for notifying each node of the latest transmission order is output, thereby starting a new control cycle 240. The transmission order list included in the cycle start instruction packet 250 is the latest transmission order list reflecting the change result of step SP134 in FIG. 10A or step SP140 in FIG. When each cycle start instruction packet 250 is received, each node on the network 1000 holds the latest transmission order list included therein.
[0090]
Five. Modified example
The present invention is not limited to the above-described embodiment, and various modifications can be made as follows, for example.
(1) In each of the above embodiments, various processes are executed by a program that operates on a node and an application program that operates on a personal computer, but only these programs are stored in a recording medium such as a CD-ROM or a flexible disk. Then, it can also be distributed through a transmission line.
[0091]
(2) In the control data reception routine (FIG. 7) executed by each node of the above embodiment, when any of the blocks 404 to 410 is included in the report packet 262, the transmission node is related in step SP48. The corresponding block in the node area 400-k is overwritten with the corresponding block, and then the CRC code is checked in step SP56. However, the order of both steps may be reversed. That is, first, the CRC code is checked for the blocks 404 to 410 in the received report packet 262, and if it matches, the corresponding block is overwritten on the corresponding portion, and if not matched, the block is overwritten. Alternatively, request data requesting retransmission of the block may be created.
[0092]
(3) Further, in steps SP100 to SP106 of the control data reception routine (FIG. 9) executed in each PC, only the change data corresponding to the unconfirmed change instruction in the PC is inconsistent with the contents of the change instruction. It is checked whether or not. However, any change in the data of the RW block of any node other than the change instruction by the operation on the PC may be subjected to error check, and a warning may be issued if an error occurs. In that case, for example, steps SP101 to SP104 may be changed as follows.
[0093]
Step SP1001: Here, it is determined whether the change data is “change data of RO block 404?”. If “NO”, the process proceeds to step SP1002, and if “YES”, the process proceeds to step SP108.
Step SP1002: Here, the change data is compared with the values of the corresponding RW blocks 406 to 410 stored in the PC, and it is determined whether or not they match. If there is a mismatch, the warning process in step SP106 is executed. If all match, the process proceeds to step SP108.
Even when the processing content is changed as described above, an unconfirmed change instruction on the PC is correctly checked.
[0094]
(4) In the above embodiment, an example in which the setting state and physical quantity are monitored and the setting state is remotely controlled with respect to the amplifier I / O node has been described. The same applies to other nodes such as general-purpose I / O nodes. Monitoring and remote control can be performed.
[0095]
【The invention's effect】
As described above, according to the present invention, since the signal transmission apparatus requests other nodes to transmit only the necessary blocks according to the comparison result of the error check code, while suppressing the amount of data flowing through the network as much as possible. The latest setting information of all the nodes can be received efficiently, and the data communication on the network can be stabilized. Further, even if the setting information transmitted from another node cannot be received due to a communication error or the like, the setting information can be supplemented thereafter while suppressing the amount of data flowing through the network as much as possible.
[Brief description of the drawings]
FIG. 1 is an overall block diagram of a signal transmission system according to an embodiment of the present invention.
2 is a block diagram of each node and personal computer (PC) in FIG. 1. FIG.
FIG. 3 is a timing chart of an embodiment.
FIG. 4 is a data structure diagram of one embodiment.
FIG. 5 is a diagram showing a display example on a PC.
FIG. 6 is a flowchart of a control data transmission routine in each node.
FIG. 7 is a flowchart of a control data reception routine in each node.
FIG. 8 is a flowchart of a processing program in each node and PC.
FIG. 9 is a flowchart of a control data reception routine in the PC.
FIG. 10 is a flowchart of a processing program in a command node.
[Explanation of symbols]
102: Display, 104: Panel operator, 106: Specific I / O unit, 108: DSP, 110: LAN I / O unit, 112: Bus, 116: PC / I / O unit, 118: CPU, 120: Flash Memory: 122: RAM, 130: Bus, 132: Serial interface, 134: Input device, 136: Display device, 138: Hard disk, 140: CPU, 142: ROM, 144: RAM, 200: Transmission cycle, 201: Start packet 220: packet, 240: control cycle, 250: cycle start instruction packet, 251 to 254: control data packet group, 260: event data packet, 262: report packet, 264: physical quantity data packet, 266: end packet, 300: Display window, 300-1, 300-2, ... Monitoring point frame, 302: Channel display section, 306: Power button, 308: Channel name display section, 310: Protection display section, 312: Output clip display section, 314: Output meter, 316: Impedance display, 318: Temperature meter 320: Input meter 322: ATT fader 324: Phase button 326: Mute button 400: Setting information 400-1-24: Node area 402: CRC block 404: RO block 406-410: RW Block, 412: physical quantity block, 1000: network, 1910, 1920: personal computer, 1502-150n, 1602-160n: amplifier, 1512-151n, 1612-161n: speaker, 1100, 1200: general-purpose I / O node, 1500, 600: amplifier I / O node.

Claims (2)

所定の伝送サイクル毎に複数チャンネルの音声信号を伝送する音声信号伝送期間と、これら音声信号伝送期間以外の空き時間であって制御データを伝送する制御データ伝送期間とが設けられたネットワークに対して複数のノードのうちの一のノードとして接続される信号伝送装置において、
前記複数のノードの全ての設定情報であって所定のブロック毎にエラーチェックコードを付与して成る設定情報を記憶する記憶手段と、
他のノードのエラーチェックコードを前記ネットワークを介して他のノードから繰り返し受信するエラーチェックコード受信手段と、
受信したエラーチェックコードと前記設定情報内に保持している対応するエラーチェックコードとを比較することにより、前記設定情報の中からエラーが生じたブロックを検知する比較手段と、
該エラーが生じたブロックの送信を要求する要求データを、該ブロックに対応する特定のノードへ送信する送信手段と、
該ブロックに対する設定情報を該特定のノードから受信する設定情報受信手段と、
この受信した設定情報によって、前記ブロックを更新する更新手段と、
この更新されたブロックの設定情報に対応する新たなエラーチェックコードを生成し、生成したエラーチェックコードを前記設定情報の対応部分に書き込むエラーチェックコード更新手段と
を有することを特徴とする信号伝送装置。
For a network provided with an audio signal transmission period for transmitting audio signals of a plurality of channels every predetermined transmission cycle and a control data transmission period for transmitting control data that is idle time other than these audio signal transmission periods In a signal transmission device connected as one of a plurality of nodes,
Storage means for storing all the setting information of the plurality of nodes and setting information formed by adding an error check code for each predetermined block;
Error check code receiving means for repeatedly receiving error check codes of other nodes from other nodes via the network;
Comparing means for detecting a block in which an error has occurred in the setting information by comparing the received error check code and a corresponding error check code held in the setting information;
Transmitting means for transmitting request data requesting transmission of the block in which the error has occurred to a specific node corresponding to the block;
Setting information receiving means for receiving setting information for the block from the specific node;
Update means for updating the block according to the received setting information;
An error check code updating unit for generating a new error check code corresponding to the updated setting information of the block and writing the generated error check code in a corresponding part of the setting information. .
前記エラーチェックコードのうち、自機の設定状態に対応するエラーチェックコードを前記ネットワークを介して繰り返し送信するエラーチェックコード送信手段と、
このエラーチェックコードに対応するブロックについて他のノードから要求データを受信すると、要求されたブロックを当該他のノードに対して送信する設定情報送信手段と
をさらに有することを特徴とする請求項1記載の信号伝送装置。
Among the error check codes, an error check code transmitting means for repeatedly transmitting an error check code corresponding to the setting state of the own device via the network;
If the block corresponding to the error check code for receiving the request data from other nodes, according to claim 1, wherein the requested block, characterized by further comprising a setting information transmission unit to be transmitted to the other nodes signal transmission device.
JP2003141486A 2003-05-20 2003-05-20 Signal transmission device Expired - Fee Related JP3849670B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2003141486A JP3849670B2 (en) 2003-05-20 2003-05-20 Signal transmission device
EP04102153A EP1482664A3 (en) 2003-05-20 2004-05-17 Signal transmission apparatus
US10/850,613 US7606174B2 (en) 2003-05-20 2004-05-19 Signal transmission apparatus
CN2009101705225A CN101667876B (en) 2003-05-20 2004-05-20 Signal transmission apparatus and method
CNB2004100458266A CN100377623C (en) 2003-05-20 2004-05-20 Signal transmission device
CN2007100921533A CN101026905B (en) 2003-05-20 2004-05-20 Signal transmission device and method
US12/552,586 US8228802B2 (en) 2003-05-20 2009-09-02 Signal transmission apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003141486A JP3849670B2 (en) 2003-05-20 2003-05-20 Signal transmission device

Publications (2)

Publication Number Publication Date
JP2004349772A JP2004349772A (en) 2004-12-09
JP3849670B2 true JP3849670B2 (en) 2006-11-22

Family

ID=33529829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003141486A Expired - Fee Related JP3849670B2 (en) 2003-05-20 2003-05-20 Signal transmission device

Country Status (1)

Country Link
JP (1) JP3849670B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4893985B2 (en) * 2006-03-22 2012-03-07 ヤマハ株式会社 Audio network system
JP6807113B2 (en) * 2019-06-07 2021-01-06 ソナス株式会社 Communication system, communication method and communication device

Also Published As

Publication number Publication date
JP2004349772A (en) 2004-12-09

Similar Documents

Publication Publication Date Title
JP4023381B2 (en) Node control method, node control apparatus, and program
EP1482664A2 (en) Signal transmission apparatus
JP4340300B2 (en) Transmission apparatus, test method, and transmission apparatus control program
US20070050479A1 (en) Content receiving apparatus and content receiving method
JP4899568B2 (en) Network system and acoustic signal processing apparatus
JP2003198550A (en) Communication device and communication method
JP2955555B1 (en) Network system
US7389469B2 (en) Bus systems, apparatuses, and methods of operating a bus
JP4023379B2 (en) Signal transmission device
JP3849670B2 (en) Signal transmission device
JP4023380B2 (en) Signal transmission device
JP4134810B2 (en) Signal transmission system
US20120008628A1 (en) Network communication apparatus, communication method, and integrated circuit
US20010024445A1 (en) Communication system, communication device and communication method
CN102195967A (en) Content output apparatus, content playback system, content output method, and program
WO2007044463A2 (en) System and method for automatic plug detection
JPH10164113A (en) System, device and method for data communication
JP2002218007A (en) Transmission check method and transmission check device
EP1182827B1 (en) Information control method, information processing apparatus, and information control system
JP3800058B2 (en) Gateway device
JP2003032311A (en) Control method, transmission system and transmitter
WO2004057804A1 (en) Data transmission system, data transmission method, and data transmission apparatus
JP2001237910A (en) Method and device for communication
KR20210045186A (en) Recording Medium
CN109918270A (en) Multi-server system, debugging method, system and electronic equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060606

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: 20060808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060821

R150 Certificate of patent or registration of utility model

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: 20100908

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110908

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120908

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130908

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees