JP4452675B2 - シリアル通信におけるターゲットデバイス、及びそれに接続される外部デバイス - Google Patents

シリアル通信におけるターゲットデバイス、及びそれに接続される外部デバイス Download PDF

Info

Publication number
JP4452675B2
JP4452675B2 JP2005321677A JP2005321677A JP4452675B2 JP 4452675 B2 JP4452675 B2 JP 4452675B2 JP 2005321677 A JP2005321677 A JP 2005321677A JP 2005321677 A JP2005321677 A JP 2005321677A JP 4452675 B2 JP4452675 B2 JP 4452675B2
Authority
JP
Japan
Prior art keywords
target device
power supply
external device
usb
data
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
JP2005321677A
Other languages
English (en)
Other versions
JP2007128376A (ja
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2005321677A priority Critical patent/JP4452675B2/ja
Priority to US11/591,185 priority patent/US20070106824A1/en
Publication of JP2007128376A publication Critical patent/JP2007128376A/ja
Application granted granted Critical
Publication of JP4452675B2 publication Critical patent/JP4452675B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor

Description

本発明は、USB規格に準じたシリアル通信システムに関する。
シリアルデータ転送のための規格として、USB(Universal Serial Bus)が広く用いられるようになっている。このUSB規格においては、ホストとターゲットとが非対称に通信を行うこととなっている。すなわち、USBにおいてホストとなる機器が、ターゲットに対して転送するべきデータがあるか否かを問い合わせ、ターゲット側に転送するべきデータがあるときに、ホストが指示してターゲットに当該データを送信させる、というように、ホスト側が主導的に動作してデータの転送を行うこととなっている。
また、ホスト同士や、ターゲット同士を誤って接続してしまうことを防止する等の観点から、ホストとなるべき機器と、ターゲットとなるべき機器とにおいて、それぞれ異なる形状のレセプタクルと、コネクタが規定されている。すなわちホスト側においては、シリーズAと呼ばれるタイプのレセプタクルが設けられ、ターゲット側では、シリーズBと呼ばれるタイプのレセプタクルが設けられることとなっている。
さらに電源の供給は、ホスト側からターゲット側への順路で行うことは規格上可能であるが、その逆にターゲット側からホスト側への順路での電源供給は規格上禁じられている。
Universal Serial BusSpecification, Compaq Computer Corporation, Hewlett-Packard Company, IntelCorporation, Lucent Technologies Inc, Microsoft Corporation, NEC Corporation,and Koninklijke Philips Electronics N.V. ,2000
しかしながら、携帯用の電子機器、例えば携帯型のゲーム装置等は、パーソナルコンピュータ等の他の電子機器をホストとして通信をしたい場合もあれば、外部マイクなどのアクセサリ機器を接続して、これらのアクセサリ機器をターゲットとして通信したい場合もある。この場合、規格上はシリーズAと、シリーズBとの両方のレセプタクルを設ければよいが、小型化の要請などからいわゆるミニBタイプのコネクタを設けるのが望ましいのが現状である。
従って、携帯型のゲーム装置は、ターゲットとして機能することとなり、アクセサリ機器との間の通信をUSBの規格で行うとすれば、アクセサリ機器がホストとして動作するほかはなく、また、アクセサリ側へ電源を供給することもできないため、アクセサリ側に電源を搭載することとなってしまう。
本発明は上記実情に鑑みて為されたもので、小型化が要請され、シリーズBに対応する端子を備えたターゲットデバイスであって、アクセサリ機器との通信をUSBのコネクタを介して可能とするターゲットデバイスを提供することを、その目的の一つとする。
また、本発明の別の目的の一つは、かかるターゲットデバイスに接続される外部デバイスであって、ターゲットデバイス側から電源供給を受けて動作し、ターゲットデバイスとの間でUSBのコネクタを介した通信を行う外部デバイスを提供することである。
上記従来例の問題点を解決するための本発明は、ターゲットデバイスと、外部デバイスとを含み、当該ターゲットデバイス及び外部デバイスがともにユニバーサル・シリアル・バス(USB)トランシーバを有し、このUSBトランシーバを介して相互に通信可能に接続されたデバイスシステムであって、前記ターゲットデバイスは、前記USBトランシーバを介して送受信するデータを保持する記憶部を有して、当該記憶部に保持するデータの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続された外部デバイスに対して送信し、前記外部デバイスは、データの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続されたターゲットデバイスから受信して、当該フロー制御信号に従って、前記ターゲットデバイスとの間のデータの送受信を制御することを特徴とする。
また、上記従来例の問題点を解決するための本発明は、ユニバーサル・シリアル・バス(USB)規格に準じたホストデバイスと、ターゲットデバイスとを含むシリアル通信システムであって、前記ターゲットデバイスが、前記ホストデバイスに対して電源を供給する端子を備える。
また本発明の一態様は、ターゲットデバイスであって、ユニバーサル・シリアル・バス(USB)トランシーバと、前記USBトランシーバを介して送受信するデータを保持する記憶部と、を有し、前記記憶部に保持しているデータの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続された外部デバイスに対して送信することを特徴としている。
ここで、前記USBトランシーバの制御を実行するバス・ドライバ・プログラムモジュールと、前記USBトランシーバを介して接続され得る各種の外部デバイスに共通の処理を規定する共通処理プログラムモジュールと、前記共通処理モジュールまたは前記バスドライバモジュールの少なくとも一方と通信し、前記USBトランシーバを介して接続される外部デバイスに固有の処理を規定する固有処理プログラムモジュールと、によって規定される処理を実行する制御部、を備えてもよい。
また、前記USBトランシーバを介して接続される外部デバイスに対し、USB規格に規定された通信を開始する前に、USB規格に規定されない認証に係る規格外認証情報の送受信を行ない、当該規格外認証情報に基づく所定の認証処理を実行することとしてもよい。
さらに、これらにおけるフロー制御信号は、データの送受信の開始及び停止を指示する信号であることとしてもよい。
さらに本発明の別の態様は、ユニバーサル・シリアル・バス(USB)トランシーバを備えた外部デバイスであって、データの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続されたターゲットデバイスから受信して、当該フロー制御信号に従って、前記ターゲットデバイスとの間のデータの送受信を制御することを特徴としている。
さらに本発明の別の態様は、ターゲットデバイスと、外部デバイスとを含み、当該ターゲットデバイス及び外部デバイスがともにユニバーサル・シリアル・バス(USB)トランシーバを有し、このUSBトランシーバを介して相互に通信可能に接続されたデバイスシステムにおける通信制御方法であって、前記ターゲットデバイスが前記USBトランシーバを介して送受信するデータを保持し、当該保持するデータの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続された外部デバイスに対して送信し、前記外部デバイスが、データの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続されたターゲットデバイスから受信して、当該フロー制御信号に従って、前記ターゲットデバイスとの間のデータの送受信を制御する、ことを特徴としている。
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るシリアル通信システムは、図1に示すようにターゲットデバイス1と、外部デバイス2とを含んで構成される。
ターゲットデバイス1には、図2に示すように、USBのシリーズBのレセプタクル11を備え、当該レセプタクル11に隣接して、電源供給端子12が設けられている。この実施の形態では、レセプタクル11として、USBのミニB型のレセプタクルが設けられているものとし、電源供給端子12は、このレセプタクル11を挟んで両側に配置されている。また、電源供給端子12のさらに外側には、外部デバイス2を固定するためのネジ受け13が設けられている。図2は、ターゲットデバイス1の筐体においてレセプタクル11を設けた場所近傍の外観を表す概要図である。なお、このターゲットデバイス1は、USBのシリーズBのレセプタクル11を介して、ホストとして動作する汎用のパーソナルコンピュータ(PC)に対して、一般的なUSBケーブルを用いて接続したときには、通常のUSBターゲットとして動作する。
外部デバイス2は、例えばマイクであり、図3に示すように、USBのシリーズBのコネクタ21を備えている。また、このコネクタ21をターゲットデバイス1のレセプタクル11に挿入したときに、電源供給端子12に接触する電源コネクタ22が、このコネクタ21の両側に設けられる。さらに、この電源コネクタ12の外側には、ネジ受け13に固定するためのネジ23が設けられている。なお、以下では説明のため、この外部デバイス2がマイクである場合を例として説明するが、外部デバイス2は、これに限られるものではない。
利用者は、外部デバイス2をターゲットデバイス1に接続するときには、ターゲットデバイス1のレセプタクル11にコネクタ21を挿入し、ついでネジ23をネジ受け13にネジ止めする。このとき、電源コネクタ22が電源供給端子12に接触するようになる。
ターゲットデバイス1は、また、図4に示すように、制御部31と、記憶部32と、操作部33と、表示部34と、ディスクドライブ35と、シリアルインタフェース部36と、電源制御部37とを含んで構成されている。
制御部31は、CPU等のプログラム処理デバイスであり、記憶部32に格納されているプログラムに従って動作する。本実施の形態では、この制御部31が、シリアルインタフェース部36を介して外部デバイス2との間の通信を実行する。この制御部31の処理については後に詳しく述べる。
記憶部32は、RAM等の記憶素子を含んで構成され、制御部31によって実行されるプログラムを保持する。このプログラムは、例えばディスクドライブ35にて、当該ディスクドライブ35にセットされているディスク媒体から読み取られて格納される。また、この記憶部32は、制御部31のワークメモリとしても動作する。
操作部33は、ボタンや、アナログ入力デバイスなどを含んで構成され、利用者の操作を受け入れて、当該操作の内容を制御部31に出力する。表示部34は、液晶ディスプレイ等であり、制御部31から入力される指示に従って情報を表示する。
ディスクドライブ35は、光学的、ないし磁気的に情報が記録されているディスク媒体から、光学的、ないし磁気的に情報を読み取って制御部31に出力する。シリアルインタフェース部36は、USBの規格に準じたインタフェースデバイスであって、制御部31から入力される指示に従って動作する。このシリアルインタフェース部36についても後に詳しく述べる。
電源制御部37は、各部に電源を供給する。また、この電源制御部37は、制御部31から入力される指示に従って、電源供給端子12を介して外部デバイス2に対して電源の供給を行う。
外部デバイス2は、図5に示すように、電源部41と、通信制御部42と、マイク部43と、A/D変換部44とを含んで構成されている。
電源部41は、電源コネクタ22を介して供給される電源を、各部に伝達する。通信制御部42は、実質的にUSBホストとしての動作を行なう。すなわちこの通信制御部42はコネクタ21を介してターゲットデバイス1との間で通信を行い、後に述べるマイク部43にて取得し、A/D変換部44で変換した音声のディジタル信号を、ターゲットデバイス1へ送出する等の動作をする。この通信制御部42による通信の内容についても後に述べる。
マイク部43は、到来する音声信号を電気的な信号に変換して出力する。A/D変換部44は、マイク部43が出力する電気的な音声信号をディジタル信号に変換して出力する。
ここでターゲットデバイス1の動作について説明する。このターゲットデバイス1は、機能的には図6に示すように、物理通信部51と、初期認証部52と、USBバスドライバ部53と、共通処理部54と、外部デバイスドライバ部55と、電源供給制御部56と、接続検知部57とを含んで構成されている。
物理通信部51は、USBバスドライバ部53から入力される、送信するべきデータに従ってレセプタクル11の各端子の電気的状態を制御し、また、レセプタクル11の各端子を介して受入れた信号をUSBバスドライバ部53に出力する。この物理通信部51は、USBトランシーバに相当する。
初期認証部52は、制御部31によって実行されるソフトウエアとして実現できる。初期認証部52は、接続検知部57が接続を検知した旨の信号を出力すると、物理通信部51を介してUSB規格に規定されない認証に係る規格外認証情報を受信し、当該規格外認証情報を用いて認証を行い、その認証の結果を出力する。ここで認証の方法は、公開鍵等を用いる一般的な方法で構わない。また、この初期認証部52は、物理通信部51を介して、USB規格に規定されない認証に係る規格外認証情報を送信する。ここで規格外認証情報は、USB規格における外部デバイス2のデスクリプタそのものであってもよいし、またこのデスクリプタを暗号化したデータであってもよい。初期認証部52は、外部デバイス2から受信する、外部デバイス2のデスクリプタの少なくとも一部が、予め定められている情報に一致しているか否かによって認証を行なえばよい。
USBバスドライバ部53は、制御部31によって実行されるUSBバスドライバソフトウエアとして実装できる。このUSBバスドライバ部53は、接続検知部57が接続を検知したときに実行を開始し、接続された相手方(外部デバイス2等)から種別を表す情報の入力を受けて、共通処理部54と、当該種別に対応する外部デバイスドライバ部55の処理を開始する。つまり、共通処理部54を実現するプログラムと、外部デバイスドライバ部55を実現するプログラムとを記憶部32内に読み出して、制御部31によって実行可能な状態とする。このUSBバスドライバ部53の動作については、後に詳しく述べる。
共通処理部54は、接続され得る各種の外部デバイスに共通の処理を規定するプログラムモジュールとして実現され、このプログラムモジュールが制御部31によって実行されることで動作する。この共通処理部54は、外部デバイス2をUSBの規格に従って認証する処理や、外部デバイスへのデータの送受信に関するフロー制御信号を出力する処理を行う。
外部デバイスドライバ部55は、外部デバイス2ごとに用意されるプログラムモジュールであって、制御部31によって実行される。この外部デバイスドライバ部55は、例えばマイクの外部デバイス2に対応するものとしては、USBバスドライバ部53を介して、物理通信部51にて受信される音声のディジタル信号の入力を受けて、当該ディジタル信号に関する音声信号処理等を実行して出力する。
電源供給制御部56は、電源投入後、または利用者によって所定の操作が行われたときに、電源供給端子12を介した電源の供給を開始する。また、制御部31の動作により、レセプタクル11を介して接続されている相手がここでいう外部デバイス2ではなく、USBホストとして動作する汎用のPC等である場合には、電源の供給を停止制御することとしてもよい。USBホストであるか否かは、例えば、初期認証部51による外部デバイス2の認証結果によって検出できる。
接続検知部57は、レセプタクル11に含まれるVBUS端子から電源電圧が入力されているか否かによって接続を検知する。すなわち、VBUS端子から電源電圧が入力されると、接続がされたことを表す信号を出力し、VBUS端子から電源電圧が入力されないと、接続がされていないことを表す信号を出力する。
ここで、USBバスドライバ部53の動作について説明する。本実施の形態では、USBバスドライバ部53に対して、少なくとも一つの外部デバイスドライバ部55を「プラグイン」して、外部デバイス2を制御するドライバを構成する。
USBバスドライバ部53は、初期認証部52から認証完了(認証成功)の旨を表す情報を受けて、物理通信部51を介して接続される外部デバイス2に、物理的なインタフェース番号を割り当て、また物理的なエンドポイント番号を割り当てる。そしてUSBバスドライバ部53は、接続された外部デバイス2からその種別を表す情報の入力を受けて、共通処理部54のプログラムと、入力された種別の外部デバイス2に対応する外部デバイスドライバ部55のプログラムとを記憶部32内に読み出し、制御部31によって実行可能な状態とする。ここで外部デバイスドライバ部55のプログラムは、共通処理部54や、USBバスドライバ部53との間でデータの授受を行うことができるようになっている。こうしたプログラムの生成方法は、いわゆるプラグインプログラムとして知られている方法などが採用できる。
USBバスドライバ部53は、こうしてプラグインされる外部デバイスドライバ部55から論理的なインタフェース番号とエンドポイント番号(以下論理番号と総称する)との入力を受けて、物理的なインタフェース番号やエンドポイント番号(物理番号)と、論理的なインタフェース番号やエンドポイント番号(論理番号)とを関連づけて保持する。
すなわち、USBバスドライバ部53はプラグインの要求が行なわれた外部デバイスドライバ部55から論理番号とデスクリプタとを受入れて、これらの情報を保持する。そして初期認証部52が受信した外部デバイス2のデスクリプタと、ここで受入れたデスクリプタとを比較して、外部デバイス2の物理番号と外部デバイスドライバ部55側から通知された論理番号とを関連づけるテーブルを生成して記憶する(図7)。これによりコンフィギュレーションが完了して通信が可能となり、USBバスドライバ部53は、その旨を外部デバイスドライバ部55に通知する。
次に、USBバスドライバ部53の通信時の処理について説明する。USBバスドライバ部53は、外部デバイスドライバ部55から、論理番号によるエンドポイントの指定とともに、送受信のリクエストを受入れる。USBバスドライバ部53は、エンドポイントを特定する論理番号を物理番号に変換し、当該物理番号で特定されるエンドポイントごとに予め設定したエンドポイントバッファ(待ち行列)に、外部デバイスドライバ部55から受けた送信のリクエストに係る情報をキューイング(待ち行列に保持)する。また、外部デバイス2から、エンドポイントを特定して受けたデータを特定されたエンドポイントに対応するエンドポイントバッファにキューイングする。そして、外部デバイスドライバ部55から指定されたエンドポイントに対する読み出しの指示を受けると、当該指定されたエンドポイントの論理番号を物理番号に変換して、当該変換により得られた物理番号で特定されるエンドポイントに対応するエンドポイントバッファ内のデータを外部デバイスドライバ部55に出力する。
例えば、外部デバイス2への送信方向に設定されたエンドポイント(エンドポイントAとする)について、論理番号「X」、物理番号「1」が割り当てられているとする。ここで外部デバイスドライバ部55が論理番号「X」のエンドポイントAに対して送信対象のデータを出力すると、このリクエストがUSBバスドライバ部53に受け入れられる。そしてUSBバスドライバ部53は、論理番号「X」を対応する物理番号「1」に変換し、この変換した物理番号「1」のエンドポイントAに関連づけられたキューに、送信データを順次保持する。また、送信対象のデータをエンドポイントAによって特定されるエンドポイントバッファに保持する。
そしてUSBバスドライバ部53は、外部デバイス2側からエンドポイントAにおける送信データの有無に関する問い合わせを受信したときに、当該問い合わせに応答して、エンドポイントAに関してキューイングしたリクエストに従って、エンドポイントバッファ内のデータを問い合わせ元の外部デバイス2へ送出する。送出が完了すると、その旨を対応する外部デバイスドライバ部55に対して通知する。
また、このUSBバスドライバ部53は、外部デバイス2からインタフェースやエンドポイント宛にデータを受け取る代わりに、デバイス宛のデータを受け入れてもよい。この場合、USBバスドライバ部53は、インタフェース番号やエンドポイント番号が設定されている各外部デバイスドライバ部55に対して、当該デバイス宛のデータを出力する。
このように本実施の形態では、外部デバイスドライバ部55は、物理番号を用いることなく論理番号によってデータの送受信を要求する。従って物理的なデバイスの始動/停止ごとに変化する可能性のある物理番号に追従する処理を行う必要がなく、外部デバイスドライバ部55の設計が容易になっている。
また、リクエストの完了時や、デバイスに関するコンフィギュレーションの完了時、その他の状態に遷移するときにUSBバスドライバ部53が対応する外部デバイスドライバ部55に通知を行なうことで、外部デバイスドライバ部55が対応するアクションを実行することができるようになり、汎用性を向上している。
さらに外部デバイスドライバ部55において共通に実装されるべき処理として、外部デバイス2をUSBの規格に従って認証する処理や、外部デバイスへのデータの送受信に関するフロー制御信号を出力する処理などを共通処理部54に対して要求することで共通処理部54が所要の処理を遂行することとしたので、外部デバイスドライバ部55において実装するべき処理が少なくなり、実装も容易になっている。
また、本実施の形態の外部デバイスドライバ部55は、エンドポイントバッファに保持するデータの送受信に関するフロー制御信号を、外部デバイス2に対して送信する処理を行う。例えばこの外部デバイスドライバ部55は、外部デバイス2からの受信に用いるエンドポイントバッファの容量の情報を所定のタイミングごとに、例えば定期的に取得し、当該取得した情報で表される容量が予め定めた停止しきい値未満となったときに、当該エンドポイントに係るデータの送信を停止するべき旨の指示を出力するよう、共通処理部54に指示する。
共通処理部54は、USBバスドライバ部53に対して、対象となったエンドポイントの論理番号と、送信を停止するべき旨の制御信号を出力する。USBバスドライバ部53は、入力された論理番号を物理番号に変換し、当該物理番号に関連している外部デバイス2に対して送信停止の制御信号を出力する。
またこの場合外部デバイスドライバ部55は、外部デバイス2からの受信に用いるエンドポイントバッファの量が予め定めた再開しきい値を超えたときに、当該エンドポイントに係るデータの送信を再開するべき旨の指示を出力するよう、共通処理部54に指示する。
共通処理部54は、USBバスドライバ部53に対して、対象となったエンドポイントの論理番号と、送信を開始するべき旨の制御信号を出力する。USBバスドライバ部53は、入力された論理番号を物理番号に変換し、当該物理番号に関連している外部デバイス2に対して送信開始の制御信号を出力する。
次に、このターゲットデバイス1に接続される外部デバイス2の通信制御部42の動作について説明する。この通信処理部42は、機能的には、図8に示すように、物理通信部61と、初期認証部62と、通信処理部63と、バッファ64とを含んで構成される。
物理通信部61は、初期認証部62や通信処理部63から入力される、送信するべきデータに従ってコネクタ21の各端子の電気的状態を制御し、また、コネクタ21の各端子を介して受入れた信号を初期認証部62や通信処理部63に出力する。
初期認証部62は、電源部41において電源の供給が開始されると、物理通信部61を介して予め定められた規格外認証情報を出力する。ここで規格外認証情報とは例えばUSBの規格で定められるデスクリプタなどである。また、初期認証部62は、当初はこの電源部41から供給される電源を、コネクタ21に含まれるVBUS端子を介してターゲットデバイス1へ供給する。
また、この初期認証部62は、ターゲットデバイス1から規格外認証情報を受信すると、この規格外認証情報を用いて認証を行ない、その認証の結果を出力する。ここでターゲットデバイス1から受信される規格外認証情報は、ターゲットデバイス1のUSB規格のデスクリプタであり、初期認証部62は、このデスクリプタの少なくとも一部が、予め定められている情報に一致しているか否かによって認証を行なう。
既に説明したように、ターゲットデバイス1との間で送受信する規格外認証情報は、例えば夫々のUSB規格のデスクリプタを暗号化したものであってもよい。この場合において暗号化や復号に用いる鍵は、ターゲットデバイス1と外部デバイス2とにそれぞれ耐タンパ性を有するメモリ等に格納しておいてもよい。
初期認証部62は認証に失敗すると、コネクタ21に含まれるVBUS端子を介した電源の供給を停止する。
通信処理部63は、初期認証部62が認証に完了した(認証成功)旨の情報を出力すると、一般的なUSBにおけるのと同様の通信処理を開始し、物理的なインタフェース番号や、エンドポイント番号の割り当てを受け、また、バッファ64に格納されているデータを、ターゲットデバイス1にて割り当てられたエンドポイント番号のエンドポイントバッファへと送出する。また、この通信処理部63は、ターゲットデバイス1に対して送信するべきデータがあるか否かを問い合わせる処理を行う。
本実施の形態においては、この外部デバイス2がマイクであり、マイク部43で取得され、A/D変換部44にて変換された音声のディジタル信号は、送信対象データとしてバッファ64に保持される。そして通信処理部63は、バッファ64に保持されている送信対象データを、ターゲットデバイス1に対して送出する。
また、通信処理部63は、ターゲットデバイス1からデータの送信を停止するべき旨の信号を受信すると、データの送信を停止して待機する。そして待機の状態にあるときに、ターゲットデバイス1からデータの送信を開始するべき旨の信号を受信すると、通信処理部63は、データの送信を開始して、バッファ64に保持されている送信対象データを、ターゲットデバイス1に対して送出する。このように本実施の形態では、外部デバイス2はターゲットデバイス1から受信されるフロー制御信号に従って、データの送信の開始/停止を制御する。
すなわち、本実施の形態のシリアル通信システムは、次のようにして通信を行なうことになる。外部デバイス2のコネクタ21がターゲットデバイス1のレセプタクル11に挿入され、ネジ23がネジ受け13にネジ止めされると、電源コネクタ22が電源供給端子12に接触する。
これにより、外部デバイス2に電源が供給されるようになり、外部デバイス2は当初は、この供給された電源を用いて、コネクタ21のVBUS端子を介してターゲットデバイス1へ電源を供給する。
ターゲットデバイス1では、このVBUS端子に電源が供給されたことにより、外部デバイス2が接続されたことを検知する。
ターゲットデバイス1と外部デバイス2とは、次いで、図9に示すような通信処理を開始する。まず、外部デバイス2がUSB規格によるデスクリプタの情報を規格外認証情報としてターゲットデバイス1へ送出する(S1)。ここでは外部デバイス2はマイクであるので、マイクであることを表す情報などが送信される。ターゲットデバイス1側では、この規格外認証情報を参照し、例えばそのベンダ情報などが予め定めた情報と一致しているか否かを判断する(S2)。ここでこの判断が肯定的である場合に認証が成功したものとして、ターゲットデバイス1のUSB規格によるデスクリプタの情報を規格外認証情報として外部デバイス2へ送信する(S3)。なお、処理S2での判断が否定的であった場合は、電源の供給を停止するなど、接続処理を中断してもよい(S4)。
外部デバイス2は、ターゲットデバイス1から規格外認証情報が入力されると、当該規格外認証情報に含まれる、例えばベンダ情報等が予め定めた情報と一致しているか否かを判断する(S5)。ここで判断が否定的である場合は、コネクタ21のVBUS端子を介しての電源供給を中断する(S6)。これにより、ターゲットデバイス1側では接続が解除されたものと認識することになる。
一方、処理S5の判断において肯定的な判断であった場合は、USBの規格に準じた通信を開始する(S7)。
なお、通信の開始後において、ターゲットデバイス1側で、あるエンドポイントバッファの残り容量が少なくなった場合等、外部デバイス2からのデータ送信を制限するべき状態となったと判断したときには、当該エンドポイントバッファに対応する外部デバイス2に対してデータの送信を停止するべき旨の信号を送信出力する。外部デバイス2はこの信号を受けてデータの送信を停止する。これにより当該データ送信を制限すべき状態であったエンドポイントバッファへのデータ受け入れを停止する。
やがてターゲットデバイス1側でデータの受け入れを停止しているエンドポイントバッファについて、データ送信を制限するべき状態が止んだと判断したときは、ターゲットデバイス1は、当該エンドポイントバッファに対応する外部デバイス2に対して、データの送信を開始するべき旨の信号を送信出力する。外部デバイス2は、この信号を受けてデータの送信を再開する。
なお、ここまでの説明では、フロー制御の一例として、エンドポイントバッファのオーバーフローを防止するためのフロー制御の例を述べたが、本実施の形態のフロー制御は、この例に限られるものではない。例えば、フロー制御信号として、同期通信における同期用信号を送受信し、ターゲットデバイス1と外部デバイス2との間で同期通信を行なってもよい。また、非同期通信におけるデータスタート、データストップ信号をここでのフロー制御信号として送受信してもよい。
このように本実施の形態では、小型化が要請され、シリーズBに対応する端子を備えたターゲットデバイスが、アクセサリ機器との通信をUSBのコネクタを介して行なうときに、ターゲットデバイス側で通信の停止/再開等の制御を主導的に行なうことができるようになる。
また、本実施の形態によれば、ターゲットデバイス側から電源供給を受けて動作し、ターゲットデバイスとの間でUSBのコネクタを介した通信を行うことができる。
なお、本実施の形態の説明では、外部デバイス2がマイクなど、専らデータを送信する場合である例について述べたが、これに限らず、MIDI(Musical Instruments Digital Interface)デバイスなどデータを受け入れて処理するものであってもよい。さらにハードディスク装置など、データを送受信する装置であってもよい。
さらに、本実施の形態における外部デバイス2は、カメラつきマイクなど、複数の機能を備えたものであってもよい。この場合、外部デバイス22は、各機能に対応する種別の情報をそれぞれ送出する。
USBバスドライバ部53は、各種別を表す各情報の入力を受けて、共通処理部54のプログラムと、入力された各種別に対応する複数の外部デバイスドライバ部55のプログラムとを記憶部32内に読み出し、制御部31によって実行可能な状態とする。
USBバスドライバ部53は、こうしてプラグインされる複数の外部デバイスドライバ部55の各々から論理番号との入力を受けて、物理番号と、論理番号とを関連づけて保持する。
すなわち、USBバスドライバ部53はプラグインの要求が行なわれた複数の外部デバイスドライバ部55の各々から論理番号とデスクリプタとを受入れて、これらの情報を保持する。そしてデスクリプタが初期認証部52にて受け入れたデスクリプタに一致するときに、外部デバイス2の物理番号と外部デバイスドライバ部55側から通知された論理番号とを関連づけるテーブルを生成して記憶する(図7)。これによりコンフィギュレーションが完了して通信が可能となり、USBバスドライバ部53は、その旨を各外部デバイスドライバ部55に通知する。
USBバスドライバ部53は、エンドポイントバッファごとに送受するデータ等(リクエスト)を待ち行列(キュー)に蓄積して保持する。またUSBバスドライバ部53は、エンドポイントバッファごとに蓄積されたリクエストを、各エンドバッファに対応する外部デバイスドライバ部55へ割り振って(すなわちルーティングして)出力する。
また、外部デバイス2に対して送出するべきデータ等(リクエスト)が、アプリケーションプログラム側から受け入れられたときには、USBバスドライバ部53は、このリクエストを、プラグインされているすべての外部デバイスドライバ部55に出力する。
各外部デバイスドライバ部55は、応答可能なリクエストであるときに、当該リクエストを外部デバイス2へ送出するようUSBバスドライバ部53に指示する。
これにより、例えばカメラつきマイクの外部デバイス2が接続された場合、カメラのデバイスドライバと、マイクのデバイスドライバとに対応する外部デバイスドライバ部55が、USBバスドライバ部53にプラグインされることとなる。そして、カメラへの撮像指示を受けたUSBバスドライバ部53は、この指示を各外部デバイスドライバ部55へ出力する。このとき、マイクのデバイスドライバに対応する外部デバイスドライバ部55は、撮像指示には応答しない。一方、カメラのデバイスドライバに対応する外部デバイスドライバ部55は、撮像指示に応答して、当該撮像指示を対応するエンドポイントバッファに格納し、外部デバイス2に出力するようUSBバスドライバ部53に指示する。
USBバスドライバ部53は、この指示に従って、カメラのデバイスドライバに対応するエンドポイントバッファに格納された撮像指示を、外部デバイス2へ送出する。外部デバイス2のカメラ部分は、この撮像指示に従って撮像を行い、撮像の結果得られた画像データを出力する。USBバスドライバ部53は、この画像データを受け入れて、撮像指示を読み出したエンドポイントバッファ(カメラのデバイスドライバに対応するエンドポイントバッファ)に、受け入れた画像データを格納する。
カメラのデバイスドライバに対応する外部デバイスドライバ部55は、こうして撮像の結果得られた画像データを受け取り、撮像指示を行ったアプリケーションプログラムなどへ当該画像データを受け渡す。この受け渡し方法は、例えば記憶部32に格納してから当該格納位置を表す情報をアプリケーションプログラムなど撮像指示元へ出力するなどして行うことができる。
本発明の実施の形態に係る情報処理システムの構成ブロック図である。 本発明の実施の形態に係るターゲットデバイス1の筐体においてレセプタクル11を設けた場所近傍の外観を表す概要図である。 本発明の実施の形態に係る外部デバイス2の概要図である。 本発明の実施の形態に係るターゲットデバイス1の例を表す構成ブロック図である。 本発明の実施の形態に係る外部デバイス2の例を表す構成ブロック図である。 本発明の実施の形態に係るターゲットデバイス1の例を表す機能ブロック図である。 本発明の実施の形態に係るターゲットデバイスにおいて管理される論理番号と物理番号との対応付けをするテーブルの例を表す説明図である。 本発明の実施の形態に係る外部デバイス2の例を表す機能ブロック図である。 本発明の実施の形態に係る情報処理システムの通信の流れの例を表す流れ図である。
符号の説明
1 ターゲットデバイス、2 外部デバイス、11 レセプタクル、12 電源供給端子、13 ネジ受け、21 コネクタ、22 電源コネクタ、23 ネジ、31 制御部、32 記憶部、33 操作部、34 表示部、35 ディスクドライブ、36 シリアルインタフェース部、37 電源制御部、41 電源部、42 通信制御部、43 マイク部、44 A/D変換部、51,61 物理通信部、52,62 初期認証部、53 USBバスドライバ部、54 共通処理部、55 外部デバイスドライバ、56 電源供給制御部、57 接続検知部、63 通信処理部、64 バッファ。

Claims (8)

  1. ターゲットデバイスと、外部デバイスとを含み、当該ターゲットデバイス及び外部デバイスがともにユニバーサル・シリアル・バス(USB)トランシーバを有し、このUSBトランシーバを介して相互に通信可能に接続されたデバイスシステムであって、
    前記ターゲットデバイスは、
    前記USBトランシーバを介して送受信するデータを保持する記憶部と、
    USBのレセプタクルと独立に設けられ、外部への電源供給を行う電源供給端子と、
    前記レセプタクルを介した電源供給を検知した場合に、当該電源供給を行った機器を認証し、その結果当該電源供給を行った機器が前記外部デバイスの場合、前記電源供給端子を介した電源供給を継続し、当該電源供給を行った機器が前記外部デバイスでない場合、前記電源供給端子を介した電源供給を停止する手段と、
    前記記憶部に保持するデータの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続された外部デバイスに対して送信する手段と、
    を有し、
    前記外部デバイスは、
    前記電源供給端子を介した前記ターゲットデバイスからの電源供給によって動作し、
    前記電源供給端子を介して前記ターゲットデバイスから供給された電源を用いて、前記レセプタクルを介して前記ターゲットデバイスに電源を供給する手段と、
    データの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続されたターゲットデバイスから受信して、当該フロー制御信号に従って、前記ターゲットデバイスとの間のデータの送受信を制御する手段と、
    を有することを特徴とするデバイスシステム。
  2. ユニバーサル・シリアル・バス(USB)トランシーバと、
    前記USBトランシーバを介して送受信するデータを保持する記憶部と、
    USBのレセプタクルと独立に設けられ、外部への電源供給を行う電源供給端子と、
    前記レセプタクルを介した電源供給を検知した場合に、当該電源供給を行った機器を認証し、その結果当該電源供給を行った機器が前記外部デバイスの場合、前記電源供給端子を介した電源供給を継続し、当該電源供給を行った機器が前記外部デバイスでない場合、前記電源供給端子を介した電源供給を停止する手段と、
    前記記憶部に保持するデータの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続された外部デバイスに対して送信する手段と、
    を有することを特徴とするターゲットデバイス。
  3. 請求項2に記載のターゲットデバイスであって、
    前記USBトランシーバの制御を実行するバス・ドライバ・プログラムモジュールと、
    前記USBトランシーバを介して接続され得る各種の外部デバイスに共通の処理を規定する共通処理プログラムモジュールと、
    前記共通処理モジュールまたは前記バスドライバモジュールの少なくとも一方との通信、及び前記USBトランシーバを介して接続される外部デバイスに固有の処理を規定する固有処理プログラムモジュールと、
    によって規定される処理を実行する制御部、を備えてなることを特徴とするターゲットデバイス。
  4. 請求項3に記載のターゲットデバイスであって、
    前記バス・ドライバ・プログラムモジュールは、アプリケーションプログラムから前記外部デバイスに対するデータ送出の要求を受け入れた場合に、当該要求を複数の前記固有処理プログラムモジュールのそれぞれに出力し、当該出力に対して応答した前記固有処理プログラムモジュールの指示にしたがって、当該応答した固有処理プログラムモジュールに対応する出力先に要求されたデータを送出する処理を規定し、
    前記固有処理プログラムモジュールは、前記バス・ドライバ・プログラムモジュールが出力する要求に対して応答可能な場合に、当該要求されたデータを前記外部デバイスに送出する指示を行う処理を規定する
    ことを特徴とするターゲットデバイス。
  5. 請求項2から4のいずれか一項に記載のターゲットデバイスにおいて、
    前記USBトランシーバを介して接続される外部デバイスに対し、USB規格に規定された通信を開始する前に、USB規格に規定されない認証に係る規格外認証情報の送受信を行ない、当該規格外認証情報に基づく所定の認証処理を実行することを特徴とするターゲットデバイス。
  6. 請求項2から5のいずれか一項に記載のターゲットデバイスであって、
    前記フロー制御信号は、データの送受信の開始及び停止を指示する信号であることを特徴とするターゲットデバイス。
  7. ユニバーサル・シリアル・バス(USB)トランシーバを備え、
    前記USBトランシーバを介してターゲットデバイスと接続された場合に、当該ターゲットデバイスにUSBのレセプタクルと独立に設けられた電源供給端子を介した当該ターゲットデバイスからの電源供給によって動作し、
    前記電源供給端子を介して前記ターゲットデバイスから供給された電源を用いて、前記レセプタクルを介して前記ターゲットデバイスに電源を供給するとともに、前記ターゲットデバイスが前記電源供給端子を介した電源供給を継続するか停止するか判断するために用いられる認証情報を、前記ターゲットデバイスに送信する手段と、
    データの送受信に関するフロー制御信号を、前記ターゲットデバイスから受信して、当該フロー制御信号に従って、前記ターゲットデバイスとの間のデータの送受信を制御する手段と、
    を有することを特徴とする外部デバイス。
  8. ターゲットデバイスと、外部デバイスとを含み、当該ターゲットデバイス及び外部デバイスがともにユニバーサル・シリアル・バス(USB)トランシーバを有し、このUSBトランシーバを介して相互に通信可能に接続されたデバイスシステムの制御方法であって、
    前記ターゲットデバイスが、USBのレセプタクルと独立に設けられた電源供給端子を介して外部への電源供給を行うステップと、
    前記外部デバイスが、前記電源供給端子を介した前記ターゲットデバイスからの電源供給によって動作するとともに、当該供給された電源を用いて、前記レセプタクルを介して前記ターゲットデバイスに電源を供給するステップと、
    前記ターゲットデバイスが、前記レセプタクルを介した電源供給を検知した場合に、当該電源供給を行った機器を認証し、その結果当該電源供給を行った機器が前記外部デバイスの場合、前記電源供給端子を介した電源供給を継続し、当該電源供給を行った機器が前記外部デバイスでない場合、前記電源供給端子を介した電源供給を停止するステップと、
    前記ターゲットデバイスが前記USBトランシーバを介して送受信するデータを保持し、当該保持するデータの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続された外部デバイスに対して送信するステップと、
    前記外部デバイスが、データの送受信に関するフロー制御信号を、前記USBトランシーバを介して接続されたターゲットデバイスから受信して、当該フロー制御信号に従って、前記ターゲットデバイスとの間のデータの送受信を制御するステップと、
    を含むことを特徴とするデバイスシステムの制御方法。
JP2005321677A 2005-11-07 2005-11-07 シリアル通信におけるターゲットデバイス、及びそれに接続される外部デバイス Expired - Fee Related JP4452675B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005321677A JP4452675B2 (ja) 2005-11-07 2005-11-07 シリアル通信におけるターゲットデバイス、及びそれに接続される外部デバイス
US11/591,185 US20070106824A1 (en) 2005-11-07 2006-11-01 Target device in serial communication and external device connected to target device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005321677A JP4452675B2 (ja) 2005-11-07 2005-11-07 シリアル通信におけるターゲットデバイス、及びそれに接続される外部デバイス

Publications (2)

Publication Number Publication Date
JP2007128376A JP2007128376A (ja) 2007-05-24
JP4452675B2 true JP4452675B2 (ja) 2010-04-21

Family

ID=38005132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005321677A Expired - Fee Related JP4452675B2 (ja) 2005-11-07 2005-11-07 シリアル通信におけるターゲットデバイス、及びそれに接続される外部デバイス

Country Status (2)

Country Link
US (1) US20070106824A1 (ja)
JP (1) JP4452675B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078856B1 (en) * 2007-12-07 2011-12-13 American Megatrends, Inc. Power-on self-test data notification
JP5340803B2 (ja) 2009-05-18 2013-11-13 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
US8341115B1 (en) * 2009-12-26 2012-12-25 Emc Corporation Dynamically switching between synchronous and asynchronous replication
CN102594989A (zh) * 2012-02-10 2012-07-18 钱袋网(北京)信息技术有限公司 数据通信方法及系统、终端

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0766899A (ja) * 1993-08-27 1995-03-10 Canon Inc 通信装置
JP4916059B2 (ja) * 2001-07-31 2012-04-11 キヤノン株式会社 画像処理装置
US7893962B2 (en) * 2002-03-01 2011-02-22 Seiko Epson Corporation Image output system having multiple devices communication-connected in master-slave relation
JP2004259153A (ja) * 2003-02-27 2004-09-16 Canon Inc 情報処理装置とその制御方法及び制御プログラム
KR100744052B1 (ko) * 2003-12-11 2007-07-30 삼성전자주식회사 이미지 스캔 및 저장 시스템과 그 방법
US20050251589A1 (en) * 2004-05-04 2005-11-10 Jung-Chung Wang Method of authenticating universal serail bus on-the-go device

Also Published As

Publication number Publication date
JP2007128376A (ja) 2007-05-24
US20070106824A1 (en) 2007-05-10

Similar Documents

Publication Publication Date Title
US8250151B2 (en) System and method for providing secure data transmission
KR101413260B1 (ko) 휴대 단말과 외부 장치 간 데이터 송수신 시스템 및 방법
TW200817905A (en) Method and system for allowing a media player to transfer digital audio to an accessory
US20060025076A1 (en) Method and apparatus for transmitting and receiving bluetooth data
JP2009245020A (ja) Usb接続による暗号化装置
US7424569B2 (en) Data transfer control device and electronic equipment
JP4452675B2 (ja) シリアル通信におけるターゲットデバイス、及びそれに接続される外部デバイス
JP2009176152A (ja) 情報処理装置
KR20190036165A (ko) Usb 타입 c 인터페이스를 이용한 멀티 디바이스 간의 통신 방법 및 이를 구현한 전자 장치
WO2018090722A1 (zh) 实现有线传屏的方法及装置
US20090019192A1 (en) Usb transmission system and related method for accessing data in a first usb specification with a speed of a second usb specification
JP2001203775A (ja) 端末制御装置及び端末制御方法、端末装置並びに端末処理機能制御方法
US11392523B2 (en) Electronic device and operation method of electronic device
KR20200137302A (ko) 장치를 탐색하는 전자 장치 및 그 방법
JP2022074531A (ja) 電子機器および制御方法
KR100597497B1 (ko) 데이터 전송 시스템
US20080104284A1 (en) Device switching methods and computer systems
US9425964B2 (en) Display device with mobile high-definition link port and signal processing method thereof
US11825235B2 (en) Electronic device for processing image and image processing method thereof
JP2001290753A (ja) 電子機器
KR200246710Y1 (ko) 이동통신 단말기의 멀티 인터페이스 장치
JP2002229673A (ja) 拡張装置を有する情報処理システム
KR100543951B1 (ko) 컴퓨터와 주변장치간의 접속을 위한 자동 유에스비인터페이스 장치
KR20080058616A (ko) 휴대용 단말기에서 컴퓨터 연결모드 설정 방법 및 장치
KR100386922B1 (ko) Usb장치용 인터넷 접속 어댑터

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091013

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091021

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100201

R150 Certificate of patent or registration of utility model

Ref document number: 4452675

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees