JP2011065514A - データ処理装置及びデータ処理システム - Google Patents

データ処理装置及びデータ処理システム Download PDF

Info

Publication number
JP2011065514A
JP2011065514A JP2009216789A JP2009216789A JP2011065514A JP 2011065514 A JP2011065514 A JP 2011065514A JP 2009216789 A JP2009216789 A JP 2009216789A JP 2009216789 A JP2009216789 A JP 2009216789A JP 2011065514 A JP2011065514 A JP 2011065514A
Authority
JP
Japan
Prior art keywords
usb
central processing
control register
circuit
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009216789A
Other languages
English (en)
Other versions
JP5506304B2 (ja
Inventor
Shohei Tateyama
翔平 舘山
Hisao Yamauchi
尚雄 山内
Eisaku Tomita
英作 冨田
Kunihiko Nishiyama
久仁彦 西山
Yasuyuki Suzuki
康之 鈴木
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009216789A priority Critical patent/JP5506304B2/ja
Priority to US12/854,284 priority patent/US8335883B2/en
Publication of JP2011065514A publication Critical patent/JP2011065514A/ja
Application granted granted Critical
Publication of JP5506304B2 publication Critical patent/JP5506304B2/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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】複数個のCPUが夫々独立に単一の通信経路を用いてUSBデバイスの別々のファンクションと通信を行うことができるデータ処理装置を提供する。
【解決手段】複数個の中央処理装置(10,20)に接続されるUSBホストモジュール(32)は、データ処理装置の外部から接続されたUSBデバイス(2)の任意のエンドポイントと通信するためのパイプ(PIPE0〜PIPEn)を複数個有すると共に、前記パイプに対する制御権限をいずれの中央処理装置に認めるか、また、パイプに対する機能の設定内容をどの範囲で認めるかについて指定するためのアクセス制御レジスタ(50)を備え、アクセス制御レジスタの設定内容に従ってUSBホストインタフェース(70)を制御するように、データ処理装置を構成する。
【選択図】図1

Description

本発明は、複数の中央処理装置(CPU)が外部のUSB(Universal Serial Bus)デバイスと一つの物理通信路を用いて通信を行う機能を備えたデータ処理装置に関し、例えば移動体通信用の半導体データ処理装置に適用して有効な技術に関する。
USBデバイスとインタフェースされるUSBインタフェースモジュールは、FIFO(First-in First-out)バッファなどで構成された複数のパイプ(PIPE)を持ち、そのパイプ毎にUSBデバイスのデバイスアドレスとエンドポイントを指定することで、特定のエンドポイントとの間の通信を制御する。パイプとエンドポイントとの間でやり取りされるトランザクションはUSBモジュール内のUSBプロトコルエンジンが管理する。トランザクションはデバイスアドレスとエンドポイントなどを含むトークンパケット、送受信するデータを含むデータパケット、通信成否を返すハンドシェイクパケット等からなる。USBプロトコルエンジンはUSBデバイスと各パケットをやり取りして通信を行い、各パイプに送受信データをライト・リードする。複数のパイプから通信要求がある場合は、トランザクション毎にパイプを切換えて、ひとつのパイプが通信路を占有することがないようにされる。
特許文献1には複数のCPUが一つのUSBデバイスを時分割的に使用可能にする発明が記載される。即ち、USBデバイスを選択的に使用する複数のCPUの内、何れか1つのCPUが実質的なシステムのホストであるメインホストとなり、その他のCPUがサブホストとして位置付けられ、メインホストは、各サブホストによりUSBデバイスに対して送信されるデータを一旦受付けてから、それらを対応するUSBデバイスに対して転送し、メインホストはUSBデバイスから対応するサブホストに対して送信されるデータを一旦受付けると対応するサブホストに対して転送することで、各サブホストによるUSBデバイスの使用が排他的に行われるように制御するものである。これにより、見掛け上は1つのシステムにおいて複数のホストが存在することになるが、それらのホストの内1つがメインホストとなって他のサブホストによるUSBデバイスの使用が排他的に行われるように制御することで、サブホストは、メインホストから見るとUSBデバイスの1つとして認識される。従って、複数のホストが、1つのUSBデバイスを時分割的に使用することが可能となり、各ホストが夫々属しているシステムのハブにデバイスを繋ぎ替える必要が無く、利便性を向上させることができる、というものである
特開2001−256173号公報
しかしながら特許文献1に記載の技術では複数のCPUがUSBデバイスと時分割的に通信を行う場合にサブとなるCPUは必ずマスタとなるCPUの制御を経由しなければならないから、マスタとなるCPUが動作可能でなければサブのCPUによる通信を行うことができず、この点でUSB通信のスループットの向上には限界がある。更に、サブ側のCPUが通信を行うとき、マスタ側のCPUがスリープ状態の場合には再起動することが必要になり、消費電力が増大する。更に、サブ側のCPUによる通信にはマスタ側のCPUが関与するから通信情報の秘匿性を保証できない場合があり、また、CPU間の情報転送によってオーバーヘッドも発生する。
本発明者は複数のCPUが夫々独立してUSBデバイスとの間で一つの物理通信路を用いて通信を行うことについて以下の検討を行った。
例えば移動体通信端末の端末認証に用いるUSIM(Universal Subscriber Identity Module)と汎用ストレージモジュールとをカード基板に備えUSBインタフェースを用いて移動体通信端末に接続されるUSBデバイスを想定し、移動体通信端末の2個のCPUから夫々独立に前記USBデバイスの別々のファンクションと通信をすることについて検討した。具体的には、第1のCPUはエンドポイント0と、第2のCPUはエンドポイント1〜4と通信をするものとし、エンドポイント0(ファンクション1対応)との間では加入者情報読み取りやUSIMの存在確認などの通信を行う。エンドポイント1,2(ファンクション2対応)との間ではストレージモジュールに対する読み書きを行う。エンドポイント3,4(ファンクション3対応)との間ではイーサネット(登録商標)フレームのやり取りを行う。しかしながら、その場合には、解決すべき以下の課題のあることが本発明者によって明らかにされた。
第1に、あるCPUが使用中のパイプに他方のCPUからアクセスすると通信が阻害される。また、複数個のCPUが同一デバイスの同一エンドポイントにアクセスすると、それぞれの通信を阻害しあう。そのような衝突を抑制しなければならない。
第2に、衝突回避を行うために、OSのセマフォを用いて複数のCPUによる資源の排他制御を行う場合には、セマフォ管理によるアクセス権を切換えない限り、一のCPUがUSBデバイスへのアクセスを占有することになり、その間は他方のCPUはUSBデバイスを一切アクセスすることができず、データ処理効率が低下する。
第3に、単なるセマフォ管理では、それぞれのCPUがアクセスするUSBデバイスのエンドポイントを制限することができず、特定のCPUに対して秘匿性のある情報に対するアクセス制限を掛けることができず、セキュリティーを保つことができない。
第4に、USB通信途上で割り込み要求が発生したときこれに応答する割込みをどのCPUに与えるかについての制御を行わなければ、処理とは無関係なCPUもその都度、割り込みに応答すべきかを判別しなければならなくなり、本来のデータ処理効率が低下する。
第5に、USB通信は接続されたUSBデバイスにデバイスアドレスの設定などを行うエニュメレーションが必要であり、その通信はどちらか一方のCPUが受け持つ必要がある。その後、各CPUがエンドポイントと通信を行うが、その際エニュメレーションによって設定したデバイスアドレスや受け取ったエンドポイントの情報(パケットサイズ、送受信方向、プロトコルなど)が不可欠であり、複数個のCPU間でその情報をやり取りする必要がある。
本発明の目的は、複数個のCPUが夫々独立に単一の通信経路を用いてUSBデバイスの別々のファンクションと通信を行うことができるデータ処理装置、更にはデータ処理システムを提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、複数個の中央処理装置に接続されるUSBホストモジュールは、データ処理装置の外部から接続されたUSBデバイスの任意のエンドポイントと通信するためのパイプを複数個有すると共に、前記パイプに対する制御権限をいずれの中央処理装置に認めるか、また、パイプに対する機能の設定内容をどの範囲で認めるかについて指定するためのアクセス制御レジスタを備え、アクセス制御レジスタの設定内容に従ってUSBホストインタフェースを制御するように、データ処理装置を構成する。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、複数個のCPUが夫々独立に単一の通信経路を用いてUSBデバイスの別々のファンクションと通信を行うことができる。
図1は本発明に係るデータ処理装置1とこれに接続されるUSBデバイスの一例を示すブロック図である。 図2はUSB通信に用いられるトランスファの構成を例示する説明図である。 図3はアクセス制御回路におけるUSB制御レジスタ及びアクセスレジスタ選択回路の具体例を特に示したブロック図である。 図4はアクセス制御回路におけるレジスタ書込み・読出し値制御回路の具体例を特に示したブロック図である。 図5はUSBホストモジュールに対するUSBデバイスの接続形態の一例を示す説明図である。 図6はアクセス制御レジスタの設定を示す説明図である。 図7は書込み値許可レジスタの設定例を示す説明図である。 図8は書込み値許可レジスタによる書込み値制御回路の構成を例示するブロック図である。 図9は書込み値制御回路による動作タイミングを例示するタイミングチャートである。 図10は割込みを要求先のCPUを選択するための構成を例示するブロック図である。 図11はCPU間通信を行うための構成を例示するブロック図である。 図12にはUSBホストモジュール70の動作を例示するフローチャートである。 図13はCPU10とCPU20で同時に別々のパイプにアクセスする通信動作を例示するタイミングチャートである。 図14は図13の動作フローで処理されるトランザクションの処理フローである。 図15は図13の比較例でありCPUがUSBモジュールのアクセス権限をセマフォ管理で行った場合の通信動作を例示するタイミングチャートである。 図16は図15の動作フローで処理されるトランザクションの処理フローである。 図17は本発の第2の実施の形態に係るデータ処理装置を例示するブロック図である。 図18はレジスタ書込み・読出し制御回路600Aの具体例を示すブロック図である。 図19は本発の第3の実施の形態に係るデータ処理装置1Bを例示するブロック図である。 図20は本発の第4の実施の形態に係るデータ処理装置1Cを例示するブロック図である。 図21はUSBインタフェースのほかにUARTインタフェースを備えたUIMデバイス、あるいはUARTインタフェースだけを備えたUIMデバイスに対応するためのデータ処理装置1Dを例示するブロック図である。 図20は電源制御半導体装置130による外部デバイスとのインタフェース形態を決定する制御動作さを示すフローチャートである。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係るデータ処理装置は、複数個の中央処理装置(10,20)と、前記複数個の中央処理装置に接続されるUSBホストモジュール(32,32A)とを有する。前記USBホストモジュールは、前記データ処理装置の外部からUSBデバイスが接続されるUSBホストインタフェース(70)と、前記複数個の中央処理装置に接続されるバスインタフェース(40)と、前記バスインタフェースに接続され特定の中央処理装置によってアクセスされるアクセス制御レジスタ回路(50)と、前記アクセス制御レジスタ回路に設定された内容に従って前記USBホストインタフェースを制御するアクセス制御回路(60,60A)とを有する。前記USBホストインタフェースは、前記データ処理装置の外部から接続されたUSBデバイスの任意のエンドポイントと通信するためのパイプを複数個有するパイプ回路(720)と、前記パイプからのトランザクション転送要求を処理するUSBホストプロトコルエンジン(700)とを有する。前記アクセス制御レジスタ回路は、前記パイプに対する制御権限をいずれの中央処理装置に認めるかを指定する第1のアクセス制御レジスタ(502)を有する。前記アクセス制御回路は、前記第1のアクセス制御レジスタの設定に合わせて夫々のパイプ毎にアクセス権限のある中央処理装置からの制御情報のみを当該パイプに伝える。
これより、パイプと中央処理装置との対応関係を第1のアクセス制御レジスタによって任意に設定することが可能になる。通信の競合回避が容易であり、複数の中央処理装置が一つの通信路を用いて時分割で通信を行うことができる。しかもセマフォ管理に比べて、データ転送に融通性があり、データ処理効率の向上に資することができる。さらに、CPUに対して秘匿性のある情報に対するアクセス制限を掛けることも容易である。
〔2〕項1のデータ処理装置において、例えば前記アクセス制御レジスタ回路は、前記USBホストプロトコルエンジンに対する制御権限を何れの中央処理装置に認めるかを指定する第2のアクセス制御レジスタ(501)を有する。前記アクセス制御回路は、第2のアクセス制御レジスタで指定された中央処理装置からの制御情報のみをUSBホストプロトコルエンジンに伝える。
これにより、特定の中央処理装置がUSBインタフェース制御のマスタとなる場合にも、前記USBホストプロトコルエンジンに対する制御権限を別の中央処理装置に認めるという融通性を得ることができる。
〔3〕項1又は2のデータ処理装置において、例えば前記USBホストインタフェースは、前記パイプ回路のパイプに対する前記中央処理装置との間でトランザクションの入出力を行うCPUポート(741)を有する。前記アクセス制御レジスタ回路は、前記CPUポートに対する制御権限を何れの中央処理装置に認めるかを指定する第3のアクセス制御レジスタ(503)を有する。前記CPUポートは、第3のアクセス制御レジスタによって制御権限が認められたCPUとの間でトランザクションの入出力を行う。
これにより、CPUポートをどのパイプに割当てるか、CPUポートにどのCPUとの間でトランザクションを入出力させるか、などの制御をプログラマブルに行うことができる。
〔4〕項1乃至3の何れかのデータ処理装置において、例えばDMAコントローラ(33)を有する。前記USBホストインタフェースは、前記パイプ回路のパイプに対する前記DMAコントローラとの間でトランザクションの入出力を行うDMAポートを有する。前記アクセス制御レジスタ回路は、前記DMAポートに対する制御権限を何れの中央処理装置に認めるかを指定する第4のアクセス制御レジスタ(504)を有する。前記DMAポートは、第4のアクセス制御レジスタによって制御権限が認められたCPUによりDMAコントローラに設定された転送条件によるデータ転送制御に従ってトランザクションの入出力を行う。
これにより、DMAポートをどのパイプに割当てるか、DMAポートにどのCPUとの間でトランザクションを入出力させるか、などの制御をプログラマブルに行うことができる。
〔5〕項3又は4のデータ処理装置において、例えば前記アクセス制御レジスタ回路は、前記パイプに割当て可能な機能をパイプ毎に指定する第5のアクセス制御レジスタ(505,507)を有する。前記アクセス制御回路は、パイプに伝える制御情報を前記第5のアクセス制御レジスタに設定された範囲に制限する。
これにより、USBデバイスのエンドポイントとパイプと対応関係を第5のアクセス制御レジスタによって任意に設定することが可能になる。
〔6〕項5のデータ処理装置において、パイプに伝える前記制御情報は、例えばエンドポイント番号及びデバイスアドレスを含む。
〔7〕項6のデータ処理装置において、前記アクセス制御回路は、例えば中央処理装置からの制御データを格納するUSB制御レジスタ(620,640)を中央処理装置毎に備えると共に、中央処理装置からのUSB制御レジスタへの制御データの書き込みを前記第5のアクセス制御レジスタの内容に従って制限する書き込み値制御回路(601,603)を有する(実施の形態1)。
これにより、USBデバイスのエンドポイントとパイプと対応関係などを任意に設定する構成を容易に実現することができる。
〔8〕項7のデータ処理装置において、例えば前記アクセス制御回路は前記USB制御レジスタに接続するアクセスレジスタ選択回路(660)を有し、前記アクセスレジスタ選択回路は前記第1制御レジスタ乃至第4制御レジスタで指定された中央処理装置に対応する前記USB制御レジスタの内容を選択して前記USBホストインタフェース回路に与える(実施の形態1)。
USBホストインタフェース回路と前記USB制御レジスタとの接続を容易に実現することができる。
〔9〕項6のデータ処理装置において、例えば前記アクセス制御回路は、中央処理装置からの制御データを格納するUSB制御レジスタ(650)を備えると共に、中央処理装置からのUSB制御レジスタへの制御データの書き込みを前記第5のアクセス制御レジスタの内容に従って制限する書き込み値制御回路(601,603)を有する(実施の形態2)。
これにより、USBデバイスのエンドポイントとパイプと対応関係などを任意に設定する構成を容易に実現することができる。
〔10〕項9のデータ処理装置において、例えば前記アクセス制御回路は前記USB制御レジスタに接続する書込み可否制御回路(605,606)を有する。前記書込み可否制御回路は前記第1制御レジスタ乃至第4制御レジスタで指定された中央処理装置以外の中央処理装置による前記USB制御レジスタへの書き込みを拒絶する(実施の形態2)。
これにより、USB制御レジスタを複数個の中央処理装置に共通化することができる。
〔11〕項1のデータ処理装置において、例えば前記アクセス制御回路は、夫々のパイプからの割込み要求を前記第1制御レジスタで指定された中央処理装置に向けて供給する割込み要求制御回路(670,671)を有する。
これにより、パイプからの割込み要求に応答する中央処理装置をパイプに対する制御権限を持つCPUに関連付けて指定することができる。
〔12〕項1のデータ処理装置において、例えば前記複数の中央処理装置のうちの一の中央処理装置と他の中央処理装置との間の相互通信を行う通信回路(91,92)を有する。前記通信回路は、通信したい情報が前記中央処理装置によって書込み及び読み出し可能に格納される記憶回路(920)を有し、通信したい中央処理装置が通信相手の中央処理装置からの割込み許可を受けて通信フラグをセットする(921,922)ことにより当該通信相手の中央処理装置に向けて割り込みを要求する。
特定の中央処理装置が取得したエニュメレーションの結果などを他の中央処理装置に知らせることが可能であり、その通知に割込みを用いることにより、ポーリングで認識する場合に比べて、中央処理装置の負担を軽減でき、認識も高速化される。
〔13〕本発明の別の実施の形態に係るデータ処理装置(実施の形態3)は、複数個の中央処理装置と、前記複数個の中央処理装置に接続されるUSBホストモジュール(32B)とを有する。前記USBホストモジュールは、前記データ処理装置の外部からUSBデバイスが接続されるUSBホストインタフェース(70B)と、前記複数個の中央処理装置に接続されるバスインタフェース(40)と、前記バスインタフェースに接続され特定の中央処理装置によってアクセスされるアクセス制御レジスタ回路(50B)と、前記アクセス制御レジスタ回路に設定された内容に従って前記USBホストインタフェースを制御するアクセス制御回路(60B)とを有する。前記USBホストインタフェースは、前記データ処理装置の外部から接続されたUSBデバイスのエンドポイントと通信するためのパイプを複数個有し前記中央処理装置毎に個別化されたパイプ回路(731,732)と、前記パイプ回路と中央処理装置との間でトランザクションの入出力を行い前記中央処理装置毎に個別化されたCPUポート(751,752)と、前記パイプからのトランザクション転送要求を処理するUSBホストプロトコルエンジン(700)とを有する。前記アクセス制御レジスタ回路は、前記パイプに割当て可能な機能をパイプ毎に指定する。前記アクセス制御回路は、前記USBホストインタフェースを制御するための情報が中央処理装置毎に個別化されて設定されるUSB制御レジスタ(680,681,681C)を有し、前記USB制御レジスタに設定される制御情報を前記アクセス制御レジスタに設定された範囲に制限する。
項1に比べてパイプ回路及びCPUポートを中央処理装置毎に個別化してもそれと同様の効果を得ることができる。
〔14〕項13のデータ処理装置において、例えばパイプに伝える前記制御情報は、エンドポイント番号及びデバイスアドレスを含む。
〔15〕項14のデータ処理装置において、例えば前記特定の中央処理装置に対応されるUSB制御レジスタだけが前記USBホストプロトコルエンジンに伝える制御情報を格納可能である。
〔16〕項15のデータ処理装置において、例えばDMAコントローラを有する。前記USBホストインタフェースは、前記パイプ回路のパイプに対する前記DMAコントローラとの間でトランザクションの入出力を行い前記中央処理装置毎に個別化されたDMAポートを有する。前記DMAポートは、対応するCPUによりDMAコントローラに設定された転送条件によるデータ転送制御に従ってトランザクションの入出力を行う。
〔17〕項13のデータ処理装置において、例えば前記特定の中央処理装置(10)以外の中央処理装(20)に対応されるUSB制御レジスタ(681C)は前記特定の中央処理装置による操作が可能にされる(実施の形態4)。
ここでは、複数のUSBデバイスが着脱可能にされる場合を想定する。前記特定の中央処理装置以外の中央処理装と通信を行なっていたUSBデバイスが取外されたときそれに対応されるUSB制御レジスタの設定がそのままになっていると、それと設定の同じデバイスアドレスが、前記特定の中央処理装置に新たに割当てられることになれば、特定の中央処理装置は他の中央処理装置による設定と同じ条件でアクセスが可能になり、セキュリティー違反等を生じ、はなはだ不都合である。このとき、複数のUSBデバイスが着脱可能にされる場合に一つのUSBデバイスの取り外しに連動して全てのパイプをリセットしなくても、特定の中央処理装置が新たに用いるパイプに関する設定を個別的に操作することによって、そのような問題の発生を未然に防止することが可能になる。
〔18〕項17のデータ処理装置において、例えば前記特定の中央処理装置による操作が可能にされる制御情報はエンドポイント番号及びデバイスアドレスの情報である。
〔19〕項1又は13のデータ処理装置において、例えば前記USBホストモジュールと選択的に利用可能にされるその他のシリアルインタフェースに対応するシリアルインタフェースモジュール(102)を有する。
これにより、他のシリアルインタフェースを持つ外部デバイスにも対応可能になる。
〔20〕項19のデータ処理装置において、例えば前記シリアルインタフェースモジュールはUARTインタフェースモジュールである。
〔21〕項19又は20のデータ処理装置において、例えば前記データ処理装置の外部端子のうち前記USBホストモジュールに接続する端子の一部と前記シリアルインタフェースモジュールに接続する端子とは共通端子(124,125)とされる。マルチファンクション端子によって外部端子の数を減らすことができる。
〔22〕本発明の別の観点による代表的な実施の形態に係るデータ処理システムは、例えば項21のデータ処理装置と、前記データ処理装置の外部端子のうち前記USBホストモジュールに接続する端子と前記シリアルインタフェースモジュールに接続する端子とを介して前記データ処理装置に接続されると共に、外部デバイスが着脱可能に接続されるデバイス制御回路(130)とを有する。前記デバイス制御回路はこれに接続される外部デバイスに動作電源として第1電源電圧又は第2電源電圧を供給すると共に前記データ処理装置に接続する外部端子と前記外部デバイスに接続する外部端子との対応を制御する。前記データ処理装置は、前記デバイス制御回路に外部デバイスへの第1電源電圧の供給を指示すると共にUSBホストモジュールを用いた通信を指示し、これに対する外部デバイスからの第1の応答があれば、前記USBホストモジュールの使用を選択し前記シリアルインタフェースモジュールの使用を非選択とし、前記第1の応答がなければ、前記デバイス制御回路に外部デバイスへの第2電源電圧の供給を指示すると共にUSBホストモジュールを用いた通信を指示し、これに対する外部デバイスからの第2の応答があれば、前記USBホストモジュールの使用を選択し前記シリアルインタフェースモジュールの使用を非選択とし、前記第2の応答がなければ前記USBホストモジュールの使用を非選択し前記シリアルインタフェースモジュールの使用を選択とする。
これにより、電源電圧が異なる複数種類のUSBインタフェースを備えて外部デバイス、更に、その他のシリアルインタフェースに対応する外部デバイスにも対応することができる。
〔23〕項22のデータ処理システムにおいて、例えば前記第1の電源電圧は1.8V、前記第2の電源電圧は3.0Vである。
2.実施の形態の詳細
実施の形態について更に詳述する。
《実施の形態1のシステム構成》
図1には本発明に係るデータ処理装置とこれに接続されるUSBデバイスの一例が示される。データ処理装置1は、特に制限されないが、相補型MOS集積回路製造技術などによって単結晶シリコンのような1個の半導体基板に形成された、システムオンチップの半導体装置(LSI)として構成される。半導体装置1は例えば移動体通信のためのベースバンド処理と画像処理や音声処理などのアプリケーション処理を行なう。USBデバイス2は、特に制限されないが、移動体通信端末の端末認証に用いるUSIM及び汎用ストレージモジュールなどの複数のファンクション4,5とUSBデバイスインタフェース6を備え、単一のUSB通信路3を介してデータ処理装置1に着脱自在に接続される。USBデバイスインタフェース6は、エンドポイントと呼ばれるUSB転送用のバッファを複数有する。USB規格に従えばフル・スピードデバイスで最大16個のエンドポイントを持つ。図ではエンドポイント0(EP0)、エンドポイント1(EP1)、エンドポイント2(EP2)が代表的に図示されている。エンドポイント毎に、エンドポイント番号、転送方向、転送方式、最大パケットサイズが定義される。エンドポイント0はコントロール転送をサポートし、全てのUSBデバイスが持たなければならない。コントロール転送はUSBデバイスのコンフィギュレーションやメッセージの送受信に使用される。その他のエンドポイントはプリンタやストレージ等の大量のデータ転送を行うときに用いるバルク転送、オーディオや電話等のリアルタイム性が要求されるデータ転送に用いるアイソクロナス転送などに割当てられる。特に制限されないが、ファンクション4はUSIMとされ、エンドポイント0による転送が適用される。ファンクション5は不揮発性ストレージとされ、エンドポイント1、エンドポイント2による転送が適用される。
データ処理装置1は、夫々が命令をフェッチして実行する複数個の中央処理装置(CPU)10,20を備え、それぞれは固有のバス12,22に接続され、バス12,22は共有バス30に接続され、共有バス30にUSBホストモジュール32が接続される。バス12には代表的に示されたメインメモリ13や割込みコントローラ(INTC)11等が接続される。バス22には代表的に示されたメインメモリ23や割込みコントローラ(INTC)21等が接続される。共有バス30には共有メモリ31、USBホストモジュール32、及びDMA(Direct Memory Access)コントローラ33が接続される。メインメモリ13,23は対応するCPU(第1CPU)10,20のワーク領域若しくは一時記憶領域として用いられる。割込みコントローラ11はUSBホストモジュール32などからの割込み要求に基づいてCPU10に割込み信号INT1を出力する。割込みコントローラ21はUSBホストモジュール32などからの割込み要求に基づいてCPU(第2CPU)20に割込み信号INT2を出力する。バス12,22及び共有バス30は、特に制限されないが、スプリットトランザクションバスとされ、アクセスを要求する回路(イニシエータ)はリクエストパケットをバスに出力し、アクセス対象とされる回路(ターゲット)は受取ったリクエストパケットに応答する処理を行なってレスポンスパケットをイニシエータに返す。リクエストパケットにはアクセスを要求するイニシエータのアドレス(イニシエータアドレス)、アクセス対象とされるターゲットのアドレス(ターゲットアドレス)、アクセスの内容を示すアクセスコマンド、及び必要な場合には書込みデータを有する。バス上に配置されたルータは、リクエストパケットに含まれるターゲットアドレスが示すターゲットにリクエストパケットを転送し、レスポンスパケットに含まれるレスポンスアドレスが示すイニシエータにレスポンスパケットを渡す。
USBホストモジュール32は、USBデバイス2が接続されるUSBホストインタフェース70、共有バスに接続されるバスインタフェース40、バスインタフェース40に接続され特定の中央処理装置例えばCPU10によってアクセスされるアクセス制御レジスタ回路50、アクセス制御レジスタ回路50に設定された内容に従って前記USBホストインタフェースを制御するアクセス制御回路60、及びCPU間通信回路80を有する。
USBホストインタフェース70はUSB通信の制御、即ち、通信、リセット、アタッチ、デタッチなどの制御を行うUSBプロトコルエンジン700、各エンドポイントと通信を行う複数のパイプを備えたパイプ回路720、及びパイプ回路720との間でデータ、即ちトランザクションのやり取りを行うポート回路740を有する。パイプ回路720は複数のパイプ0(PIPE0)〜パイプn(PIPEn)を有する。ポート回路740は、夫々のパイプとバスインタフェース40との間でトランザクションのやり取りを行うCPUポート741と、夫々のパイプとDMA(Direct Memory Access)コントローラ33との間でトランザクションのやり取りを行うDMAポート742とを有する。パイプはCPUポート741又はDMAポート742介してトランザクションを受取る。パイプ毎にUSBデバイス2のデバイスアドレスとエンドポイントが指定されることで、USBホストインタフェース70は特定のエンドポイントとの間の通信を制御する。パイプとエンドポイントとの間でやり取りされるトランザクションはUSBモジュール内のUSBプロトコルエンジン700が管理する。図2に例示されるようにトランスファを構成するトランザクションは、デバイスアドレスとエンドポイントなどを含むトークンパケット、送受信するデータを含むデータパケット、通信成否を返すハンドシェイクパケット等からなる。USBプロトコルエンジン700はUSBデバイス2と各パケットをやり取りして通信を行い、各パイプに送受信データをライト・リードする。複数のパイプから通信要求がある場合は、トランザクション毎にパイプを切換えて、ひとつのパイプが通信路を占有することがないように制御する。例えばパイプ0とパイプ1を用いる場合、USBプロトコルエンジン700は、パイプ0のトランザクション完了をUSBデバイスから受取ったとき、パイプ1に未実行の別のトランザクションがあれば当該別のトランザクションの実行に切換えるといいうように、異なるパイプのトランザクションを交互に、時分割で、処理する制御を行う。CPUポート741はバスインタフェース40とパイプとの間でトランザクションの入出力を行う。
バスインタフェース40は共有バス30から伝達されるアクセスのアクセス元識別情報、例えばイニシエータアドレスのようなソースID情報を元にアクセス元のCPUを区別することができる。マスタバスインタフェース(MBIF)41はCPU10からのアクセスを受け付け、それに対する応答を返すために利用される。サブバスインタフェース(SBIF)42はCPU11からのアクセスを受け付け、それに対する応答を返すために利用される。
アクセス制御レジスタ回路50は夫々のパイプPIPE0〜PIPEn、CPUポート741、DMAポート742、USBプロトコルエンジン700などをCPU10又はCPU20の何れのCPUからアクセスできるかを指示するための図3に例示されるレジスタと、夫々のCPU10,20が設定することができるエンドポイントアドレス及びデバイスアドレスの値などを制御する図4に例示されるレジスタを備える。アクセス制御レジスタ回路50の各レジスタに対するアクセスは特定のCPU10のみが可能にされる。要するに、アクセス制御レジスタ回路50はマスタバスインタフェース回路41を介して共有バス30に接続される。
アクセス制御回路60は、レジスタ書込み・読み出し制御回路600、CPU10専用のUSB制御レジスタ620、CPU20専用のUSB制御レジスタ640、及びアクセスレジスタ選択回路660を有する。USB制御レジスタ620,640はUSBホストインタフェース70を制御するためのレジスタ群であり、パイプPIPE0〜PIPEn、CPUポート741、DMAポート742、プロトコルエンジン700を制御する情報が格納される図3に例示される複数のレジスタを備える。
《実施の形態1におけるアクセス制御レジスタ回路及びUSB制御レジスタ》
アクセス制御レジスタ回路50及びUSB制御レジスタ620,640の制御機能について図3及び図4を参照しながら更に詳述する。
前述の如くUSB制御レジスタ620はCPU10専用であり、USB制御レジスタ640はCPU20専用であり、CPU10,20から夫々のUSB制御レジスタ620,64に対する書き込み可能な値の範囲を設定するために、図4に例示される書込み値許可レジスタ505,507を有する。図4に例示されるように、レジスタ書込み・読み出し値制御回路600は、書込み値許可レジスタ505の設定値に従った値の範囲でCPU10からUSB制御レジスタ620への書込み値を制限する書込み値制御回路601を備える。同様に、レジスタ書込み・読み出し値制御回路600は、書込み値許可レジスタ507の設定値に従った値の範囲でCPU20からUSB制御レジスタ640への書込み値を制限する書込み値制御回路603を備える。
USB制御レジスタ620は、図3に例示されるように、プロトコルエンジン700に対する制御情報が設定されるプロトコルエンジン制御レジスタ621、対応させるべきエンドポイント番号及びデバイスアドレスなどが設定されるパイプPIPE0制御レジスタ622、…、接続されるべきパイプの番号等が設定されるCPUポート制御レジスタ623、接続されるべきパイプの番号等が設定されるDMAポート制御レジスタ624、CPUポートに入出力されるデータを保持するCPUポートデータレジスタ625を有する。同様に、USB制御レジスタ640も、図3に例示されるように、プロトコルエンジン700に対する制御情報が設定されるプロトコルエンジン制御レジスタ641、対応させるべきエンドポイント番号及びデバイスアドレスなどが設定されるパイプPIPE0制御レジスタ642、…、接続されるべきパイプの番号等が設定されるCPUポート制御レジスタ643、接続されるべきパイプの番号等が設定されるDMAポート制御レジスタ644、CPUポートに入出力されるデータを保持するCPUポートデータレジスタ645を有する。
前記書込み値制御回路601(603)は、例えばCPU10(CPU20)が、エンドポイント番号とデバイスアドレスをパイプ0制御レジスタ622に書き込もうとしたときアクセス書込み値許可レジスタ505(507)で許可されていない値の場合にはその書込みを無効化し、また、パイプ番号をCPUポート制御レジスタ623(643)に書込もうとしたときそのパイプ番号がアクセス書込み値許可レジスタ505(507)で許可されていない値の場合にはその書込みを無効化する。図4のレジスタ書込み・読出し値制御回路600はUSB制御レジスタ620からマスタバスインタフェース41への読出し値を制御する読出し値制御回路602と、USB制御レジスタ640からサブバスインタフェース42への読出し値を制御する読出し値制御回路604を備え、後述する図2のCPU選択レジスタ501〜504で許可されていないCPU側のUSB制御レジスタ620,640からの読出しを抑止する。図4において例えばCPU選択レジスタ502でCPU10が選択されているときはパイプ0制御レジスタの読出しはUSB制御レジスタ620からだけ可能にされ、選択されていない方のほうのUSB制御レジスタ640から無意味なデータが読み出されることによって不都合が生ずることを未然に防止している。
CPU選択レジスタ501〜504は、書込み値制御レジスタ505,507によって指定された書込み可能な範囲でUSB制御レジスタ620とUSB制御レジスタ640に書込まれた制御情報の何れの情報を用いてUSBインタフェース70を制御するかを決定する。図3の構成に従えば、USBホストプロトコルエンジン選択レジスタ501はUSB制御レジスタ620のプロトコルエンジン制御レジスタ621の値又はUSB制御レジスタ640のプロトコルエンジン制御レジスタ641の値をスイッチ661に選択させてUSBプロトコルエンジン700に供給する。パイプ0CPU選択レジスタ502はUSB制御レジスタ620のパイプ0制御レジスタ622の値又はUSB制御レジスタ640のパイプ0制御レジスタ642の値をスイッチ662に選択させてパイプ0に供給する。図示は省略しているが、その他のパイプ1〜パイプnについても同様とされる。CPUポート選択レジスタ503はUSB制御レジスタ620のCPUポート制御レジスタ623の値又はUSB制御レジスタ640のCPUポート制御レジスタ643の値をスイッチ663に選択させてCPUポート741に供給し、また、USB制御レジスタ620のCPUポートデータレジスタ625の値又はUSB制御レジスタ640のCPUポートデータレジスタ645の値をスイッチ665に選択させてCPUポート741に接続する。DMAポート選択レジスタ504はUSB制御レジスタ620のDMAポート制御レジスタ624の値又はUSB制御レジスタ640のDMAポート制御レジスタ644の値をスイッチ664に選択させてDMAポート742に供給する。特に制限されないが、DMAコントローラ33に対するデータ転送条件の設定はCPU20だけに許容されている関係で、DMAポート742のデータレジスタをCPU10又はCPU20の一方に選択的に対応付ける構成は採用されておらず、CPUポート741のデータレジスタに対する構成とは相違される。
アクセス制御レジスタ回路及びUSB制御レジスタに対する設定例を説明する。図5にはUSBデバイス2の使用例がエンドポイント番号とアクセスCPUとの対応で示される。図6には図5の使用例に則したアクセス制御レジスタ回路50に対する設定例が示される。パイプに対するCPUのアクセス権限はCPU選択レジスタ502、…の設定で決まり、CPUポート741、DMAポート742、USBプロトコルエンジン700に対するCPUの権限はCPU選択レジスタ501,503,504の設定で決まる。デバイスアドレス及びエンドポイントの設定値は書込み値許可レジスタ505,507によるパイプ制御レジスタ622,…、624,…への書込み値制御に従って決まる。この場合の書込み値許可レジスタ505,507の内容は、特に制限されないが、図7に例示されるように、エンドポイント番号とデバイスアドレスとの組合せに対してアクセス可能なCPUを明示した内容とされる。
図8には書込み値許可レジスタ505に従った書込み値制御回路601による書込み値制御の具体例が示される。マスタバスインタフェース41からデバイスアドレスとエンドポイントが供給されるとき、それがどのパイプのデータであるかを示すデータセットパルスも供給される。書込み値許可レジスタ505はデバイスアドレス毎に使用可能なエンドポイントを指定している。デバイスアドレス[15:12]に対応するエンドポイントのエントリが選択され、選択されたエンドポイントのエントリからエンドポイント[3:0]で一つのエンドポイント許可データが選択され、選択された許可データが許可を示し、対応するデータセットパルスがイネーブルにされているとき、イネーブルレベルのセットパルスに対応するパイプのパイプ制御レジスタにその書込みデータ[15:0]が書込まれて、パイプ制御レジスタにデバイスアドレスとエンドポインタ番号がセットされる。
図9には図8によるデバイスアドレスとエンドポインタ番号の書込み動作タイミングが例示される。図9において書込みデータD1は書込み許可レジスタによって書き込みが許可されているデバイスアドレスとエンドポイント番号を含み、データD2は含まないものとする。含む場合のみ、パイプ制御レジスタへのセットパルスがイネーブルにされ、これに同期してパイプ制御レジスタにデバイスアドレスとエンドポインタ番号が書込まれる。
《割込み要求機能》
アクセス制御回路60は、図10に例示されるように、例えばパイプ0(PIPE0)からの割込み要求を前記パイプ0CPU選択レジスタ502で指定されたCPU10又は20に向けて供給する割込み要求制御機能を備える。具体的には、USB制御レジスタ620はパイプ0割込み許可レジスタ626及び割込み要因レジスタ627を有し、USB制御レジスタ640はパイプ0割込み許可レジスタ646および割込み要因レジスタ647を有し、アクセスレジスタ選択回路660はUSBモジュール割込みコントローラ670,671を有し、パイプ0割込み許可レジスタ626によりパイプ0からの割込みが許可され、且つパイプ0CPU選択レジスタ502によってCPU10のアクセス権限が有効にされているとき、パイプ0の割込み要求信号731がイネーブルにされることによって、割込みコントローラ11に割込み要求信号IRQ1が出力され、これによって、CPU10は自分自身がアクセス権限のあるパイプ0から発生された割込み要求に答えることができる。一方、パイプ0割込み許可レジスタ646によりパイプ0からの割込みが許可され、且つパイプ0CPU選択レジスタ502によってCPU10のアクセス権限が有効にされているとき、パイプ0の割込み要求信号731がイネーブルにされることによって、割込みコントローラ21に割込み要求信号IRQ2が出力され、これによって、CPU20は自分自身がアクセス権限のあるパイプ0から発生された割込み要求に答えることができる。割り込み要因は割り込み信号を受取ったCPUが割り込み要因レジスタ627,647を参照することによって把握する。図示は省略するが当該割込み要求制御機能は全てのパイプに対して備える。
これにより、パイプからの割込み要求に応答する中央処理装置をパイプに対する制御権限を持つCPUに関連付けて指定することができる。
《CPU間通信》
図11にはCPU間通信のための通信回路が例示される。USBホストモジュール32は、CPU10からCPU20への通信を行うための通信回路(MtSCom)92と、CPU20からCPU10への通信を行うための通信回路(StMCom)91とを有する。
通信回路92は、通信したい情報が前記CPU10によって書込み及び読み出し可能に格納され、且つCPU20によって読み出し可能にされる記憶回路としてのデータレジスタ920、通信したいCPU10が通信相手のCPU20からの割込み許可を受けるための割り込み許可レジスタ921、及びCPU10が割り込みフラグをセット及びクリアすることができ、CPU20が割り込みフラグをクリアすることが出来る割り込みフラグレジスタ922を有する。CPU20によって割り込み許可レジスタ921に割込み許可がセットされているとき、CPU10が割り込みフラグレジスタ922に割り込みフラグをセットすることにより、ゲート回路923から割り込みコントローラ21に割込み要求信号IRQ4が出力される。CPU10はエニュメレーションによって取得したデバイスアドレスやエンドポイントの情報(パケットサイズ、送受信方向、プロトコル)のうち、CPU20がUSB制御レジスタ640に設定すべき情報をCPU20に伝達しなければならないようなとき、CPU20による割込み許可がされているとき、データレジスタ920に転送すべきデータを書き込んだ後、割り込みフラグをレジスタ922にセットすればよい。これによってCPU20はそれによる割込みを受け付けることによって必要なデータを取得することができる。 転送すべきデータが揃ったことを割込みによってCPU20に通知するから、CPU20がポーリングを使ってその状態を認識する場合に比べて、CPU20の負担を軽減でき、認識も高速化することができる。
特に図示はしないが、通信回路91も同様に構成され、CPU10によって割り込み許可レジスタに割込み許可がセットされているとき、CPU20が割り込みフラグレジスタに割り込みフラグをセットすることにより、ゲート回路から割り込みコントローラ11に割込み要求信号IRQ3が出力されるように構成され、通信回路92と同様の効果を奏する。
《USBホストモジュールの動作フロー》
図12にはUSBホストモジュール70の動作フローが例示される。USBホストモジュールの初期設定(M1)とUSBデバイス2のアタッチ検出(M2)はマスタCPU10が行う。USBデバイス2のアタッチを検出したマスタCPU10はバスリセットをかけ、リセットハンドシェイクにより通信速度を決定する(M3)。その後、USBデバイスとのエニュメレーションを行い(M4)、USBデバイス2の初期設定とデバイスの情報を受け取る。USBデバイスの情報から判断し、エンドポイントとパイプのアクセス権限をどちらのCPUに割り振るかを決定し(M5)、アクセス制御レジスタ回路50にその設定値を書き込む(M6)。その際パイプ制御レジスタ622,…、642,…をリセットすることで、既に書き込まれたデバイスアドレスやエンドポイントの設定を消去する(M7)。その後、マスタCPU10はサブCPU20に利用可能になったパイプ番号とアクセス可能なデバイスアドレス、エンドポイント番号、各エンドポイントの情報を前記CPU間通信機能を用いて送信する(M8)。その前提として、サブCPU20は既に、CPU10からCPU20への通信に対する割り込み許可をレジスタ921に設定してあり(S1)、CPU20は割り込み信号INT2を受けることによってデータレジスタ920から利用可能なパイプ番号とアクセス可能なデバイスアドレス、エンドポイント番号、各エンドポイントの情を取得する(S2)。この後、マスタCPU10はUSB制御レジスタ620に対してパイプの設定等のUSB通信の準備を行い(M9)、USB通信を行う(M10)。USBデバイスのデタッチをマスタCPU10が検出したら、デタッチをサブCPU20に伝える(M11)。ステップS2の後、サブCPU20は、USB制御レジスタ640に対してパイプの設定等のUSB通信の準備を行い(S3)、USB通信を行う(S4)。USBデバイスのデタッチがマスタCPU10から通知されたら、サブCPU20はUSB通信を終了する(S5)。
《通信情報に対する秘匿性の保証》
上述のUSBホストモジュールを用いることによって得られる秘匿性の保証について具体例を説明する。図5のようなデバイスが接続され、図6のようにアクセス制御レジスタを設定する場合を一例とする。これに従えば、CPU10はパイプ0を制御して、エンドポイント0と加入者情報をやり取りすることができる。CPU20はCPU10からエンドポイント1〜4と通信するための設定情報を受け取り、その情報を元にパイプ1〜パイプ4を制御することで、ファイルの読み書きや、イーサネット(登録商標)フレームの送受信を行うことができる。CPU20がこの加入者情報を得るために使用可能なパイプ1にエンドポイント番号に0を設定しようしても、図4の書込み値制御回路603によって無効化されるため設定できない。また、既にエンドポイント番号に0が設定されているパイプ0を制御しようとしても、USB制御レジスタ620へのアクセスはできず、USB制御レジスタ640のパイプ0制御レジスタ642にアクセスしたとしても、図3のアクセスレジスタ選択回路660によってパイプ回路720のパイプ0(PIPE0)と切り離されているため、制御することはできない。さらに使用可能なDMAポート742をパイプ0に繋ぎ、データの盗聴や改竄をしようとしても、図4の書込み値制御回路603によって無効化されるため設定できない。
パイプ0の通信が終わり、通信終了割り込みが発生したとき、サブCPU20が間違ってパイプ0割込み許可レジスタ646で割り込み許可にしていたとしても、パイプ0CPU選択レジスタ502の設定により図10のUSBモジュール割り込みコントローラ671内で割り込み要求731が無効化される。
《トランザクション単の時分割通信動作》
図13にはCPU10とCPU20で同時に別々のパイプにアクセスする通信動作が例示される。図14は図13の動作フローで処理されるトランザクションの処理フローを示す。図15は図13の比較例でありCPUがUSBモジュールのアクセス権限をセマフォ管理で行った場合の通信動作を例示し、図16は図15の動作フローで処理されるトランザクションの処理フローを示す。
図15においてCPU1はCPU2がUSBホストモジュール利用中はパイプ0を利用できないため、CPU2が通信終了するまで待つ必要がある。図16に例示されるように、CPU2の通信終了後もセマフォ管理の処理とCPU1のパイプ設定などの処理が入るため、通信開始まで時間が空く。また、USBのインタラプト転送やアイソクロナス転送を正しく行うことができない。要するに、セマフォ切換えなどの処理によってリアルタイム性や遅延時間の保証を行うことができなくなる。
CPU2とファンクション2との間でファイル転送を行うとき、大量のデータの転送を行うが、その間CPU1は通信を行うことができない。図13、14、15、16において、B0〜Bnはファイル転送のブロックなどを意味する。CPU1はファンクション1と定期的な認証を行っており、ファンクション1との通信ができずにタイムアウトすると、認証が必要とされる機能を使用することができなくなる。また、CPU2が遅いデバイスと通信するとき、トランザクションとトランザクションの間が空いていても、そこにCPU1のトランザクションを入れることができない。したがってトランザクションの処理効率、更にはトランスファの処理効率が著しく低下し、更には必要なトランスファを実現することができなくなる虞を生ずる。
これに対し、2個のCPU10とCPU20でパイプ資源を分け合うことで、図13に例示されるように相手のCPUのトランスファの完了を待たずに、通信したい機能とトランザクション単位で交互に通信を行うことができる。サブCPU(CPU2)20が大量のデータをやり取りしていても、マスタCPU(CPU1)10はファンクション1と通信を行うことができる。トランザクション単位の時分割による使用パイプの切換えは前述の通り、プロトコルエンジン700の制御で行う。
《実施の形態2》
図17には本発の第2の実施の形態に係るデータ処理装置1Aが示される。同図に示されるデータ処理装置1Aはアクセス制御回路60Aが図1とは異なる。即ち、CPU10,20からの制御データを格納する一つのUSB制御レジスタ650を備え、USB制御レジスタ650に格納された情報は直接USBホストインタフェース70に供給される。USB制御レジスタ650に接続されるレジスタ書込み・読出し制御回路600Aは、CPU10,20からのUSB制御レジスタ650への制御データの書き込みをアクセス制御レジスタ回路の設定に従って制限するために、前記書込み値制御回路601,603のほかに書込み可否制御回路605,606を備える。尚、図1と同一機能を備えた構成要素には同一参照符号を附してその詳細な説明を省略する。
図18にはレジスタ書込み・読出し制御回路600Aの具体例が示される。書込み値制御回路601,603及び読み出し値制御回路602,604は図4と同様にマスタバスインタフェース41側とサブバスインタフェース42側に夫々配置される。書込み値制御回路601とUSB制御レジスタ650との間にはCPU10側からの書込みの可否を制御する書込み可否制御回路605が配置され、CPU選択レジスタ501〜504によってCPU10のアクセス権限が認められたデータだけをUSB制御レジスタ650の対応レジスタに供給可能とする。一方、書込み値制御回路603とUSB制御レジスタ650との間にはCPU20側からの書込みの可否を制御する書込み可否制御回路606が配置され、CPU選択レジスタ501〜504によってCPU20のアクセス権限が認められたデータだけをUSB制御レジスタ650の対応レジスタに供給可能とする。アクセス権限のないCPUへの制御データの読出し制限は前述の読出し値制御回路602,604で達成される。
これにより、図1と同様の作用効果を奏すると共に、USB制御レジスタ650を複数個のCPU10,20に共通化することができる。
《実施の形態3》
図19には本発の第3の実施の形態に係るデータ処理装置1Bが示される。同図に示されるデータ処理装置1Bはアクセス制御回路60B及びUSBホストインタフェース70Bが図1とは異なる。即ち、上記実施の形態では、CPU10,20が使用するパイプの数を自由に変更可能としたが、ここでは最初から各CPU10,20に所定数のパイプを割り当ておくものとする。尚、図1と同一機能を備えた構成要素には同一参照符号を附してその詳細な説明を省略する。
更に詳しくは、USBホストインタフェース70Bは、CPU10に割当てられる第1パイプ回路731及び第1ポート回路751を有し、CPU20に割当てられる第2パイプ回路732及び第2ポート回路752を有する。特に図示はしないがCPUポート743はマスタバスインタフェース41に、CPUポート745はサブバスインタフェース42に接続される。DMAポート744はDMAコントローラ33に接続され、DMAポート746は別のDMAコントローラ34に接続される。DMAコントローラ33はCPU10に専属制御権が認められ、DMAコントローラ34にはCPU20に専属制御権が認められる。
アクセス制御回路60Bはレジスタ書込み・読出し制御回路600B、CPU10が専属アクセス権を持つUSB制御レジスタ680、及びCPU20が専属アクセス権を持つUSB制御レジスタ681を備える。レジスタ書込み・読出し制御回路600Bはアクセス制御レジスタ回路50B内の書込み値許可レジスタ505,507の設定値に従って、USB制御レジスタ680に対する書込み値を制限する書込み値制御回路601と、USB制御レジスタ681に対する書込み値を制限する書込み値制御回路603とを備える。
USB制御レジスタ680は、レジスタ621のようなプロトコルエンジン制御レジスタ、レジスタ622のようなポート制御レジスタ、レジスタ623のようなCPUポート制御レジスタ、及びレジスタ624のようなDMAポート制御レジスタを有する。それらレジスタの設定値は第1パイプ回路731及び第1ポート回路751にそのまま供給される。USB制御レジスタ681は、レジスタ622のようなポート制御レジスタ、レジスタ623のようなCPUポート制御レジスタ、及びレジスタ624のようなDMAポート制御レジスタを有する。それらレジスタの設定値は第2パイプ回路732及び第1ポート回路752にそのまま供給される。
アクセス制御レジスタ50BはCPU選択レジスタ501〜504を持つことを要しない。
この実施の形態によれば、パイプ回路及びポート回路をCPU毎に個別化しても図1と同様の効果を得ることができる。
《実施の形態4》
図20には本発の第4の実施の形態に係るデータ処理装置1Cが示される。同図に示されるデータ処理装置1CはUSBハブ等を介して複数のUSBデバイスが接続される場合を想定した例であり、たとえば図19のデータ処理装置1Bを改良した構成として位置付けられる。図19との相違点はUSB制御レジスタ681Cとマスタバスインタフェース41Cの構成である。即ち、CPU20側のUSB制御レジスタ681Cのうち、パイプ制御レジスタに対してはCPU10による操作も可能に構成される。尚、図19と同一機能を備えた構成要素には同一参照符号を附してその詳細な説明を省略する。
更に詳しく説明する。前述の通り、ここではUSBプロトコルエンジン70BにUSBハブ等を介して複数のUSBデバイスが接続される場合を想定する。2個以上のUSBデバイスが接続され、挿抜が繰り返されるような場合、デバイスアドレスとエンドポイントの設定がパイプに残らないようにする機能が必要となる。例えば、図19の構成において、デバイスアドレス5をCPU20に割り当てていたとする。CPU20によるアクセスが許可されているので、パイプの制御レジスタ681にデバイスアドレス5を設定できる。そのUSBデバイスが抜かれた後でも、その設定は残る。その後別のUSBデバイスが接続され、そのデバイスへのアクセスをCPU10のみに許可し、それにデバイスアドレス5を割り振った場合、CPU20側のパイプにデバイスアドレス5が設定されているので、CPU20もデバイスアドレス5のUSBデバイスと通信可能になり、セキュリティー上の問題を生ずる。USBデバイスが1つしか繋がらない条件の場合には、その1つのUSBデバイスが抜かれたときにそのパイプをリセットする制御手順を採用すればよいが、2個以上のUSBデバイスが接続可能な場合には、一つのUSBデバイスが離脱されたとき、違うデバイスアドレスとそのパイプが通信中である可能性があるため、クリアすることはできない。
そこで、図20では、CPU20側のUSB制御レジスタ681Cにおいてデバイスアドレスとエンドポイントを設定するパイプ制御レジスタへのアクセスをCPU10からも可能にする。CPU10はUSBデバイスの挿抜が繰り返され、以前使用したデバイスアドレスを再度使用する場合、以前設定した値がパイプ制御レジスタに残っていないかを確認する。残っている場合は違うアドレスを割り振るか、そのレジスタの書き換えをCPU20に指示し、書き換わったことを確認してからそのデバイスアドレスを使用する。
《実施の形態5》
図21にはUSBインタフェースのほかにUART(Universal Asynchronous Receiver Transmitter)インタフェースを備えたUIM(User Identity Module)デバイス、あるいはUARTインタフェースだけを備えたUIMデバイスに対応するためのデータ処理装置1Dが例示される。UIMデバイスは携帯電話器に代表される携帯端末における使用者認証などに広く利用されているが、従来から汎用非同期送受信を行うUARTインタフェースが用いられているが、それに比べて通信速度の速いUSBインタフェースを採用することも可能であり、ここでは、過渡的な段階においてUSBインタフェースとUARTインタフェースが混載されたUIMデバイス、USBインタフェースだけが搭載されたUIMデバイス、及びUARTインタフェースだけが搭載されたUIMデバイスの何れにも対応可能なデータ処理装置1Dについて説明する。
データ処理装置1Dは例えば実施の形態1で説明した全ての機能を備え、アプリケーション部110にサブとなるCPU20とUSBホストモジュール32が配置され、ベースバンド部100にマスタとなるCPU10とUARTインタフェースモジュール102及びIIC(Inter-Integrated Circuit)インタフェースモジュール101が配置される。IICインタフェースはデータとクロックの2本の信号線を用いてマスタとスレーブ間で双方向シリアル通信を簡易に行うインタフェースである。UARTインタフェースは調歩同期のシリアル転送とパラレル転送を相互に変換するインタフェース方式である。
USBホストモジュール32は、特に制限されないが、イネーブル信号IC_OEを出力し、非反転信号IC_DP及び反転信号IC_DMを入出力する。UARTインタフェースモジュール102は、特に制限されないが、クロック信号ID_CLK及びリセット信号ID_RSを出力し、データ信号ID_IOを入出力する。それらの信号の外部インタフェース端子として、イネーブル信号IC_OEの出力端子123、非反転信号IC_DPとクロック信号ID_CLKの共用端子124、反転信号IC_DMとデータ信号ID_IOの共用端子125、及びリセット信号ID_RSの出力端子126を有する。マルチプレクサ121は非反転信号IC_DPと又はクロック信号ID_CLKの何れか一方を選択する。マルチプレクサ122は反転信号IC_DMとデータ信号ID_IOの何れか一方を選択する。120は半導体集積回路において外部端子や入出力バッファなどが配置される入出力パッド領域(PAD)を総称する。IICインタフェースモジュール101はクロック信号CLKを出力し、データ(data)を入出力する。尚、特に図示を省略しているが、IICインタフェースモジュール101も入出力パッド領域(PAD)を介して外部とクロック信号CLK及びデータ(data)の入出力を行うことは当然である。
外部デバイス2Aはデバイス制御装置としての電源制御半導体装置130を介してデータ処理装置1Dに接続される。外部デバイス2AはUSBデバイスインタフェース6、ファンクション4,5の他に、UARTデバイスインタフェース7を備える。UARTデバイスインタフェース7は例えばISO/IEC7816−3に準拠し、ファンクション4に接続する。例えばファンクション4はSIM、ファンクション5がフラッシュメモリカードのようなストレージとされる。VccはUARTデバイスインタフェース7の動作電源、VbusはUSBデバイスインタフェース6の動作電源である。UARTデバイスインタフェース7に接続するRSはリセット信号、CLKはクロック信号、I/Oは入出力データである。USBデバイスインタフェース6に接続するD+は非反転データ、D−は反転データである。電源制御半導体装置130に対する動作電源の制御や端子の活性化制御などはCPU10がIICインタフェースモジュール101を介して行う。
電源制御半導体装置130による外部デバイスとのインタフェース形態を決定する制御について説明する。外部デバイス2Aは現在主流の形式であるUART(ISO/IEC 7816-3)とデータ処理装置1DがサポートするUSBの両方に対応するものとされる。USBデバイスインタフェース6の物理通信路は例えば電源が5クラスに分かれており、1.8Vと3.0Vの双方に対応する必要があり、接続された外部デバイスがどの電源に対応し、どのインタフェースに対応するかを判別することが必要になる。例えばCPU10は、どのインタフェースが使用可能かを判定する制御として、図22に例示されるように、1.8VでUSBインタフェースによる通信を行い(I1)、応答の有無を判別し(I2)、応答があれば1.8VでUSBインタフェースによる通信を継続する(I3)。応答がない場合には動作電源を3.0Vに変えて再度USBインタフェースによる通信を試み(I4)、応答の有無を判別する(I5)。応答があれば動作電源を3.0VでUSBインタフェースによる通信を継続し(I6)、それでも通信が出来ない場合はUSBインタフェースが不可能であると判別し、UARTインタフェースによる通信を開始する(I7)。上記動作電源の切換えはIICインタフェースモジュール101を用いて行う。
これにより、電源電圧が異なる複数種類のUSBインタフェースを備えた外部デバイス、更に、UARTインタフェースにのみ対応する外部デバイスにも対応することができる。
以上説明した夫々に実施の形態によれば以下の作用効果を奏する。
〔1〕2個のCPU10,20に別々のパイプを割り当て、さらにエンドポイントとの通信に必要な情報をCPU間で受け渡しできる機能を持つことで、複数のCPUが1つのUSBホストモジュールを共有して時分割で通信することができる。
〔2〕CPU10とCPU20の間で割込みを利用してCPU通信を行うことができるから、マスタCPU10がエニュメレーションを行った結果をサブCPU20に早く伝達することができる。
〔3〕CPUはアクセス権限を有しないパイプに対するデバイスアドレスの指定やエンドポイント番号の指定などの制御情報の書き込みが制限されるから、他のCPUによる通信の妨害、盗聴、書換え防ぐことができ、秘匿性のある情報に対するセキュリティーの万全に資することができる。
〔4〕パイプで発生する割込みは当該パイプに対する制御権限のあるCPUにのみ通知されるから、他のCPUに無駄な割り込み処理が発生する事態を阻止することができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、一つのUSBホストモジュールを共有するCPUは2個に限定されず、3個以上であってもよい。本発明は携帯電話器に代表される通信携帯端末に適用する場合に限定されず、USBインタフェースを備えた各種電子機器に広く適用することができる。本発明に係るデータ処理装置はシングルチップの半導体装置に限定されず、マルチチップを1個のパッケージに搭載したモジュールデバイスとして構成することも可能である。また、データ処理装置1Dと電源制御半導体装置130とをシングルチップで構成することも可能である。
1 データ処理装置
1A データ処理装置
1B データ処理装置
1C データ処理装置
1D データ処理装置
2 USBデバイス
4,5 ファンクション
6 USBデバイスインタフェース
EP0〜EPn エンドポイント0〜エンドポイントn
10 マスタ中央処理装置
20 サブ中央処理装置
11、21 割込みコントローラ(INTC)
12,22 バス
30 共有バス
32 USBホストモジュール
40 バスインタフェース
41 マスタバスインタフェース(MBIF)
41C マスタバスインタフェース
42 サブバスインタフェース(SBIF)
50 アクセス制御レジスタ回路
60 アクセス制御回路
60B アクセス制御回路
70 USBホストインタフェース
70B USBホストインタフェース
80 CPU間通信回路
92 CPU10からCPU20への通信を行うための通信回路(MtSCom)
91 CPU20からCPU10への通信を行うための通信回路(StMCom)
100 ベースバンド部
102 UARTインタフェースモジュール
101 IICインタフェースモジュール
110 アプリケーション部
123 イネーブル信号IC_OEの出力端子
124 非反転信号IC_DPとクロック信号ID_CLKの共用端子
125 反転信号IC_DMとデータ信号ID_IOの共用端子
126 リセット信号ID_RSの出力端子
130 電源制御半導体装置(デバイス制御装置)
501 USBホストプロトコルエンジン選択レジスタ
502 パイプ0CPU選択レジスタ
503 CPUポート選択レジスタ
504 DMAポート選択レジスタ
505,507 書込み値許可レジスタ
600 レジスタ書込み・読み出し制御回路
620 USB制御レジスタ
640 USB制御レジスタ
660 アクセスレジスタ選択回路
621 プロトコルエンジン制御レジスタ
622 パイプPIPE0制御レジスタ
623 CPUポート制御レジスタ
624 DMAポート制御レジスタ
641 プロトコルエンジン制御レジスタ
642 パイプPIPE0制御レジスタ
643 CPUポート制御レジスタ
644 DMAポート制御レジスタ
602,604 読出し値制御回路
626 パイプ0割込み許可レジスタ
627 割込み要因レジスタ
646 パイプ0割込み許可レジスタ
647 割込み要因レジスタ
60A アクセス制御回路
650 USB制御レジスタ
600A レジスタ書込み・読出し制御回路
600B レジスタ書込み・読出し制御回路
680 USB制御レジスタ
681 USB制御レジスタ
681C USB制御レジスタ
700 USBプロトコルエンジン
720 パイプ回路
740 ポート回路
741 CPUポート
742 DMAポート
731 パイプ0の割込み要求信号
731 第1パイプ回路
751 第1ポート回路
732 第2パイプ回路
752 第2ポート回路
IRQ1 割込み要求信号
IRQ2 割込み要求信号
IRQ4 割込み要求信号
IRQ3 割込み要求信号
920 データレジスタ
921 割り込み許可レジスタ
922 割り込みフラグレジスタ

Claims (23)

  1. 複数個の中央処理装置と、前記複数個の中央処理装置に接続されるUSBホストモジュールとを有するデータ処理装置であって、
    前記USBホストモジュールは、前記データ処理装置の外部からUSBデバイスが接続されるUSBホストインタフェースと、前記複数個の中央処理装置に接続されるバスインタフェースと、前記バスインタフェースに接続され特定の中央処理装置によってアクセスされるアクセス制御レジスタ回路と、前記アクセス制御レジスタ回路に設定された内容に従って前記USBホストインタフェースを制御するアクセス制御回路とを有し、
    前記USBホストインタフェースは、前記データ処理装置の外部から接続されたUSBデバイスの任意のエンドポイントと通信するためのパイプを複数個有するパイプ回路と、前記パイプからのトランザクション転送要求を処理するUSBホストプロトコルエンジンとを有し、
    前記アクセス制御レジスタ回路は、前記パイプに対する制御権限をいずれの中央処理装置に認めるかを指定する第1のアクセス制御レジスタを有し、
    前記アクセス制御回路は、前記第1のアクセス制御レジスタの設定に合わせて夫々のパイプ毎にアクセス権限のある中央処理装置からの制御情報のみを当該パイプに伝える、データ処理装置。
  2. 前記アクセス制御レジスタ回路は、前記USBホストプロトコルエンジンに対する制御権限を何れの中央処理装置に認めるかを指定する第2のアクセス制御レジスタを有し、
    前記アクセス制御回路は、第2のアクセス制御レジスタで指定された中央処理装置からの制御情報のみをUSBホストプロトコルエンジンに伝える、請求項1記載のデータ処理装置。
  3. 前記USBホストインタフェースは、前記パイプ回路のパイプに対する前記中央処理装置との間でトランザクションの入出力を行うCPUポートを有し
    前記アクセス制御レジスタ回路は、前記CPUポートに対する制御権限を何れの中央処理装置に認めるかを指定する第3のアクセス制御レジスタを有し、
    前記CPUポートは、第3のアクセス制御レジスタによって制御権限が認められたCPUとの間でトランザクションの入出力を行う、請求項2記載のデータ処理装置。
  4. DMAコントローラを有し、
    前記USBホストインタフェースは、前記パイプ回路のパイプに対する前記DMAコントローラとの間でトランザクションの入出力を行うDMAポートを有し
    前記アクセス制御レジスタ回路は、前記DMAポートに対する制御権限を何れの中央処理装置に認めるかを指定する第4のアクセス制御レジスタを有し、
    前記DMAポートは、第4のアクセス制御レジスタによって制御権限が認められたCPUによりDMAコントローラに設定された転送条件によるデータ転送制御に従ってトランザクションの入出力を行う、請求項2記載のデータ処理装置。
  5. 前記アクセス制御レジスタ回路は、前記パイプに割当て可能な機能をパイプ毎に指定する第5のアクセス制御レジスタを有し、
    前記アクセス制御回路は、パイプに伝える制御情報を前記第5のアクセス制御レジスタに設定された範囲に制限する、請求項3又は4記載のデータ処理装置。
  6. パイプに伝える前記制御情報は、エンドポイント番号及びデバイスアドレスを含む、請求項5記載のデータ処理装置。
  7. 前記アクセス制御回路は、中央処理装置からの制御データを格納するUSB制御レジスタを中央処理装置毎に備えると共に、中央処理装置からのUSB制御レジスタへの制御データの書き込みを前記第5のアクセス制御レジスタの内容に従って制限する書き込み値制御回路を有する、請求項6記載のデータ処理装置。
  8. 前記アクセス制御回路は前記USB制御レジスタに接続するアクセスレジスタ選択回路を有し、前記アクセスレジスタ選択回路は前記第1制御レジスタ乃至第4制御レジスタで指定された中央処理装置に対応する前記USB制御レジスタの内容を選択して前記USBホストインタフェース回路に与える、請求項7記載のデータ処理装置。
  9. 前記アクセス制御回路は、中央処理装置からの制御データを格納するUSB制御レジスタを備えると共に、中央処理装置からのUSB制御レジスタへの制御データの書き込みを前記第5のアクセス制御レジスタの内容に従って制限する書き込み値制御回路を有する、請求項6記載のデータ処理装置。
  10. 前記アクセス制御回路は前記USB制御レジスタに接続する書込み可否制御回路を有し、
    前記書込み可否制御回路は前記第1制御レジスタ乃至第4制御レジスタで指定された中央処理装置以外の中央処理装置による前記USB制御レジスタへの書き込みを拒絶する、請求項9記載のデータ処理装置。
  11. 前記アクセス制御回路は、夫々のパイプからの割込み要求を前記第1制御レジスタで指定された中央処理装置に向けて供給する割込み要求制御回路を有する、請求項1記載のデータ処理装置。
  12. 前記複数の中央処理装置のうちの一つの中央処理装置と他の中央処理装置との間の相互通信を行う通信回路を有し、
    前記通信回路は、通信したい情報が前記中央処理装置によって書込み及び読み出し可能に格納される記憶回路を有し、通信したい中央処理装置が通信相手の中央処理装置からの割込み許可を受けて通信フラグをセットすることにより当該通信相手の中央処理装置に向けて割り込みを要求する、請求項1記載のデータ処理装置。
  13. 複数個の中央処理装置と、前記複数個の中央処理装置に接続されるUSBホストモジュールとを有するデータ処理装置であって、
    前記USBホストモジュールは、前記データ処理装置の外部からUSBデバイスが接続されるUSBホストインタフェースと、前記複数個の中央処理装置に接続されるバスインタフェースと、前記バスインタフェースに接続され特定の中央処理装置によってアクセスされるアクセス制御レジスタ回路と、前記アクセス制御レジスタ回路に設定された内容に従って前記USBホストインタフェースを制御するアクセス制御回路とを有し、
    前記USBホストインタフェースは、前記データ処理装置の外部から接続されたUSBデバイスのエンドポイントと通信するためのパイプを複数個有し前記中央処理装置毎に個別化されたパイプ回路と、前記パイプ回路と中央処理装置との間でトランザクションの入出力を行い前記中央処理装置毎に個別化されたCPUポートと、前記パイプからのトランザクション転送要求を処理するUSBホストプロトコルエンジンとを有し、
    前記アクセス制御レジスタ回路は、前記パイプに割当て可能な機能をパイプ毎に指定し、
    前記アクセス制御回路は、前記USBホストインタフェースを制御するための情報が中央処理装置毎に個別化されて設定されるUSB制御レジスタを有し、前記USB制御レジスタに設定される制御情報を前記アクセス制御レジスタに設定された範囲に制限する、データ処理装置。
  14. パイプに伝える前記制御情報は、エンドポイント番号及びデバイスアドレスを含む、請求項13記載のデータ処理装置。
  15. 前記特定の中央処理装置に対応されるUSB制御レジスタだけが前記USBホストプロトコルエンジンに伝える制御情報を格納可能である、請求項14記載のデータ処理装置。
  16. DMAコントローラを有し、
    前記USBホストインタフェースは、前記パイプ回路のパイプに対する前記DMAコントローラとの間でトランザクションの入出力を行い前記中央処理装置毎に個別化されたDMAポートを有し
    前記DMAポートは、対応するCPUによりDMAコントローラに設定された転送条件によるデータ転送制御に従ってトランザクションの入出力を行う、請求項15記載のデータ処理装置。
  17. 前記特定の中央処理装置以外の中央処理装に対応されるUSB制御レジスタは前記特定の中央処理装置による操作が可能にされる、請求項13記載のデータ処理装置。
  18. 前記特定の中央処理装置による操作が可能にされる制御情報はエンドポイント番号及びデバイスアドレスの情報である、請求項17記載のデータ処理装置。
  19. 前記USBホストモジュールと選択的に利用可能にされるその他のシリアルインタフェースに対応するシリアルインタフェースモジュールを有する、請求項1記載のデータ処理装置。
  20. 前記シリアルインタフェースモジュールはUARTインタフェースモジュールである、請求項19記載のデータ処理装置。
  21. 前記データ処理装置の外部端子のうち前記USBホストモジュールに接続する端子の一部と前記シリアルインタフェースモジュールに接続する端子とは共通端子とされる、請求項19記載のデータ処理装置。
  22. 請求項21記載のデータ処理装置と、前記データ処理装置の外部端子のうち前記USBホストモジュールに接続する端子と前記シリアルインタフェースモジュールに接続する端子とを介して前記データ処理装置に接続されると共に、外部デバイスが着脱可能に接続されるデバイス制御回路とを有し、
    前記デバイス制御回路はこれに接続される外部デバイスに動作電源として第1電源電圧又は第2電源電圧を供給すると共に前記データ処理装置に接続する外部端子と前記外部デバイスに接続する外部端子との対応を制御し、
    前記データ処理装置は、前記デバイス制御回路に外部デバイスへの第1電源電圧の供給を指示すると共にUSBホストモジュールを用いた通信を指示し、これに対する外部デバイスからの第1の応答があれば、前記USBホストモジュールの使用を選択し前記シリアルインタフェースモジュールの使用を非選択とし、
    前記第1の応答がなければ、前記デバイス制御回路に外部デバイスへの第2電源電圧の供給を指示すると共にUSBホストモジュールを用いた通信を指示し、これに対する外部デバイスからの第2の応答があれば、前記USBホストモジュールの使用を選択し前記シリアルインタフェースモジュールの使用を非選択とし、
    前記第2の応答がなければ前記USBホストモジュールの使用を非選択し前記シリアルインタフェースモジュールの使用を選択とする、請求項21記載のデータ処理システム。
  23. 前記第1の電源電圧は1.8V、前記第2の電源電圧は3.0Vである、請求項22記載のデータ処理システム。
JP2009216789A 2009-09-18 2009-09-18 データ処理装置及びデータ処理システム Expired - Fee Related JP5506304B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009216789A JP5506304B2 (ja) 2009-09-18 2009-09-18 データ処理装置及びデータ処理システム
US12/854,284 US8335883B2 (en) 2009-09-18 2010-08-11 Data processing device and data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009216789A JP5506304B2 (ja) 2009-09-18 2009-09-18 データ処理装置及びデータ処理システム

Publications (2)

Publication Number Publication Date
JP2011065514A true JP2011065514A (ja) 2011-03-31
JP5506304B2 JP5506304B2 (ja) 2014-05-28

Family

ID=43757593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009216789A Expired - Fee Related JP5506304B2 (ja) 2009-09-18 2009-09-18 データ処理装置及びデータ処理システム

Country Status (2)

Country Link
US (1) US8335883B2 (ja)
JP (1) JP5506304B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146278A (ja) * 2013-01-30 2014-08-14 Ricoh Co Ltd スイッチ装置、画像処理装置、及び排他制御方法
US20230027611A1 (en) * 2021-07-26 2023-01-26 Realtek Semiconductor Corporation Power supply device, power supply system and non-transitory computer-readable recording medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8626979B2 (en) * 2010-12-22 2014-01-07 Intel Corporation Common protocol engine interface for a controller interface
US8826081B2 (en) * 2011-08-25 2014-09-02 Ultrasoc Technologies, Ltd. Data processing apparatus and related methods of debugging processing circuitry
EP2610744A1 (en) * 2011-12-28 2013-07-03 Samsung Electronics Co., Ltd. Electronic system, control method thereof, display apparatus, upgrade apparatus, and data input/output processing method of display apparatus
CN104794086B (zh) * 2015-03-27 2017-10-27 北京交大思诺科技股份有限公司 一种串行通信的安全系统和安全的串行通信方法
GB202001700D0 (en) * 2020-02-07 2020-03-25 Blancco Tech Group Ip Oy USB controller endpoint resource management
US11645216B2 (en) * 2020-11-30 2023-05-09 Dell Products L.P. Systems and methods for single-wire in-band pulse-addressable multiplexer
US20220200807A1 (en) * 2020-12-17 2022-06-23 Nxp B.V. Device attestation

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421751B1 (en) * 1998-11-23 2002-07-16 Advanced Micro Devices, Inc. Detecting a no-tags-free condition in a computer system having multiple outstanding transactions
JP2003091501A (ja) * 2001-09-17 2003-03-28 Matsushita Electric Ind Co Ltd 情報処理装置
JP2004199187A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd Cpu内蔵lsi
JP2005184760A (ja) * 2003-12-23 2005-07-07 Kotatsu Kokusai Denshi Kofun Yugenkoshi シリアル/パラレルデータ変換モジュール及びコンピューターシステム
JP2006502491A (ja) * 2002-10-10 2006-01-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Usbおよび類似用途向けのdmaコントローラ
JP2006155067A (ja) * 2004-11-26 2006-06-15 Nec Access Technica Ltd 記憶装置及び記憶装置制御方法
JP2008271215A (ja) * 2007-04-20 2008-11-06 Silex Technology Inc Usbハブ
JP2009130850A (ja) * 2007-11-27 2009-06-11 Oki Data Corp 画像処理装置及び通信装置、並びに画像処理システム
JP2009134393A (ja) * 2007-11-29 2009-06-18 Renesas Technology Corp データ処理装置及び通信装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256173A (ja) 2000-03-13 2001-09-21 Nec Corp カード実装状態監視装置及びカード実装状態監視方法
JP3636158B2 (ja) * 2002-04-19 2005-04-06 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US8200856B2 (en) * 2006-05-25 2012-06-12 Qualcomm Incorporated Flow control for universal serial bus (USB)
JP5456434B2 (ja) * 2009-10-22 2014-03-26 ルネサスエレクトロニクス株式会社 パイプ調停回路、パイプ調停方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421751B1 (en) * 1998-11-23 2002-07-16 Advanced Micro Devices, Inc. Detecting a no-tags-free condition in a computer system having multiple outstanding transactions
JP2003091501A (ja) * 2001-09-17 2003-03-28 Matsushita Electric Ind Co Ltd 情報処理装置
JP2006502491A (ja) * 2002-10-10 2006-01-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Usbおよび類似用途向けのdmaコントローラ
JP2004199187A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd Cpu内蔵lsi
JP2005184760A (ja) * 2003-12-23 2005-07-07 Kotatsu Kokusai Denshi Kofun Yugenkoshi シリアル/パラレルデータ変換モジュール及びコンピューターシステム
JP2006155067A (ja) * 2004-11-26 2006-06-15 Nec Access Technica Ltd 記憶装置及び記憶装置制御方法
JP2008271215A (ja) * 2007-04-20 2008-11-06 Silex Technology Inc Usbハブ
JP2009130850A (ja) * 2007-11-27 2009-06-11 Oki Data Corp 画像処理装置及び通信装置、並びに画像処理システム
JP2009134393A (ja) * 2007-11-29 2009-06-18 Renesas Technology Corp データ処理装置及び通信装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146278A (ja) * 2013-01-30 2014-08-14 Ricoh Co Ltd スイッチ装置、画像処理装置、及び排他制御方法
US20230027611A1 (en) * 2021-07-26 2023-01-26 Realtek Semiconductor Corporation Power supply device, power supply system and non-transitory computer-readable recording medium
US11991011B2 (en) * 2021-07-26 2024-05-21 Realtek Semiconductor Corporation Power supply device, power supply system and non-transitory computer-readable recording medium

Also Published As

Publication number Publication date
US20110072184A1 (en) 2011-03-24
US8335883B2 (en) 2012-12-18
JP5506304B2 (ja) 2014-05-28

Similar Documents

Publication Publication Date Title
JP5506304B2 (ja) データ処理装置及びデータ処理システム
JP3790713B2 (ja) 共用バス上の装置に対するトランザクションの選択的宛先設定
JP4799417B2 (ja) ホストコントローラ
US20080059679A1 (en) Application processor circuit incorporating both sd host and slave functions and electronic device including same
JP2007058518A (ja) メモリカード
JP2002530744A (ja) 多重レベル接続識別を備えた通信のシステムおよび方法
JP2006522414A (ja) 仮想周辺コンポーネントインターコネクト多重ファンクション装置
CN108304334B (zh) 应用处理器和包括中断控制器的集成电路
EP1730643A2 (en) Pvdm (packet voice data module) generic bus protocol
TW200305082A (en) Data processing system with peripheral access protection and method therefor
US20110014951A1 (en) Sd switchbox in a cellular handset
US8756356B2 (en) Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size
JP4408840B2 (ja) Hddコントローラ及びそれを搭載したシステム
JP2005293596A (ja) データ要求のアービトレーション
US20140052879A1 (en) Processor, information processing apparatus, and interrupt control method
JP2004030161A (ja) コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム
US10185684B2 (en) System interconnect and operating method of system interconnect
JPH09153009A (ja) 階層構成バスのアービトレーション方法
JP2009129402A (ja) Icカード用半導体装置、icカード、及びicカード用端末装置
JP2006293536A (ja) バスシステム
KR102333544B1 (ko) 마이크로컴퓨터 시스템용 인터럽트-구동 i/o 중재기
JP2727514B2 (ja) 転送先id指定回路
JP3718764B2 (ja) コンピュータ装置、回路基板およびコンピュータにおける拡張デバイスの選択方法
WO2006128348A1 (fr) Controleur de cartes ci et procede de commande de cartes ci
JP2001027920A (ja) バスブリッジ回路及びそのパワーマネージメント方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130926

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140318

R150 Certificate of patent or registration of utility model

Ref document number: 5506304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees