(57)【特許請求の範囲】
【請求項１】
複数の電子機器の間で制御信号を通信するシステムにおいて、
制御側の電子機器である第１の電子機器が被制御側の電子機器である第２の電子機器に第１のコマンドに対応しているか否かを問い合わせる際に、
上記第１の電子機器は、
まず、上記第２の電子機器に上記第１のコマンドを送信し、
次に、上記第２の電子機器が上記第１のコマンドの実行を開始するとき、上記第２の電子機器に上記第１のコマンドをキャンセルするための第２のコマンドを送信する
ことを特徴とする通信制御方法。
【請求項２】
上記複数の電子機器は制御信号と情報信号とを混在させて伝送できる通信制御バスによって接続され、
上記第１のコマンドは上記第２の電子機器の状態に変化があった場合にその変化を報告するように要求するためのＮＯＴＩＦＹコマンドである
ことを特徴とする請求項１に記載の通信制御方法。
【請求項３】
上記第２のコマンドを、上記ＮＯＴＩＦＹコマンドの１つとして定義する
ことを特徴とする請求項２に記載の通信制御方法。
【請求項４】
複数の電子機器の間で制御信号を通信する通信システムにおいて、
制御側の電子機器である第１の電子機器は、
第１のコマンドを被制御側の電子機器である第２の電子機器に送信する第１のコマンド送信手段と、上記第１のコマンドをキャンセルするための第２のコマンドを上記第２の電子機器に送信する第２のコマンド送信手段とを備え、
上記第２の電子機器が上記第１のコマンドに対応しているか否かを問い合わせる際に、上記第１のコマンド送信手段で上記第２の電子機器に上記第１のコマンドを送信すると共に、上記第２の電子機器が上記第１のコマンドの実行を開始するとき、上記第２のコマンド送信手段で上記第２の電子機器に上記第２のコマンドを送信し、
上記第２の電子機器は、
上記第１のコマンドに対応している場合には、上記第２のコマンドを受信して上記第１のコマンドの実行を中止するコマンド実行中止手段を備える
ことを特徴とする通信システム。
【請求項５】
複数の電子機器の間で制御信号を通信する通信システムで用いる電子機器であって、
第１のコマンドを被制御側の電子機器に送信する第１のコマンド送信手段と、上記第１のコマンドをキャンセルするための第２のコマンドを上記被制御側の電子機器に送信する第２のコマンド送信手段とを備え、
上記被制御側の電子機器が上記第１のコマンドに対応しているか否かを問い合わせる際に、上記第１のコマンド送信手段で上記被制御側の電子機器に上記第１のコマンドを送信すると共に、上記被制御側の電子機器が上記第１のコマンドの実行を開始するとき、上記第２のコマンド送信手段で上記被制御側の電子機器に上記第２のコマンドを送信する
ことを特徴とする電子機器。
【請求項６】
上記第１のコマンドの実行を開始したことを通知するレスポンスを上記被制御側の電子機器より受信するレスポンス受信手段をさらに備え、
上記第２のコマンド送信手段は、上記レスポンス受信手段で上記レスポンスを受信したとき、上記第２のコマンドを上記被制御側の電子機器に送信する
ことを特徴とする請求項５に記載の電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばＩＥＥＥ−１３９４に準拠したシリアルバスのように制御信号と情報信号とを混在させて伝送できる通信制御バスで接続された複数の電子機器間で通信を行う際の通信制御方法、通信システムおよびそれに用いる電子機器に関する。
詳しくは、制御側の電子機器が被制御側の電子機器に第１のコマンドに対応してるか否かを問い合わせる際に、制御側の電子機器から被制御側の電子機器に第１のコマンドを送信し、その後第２の電子機器が第１のコマンドの実行を開始するとき、制御側の電子機器から被制御側の電子機器に第１のコマンドをキャンセルするための第２のコマンドを送信することによって、制御側の電子機器による被制御側の電子機器への第１のコマンドに対応しているか否かの問い合わせを、被制御側の電子機器に不必要な処理をさせることなく、簡単かつ短時間に行おうとした通信制御方法等に係るものである。
【０００２】
【従来の技術】
ＩＥＥＥ−１３９４に準拠したシリアルバス（以下、「ＩＥＥＥ１３９４シリアルバス」という）のように、制御信号と情報信号とを混在させて伝送できる通信制御バスによって複数の電子機器を接続し、これら複数の電子機器の間で制御信号および情報信号を通信する通信システムが考えられている。
【０００３】
図７は、ＩＥＥＥ１３９４シリアルバスによって複数の電子機器を接続してなる通信システムの一例を示している。
【０００４】
この通信システム３０は、ビデオテープレコーダ（以下、「ＶＴＲ」という）３１と、カメラ一体型ビデオテープレコーダ（以下「カムコーダ」という）３２と、コンピュータ３３とを備えている。ＶＴＲ３１およびカムコーダ３２はＩＥＥＥ１３９４シリアルバス３４で接続され、カムコーダ３２およびコンピュータ３３はＩＥＥＥ１３９４シリアルバス３５で接続されている。ここで、＃Ａ〜＃Ｃは、それぞれコンピュータ３３、カムコーダ３２およびＶＴＲ３１のシステム上のノードＩＤを示している。
【０００５】
システム内の各電子機器における信号の伝送は、図８に示すように所定の通信サイクル（例えば１２５μsec）毎に時分割多重によって行われる。この信号伝送は、サイクルマスターと呼ばれる電子機器が通信サイクルの開始時であることを示すサイクルスタートパケット（ＣＳＰ）をバス上に送出することにより開始される。
【０００６】
１通信サイクル中における通信の形態には、ビデオデータやオーディオデータ等の情報信号をアイソクロナス（以下、「Ｉｓｏ」という）伝送するＩｓｏ通信と、制御コマンド等の制御信号をアシンクロナス（以下、「Ａｓｙｎｃ」という）伝送するＡｓｙｎｃ通信とがある。Ｉｓｏ通信パケットはＡｓｙｎｃ通信パケットより先に伝送される。Ｉｓｏ通信パケットのそれぞれにチャネル番号１，２，３，・・・，ｎを付することで、複数のＩｓｏデータを区別することができる。Ｉｓｏ通信パケットの送信が終了した後、次のサイクルスタートパケットまでの期間がＡｓｙｎｃ通信パケットの伝送に使用される。
【０００７】
Ａｓｙｎｃ通信において、ある電子機器が他の電子機器に何かを要求する制御信号をコマンドと呼び、このコマンドをパケットに入れて送る側をコントローラと呼ぶ。また、コマンドを受け取る側をターゲットと呼ぶ。ターゲットは、必要に応じてコマンドの実行結果を示す制御信号、つまりレスポンスを入れたパケットをコントローラへ返信する。
【０００８】
このコマンドとレスポンスは、一つのコントローラと一つのターゲットとの間で通信され、コマンドの送信で開始しレスポンスの返信で終了する一連のやりとりをコマンドトランザクションと呼ぶ。ターゲットは、コマンドを受信してから可能な限り速く、例えば１００ｍsec以内にレスポンスを返信するように決められている。その理由は、コントローラ側がレスポンスを長く待ち続けて処理が遅くなったり、何らかの障害によってレスポンスが返らなかった場合に処理が滞ったりすることを防ぐためである。
【０００９】
コントローラは、コマンドとトランザクションによって、ターゲットに特定の動作をするように要求したり、ターゲットの現在の状態を問い合わせることができる。システム内のどの電子機器もコマンドトランザクションの開始および終了をすることができる。すなわち、どの電子機器もコントローラにもターゲットにもなることができる。
【００１０】
図９は、Ａｓｙｎｃ通信パケットの構造を示している。コマンドもレスポンスも同じ構造である。この図において、パケットのデータは、上から下へ、かつ左から右へ順に伝送される。パケットは、パケットヘッダとデータブロックとから構成されている。そして、パケットヘッダの全部とデータブロック中のデータＣＲＣ（網掛部分参照）は、ＩＥＥＥ１３９４で規格が決められており、パケットヘッダのソースＩＤが示す電子機器からディスティネーションＩＤで示される電子機器のディスティネーションオフセットに示されるアドレスへ、データブロックの内容を書き込む。
【００１１】
例えば、図７に示す通信システム３０において、コンピュータ３３からカムコーダ３２にコマンドを送信する場合には、ソースＩＤは＃Ａ、ディスティネーションＩＤは＃Ｂ、ディスティネーションオフセットはカムコーダ３２内でコマンドを格納するエリアとして割り付けられたメモリ空間である。コンピュータ３３がシステム内の他の全ての電子機器に対してコマンドを送信したい場合には、ディスティネーションＩＤの１６ビットを、‘オール１’にする。この通信形態をブロードキャストと呼ぶ。
【００１２】
図９のＡｓｙｎｃ通信パケットの構造のデータブロックにおいて、ＣＴＳ（コマンドトランザクションセット）は、コマンド言語の種類を示す。また、ＣＴ／ＲＣ（コマンドタイプ／レスポンスコード）は、コマンドの場合には要求を示し、レスポンスの場合には要求に対する返事の種類を示す。ＨＡ（ヘッダアドレス）は、コマンドの場合には要求する相手が機器全体なのか機器内のサブデバイス（機能単位）なのかを示し、レスポンスの場合にはその相手が返事をするという意味で対応するコマンドと同じである。ＯＰＣ（オペレーションコード）はコマンドコード、すなわち具体的な要求を示し、それに続くＯＰＲ（オペランド）でその要求に必要なパラメータを示す。
【００１３】
図１０は、システム内の電子機器のうちカムコーダ３２を例にして、上述したコマンドやレスポンスのやりとりを行う部分の構成を示したものである。このカムコーダ３２は、カムコーダデバイス３６とＩＥＥＥ１３９４バス送受信ブロック３７とを有している。
【００１４】
カムコーダデバイス３６は、マイクロコンピュータ（以下、「マイコン」という）で構成されており、カムコーダ内のＶＴＲ部分に関するコマンドの処理等を行うＶＴＲサブデバイス３８と、カムコーダ内のカメラ部分に関するコマンドの処理等を行うカメラサブデバイス３９とを備えている。これらのサブデバイス３８，３９は、マイコンのソフトウェアで構成されている。
【００１５】
ＩＥＥＥ１３９４バス送受信ブロック３７は、バスを介して受信したＡｓｙｎｃ通信パケットを検出し、その中のコマンドをカムコーダデバイス３６に送る。カムコーダデバイス３６は、コマンドを受け取ると、その具体的な要求に応じてサブデバイス３８，３９を動作させる。例えば、ＶＴＲサブデバイス３８宛のＰＬＡＹコマンドを受け取った場合には、ＶＴＲサブデバイス３８にコマンドを渡す。ＶＴＲサブデバイス３８は、ＶＴＲ部分を再生状態とするように制御する処理を実行する。
【００１６】
また、例えば、ＶＴＲサブデバイス３８は、ＶＴＲ部分の各種ステータス（メカモード、タイムコード等）を監視し、必要に応じてレスポンスを作成する。このレスポンスはカムコーダデバイス３６よりＩＥＥＥ１３９４バス送受信ブロック３７へ送信される。そして、ＩＥＥＥ１３９４バス送受信ブロック３７は、レスポンスをＡｓｙｎｃ通信パケットに入れてバスへ送出する。
【００１７】
図１１Ａは、コマンドのフォーマット構成を示し、図１１Ｂはレスポンスのフォーマット構成を示している。ここでは、ＣＴＳを“０”ｈとしている。
【００１８】
ここで、現在定義されているコマンドの要求の種類、すなわちコマンドタイプには、（１）通信対象の機能実行を制御するためのＣＯＮＴＲＯＬコマンド、（２）通信対象が特定のＣＯＮＴＲＯＬコマンドに対応しているか否かを問い合わせるためのＩＮＱＵＩＲＹコマンド、（３）通信対象の特定の機能に関する状態を問い合わせるためのＳＴＡＴＵＳコマンド、（４）通信対象の状態に変化があった場合にその報告を要求するためのＮＯＴＩＦＹコマンドの４種類がある。
【００１９】
例えば、図１０のカムコーダ３２のＶＴＲサブデバイス３８に対してスロー再生を要求するＣＯＮＴＲＯＬコマンドのフォーマットは、図１１Ｃに示すようになる。そして、それに対してＶＴＲサブデバイス３８より返信するレスポンスのフォーマットは、そのＣＯＮＴＲＯＬコマンドに対応していてその要求を了承するときは図１１Ｄに示すようなＡＣＣＥＰＴＥＤレスポンスのフォーマットとなり、一方そのＣＯＮＴＲＯＬコマンドに対応していないときは図１１Ｅに示すようなＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤレスポンスのフォーマットとなる。
【００２０】
また、図１０のカムコーダ３２のＶＴＲサブデバイス３８に対してスロー再生を要求するＣＯＮＴＲＯＬコマンドに対応しているか否かを問い合わせるためのＩＮＱＵＩＲＹコマンドのフォーマットは、図１１Ｆに示すようになる。そして、それに対してＶＴＲサブデバイス３８より返信するレスポンスのフォーマットは、そのＣＯＮＴＲＯＬコマンドに対応しているときは図１１Ｇに示すようなＩＭＰＬＥＭＥＮＴＥＤレスポンスのフォーマットとなり、一方そのＣＯＮＴＲＯＬコマンドに対応していないときは図１１Ｈに示すようなＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤレスポンスのフォーマットとなる。
【００２１】
また、図１０のカムコーダ３２のＶＴＲサブデバイス３８に対して現在値の時−分−秒−フレームを問い合わせるためのＳＴＡＴＵＳコマンドのフォーマットは、図１２Ａに示すようになる。そして、それに対してＶＴＲサブデバイス３８より返信するレスポンスのフォーマットは、そのＳＴＡＴＵＳコマンドに対応しているときは図１２Ｂに示すようなＳＴＡＢＬＥレスポンスのフォーマットとなり、一方そのＳＴＡＴＵＳコマンドに対応していないときは図１２Ｃに示すようなＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤレスポンスのフォーマットとなる。
【００２２】
また、図１０のカムコーダ３２のＶＴＲサブデバイス３８に対してメカモードが変化したことの報告を要求するＮＯＴＩＦＹコマンドのフォーマットは、図１２Ｄに示すようになる。そして、それに対してＶＴＲサブデバイス３８より返信するレスポンスのフォーマットは、そのＮＯＴＩＦＹコマンドに対応していてそのＮＯＴＩＦＹコマンドの実行を開始するときは、図１２Ｅに示すようなＩＮＴＥＲＩＭレスポンスのフォーマットとなる。このＩＮＴＥＲＩＭレスポンスのフォーマットにおいて、ＯＰＣおよびＯＰＲは現在のメカモードを示す。図１２Ｅは、現在のメカモードが１倍速のＰＬＡＹ（再生）状態であることを示している。
【００２３】
そして、ＮＯＴＩＦＹコマンドの実行を開始した後に、メカモードに変化があったときは、図１２Ｆに示すようなＣＨＡＮＧＥＤレスポンスのフォーマットとなる。このＣＨＡＮＧＥＤレスポンスのフォーマットにおいて、ＯＰＣおよびＯＰＲは変化後のメカモードを示す。図１２Ｆは、変化後のメカモードがＲＥＷＩＮＤ（巻き戻し）状態であることを示している。
【００２４】
一方、ＮＯＴＩＦＹコマンドに対応していないとき、ＶＴＲサブデバイス３８より返信するレスポンスのフォーマットは、図１２Ｇに示すようなＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤレスポンスのフォーマットとなる。
【００２５】
また、図１０のカムコーダ３２のＶＴＲサブデバイス３８に対して、ＰＲＩＯＲＩＴＹ（優先度）５のＲＥＳＥＲＶＥＤ(コントロールする権利）を要求するＣＯＮＴＲＯＬコマンドのフォーマットは、図１３Ａに示すようになる。そして、それに対してＶＴＲサブデバイス３８より返信するレスポンスのフォーマットは、そのＣＯＮＴＲＯＬコマンドに対応していてその要求を了承するときは図１３Ｂに示すようなＡＣＣＥＰＴＥＤレスポンスのフォーマットとなる。
【００２６】
また、図１０のカムコーダ３２のＶＴＲサブデバイス３８に対してＲＥＳＥＲＶＥＤの状態が変化したことの報告を要求するＮＯＴＩＦＹコマンドのフォーマットは、図１３Ｃに示すようになる。そして、それに対してＶＴＲサブデバイス３８より返信するレスポンスのフォーマットは、そのＮＯＴＩＦＹコマンドに対応していてそのＮＯＴＩＦＹコマンドの実行を開始するときは、図１３Ｄに示すようなＩＮＴＥＲＩＭレスポンスのフォーマットとなる。このＩＮＴＥＲＩＭレスポンスのフォーマットにおいて、ＯＰＣおよびＯＰＲは現在のＲＥＳＥＲＶＥＤの状態を示す。図１３Ｄは、上述したようにカムコーダ３２のＶＴＲサブデバイス３８がＰＲＩＯＲＩＴＹ５のＲＥＳＥＲＶＥＤの状態にあることを示している。
【００２７】
そして、ＮＯＴＩＦＹコマンドの実行を開始した後に、ＲＥＳＥＲＶＥＤの状態に変化があったときは、図１３Ｅに示すようなＣＨＡＮＧＥＤレスポンスのフォーマットとなる。このＣＨＡＮＧＥＤレスポンスのフォーマットにおいて、ＯＰＣおよびＯＰＲは変化後のＲＥＳＥＲＶＥＤの状態を示す。図１３Ｅは、ＰＲＩＯＲＩＴＹ６のＲＥＳＥＲＶＥＤの状態に変化したことを示している。
【００２８】
一方、ＮＯＴＩＦＹコマンドに対応していないとき、ＶＴＲサブデバイス３８より返信するレスポンスのフォーマットは、図１３Ｆに示すようなＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤレスポンスのフォーマットとなる。
【００２９】
【発明が解決しようとする課題】
ところで、図７に示す通信システム３０のように、コンピュータに複数のＡＶ（Audio-Video）機器が接続された通信システムにおいて、コンピュータがそのシステムの制御を行う場合、そのコンピュータのデバイスドライバは接続されている複数のＡＶ機器が対応する機能を調べる必要がある。
【００３０】
この場合、ＣＯＮＴＲＯＬコマンドに関しては、制御対象にＣＯＮＴＲＯＬコマンドを送信する代わりに、ＣＯＮＴＲＯＬコマンドに対応しているか否かを問い合わせるためのＩＮＱＵＩＲＹコマンドを制御対象に送信することで行われる。このように制御対象にＩＮＱＵＩＲＹコマンドを送信することで、制御対象の状態を変化させることなく、返信されたレスポンス、すなわち対応する場合のＩＭＰＬＥＭＥＮＴＥＤレスポンスまたは対応しない場合のＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤレスポンスによって、指定したＣＯＮＴＲＯＬコマンドに対応するか否かを判断することができる。
【００３１】
また、ＳＴＡＴＵＳコマンドに関しては、ＩＮＱＵＩＲＹコマンドと同様に、制御対象の状態を変化させることがないので、実際に制御対象にＳＴＡＴＵＳコマンドを送信し、返信されたレスポンスがＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤレスポンスであれば対応していない、それ以外であれば対応していると推測できる。
【００３２】
残るＮＯＴＩＦＹコマンドに関しても、ＩＮＱＵＩＲＹコマンドやＳＴＡＴＵＳコマンドと同様に、制御対象の状態を変化させない性質がある。そのため、制御対象がＮＯＴＩＦＹコマンドに対応しているか否かを判断したい場合、実際に制御対象にＮＯＴＩＦＹコマンドを送信し、返信されたレスポンスがＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤレスポンスであれば対応していない、それ以外であれば対応していると推測することになる。
【００３３】
しかしこの場合、制御対象よりＩＮＴＥＲＩＭレスポンスが返信されるときは、不確定時間経過後に制御対象よりＣＨＡＮＧＥＤレスポンスが返信され、その時点でＮＯＴＩＦＹコマンドの送信による一通信が完了する。このＣＨＡＮＧＥＤレスポンスは、ＮＯＴＩＦＹコマンドで指定された状態が変化した場合に返信されるものであって、その変化がなければ送信されず、制御対象はそれまでＣＨＡＮＧＥＤレスポンスを返信するために待機する必要がある。
【００３４】
図１４は、図７の通信システム３０において、カムコーダ３２がメカモードが変化したことの報告を要求するＮＯＴＩＦＹコマンドに対応するか否かを判断するために、コンピュータ３３よりカムコーダ３２のＶＴＲサブデバイス３８に対してＮＯＴＩＦＹコマンドを送信する場合の動作例を示している。カムコーダ３２のＶＴＲ部分は、最初ＰＬＡＹ状態にあるものとする。
【００３５】
まず、コンピュータ３３はカムコーダ３２に対してＮＯＴＩＦＹコマンドを送信する。カムコーダ３２がそのＮＯＴＩＦＹコマンドに対応していてそのＮＯＴＩＦＹコマンドの実行を開始するとき、カムコーダ３２はコンピュータ３３にＩＮＴＥＲＩＭレスポンスを返信し、ＣＨＡＮＧＥＤレスポンスを返信するための待機状態となる。そして、不確定時間経過後に、テープエンドとなってカムコーダ３２のＶＴＲ部分がＰＬＡＹ状態からＲＥＷＩＮＤ状態に変化し、カムコーダ３２はコンピュータ３３にＣＨＡＮＧＥＤレスポンスを返信する。
【００３６】
図１５は、図７の通信システム３０において、カムコーダ３２がＲＥＳＥＲＶＥＤ状態が変化したことの報告を要求するＮＯＴＩＦＹコマンドに対応するか否かを判断するために、コンピュータ３３よりカムコーダ３２のＶＴＲサブデバイス３８に対してＮＯＴＩＦＹコマンドを送信する場合の動作例を示している。カムコーダ３２のＶＴＲサブデバイス３８は、最初ＰＲＩＯＲＩＴＹ５のＲＥＳＥＲＶＥＤの状態にあるものとする。
【００３７】
まず、コンピュータ３３はカムコーダ３２に対してＮＯＴＩＦＹコマンドを送信する。カムコーダ３２がそのＮＯＴＩＦＹコマンドに対応していてそのＮＯＴＩＦＹコマンドの実行を開始するとき、カムコーダ３２はコンピュータ３３にＩＮＴＥＲＩＭレスポンスを返信し、ＣＨＡＮＧＥＤレスポンスを返信するための待機状態となる。そして、不確定時間経過後に、ＶＴＲ３１よりカムコーダ３２のＶＴＲサブデバイス３８に対して、ＰＲＩＯＲＩＴＹ６のＲＥＳＥＲＶＥＤを要求するＣＯＮＴＲＯＬコマンドが送信され、それに対してカムコーダ３２よりＶＴＲ３１にその要求を了承するＡＣＣＥＰＴＥＤレスポンスが返信される場合、カムコーダ３２のＶＴＲサブデバイス３８のＲＥＳＥＲＶＥＤ状態が変化することから、カムコーダ３２はコンピュータ３３にＣＨＡＮＧＥＤレスポンスを返信する。
【００３８】
なお、図１４および図１５において、Ｔａはカムコーダ３２がＣＨＡＮＧＥＤレスポンスを返信するための待機状態にある時間を示しており、Ｔｂはカムコーダ３２がＮＯＴＩＦＹコマンドに対応するか否かをコンピュータ３３がカムコーダ３２に問い合わせるためにかかる通信処理時間を示している。
【００３９】
上述したように制御対象がＮＯＴＩＦＹコマンドに対応するか否かを判断するために、コンピュータより制御対象にＮＯＴＩＦＹコマンドを送信する場合、制御対象からの最初のレスポンスがＩＮＴＥＲＩＭレスポンスであっても、その時点でＮＯＴＩＦＹコマンドに対応していると判断でき、既に目的は達成されている。
【００４０】
しかし、コンピュータは制御対象からのＣＨＡＮＧＥＤレスポンスの返信があるまで続く処理に移ることができないか、あるいはＣＨＡＮＧＥＤレスポンスの返信を待つことなく次々とＮＯＴＩＦＹコマンドを制御対象に送信してそのＮＯＴＩＦＹコマンドに対応するか否かを判断できる場合であっても、そのＣＨＡＮＧＥＤレスポンスの返信待機がコンピュータの処理能力を越える場合には処理が停滞することになる。一方、制御対象に関しても、ＩＮＴＥＲＩＭレスポンスを返信した後にＣＨＡＮＧＥＤレスポンスを返信するための待機状態となり、そのＮＯＴＩＦＹコマンドを実行するため、不必要な処理が行われることとなる。
【００４１】
そこで、この発明では、例えば制御側による被制御側の電子機器への所定コマンドに対応しているか否かの問い合わせを、被制御側の電子機器に不必要な処理をさせることなく、簡単かつ短時間に行い得るようにすることを目的とする。
【００４２】
【課題を解決するための手段】
この発明に係る通信制御方法は、複数の電子機器の間で制御信号を通信するシステムにおいて、制御側の電子機器である第１の電子機器が被制御側の電子機器である第２の電子機器に第１のコマンドに対応しているか否かを問い合わせる際に、第１の電子機器は、まず、第２の電子機器に第１のコマンドを送信し、次に、第２の電子機器が第１のコマンドの実行を開始するとき、第２の電子機器に第１のコマンドをキャンセルするための第２のコマンドを送信するものである。
【００４３】
また、この発明に係る通信システムは、複数の電子機器の間で制御信号を通信する通信システムにおいて、制御側の電子機器である第１の電子機器は、第１のコマンドを被制御側の電子機器である第２の電子機器に送信する第１のコマンド送信手段と、第１のコマンドをキャンセルするための第２のコマンドを第２の電子機器に送信する第２のコマンド送信手段とを備え、第２の電子機器が第１のコマンドに対応しているか否かを問い合わせる際に、第１のコマンド送信手段で第２の電子機器に第１のコマンドを送信すると共に、第２の電子機器が第１のコマンドの実行を開始するとき、第２のコマンド送信手段で第２の電子機器に第２のコマンドを送信し、第２の電子機器は、第１のコマンドに対応している場合には、第２のコマンドを受信して第１のコマンドの実行を中止するコマンド実行中止手段を備えるものである。
【００４４】
また、この発明に係る電子機器は、複数の電子機器の間で制御信号を通信する通信システムで用いる電子機器であって、第１のコマンドを被制御側の電子機器に送信する第１のコマンド送信手段と、第１のコマンドをキャンセルするための第２のコマンドを被制御側の電子機器に送信する第２のコマンド送信手段とを備え、被制御側の電子機器が第１のコマンドに対応しているか否かを問い合わせる際に、第１のコマンド送信手段で被制御側の電子機器に第１のコマンドを送信すると共に、被制御側の電子機器が第１のコマンドの実行を開始するとき、第２のコマンド送信手段で被制御側の電子機器に第２のコマンドを送信するものである。
【００４６】
複数の電子機器の間で制御信号の通信が行われる。例えば、複数の電子機器は制御信号と情報信号とを混在させて伝送できる通信制御バスによって接続され、複数の電子機器の間で情報信号および制御信号の通信が行われる。
【００４７】
例えば、制御側の電子機器である第１の電子機器（コントローラ）が被制御側の電子機器である第２の電子機器（ターゲット）に第１のコマンド、例えば状態に変化があった場合にその変化を報告するように要求するためのＮＯＴＩＦＹコマンドに対応しているか否かを問い合わせる際、この第１の電子機器より第２の電子機器に第１のコマンド送信する。そして、第２の電子機器が第１のコマンドに対応している場合、第２の電子機器は第１のコマンドの実行を開始し、その第１のコマンドの実行を開始したことを通知するレスポンスを第１の電子機器に返信する。
【００４８】
そして、第１の電子機器は、そのレスポンスを受信すると、第２の電子機器に第１のコマンドをキャンセルするための第２のコマンドを送信する。第２の電子機器はその第２のコマンドを受信するとき、第１のコマンドの実行を中止する。その場合、第２の電子機器は、第２のコマンドの要求、すなわち第１のコマンドのキャンセルを了承したことを通知するレスポンスを第１の電子機器に返信する。
【００４９】
【発明の実施の形態】
以下、図面を参照しながら、この発明の実施の形態について説明する。図１は、実施の形態としての通信システム１０を示している。この通信システム１０も、上述した図７に示す通信システム３０と同様に、ＩＥＥＥ１３９４シリアルバスによって複数の電子機器を接続してなるものである。
【００５０】
この通信システム１０は、ＶＴＲ１１と、カムコーダ１２と、コンピュータ１３とを有している。そして、ＶＴＲ１１およびカムコーダ１２はＩＥＥＥ１３９４シリアルバス１４で接続され、カムコーダ１２およびコンピュータ１３はＩＥＥＥ１３９４シリアルバス１５で接続されている。ここで、＃Ａ〜＃Ｃは、それぞれコンピュータ１３、カムコーダ１２およびＶＴＲ１１のシステム上のノードＩＤを示している。
【００５１】
システム内の各電子機器における信号の伝送は、上述した図７に示す通信システム３０と同様に、所定の通信サイクル毎に時分割多重によって行われ、ビデオデータやオーディオデータ等の情報信号がＩｓｏ通信パケットで伝送され、制御コマンド等の制御信号がＡｓｙｎｃ通信パケットで伝送される（図８参照）。そして、制御側の電子機器（コントローラ）が被制御側の電子機器（ターゲット）に何かを要求する場合、コントローラは、Ａｓｙｎｃ通信パケット（図９にＡｓｙｎｃ通信パケットの構造を図示）にコマンド（図１１Ａにコマンドフォーマットを図示）を入れてターゲットに送信する。そして、ターゲットは、必要に応じてコマンドの実行結果を示すレスポンス（図１１Ｂにレスポンスフォーマットを図示）を入れてコントローラへ返信する。
【００５２】
図２は、システム内の電子機器のうちカムコーダ１２を例にして、上述したコマンドやレスポンスのやりとりを行う部分の構成を示している。このカムコーダ１２は、図７に示す通信システム３０におけるカムコーダ３２と同様に、カムコーダデバイス１６とＩＥＥＥ１３９４バス送受信ブロック１７とを有している。
【００５３】
そして、カムコーダデバイス１６はマイコンで構成されており、カムコーダ内のＶＴＲ部分に関するコマンドの処理等を行うＶＴＲサブデバイス１８と、カムコーダ内のカメラ部分に関するコマンドの処理等を行うカメラサブデバイス１９とを備えている。これらのサブデバイス１８，１９は、マイコンのソフトウェアで構成されている。
【００５４】
ＩＥＥＥ１３９４バス送受信ブロック１７は、バスを介して受信したＡｓｙｎｃ通信パケットを検出し、その中のコマンドをカムコーダデバイス１６に送る。カムコーダデバイス１６は、コマンドを受け取ると、その具体的な要求に応じてサブデバイス１８，１９を動作させる。
【００５５】
また、サブデバイス１８，１９は、各種ステータスを監視し、必要に応じてレスポンスを作成する。このレスポンスはカムコーダデバイス１６よりＩＥＥＥ１３９４バス送受信ブロック１７へ送信される。そして、ＩＥＥＥ１３９４バス送受信ブロック１７は、レスポンスをＡｓｙｎｃ通信パケットに入れてバスへ送出する。
【００５６】
本実施の形態において、制御側の電子機器（コントローラ）より被制御側の電子機器（ターゲット）にＮＯＴＩＦＹコマンドに対応しているか否かを問い合わせる場合、コントローラは以下のように動作する。すなわち、コントローラは、まずターゲットにＮＯＴＩＦＹコマンドを送信し、その後にＩＮＴＥＲＩＭレスポンスを受信するときは、ＮＯＴＩＦＹコマンドをキャンセルするキャンセルコマンドをターゲットに送信する。
【００５７】
図３のフローチャートは、ＮＯＴＩＦＹコマンドに関する対応をターゲットに問い合わせる場合のコントローラの動作を示している。
【００５８】
まず、ステップＳＴ１で、ＮＯＴＩＦＹコマンドをターゲットに送信し、ステップＳＴ２で、ターゲットより返信されたレスポンスを受信したか否かを判定する。レスポンスを受信していないときは、ステップＳＴ３で、タイムアウトか否か、例えばＮＯＴＩＦＹコマンドを送信して１００ｍsecが経過したか否かを判定する。そして、ステップＳＴ３でタイムアウトでないときは、ステップＳＴ２に戻り、レスポンスを受信したか否かの判定を継続する。一方、ステップＳＴ３でタイムアウトであるときは、ステップＳＴ４で、問い合わせの動作を終了する。
【００５９】
また、ステップＳＴ２でレスポンスを受信したときは、ステップＳＴ５で、そのレスポンスがＩＮＴＥＲＩＭレスポンスであるか否かを判定する。ＩＮＴＥＲＩＭレスポンスでないときは、ステップＳＴ４に進んで、問い合わせの動作を終了する。一方、ＩＮＴＥＲＩＭレスポンスであるときは、ステップＳＴ６で、ＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドをターゲットに送信する。
【００６０】
このＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドは、ＮＯＴＩＦＹコマンドをキャンセルするためのキャンセルコマンドであって、ＮＯＴＩＦＹコマンドで定義される。例えば、ＮＯＴＩＦＹコマンドのＯＰＲの「Ｄｕｍｍｙ」を‘ＣＡＮＣＥＬ’に変更したものとする。
【００６１】
次に、ステップＳＴ７で、ターゲットより返信されたＡＣＣＥＰＴＥＤレスポンスを受信したか否かを判定する。ＡＣＣＥＰＴＥＤレスポンスを受信していないときは、ステップＳＴ８で、タイムアウトか否か、例えばＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドを送信して１００ｍsecが経過したか否かを判定する。そして、ステップＳＴ８でタイムアウトでないときは、ステップＳＴ７に戻り、ＡＣＣＥＰＴＥＤレスポンスを受信したか否かの判定を継続する。一方、ステップＳＴ８でタイムアウトであるとき、およびステップＳＴ７でＡＣＣＥＰＴＥＤレスポンスを受信したときは、ステップＳＴ４に進んで、問い合わせの動作を終了する。
【００６２】
また、本実施の形態において、ターゲットは、ＮＯＴＩＦＹコマンドを受信した場合、図４のフローチャートに沿ってレスポンスを返信する。
【００６３】
まず、ステップＳＴ１１で、ＮＯＴＩＦＹコマンドに対応しているか否かを判定する。ＮＯＴＩＦＹコマンドに対応していないときは、ステップＳＴ１２で、ＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤのレスポンスをコントローラに返信し、ステップＳＴ１３で、ＮＯＴＩＦＹコマンドの受信動作を終了する。
【００６４】
ステップＳＴ１１でＮＯＴＩＦＹコマンドに対応しているときは、ステップＳＴ１４で、そのＮＯＴＩＦＹコマンドをいま実行できるか否かを判定する。いま実行できないときは、ステップＳＴ１５で、ＲＥＪＥＣＴＥＤレスポンスを返信し、ステップＳＴ１３で、ＮＯＴＩＦＹコマンドの受信動作を終了する。
【００６５】
ステップＳＴ１４で、いま実行できるときは、ステップＳＴ１６で、ＩＮＴＥＲＩＭレスポンスをターゲットに返信する。この場合、ターゲットはＮＯＴＩＦＹコマンドの実行を開始し、ＣＨＡＮＧＥＤレスポンスを返信するための待機状態に移る。
【００６６】
次に、ステップＳＴ１７で、ＮＯＴＩＦＹコマンドで指定された状態（メカモード、ＲＥＳＥＲＶＥＤの状態等）が変わったか否かを判定する。状態が変わったときは、ステップＳＴ１８で、コントローラにＣＨＡＮＧＥＤレスポンスを返信し、ステップＳＴ１３で、ＮＯＴＩＦＹコマンドの受信動作を終了する。
【００６７】
ステップＳＴ１７で、状態が変わっていないときは、ステップＳＴ１９で、コントローラより送信されたＮＯＴＩＦＹコマンドをキャンセルするためのＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドを受信したか否かを判定する。ＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドを受信していないときは、ステップＳＴ１７に戻り、ＮＯＴＩＦＹコマンドで指定された状態が変わったか否かの判定を継続する。
【００６８】
ステップＳＴ１９でＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドを受信したときは、ステップＳＴ２０で、ＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドの要求を了承したことを通知するＡＣＣＥＰＴＥＤレスポンスをコントローラに返信し、ステップＳＴ１３で、ＮＯＴＩＦＹコマンドの受信動作を終了する。この場合、ターゲットは、ＮＯＴＩＦＹコマンドの実行を中止する。つまり、ＣＨＡＮＧＥＤレスポンスを返信するための待機状態を解除する。
【００６９】
ここで、図１に示す通信システム１０において、例えばコンピュータ１３よりカムコーダ１２のＶＴＲサブデバイス１８に、メカモードが変化したことの報告を要求するＮＯＴＩＦＹコマンドに対応しているか否かを問い合わせる場合を考える。
【００７０】
この場合、最初にコンピュータ１３よりカムコーダ１２に送信するＮＯＴＩＦＹコマンドは、図５Ａに示すようになる。そして、それに対して、カムコーダ１２のＶＴＲサブデバイス１８よりコンピュータ１３に返信するレスポンスのフォーマットは、以下のようになる。すなわち、カムコーダ１２のＶＴＲサブデバイス１８がＮＯＴＩＦＹコマンドに対応していないときは、図５Ｃに示すようなＮＯＴ−ＩＭＰＬＥＭＥＮＴＥＤのレスポンスフォーマットとなる。カムコーダ１２のＶＴＲサブデバイス１８がＮＯＴＩＦＹコマンドに対応しているが、そのＮＯＴＩＦＹコマンドをいま実行できないときは、図５Ｄに示すようなＲＥＪＥＣＴＥＤのレスポンスフォーマットとなる。そして、カムコーダ１２のＶＴＲサブデバイス１８がＮＯＴＩＦＹコマンドに対応しており、そのＮＯＴＩＦＹコマンドの実行を開始するときは、図５Ｂに示すようなＩＮＴＥＲＩＭのレスポンスフォーマットとなる。
【００７１】
また、コンピュータ１３がカムコーダ１２のＶＴＲサブデバイス１８より返信されたＩＮＴＥＲＩＭレスポンスを受信したとき、コンピュータ１３よりカムコーダ１２に送信するＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドのフォーマットは、図５Ｅに示すようになる。上述したように、例えばＮＯＴＩＦＹコマンドのＯＰＲの「Ｄｕｍｍｙ」を‘ＣＡＮＣＥＬ’に変更したものとなる。そして、それに対して、カムコーダ１２ののＶＴＲサブデバイス１８よりコンピュータ１３に返信するレスポンスのフォーマットは、図５Ｆに示すようなＡＣＣＥＰＴＥＤレスポンスのフォーマットとなる。
【００７２】
図６は、図１に示す通信システム１０において、例えばＮＯＴＩＦＹコマンドに対応するか否かを、コンピュータ１３がカムコーダ１２に問い合わせる際の動作例を示している。
【００７３】
まず、コンピュータ１３はカムコーダ１２に対してＮＯＴＩＦＹコマンドを送信する。カムコーダ１２がそのＮＯＴＩＦＹコマンドに対応していてそのＮＯＴＩＦＹコマンドの実行を開始するとき、カムコーダ１２はコンピュータ１３にＩＮＴＥＲＩＭレスポンスを返信し、ＣＨＡＮＧＥＤレスポンスを返信するための待機状態となる。コンピュータ１３は、カムコーダ１２からのＩＮＴＥＲＩＭレスポンスの返信によって、カムコーダ１２がＮＯＴＩＦＹコマンドに対応していることを判断でき、問い合わせの目的を達成できる
そのため、コンピュータ１３は、カムコーダ１２からのＩＮＴＥＲＩＭレスポンスを受信するとき、カムコーダ１２に対して直ちにＮＯＴＩＦＹコマンドをキャンセルするためのＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドを送信する。カムコーダ１２は、ＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドを受信すると、ＮＯＴＩＦＹコマンドの実行を中止し、ＣＨＡＮＧＥＤレスポンスを返信するための待機状態を解除し、コンピュータ１３には、そのＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドの要求を了承したことを通知するＡＣＣＥＰＴＥＤレスポンスを返信する。コンピュータ１３は、このＡＣＣＥＰＴＥＤレスポンスを受信するとき、問い合わせの動作を終了する。
【００７４】
なお、図６において、Ｔａはカムコーダ１２がＣＨＡＮＧＥＤレスポンスを返信するための待機状態にある時間を示しており、Ｔｂはカムコーダ１２がＮＯＴＩＦＹコマンドに対応するか否かをコンピュータ１３がカムコーダ１２に問い合わせるためにかかる通信処理時間を示している。
【００７５】
このように本実施の形態においては、制御側の電子機器（コントローラ）より被制御側の電子機器（ターゲット）に、例えばコンピュータ１３よりカムコーダ１２やＶＴＲ１１にＮＯＴＩＦＹコマンドに関する対応を問い合わせる場合、まずコントローラよりターゲットにＮＯＴＩＦＹコマンドを送信する。そして、ターゲットよりコントローラにＩＮＴＥＲＩＭレスポンスが返信されてきてコントローラの問い合わせの目的が達成されたとき、直ちにＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドをコントローラよりターゲットに送信してターゲットのＮＯＴＩＦＹコマンドの実行を中止させるものである。
【００７６】
したがって、コントローラからターゲットへのＮＯＴＩＦＹコマンドに対応しているか否かの問い合わせを、ターゲットに不必要な処理をさせることなく、簡単かつ短時間に行うことができる。また、ＣＯＮＴＲＯＬコマンドに対してＩＮＱＵＩＲＹコマンドが定義されているように、ＮＯＴＩＦＹコマンドに対応しているか否かの問い合わせをするコマンドタイプを新たに定義するものでなく、新たなコマンドタイプの定義を回避できる利益がある。
【００７７】
なお、上述実施の形態は、ＩＥＥＥ１３９４シリアルバスによってコンピュータ１３、カムコーダ１２およびＶＴＲ１１が接続された通信システム１０であったが、この発明は複数の電子機器の間で制御信号を通信するその他のシステムに同様に適用できる。また、上述実施の形態においては、コントローラよりターゲットにＮＯＴＩＦＹコマンドの実行を中止させるＮＯＴＩＦＹ（ＣＡＮＣＥＬ）コマンドを送信するものであるが、ターゲットにおいて実行を中止すべきコマンドはＮＯＴＩＦＹコマンドに限定されることなく、例えば目的の情報が得られた時点でも１通信が完了しないその他のコマンドに対して、同様にしてコントローラはそのコマンドの実行を中止させることができる。
【００７８】
【発明の効果】
この発明によれば、制御側の電子機器が被制御側の電子機器に第１のコマンドに対応してるか否かを問い合わせる際に、制御側の電子機器から被制御側の電子機器に第１のコマンドを送信し、その後第２の電子機器が第１のコマンドの実行を開始するとき、制御側の電子機器から被制御側の電子機器に第１のコマンドをキャンセルするための第２のコマンドを送信するものであり、制御側の電子機器による被制御側の電子機器への第１のコマンドに対応しているか否かの問い合わせを、被制御側の電子機器に不必要な処理をさせることなく、簡単かつ短時間に行うことができる。
【図面の簡単な説明】
【図１】実施の形態としての通信システムを示すブロック図である。
【図２】実施の形態としての通信システムを構成するカムコーダのコマンドやレスポンスのやりとりを行う部分を示す図である。
【図３】ＮＯＴＩＦＹコマンドに関する対応を被制御側の電子機器（ターゲット）に問い合わせる場合の制御側の電子機器（コントローラ）の動作を示すフローチャートである。
【図４】ＮＯＴＩＦＹコマンドを受信した場合の被制御側の電子機器（ターゲット）の動作を示すフローチャートである。
【図５】ＮＯＴＩＦＹコマンドに関する対応をコンピュータがカムコーダに問い合わせる場合のコマンドおよびレスポンスのフォーマット構成例を示す図である。
【図６】コンピュータがカムコーダにＮＯＴＩＦＹコマンドに対応するか否かを問い合わせる際の動作例を示す図である。
【図７】ＩＥＥＥ１３９４シリアルバスによって複数の電子機器を接続してなる通信システムの一例を示すブロック図である。
【図８】ＩＥＥＥ１３９４シリアルバスを用いた通信システムにおけるバス上のデータ構造の一例を示す図である。
【図９】アシンクロナス（Ａｓｙｎｃ）通信パケットの構造を示す図である。
【図１０】ＩＥＥＥ１３９４シリアルバスを用いた通信システムを構成するカムコーダのコマンドやレスポンスのやりとりを行う部分を示す図である。
【図１１】コマンドおよびレスポンスのフォーマット構成を示す図である。
【図１２】コマンドおよびレスポンスのフォーマット構成を示す図である。
【図１３】コマンドおよびレスポンスのフォーマット構成を示す図である。
【図１４】メカモードの変化の報告を要求するＮＯＴＩＦＹコマンドによる動作例を示す図である。
【図１５】ＲＥＳＥＲＶＥＤの状態変化の報告を要求するＮＯＴＩＦＹコマンドによる動作例を示す図である。
【符号の説明】
１０・・・通信システム、１１・・・ビデオテープレコーダ（ＶＴＲ）、１２・・・カメラ一体型ビデオテープレコーダ（カムコーダ）、１３・・・コンピュータ、１４，１５・・・ＩＥＥＥ１３９４シリアルバス、１６・・・カムコーダデバイス、１７・・・ＩＥＥＥ１３９４バス送受信ブロック、１８・・・ＶＴＲサブデバイス、１９・・・カメラサブデバイス
【図１】
0003783282.tif 000002
【図２】
0003783282.tif 000003
【図３】
0003783282.tif 000004
【図４】
0003783282.tif 000005
【図５】
0003783282.tif 000006
【図６】
0003783282.tif 000007
【図７】
0003783282.tif 000008
【図８】
0003783282.tif 000009
【図９】
0003783282.tif 000010
【図１０】
0003783282.tif 000011
【図１１】
0003783282.tif 000012
【図１２】
0003783282.tif 000013
【図１３】
0003783282.tif 000014
【図１４】
0003783282.tif 000015
【図１５】
0003783282.tif 000016