(57)【要約】【課題】ＩＥＥＥ１３９４バスにおいて、デバイスの挿抜が生じたことをＯＳ、システムが確実に検出できることを目的とする。【解決手段】デバイスの挿抜を挿抜記憶デバイス１０３内の挿抜検出手段１０４が検出して、挿抜記憶手段１０５に記憶し、コントロールデバイス１０１が挿抜記憶手段１０５に対して、読み出しを行うことによりデバイスの挿抜を確実に検出できることを保証する。【選択図】  図１
2004287537.tif 000002
【特許請求の範囲】
【請求項１】
活線挿抜機能を有するバスに他のデバイスを制御するコントロールデバイスと
前記バス上のデバイス挿抜を検出する挿抜検出手段と
前記挿抜検出手段が検出した結果を記憶する挿抜記憶手段を
備えた挿抜記憶デバイスが接続されるデータ転送装置であって、
前記バス上にデバイス挿抜が発生した場合には、
前記挿抜検出手段は前記バス上のデバイス挿抜を検出して、
前記デバイス挿抜があったことを前記挿抜記憶手段に記憶し、
前記コントロールデバイスは、前記挿抜検出デバイスの前記挿抜記憶手段に
デバイス挿抜の有無を読み出すことにより、
前記バス上のデバイス挿抜を検出する
ことを特徴とするデータ転送装置。
【請求項２】
前記挿抜検出手段は、
前記バス上のバスリセットによってデバイス挿抜と判断する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記コントロールデバイスは、一定時間間隔で前記挿抜検出デバイスの前記挿抜記憶手段にデバイス挿抜の有無を読み出すことを特徴とする請求項１から２記載のデータ転送装置。
【請求項４】
前記一定時間間隔は、バスリセット状態が収束するのに必要な時間以上に設定することを特徴とする請求項３記載のデータ転送装置。
【請求項５】
前記挿抜検出手段は、一定時間内に発生したバスリセットを１回のデバイス挿抜として記憶することを特徴とする請求項４記載のデータ転送装置。
【請求項６】
前記一定時間は、バスリセット状態が収束するのに必要な時間以上に設定することを特徴とする請求項５記載のデータ転送装置。
【請求項７】
前記コントロールデバイスは、前記挿抜記憶デバイスが存在する場合には、前記コントロールデバイス内で検出するデバイス挿抜のイベントは無効とすることを特徴とする請求個６記載のデータ転送装置。
【請求項８】
前記バスは、ＩＥＥＥ１３９４バスであることを特徴とする請求項７記載のデータ転送装置。
【請求項９】
前記コントロールデバイスは、非同期転送により前記挿抜検出デバイスの前記挿抜記憶手段にデバイス挿抜の有無を読み出すことを特徴とする請求項８記載のデータ転送装置。
【請求項１０】
前記コントロールデバイスは、ＩＥＥＥ１３９４規格のＡＶ／Ｃコマンドにより前記挿抜検出デバイスの前記挿抜記憶手段にデバイス挿抜の有無を読み出すことを特徴とする請求項９記載のデータ転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、活線挿抜機能を有するバス上に接続された複数の機器間でデータ転送を行うデータ転送装置に関する。
【０００２】
【従来の技術】
近年、データ転送装置は、ディジタルカメラ、ディジタルビデオにおけるディジタル技術の普及に鑑みて、こうしたディジタル機器を同一のバス上に接続してパーソナルコンピュータ（以下ＰＣ）で制御させようとする試みがなされてきている。そのようなバスにおいて、ＩＥＥＥ１３９４バスは、どのような接続形態でも任意の装置間で信号伝送が可能であること、ＡＶ信号のようなリアルタイムデータ（アイソクロナスデータ）と、機器の制御コマンドのような非リアルタイムデータ（アシンクロナスデータ）とを同時に伝送することができ、ＰＣ及びその関連機器との親和性が優れたシリアルバスとして普及してきている。
【０００３】
また、このシリアルバスは、機器の電源を入れたまま、ディジタル機器の活線挿抜が可能であるが、ディジタル機器の活線挿抜が行われた際に、上位のＯＳやシステムが必ず挿抜を検出できるわけではなかった。これには、いくつかの理由があるが、その一つの理由を説明する。まず、デバイス挿抜時にはシリアルバス上にバスリセットが発生した後、トポロジの初期化から始まり、各デバイス自体の初期化を行うために、多くのパケットが送受信される。これらの処理はインタフェースカード内の回路で行われ、その結果はそのまま随時ＭＰＵへ転送される。ＭＰＵの処理には、不要な情報やエラーを含んだ情報も多くあり、ＯＳあるいはシステムとして対応できない場合がでてくる。このような理由により、デバイス挿抜を検出を取りこぼすことが発生していた。
【０００４】
従来、このような課題を解決する発明として、データ転送装置は特開２００１−２７４８０３号公報に記載されたものが知られている。そのデータ転送装置を図４に示す。図４は従来のデータ転送装置のブロック図を示すものである。図４において、２００はインタフェースカードであり、ポート回路（ＰＯＲＴ）２０５、物理層回路（ＰＨＹ）２０４、リンク層回路（ＬＩＮＫ）２０３、バッファメモリ（ＭＥＭ）２０２、インタフェース回路（ＩＦ）２０１、及び解析部２０６を含み、外部バスから入力された映像データ、制御データ、バス転送に必要な情報などのパケットは、解析部２０６がポート回路２０５と物理層回路２０４の情報を元に解析して、挿抜処理が終了した後の情報をバッファメモリ２０２に書き込み、インタフェース回路２０１から内部バスで、ＭＰＵ２０７へ転送する。
【０００５】
以上のように構成された従来のデータ転送装置について、以下その動作について説明する。
【０００６】
まず、この従来例が解決しようとする課題について説明する。高速な転送を実現するシリアルバスであるＩＥＥＥ１３９４において、ＰＣには、ＯＨＣＩ（Ｏｐｅｎ  Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃｅ）プロトコルに規定された仕様のインターフェースカードが備えられている。このインタフェースは、シリアルバス上のプラグの状態を認識しパケット（ＩＤパケット）を逐次内部バッファメモリ２０２に蓄積するとともに順次ＰＣのＭＰＵ２０７に転送する。
【０００７】
ＭＰＵ２０７は、転送された情報をデバイスドライバ、アプリケーションプログラムに設定する。この情報からデバイスが挿抜されたことを確認する。
【０００８】
この時、データ転送装置は、バスから得られたデータまたはパケットに誤りがあっても、そのまま転送する。受信したパケットは、バッファメモリ２０２に蓄積されて随時ＭＰＵ２０７へ転送される。つまり、ドライバソフト及び各種アプリケーションソフトには、これらの個々の情報から得られたデータの評価と解析、その結果に対する正しい対処が求められることになる。しかし、エラーの内容などあらゆる自体を想定することは難しく、ＭＰＵ２０７では正しく処理を行うことができずにシステムが不安定になる。
【０００９】
これらの問題を避けるために、コントロールデバイス内のインタフェースカード２００内で受信したデータを時系列に蓄積してデータを解析することにより、挿抜処理のシーケンスが終了した後のデータのみをあげることにより、ＭＰＵ２０７で正しく処理を行えるようにする。
【００１０】
【特許文献１】
特開２００１−２７４８０３号公報
【００１１】
【発明が解決しようとする課題】
このデータ転送装置においては、ＩＥＥＥ１３９４カードに、従来例で示した機能を追加することにより、活線挿抜に対応することができた。しかし、従来のＩＥＥＥ１３９４カードや、ＩＥＥＥ１３９４カードに相当する機能をチップセット内に有するＰＣなどでは対応ができなかったので、新たに従来例で示した機能を追加したＩＥＥＥ１３９４カードや、それに相当する機能を有するＰＣを用意する必要があった。さらに、ＩＥＥＥ１３９４バス上に新たに追加する非制御側デバイスでの対応が望まれていた。
【００１２】
本発明は、従来のＩＥＥＥ１３９４カード（ＯＨＣＩカード）や、ＩＥＥＥ１３９４カードに相当する機能をチップセット内に有するＰＣを使用しても、ＩＥＥＥ１３９４バス上のデバイス挿抜・バスリセットを確実に検出することを目的とする。
【００１３】
【課題を解決するための手段】
この課題を解決するために本発明の請求項１に記載の発明は、活線挿抜機能を有するバスに他のデバイスを制御するコントロールデバイスと前記バス上のデバイス挿抜を検出する挿抜検出手段と前記挿抜検出手段が検出した結果を記憶する挿抜記憶手段を備えた挿抜記憶デバイスが接続されるデータ転送装置であって、前記バス上にデバイス挿抜が発生した場合には、前記挿抜検出手段は前記バス上のデバイス挿抜を検出して、前記デバイス挿抜があったことを前記挿抜記憶手段に記憶し、前記コントロールデバイスは、前記挿抜検出デバイスの前記挿抜記憶手段にデバイス挿抜の有無を読み出すことにより、前記バス上のデバイス挿抜を検出するように構成したものである。
【００１４】
これにより、新規開発するデバイスに新たに機能を設けることにより、従来の機器・デバイスにおいてもデバイス挿抜を確実に検出できるという効果が得られる。
【００１５】
【発明の実施の形態】
本発明の請求項１に記載の発明は、活線挿抜機能を有するバスに他のデバイスを制御するコントロールデバイスと前記バス上のデバイス挿抜を検出する挿抜検出手段と前記挿抜検出手段が検出した結果を記憶する挿抜記憶手段を備えた挿抜記憶デバイスが接続されるデータ転送装置であって、前記バス上にデバイス挿抜が発生した場合には、前記挿抜検出手段は前記バス上のデバイス挿抜を検出して、前記デバイス挿抜があったことを前記挿抜記憶手段に記憶し、前記コントロールデバイスは、前記挿抜検出デバイスの前記挿抜記憶手段にデバイス挿抜の有無を読み出すことにより、前記バス上のデバイス挿抜を検出することを特徴とし、デバイス挿抜を確実に検出できるという作用を有するデータ転送装置である。
【００１６】
本発明の請求項２に記載の発明は、前記挿抜検出手段は、前記バス上のバスリセットによってデバイス挿抜と判断することを特徴とし、バスリセットが発生したことによるバス上の状態の変化を検出できるという作用を有する請求項１記載のデータ転送装置である。
【００１７】
本発明の請求項３に記載の発明は、前記コントロールデバイスは、一定時間間隔で前記挿抜検出デバイスの前記挿抜記憶手段にデバイス挿抜の有無を読み出すことを特徴とし、一定間隔の読み出しを行うことにより一定時間内の検出を可能にするという作用を有する請求項１から２記載のデータ転送装置である。
【００１８】
本発明の請求項４に記載の発明は、前記一定時間間隔は、バスリセット状態が収束するのに必要な時間以上に設定することを特徴し、バスリセット中の不安定な状態を避けることを可能にするという作用を有する請求項３記載のデータ転送装置である。
【００１９】
本発明の請求項５に記載の発明は、前記挿抜検出手段は、一定時間内に発生したバスリセットを１回のデバイス挿抜として記憶することを特徴とし、バスリセット中に複数回発生するバスリセットを効率よく処理できるという作用をする請求項４記載のデータ転送装置である。
【００２０】
本発明の請求項６に記載の発明は、前記一定時間は、バスリセット状態が収束するのに必要な時間以上に設定することを特徴とし、バスリセット中の不安定な状態での処理を避けることができるという作用を有する請求項５記載のデータ転送装置である。
【００２１】
本発明の請求項７の記載の発明は、前記コントロールデバイスは、前記挿抜記憶デバイスが存在する場合には、前記コントロールデバイス内で検出するデバイス挿抜のイベントは無効とすることを特徴とし、ＯＳからの割り込みとの共存を可能にするという作用をする請求個６記載のデータ転送装置である。
【００２２】
本発明の請求項８記載の発明は、前記バスは、  ＩＥＥＥ１３９４バスであることを特徴とし、ＩＥＥＥ１３９４バスで使用することができるという作用を有する請求項７記載のデータ転送装置である。
【００２３】
本発明の請求項９記載の発明は、前記コントロールデバイスは、  非同期転送により前記挿抜検出デバイスの前記挿抜記憶手段にデバイス挿抜の有無を読み出すことを特徴とし、非同期転送により制御を行うことにより同期転送に影響を及ぼさないという作用を有する請求項８記載のデータ転送装置である。
【００２４】
本発明の請求項１０記載の発明は、前記コントロールデバイスは、ＩＥＥＥ１３９４規格のＡＶ／Ｃコマンドにより前記挿抜検出デバイスの前記挿抜記憶手段にデバイス挿抜の有無を読み出すことを特徴とし、ＩＥＥＥ１３９４のＡＶ／Ｃコマンドを使用することにより汎用的な構成とすることができるという作用を有する請求項９記載のデータ転送装置である。
【００２５】
以下、本発明の実施の形態について、図１から図３を用いて説明する。
【００２６】
（実施の形態１）
図１、２は本発明のデータ転送装置を説明するためのブロック図とソフトウエア・ハードウエアの構成図である。図１において、１０１はコントロールデバイス、１０２はデバイスＡ、１０３は挿抜記憶デバイスであり、これらのデバイスが活線挿抜機能を有するＩＥＥＥ１３９４バスに接続されている。さらに、挿抜記憶デバイス１０３内において、１０４は挿抜検出手段、１０５は挿抜記憶手段である。図２は、コントロールデバイス１０１と挿抜記憶デバイス１０３のモジュール構成を表している。
【００２７】
コントロールデバイス１０１は、ＩＥＥＥ１３９４バスに接続されているデバイスに対して制御を行うとともに、映像データなどを同期あるいは非同期転送により送受信する。例えば、活線挿抜に対応したＯＳを搭載したＰＣなどのデバイスが代表的でり、本実施の形態ではＰＣであることを前提に説明する。デバイスＡ１０２と挿抜記憶デバイス１０３は、ＩＥＥＥ１３９４バスに接続されている他のコントロールデバイス１０１からの制御を受けて動作するとともに、他のデバイスに対して映像データなどを同期あるいは非同期転送により送受信する。
【００２８】
まず、一般的なコントロールデバイス１０１に実装されている挿抜検出方法を説明する。コントロールデバイス１０１は、ＩＥＥＥ１３９４インタフェースカードにおいてＩＥＥＥ１３９４バス上に発生するバスリセットを検出する。ＩＥＥＥ１３９４インタフェースカードからは、その結果をコントロールデバイス１０１のＯＳに対してイベントをあげる。この場合、ＯＳがイベントに反応できた場合には、ＩＥＥＥ１３９４バス上のデバイスの挿抜が発生したと認識する。この場合、コントロールデバイス１０１は、ＩＥＥＥ１３９４バス上にどんなデバイスが接続されているかを調べ、新たなデバイスの接続環境での処理内容へ変更を行ったりする。図２において追加説明すると、点線がコントロールデバイス内のＩＥＥＥ１３９４インタフェースカードからのイベントを表している。バスリセットの検出は、ハードウエアであるＩＥＥＥ１３９４インタフェースカードで検出してハードウエア割り込みをその上位のデバイスドライバにあげる。その上位のＯＳを経由して、アプリケーションへイベントとして通知が行われる。この時点で、アプリケーションはバスリセットが発生したことを検出することになる。
【００２９】
この挿抜検出方法では、全てのバスリセットを検出することができないので、本発明での検出方法を説明する。図１において、挿抜記憶デバイス１０３は、挿抜検出手段１０４が接続されているＩＥＥＥ１３９４バス上にデバイスの挿抜時に発生するバスリセットを検出して、挿抜記憶手段１０３に記憶する。挿抜記憶デバイスは、挿抜記憶手段１０５に記憶された結果をＩＥＥＥ１３９４上に接続されたデバイスから読み出せるコマンドを設けている。コントロールデバイス１０１は、一定周期で挿抜記憶デバイス１０３に対して、バスリセットの検出記憶を確認しに行く。バスリセットが起こったことを挿抜記憶手段１０５が記憶していれば、バスリセットが発生したことを認識することができる。さらに説明を加えると、コントロールデバイス１０１のアプリケーションは、ＩＥＥＥ１３９４バス経由で挿抜記憶デバイス１０３のハードウエアに記憶されている挿抜記憶をＩＥＥＥ１３９４上のプロトコルを用いて読み出しを行う。
【００３０】
さらに、図３のフローチャートを用いてコントロールデバイスにソフトウエアを実装する場合の処理について説明する。図３（ａ）のフローチャートは、本発明で新たに設けた方法である、挿抜記憶デバイスに対して読み出しを行うタスクである。図３（ｂ）のフローチャートは、ＯＳ標準のバスリセットを検出してイベントを通知するタスクである。図３（ａ）のタスクから説明すると、Ｓ１０１はスタートステップ、Ｓ１０２は挿抜記憶手段読み出しステップ、Ｓ１０３は挿抜判定ステップ、Ｓ１０４はデバイス挿抜後の処理ステップ、Ｓ１０５はウエイトステップである。スタートステップＳ１０１は処理の開始である。挿抜記憶手段読み出しステップＳ１０２は挿抜記憶デバイス１０３に対して読み出しを行うステップである。挿抜判定Ｓ１０３は、挿抜が発生していたかを判断するステップであり、挿抜記憶手段読み出しステップＳ１０２で読み出した結果がバスリセットを検出していれば挿抜が発生したと判断し、デバイス挿抜後の処理ステップＳ１０４に移行し、逆に挿抜が発生していなければウエイトステップＳ１０５に移行する。ウエイトステップＳ１０５は、所定の時間が経過後に挿抜記憶手段読み出しステップＳ１０２へ移行する。
【００３１】
次に図３（ｂ）のタスクを説明すると、Ｓ２０１はスタートステップ、Ｓ２０２は挿抜イベント待ちステップ、Ｓ２０３は挿抜記憶デバイス判定ステップ、Ｓ２０４はデバイス挿抜後の処理ステップである。スタートステップＳ２０１は、処理の開始である。挿抜イベント待ちステップＳ２０２は、挿抜イベントが発生するまで待ち、挿抜イベントが発生すれば、挿抜記憶デバイス判定ステップＳ２０３へ移行する。挿抜記憶デバイス判定ステップＳ２０３は、デバイス挿抜が発生した結果をもとに、挿抜記憶デバイス１０３が抜かれていたかどうかを判断し、挿抜記憶デバイス１０３が抜かれていない場合には、挿抜イベント待ちステップＳ２０２に移行し、逆に挿抜記憶デバイス１０３が抜かれていた場合には、デバイス挿抜後の処理ステップＳ２０４に移行する。この分岐を行う意味は、挿抜記憶デバイス１０３が存在する場合には、図３（ａ）のタスクで挿抜が検出されるために、図３（ｂ）のタスクで検出したイベントは利用しないことである。このことで、２重にデバイス挿抜後の処理を行わないようにする。
【００３２】
以上説明したように、挿抜記憶デバイス１０３に挿抜検出手段１０４と挿抜記憶手段１０５を設けて、バスリセットを検出したことを記憶し、コントロールデバイス１０１から一定間隔で読み出しを行うことにより、確実にバスリセットを検出することができる。
【００３３】
なお、本発明の実施の形態において、以上説明した各手段の機能の全部または一部をコンピュータにより実行されるプログラムを格納する記憶媒体を用いてもよい。コントロールデバイスは、ＰＣを使用した場合で説明したが、カメラ、ＶＴＲなどでもコントロール機能を有する機器であれば、どんな機器でも同様の効果が得られる。アプリケーションの実現例として、ＯＳ標準のイベントを併用して動作させたが、挿抜記憶デバイスを必ず利用するシステムでは、ＯＳ標準のイベントを全く利用しなくても良い。ＩＥＥＥ１３９４バスを用いて説明したが、他の挿抜機能を有するバス、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などにおいても同様の効果が得られる。
【００３４】
【発明の効果】
以上のように本発明によれば、新たに開発するデバイスに機能を追加することにより、従来の機器・規格をそのまま使用しても、デバイス挿抜を確実に検出できるという有利な効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施の形態による構成を示すブロック図
【図２】本発明の一実施の形態の説明のためのソフトウエア・ハードウエアの構成図
【図３】本発明の一実施の形態の説明のためのフローチャート
【図４】従来のデータ転送装置の構成を示すブロック図
【符号の説明】
１０１  コンロロールデバイス
１０２  デバイスＡ
１０３  挿抜記憶デバイス
１０４  挿抜検出手段
１０５  挿抜記憶手段
Ｓ１０１  スタートステップ
Ｓ１０２  挿抜記憶手段読み出しステップ
Ｓ１０３  挿抜判断ステップ
Ｓ１０４  デバイス挿抜後の処理ステップ
Ｓ２０１  スタートステップ
Ｓ２０２  挿抜イベント待ちステップ
Ｓ２０３  挿抜記憶デバイス判定ステップ
Ｓ２０４  デバイス挿抜後の処理
２００  インターフェースカード
２０１  インターフェース回路
２０２  バッファメモリ
２０３  リンク層回路
２０４  物理層回路
２０５  ポート回路
２０６  解析部
２０７  ＭＰＵ
【図１】
2004287537.tif 000003
【図２】
2004287537.tif 000004
【図３】
2004287537.tif 000005
【図４】
2004287537.tif 000006