JP2003242096A - Usbコントローラ - Google Patents
UsbコントローラInfo
- Publication number
- JP2003242096A JP2003242096A JP2002039283A JP2002039283A JP2003242096A JP 2003242096 A JP2003242096 A JP 2003242096A JP 2002039283 A JP2002039283 A JP 2002039283A JP 2002039283 A JP2002039283 A JP 2002039283A JP 2003242096 A JP2003242096 A JP 2003242096A
- Authority
- JP
- Japan
- Prior art keywords
- usb
- data
- request
- controller
- host
- 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.)
- Pending
Links
Abstract
な、また応答データをRAMに格納することでレジスタ
に格納するよりも回路規模を小さくできるUSBコント
ローラを提供する。 【解決手段】 USBホスト1からのデータ送信を伴う
コントロール転送のリクエストに対して、ユーザ回路の
介在無しに自動応答を行うUSBコントローラ21にお
いて、リクエストの応答データを初期設定の際に予め書
き込んでおく、USBコントローラ21の動作に関する
各種設定を行うレジスタ16とは独立した記憶手段(自
動応答値メモリ14)と、USBホスト1から自動応答
を行うリクエストが来た際に記憶手段に書き込んでおい
たデータを読み出してUSBホスト1に出力するシリア
ル入力エンジン12とを備えた。
Description
Serial Bus)コントローラに関し、特にUSBホストへ
データ送信を伴うコントロール転送のリクエストに対し
て、ユーザ回路の介在無しに自動応答を行うUSBコン
トローラに関する。
コントロール転送のリクエストに対してユーザ回路の介
在無しに自動応答を行うUSBコントローラに関連する
従来技術として、特開2000−305890公報記載
のインターフェースボックスが挙げられる。また、製品
としてはNetChip社のUSBコントローラIC(N
etChip2270)等が挙げられる。近年、パーソナルコンピ
ュータ(PC)と周辺機器を接続するインターフェース
としてUSBが使用されている。USBではPCが唯一
のホストとなり、このホストの下に複数のデバイスがツ
リー状に接続され、デバイスのUSBコントローラがそ
れぞれ固有のアドレスを持つ。ホストであるPCは固有
のアドレスのUSBコントローラに対してデータ送受信
の要求とデータの送受信を行う。USBコントローラで
はホストからのデータ送受信の要求を受信した時に、割
込み信号等の手段でユーザ回路に対してホストからデー
タ送受信の要求を受けたことを通知する。そして、ユー
ザ回路はUSBコントローラからデータ送受信の要求の
内容を読み出して、USBコントローラがホストから受
信したデータを読み出し、また、ホストに対する送信デ
ータをUSBコントローラに書き込む。なお、USBコ
ントローラはホストに対してデータを送信する、また
は、ホストからのデータ受信する、通常FIFOメモリ
(First In First Out Memory)からなるエンドポイン
トを複数持つ(その数は規格によって決められてい
る)。そして、デバイスのUSBコントローラのローカ
ルバスに接続される機器は、エンドポイントのFIFO
メモリに対してアクセスすることになる。ところで、U
SBバスでのデータの転送は、パケットという単位で行
われる。パケットには転送方向やセットアップ情報を送
るトークンパケット、実際のデータであるデータパケッ
ト、データ転送結果(成功・失敗)を送るハンドシェイ
クパケットの種類がある。また、転送の種類も、エンド
ポイントゼロを介して行われるデバイスの初期化や各種
情報のやりとりに使用するコントロール転送、転送周期
を問わずプリンタのデータのように、まとまった量のデ
ータを転送するバルク転送、マウス、キーボードのステ
ータスを送るような一定周期で少量のデータを送るイン
タラプト転送、音声データなどリアルタイムのデータを
送るときにデータの正当性を保証しない代わりにバンド
幅を保証するアイソクロナス転送、の4つのデータ転送
のモードがある。このうち、コントロール転送について
は、ユーザ回路の負担を減らす為にユーザ回路の介在無
しにUSBコントローラがホストからのデータ送受信の
要求に対して応答を行う場合がある。USBコントロー
ラがユーザ回路の介在無しにホストからのデータ送信要
求に対してデータ送信を行う場合、従来はホストに対す
る送信データをUSBコントローラの動作に関する各種
設定を行うレジスタに格納しておき、その値を常にシリ
アル入力エンジンに出力しておくか、ホストからの送信
要求が来た場合にシリアル入力エンジンに出力して、シ
リアル入力エンジンがホストに送信するものが知られて
いる。
である。USBトライシーバ11は、USBバスに接続
され、図中には示されないUSBホストから送信された
パケットをUSBバスの信号から論理信号に変換して、
次に説明するシリアル入力エンジン12に出力すると同
時に、シリアル入力エンジン12からUSBホストに送
信するパケットを論理信号からUSBバスの信号に変換
してUSBホストに出力する。シリアル入力エンジン1
2は、USBトランシーバ11から入力されるUSBホ
ストから送信されたパケットのうちトークンパケット、
ハンドシェークパケットをデコードし、それを基にUS
Bホスト1との通信制御を行い、必要に応じてハンドシ
ェークパケットをUSBトランシーバ11に出力する。
またシリアル入力エンジン12は、USBホストに出力
するデータを次に説明するエンドポイント群13から読
み出し、制御データを付加してデータパケットとしてU
SBトランシーバ11に出力し、USBトランシーバ1
1で入力するUSBホストからのデータパケットの中の
データをエンドポイント群13に書き込む制御を行う。
またシリアル入力エンジン12は、コントロール転送の
自動応答リクエストに対しては後で説明するレジスタ1
6から自動応答データを読み出し、制御データを付加し
てデータパケットとしてUSBトランシーバ11に出力
する。エンドポイント群13は、ローカルバスから受信
しUSBホストへ送信するデータをバッファリングする
とともに、USBホストから受信しローカルバスに送信
するデータをバッファリングする。I/Oコントローラ
15は、図中には示されないユーザ回路とエンドポイン
ト群13、次に述べるレジスタの間でのデータ転送の制
御を行う。レジスタ16は、USBコントローラの内部
モジュールの各種設定を行い、またコントロール転送の
自動応答リクエストを格納しておく。エンドポイント群
13は、エンドポイントゼロ(図中の130)とコント
ロール転送以外の転送で使用される複数のエンドポイン
ト131、・・・、13nから構成される。ここでエンド
ポイントゼロ130は、コントロール転送で使用される
双方向のエンドポイントで、USBホストから見た場合
のエンドポイント番号は0に固定されている。この点を
除いて、他のエンドポイントは、単一の転送方向(US
Bホストに対して出力または入力)のエンドポイント
で、転送方法、転送の向き、USBホストから見た場合
のエンドポイント番号は0以外に固定、もしくは、レジ
スタ16にユーザが設定して使用する。
ストに対するデータ送信を伴うコントロール転送のリク
エストのとき、自動応答を行うリクエストに対しては、
シリアル入力エンジン12がレジスタ16に格納した自
動応答データを読み出して、制御信号を付加してデータ
パケットとしてUSBトランシーバ11に出力して、U
SBトランシーバ11でUSBバスの信号に変換してU
SBホストに出力する。自動応答を行わないリクエスト
に対しては、リクエストを受信してからユーザ回路から
I/Oコントローラ15を介してエンドポイントゼロ1
30にデータを書き込み、シリアル入力エンジン12が
エンドポイントゼロ130にデータが書き込まれた後の
データ送信要求に対してエンドポイントゼロ130から
データを読み出して、制御信号を付加してデータパケッ
トとしてUSBトランシーバ11に出力する。USBト
ランシーバ11ではこれをUSBバスの信号に変換して
USBホストに出力する。
は送信データをレジスタに格納しているために、送信デ
ータのサイズ・種類等の変更が困難であった。また、レ
ジスタは構成に必要な素子数が他のメモリデバイスに比
べて多いので格納するデータ量が増やし難いという問題
があった。そこで、本発明は、USBコントローラがユ
ーザ回路の介在無しにホストからのデータ送信要求に対
して、データ送信を行う場合の送信データを、初期設定
の際に予めRAM(記憶手段)に書き込んでおき、USB
ホストから自動応答を行うリクエストが来た際に、SI
E(シリアル入力エンジン)がRAMから書き込んでおい
たデータを読み出してUSBホストに出力することで、
送信データのサイズ・種類等の変更が容易な、また応答
データをRAMに格納することで、レジスタに格納する
よりも回路規模を小さくできるUSBコントローラを提
供することを目的とする。
に、請求項1のUSBコントローラは、USBホストか
らのデータ送信を伴うコントロール転送のリクエストに
対して自動応答を行うUSBコントローラにおいて、リ
クエストに対する応答データを初期設定の際に予め書き
込んでおく、USBコントローラの動作に関する各種設
定を行うレジスタとは独立した記憶手段と、USBホス
トから自動応答を行うリクエストが来た際に前記記憶手
段に書き込んでおいたデータを読み出してUSBホスト
に出力するシリアル入力エンジンとを備えたことを最も
主要な特徴とする。また、請求項2の発明は、請求項1
記載のUSBコントローラにおいて、前記記憶手段に書
き込んでおくリクエストの応答データをユーザが変更可
能としたことを特徴とする。また、請求項3の発明は、
請求項1記載のUSBコントローラにおいて、前記シリ
アル入力エンジンは、USBホストから自動応答を行う
リクエストが来た際に、リクエストの応答データの種類
・内容・サイズを基に、前記記憶手段のアドレスからデ
ータを読み込んでUSBホストに出力することを特徴と
する。また、請求項4記載の発明は、請求項1記載のU
SBコントローラにおいて、応答データを予め格納する
前記記憶手段と、レジスタと、エンドポイントのうちの
少なくとも2つでユーザ回路からの読み書きのインター
フェースを共通とすることを特徴とする。また、請求項
5記載の発明は、請求項1記載のUSBコントローラに
おいて、USBコントローラの初期設定の際にユーザ回
路から応答データを記憶手段に書き込み、同時にコント
ローラの動作に関する各種設定を行うレジスタに、記憶
手段に書き込まれるリクエストの種類・内容・サイズに
対応した値が設定されることを特徴とする。そして、請
求項6記載の発明は、請求項1記載のUSBコントロー
ラにおいて、USBコントローラの初期設定の際に予め
応答データを収めた不揮発メモリから応答データを記憶
手段に書き込み、同時にコントローラの動作に関する各
種設定を行うレジスタに、記憶手段に書き込まれるリク
エストの種類・内容・サイズに対応した値を設定するこ
とを特徴とする。
形態を詳細に説明する。図1はUSBバスの接続概念図
である。図中で1はルートHUB機能をもつUSBホス
ト、2a、2bはHUB、3a〜3dはデバイスであ
る。このようにUSBでは1つのホストの下に複数のH
UBまたはデバイスがツリー状に接続される。また、デ
バイス3は図2に示すようにUSBコントローラ21、
ターゲットの機器22から構成される。
SBコントローラの構成図である。USBトライシーバ
11は、USBバスに接続され、図中には示されないU
SBホスト1(図1)から送信されたパケットをUSBバ
スの信号から論理信号に変換して次に説明するシリアル
入力エンジン12に出力すると同時に、シリアル入力エ
ンジン12からUSBホスト1に送信するパケットを論
理信号からUSBバスの信号に変換してUSBホスト1
に出力する。シリアル入力エンジン12は、USBトラ
ンシーバ11から入力されるUSBホスト1から送信さ
れたパケットのうちトークンパケット、ハンドシェーク
パケットをデコードし、それを基にUSBホスト1との
通信制御を行い必要に応じてハンドシェークパケットを
USBトランシーバ11に出力する。またシリアル入力
エンジン12は、USBホスト1に出力するデータを次
に説明するエンドポイント群13から読み出し、制御デ
ータを付加してデータパケットとしてUSBトランシー
バ11に出力し、USBトランシーバ11で入力するU
SBホスト1からのデータパケットの中のデータをエン
ドポイント群13に書き込む制御を行う。またシリアル
入力エンジン12は、コントロール転送の自動応答リク
エストに対しては後で説明する自動応答値メモリ14か
ら自動応答データを読み出し、制御データを付加してデ
ータパケットとしてUSBトランシーバ11に出力す
る。エンドポイント群13は、ローカルバスから受信し
USBホスト1へ送信するデータをバッファリングする
とともに、USBホスト1から受信しローカルバスに送
信するデータをバッファリングする。自動応答値メモリ
14は、コントロール転送の自動応答値を保持する。I
/Oコントローラ15は、図中には示されないユーザ回
路とエンドポイント群13、次に述べるレジスタの間で
のデータ転送の制御を行う。レジスタ16は、USBコ
ントローラ21の内部モジュールの各種設定を行う。エ
ンドポイント群13は、エンドポイントゼロ(図中の1
30)とコントロール転送以外の転送で使用される複数
のエンドポイント131、・・・、13nから構成され
る。ここでエンドポイントゼロ130は、コントロール
転送で使用される双方向のエンドポイントでUSBホス
ト1から見た場合のエンドポイント番号は0に固定され
ている。この点を除いて、他のエンドポイントは、単一
の転送方向(USBホスト1に対して出力または入力)
のエンドポイントで、転送方法、転送の向き、USBホ
スト1から見た場合のエンドポイント番号は0以外に固
定、もしくは、レジスタ16にユーザが設定して使用す
る。なお、図中には示さないが、この他に内蔵する場合
があるモジュールとして、各モジュールにCLKを供給
するCLKモジュール、エンドポイントとユーザ回路と
の間でDMA転送を行う為のDMAコントローラが挙げ
られる。また、USBトランシーバ11はUSBコント
ローラ21とは別チップとする場合がある。
投入後まず初期設定が行われる。初期設定ではユーザ回
路からI/Oコントローラ15を介してレジスタ16に
USBコントローラ21の内部モジュールの各種設定が
行われる。自動応答値メモリ14に対してもユーザ回路
からI/Oコントローラ15を介してデバイスリクエス
トの自動応答データの書き込みを行い、同時に自動応答
データのスタートアドレスとサイズ、自動応答を行うリ
クエストの種類を変えることが可能な場合は、それも加
えた情報をI/Oコントローラ15を介してレジスタ1
6に書き込む。そして、初期設定終了後、USBホスト
1への接続が行われ、実際のデータ転送が開始される。
USBでの転送の種類は、先に説明したようにコントロ
ール転送、バルク転送、インタラプト転送、アイソクロ
ナス転送の4つのデータ転送のモードがあるが、本発明
はこのうち、コントロール転送に関わるものである。以
下に、その手順を説明する。コントロール転送は、セッ
トアップステージ、データステージ、ステータスステー
ジの3つのステージからなる。セットアップステージ
は、USBホスト1がUSBコントローラ21に対して
セットアップトークンパケットを送信することで開始す
る。USBホスト1は続けて8バイトのデータパケット
を送信してUSBコントローラ21にリクエストの内容
を示す。USBコントローラ21では、USBトランシ
ーバ11がUSBバスの信号を論理信号に変換してシリ
アル入力エンジン12に出力する。シリアル入力エンジ
ン12ではUSBトランシーバ11からの入力信号をデ
コードして、セットアップトークンと8バイトのデータ
パケットを受信したことが判るとUSBトランシーバ1
1にACKハンドシェークパケットを出力する。USB
トランシーバ11では、シリアル入力エンジン12から
入力したACKハンドシェークパケットをUSBバスの
信号に変換してUSBホスト1に返信してリクエストを
受信したことを示す。また、シリアル入力エンジン12
では同時にリクエストのデコードが行われる。ここまで
がセットアップステージである。
DESCRIPTORやGET_CONFIGRATIONのようにUSBホスト1
にデータを送信する場合や、SET_DESCRIPTORのようにU
SBホスト1からデータを受信する場合、あるいはSET_
CONFIGRATIONやSET_ADDRESSのようにデータ送受信を伴
わない場合などで動作が異なってくる。はじめにGET_DE
SCRIPTORやGET_CONFIGRATIONのようにUSBホスト1に
データを送信するリクエストの場合のデータステージで
あるが、そのリクエストが自動応答に対応するときは、
シリアル入力エンジン12は、該当するリクエストを自
動応答値メモリ14から読み出す為に、該当するリクエ
ストが格納されている領域のスタートアドレスを自動応
答値メモリ14に出力する等の準備を行う。リクエストが
自動応答に対応しないときは、シリアル入力エンジン1
2はセットアップリクエストを受信したことを示す信号
をレジスタ16に出力する。レジスタ16では、セット
アップリクエストを受信したことを示す信号が入力され
ると、ユーザ回路に対して割込み信号を出力する。ユー
ザ回路は割込みの要因確認を行い、この場合それがセッ
トアップリクエスト受信であるので、セットアップリク
エストの内容を示すレジスタからリクエストの内容を確
認し、それに対応するデータをI/Oコントローラ15
経由でエンドポイントゼロ130に書き込む。エンドポ
イントゼロ130では自動応答値メモリ14からのデー
タの書き込みと同様に、ユーザ回路からのデータ書き込
みが終了するとデータ送信の準備ができたことをシリア
ル入力エンジン12に伝える。
パケットに対するACKハンドシェークパケットを受信
した後でイントークンパケットをUSBコントローラ2
1に送信してデータの送信を要求する。USBコントロ
ーラ21では、USBトランシーバ11で論理信号に変
換されたUSBホスト1からのイントークンパケットが
シリアル入力エンジン12に入力されると、シリアル入
力エンジン12は、エンドポイントゼロ130に送信デ
ータの準備ができていない時はNAKハンドシェークパ
ケットをUSBトランシーバ11に出力し、USBコン
トローラ21はそれをUSBバスの信号に変換してUS
Bホスト1に返信してデータが準備できていないことを
示す。この場合USBホスト1は一定時間経過後再びU
SBコントローラ21にイントークンパケットを送信す
る。一方、データが準備できている時は、シリアル入力
エンジン12は、自動応答値メモリ14、または、エン
ドポイントゼロ130からデータを読み出し、制御信号
を付加してデータパケットとしてUSBトランシーバ1
1に出力し、USBトランシーバ11ではそれをUSB
バスの信号に変換してホストに返信する。USBコント
ーラ21からのデータパケットの受信が成功した場合U
SBホスト1はACKハンドシェークパケットをUSB
コントローラ21に送信する。ここまでがデータを送信
するリクエストの場合のデータステージである。なお、
USBコントーラ21からのデータパケットの返信が失
敗した場合、USBホスト1はUSBコントローラ21
に一定時間送信を行わないことでデータパケットの受信
失敗をUSBコントローラ21に示し、一定時間経過後
再びUSBコントローラ21にイントークンパケットを
送信する。次にUSBホスト1にデータを送信するリク
エストの場合のステータスステージであるが、USBホ
スト1は、先のデータステージでのACKハンドシェー
クパケット送信後に、アウトトークンパケットと、引き
続いてゼロレングスデータをUSBコントローラ21に
送信する。USBコントローラ21において、USBト
ランシーバ11で論理信号に変換されたUSBホスト1
からのアウトトークンパケットとゼロレングスパケット
(制御信号のみで構成され、実際のデータが含まれない
データパケット)がシリアル入力エンジン12に入力さ
れると、シリアル入力エンジン12は先のデータステー
ジでの後処理が終わっている場合はACKハンドシェー
クパケットをUSBトランシーバ11に出力し、USB
コントローラ11はそれをUSBバスの信号に変換して
USBホスト1に返信する。
場合のステータスステージである。なお、USBホスト
1からのアウトトークンパケットとゼロレングスパケッ
トがシリアル入力エンジン12に入力された際に、デー
タステージでの後処理が終わっていない場合は、シリア
ル入力エンジン12はNAKハンドシェークパケットを
USBトランシーバ11に出力し、USBコントローラ
11はそれをUSBバスの信号に変換してUSBホスト
1に返信する。この場合USBホスト1は一定時間経過
後再びアウトトークンパケットと、引き続いてゼロレン
グスデータをACKハンドシェークパケットが返信され
るまでUSBコントローラ21に出力する。なお、以上
はUSB1.1規格の場合で、USB2.0規格ではU
SBホスト1がアウトトークンパケットとゼロレングス
データパケットを送信する前にピングパケットをUSB
コントローラ21に出力する点がUSB1.1と異な
る。USBコントローラ21では、USBトランシーバ
11がUSBバスの信号を論理信号に変換してシリアル
入力エンジン12に出力し、シリアル入力エンジン12
がUSBトランシーバ11からの入力信号をデコードし
てピングトークンを受信すると、エンドポイントゼロ1
30がデータ書き込み可能な場合はACKハンドシェー
クパケットを、また、データ書き込みが不可能な場合は
NYETハンドシェークパケットをUSBトランシーバ
11に出力する。USBトランシーバ11では入力した
ハンドシェークパケットをUSBバスの信号に変換して
USBホスト1に返信する。USBホスト1では、AC
Kハンドシェークパケットが返信された場合は以後US
B1.1と同様のデータステージの動作が行われる。一
方NYETハンドシェークパケットが返信された場合
は、再びACKハンドシェークパケットが返信されるま
でUSBコントローラ21に対してピングトークンパケ
ットを送信する。
1からデータを受信するリクエストの場合のデータステ
ージであるが、USBホスト1は先のセットアップステ
ージでのACKハンドシェーク受信後にアウトトークン
パケットを、続けてデータパケットをUSBコントロー
ラ21に送信する。USBコントローラ21ではUSB
トランシーバ11がUSBバスの信号を論理信号に変換
してシリアル入力エンジン12に出力する。シリアル入
力エンジン12は、USBトランシーバ11からの入力
信号をデコードしてアウトトークンを受信すると直ちに
エンドポイントゼロ130に対するデータ書き込みの準
備を行い、USBトランシーバ11に論理信号に変換さ
れたデータパケットが入力すると、そのデータパケット
の中のデータをエンドポイントゼロ130へ書き込む。
そして、エンドポイントゼロ130へのデータ書き込み
が正常に終了すると、シリアル入力エンジン12は、U
SBトランシーバ11にACKハンドシェークパケット
を出力し、USBトランシーバ11はそれをUSBバス
の信号に変換してUSBホスト1に出力する。ここまで
がデータを受信するリクエストの場合のデータステージ
である。一方、ここでCRCエラー等でUSBコントー
ラ21からのデータパケットの受信やエンドポイントゼ
ロ130への書き込みが失敗した場合、USBホスト1
はUSBコントローラ21に一定時間送信を行わないこ
とで、データパケットの受信失敗をUSBコントローラ
21に示し、一定時間経過後再びUSBコントローラ2
1にアウトトークンパケットを送信する。なお、エンド
ポイントゼロ130では、シリアル入力エンジン12か
らのデータ書き込みが成功すると、レジスタ16に対し
てデータ受信信号を出力する。レジスタ16では、デー
タ受信信号が入力すると、ユーザ回路に対して割込み信
号を出力する。ユーザ回路は割込みの要因確認を行い、
この場合それがデータ受信信号であるので、I/Oコン
トローラ15経由でエンドポイントゼロ130からのデ
ータ読み出しを開始する。以上はUSB1.1規格の場
合で、USB2.0規格ではUSBホスト1がアウトト
ークンパケットとデータパケットを送信する前に、ピン
グパケットをUSBコントローラ21に出力する点がU
SB1.1と異なる。USBコントローラ21では、U
SBトランシーバ11がUSBバスの信号を論理信号に
変換してシリアル入力エンジン12に出力し、シリアル
入力エンジン12がUSBトランシーバ11からの入力
信号をデコードしてピングトークンを受信すると、エン
ドポイントゼロ130がデータ書き込み可能な場合はA
CKハンドシェークパケットを、データ書き込み不可能
な場合はNYETハンドシェークパケットをUSBトラ
ンシーバ11に出力する。USBトランシーバ11で
は、入力したハンドシェークパケットをUSBバスの信
号に変換してUSBホスト1に返信する。USBホスト
では、ACKハンドシェークパケットが返信された場合
は、以後USB1.1と同様のデータステージの動作が
行われる。一方NYETハンドシェークパケットが返信
された場合は、再びACKハンドシェークパケットが返
信されるまでUSBコントローラ21に対してピングト
ークンパケットを送信する。
リクエストの場合のステータスステージであるが、US
Bホスト1は、先のデータステージでのACKハンドシ
ェークパケット送信後にイントークンパケットをUSB
コントローラ21に送信する。USBコントローラ21
ではUSBトランシーバ11がUSBバスの信号を論理
信号に変換してシリアル入力エンジン12に出力する。
そして、シリアル入力エンジン12がUSBトランシー
バ11からの入力信号をデコードしてイントークンを受
信すると、先のデータステージでエンドポイントゼロ1
30に書き込まれたデータに対するユーザ回路からの読
み出しが終了している場合は、ゼロレングスデータのデ
ータパケットをUSBトランシーバ11に出力し、US
Bトランシーバ11はそれをUSBバスの信号に変換し
てUSBホスト1に出力する。USBホスト1は、ゼロ
レングスデータパケットを受信するとACKハンドシェ
ークパケットをUSBコントローラ21に出力する。こ
こまでがデータを受信するリクエストの場合のステータ
スステージである。なお、エンドポイントゼロに書き込
まれたデータに対するユーザ回路からの読み出しが終了
している場合は、シリアル入力エンジン12はNAKハ
ンドシェークパケットをUSBトランシーバ11に出力
し、USBコントローラ21はそれをUSBバスの信号
に変換してUSBホスト1に返信する。この場合USB
ホスト1は、一定時間経過後再びイントークンパケット
を、ゼロレングスデータパケットが返信されるまでUS
Bコントローラ21に出力する。最後に、SET_CONFIGRA
TIONやSET_ADDRESSのようにデータ送受信を伴わないリ
クエストの場合、データステージはなく、シリアル入力
エンジン12は、セットアップステージで受信した8バ
イトのデータを基にUSBコントローラ21のアドレス
等の設定値の更新やHALT等の設定を行い、データ転
送の方向に応じてデータ送受信を伴う場合と同様のステ
ータスステージが行われる。
SBコントローラの構成図である。図4のUSBコント
ローラ21の動作は、初期設定の際に予めから応答デー
タを収めたROM17、またはフラッシュメモリ等の電
源遮断時もデータの保持が可能な不揮発メモリから応答
データをRAMに書き込み、同時にコントローラの動作
に関する各種設定を行うレジスタ16に、RAMに書き
込まれるリクエストの種類・内容・サイズに対応した値
を設定することを除いて図3のUSBコントローラ21
と同じである。
は、リクエストの応答データを、初期設定の際に予め独
立したRAM(記憶手段)に書き込んでおき、USBホス
トから自動応答を行うリクエストが来た際に、シリアル
入力エンジンがRAMに書き込んでおいたデータを読み
出してUSBホストに出力することで、USBホストに
対するデータ送信を伴うコントロール転送のリクエスト
に対して、ユーザ回路の介在無しに自動応答を行う、自
由度の高いUSBコントローラを実現できる。請求項2
の発明は、RAMに書き込むリクエストの応答データの
種類・内容・サイズをUSBコントローラの動作に関す
る各種設定を行うレジスタに保持して、ユーザが変更可
能とすることで、請求項1のUSBコントローラの具体
的な構成を実現できる。請求項3の発明は、シリアル入
力エンジンが、USBホストから自動応答を行うリクエ
ストが来た際に、レジスタから入力されるRAMに書き
込んであるリクエストの応答データの種類・内容・サイ
ズを基に、リクエストが格納されているRAMのアドレ
スからデータを読み込んでUSBホストに出力すること
で、請求項1のUSBコントローラの具体的な動作を実
現できる。請求項4の発明は、応答データを予め格納す
るRAM、レジスタ、エンドポイントのうちの少なくと
も2つでユーザ回路からの読み書きのインターフェース
を共通とすることで、ユーザインターフェースの信号数
を増加させずに請求項1のUSBコントローラの具体的
な動作を実現できる。請求項5の発明は、初期設定の際
にユーザ回路から応答データをRAMに書き込み、同時
にコントローラの動作に関する各種設定を行うレジスタ
に、RAMに書き込まれるリクエストの種類・内容・サ
イズに対応した値が設定されることで、請求項1のUS
Bコントローラの具体的な動作を実現できる。請求項6
の発明は、初期設定の際に予めから応答データを収めた
ROMまたはフラッシュメモリ等の電源遮断時もデータ
の保持が可能なメモリから応答データをRAMに書き込
み、同時にコントローラの動作に関する各種設定を行う
レジスタに、RAMに書き込まれるリクエストの種類・
内容・サイズに対応した値を設定することで、さらにユ
ーザ回路が初期設定に要する時間を減らしたUSBコン
トローラを実現できる。
ローラの構成図である。
ローラの構成図である。
Claims (6)
- 【請求項1】 USBホストからのデータ送信を伴うコ
ントロール転送のリクエストに対して自動応答を行うU
SBコントローラにおいて、リクエストに対する応答デ
ータを初期設定の際に予め書き込んでおく、USBコン
トローラの動作に関する各種設定を行うレジスタとは独
立した記憶手段と、USBホストから自動応答を行うリ
クエストが来た際に前記記憶手段に書き込んでおいたデ
ータを読み出してUSBホストに出力するシリアル入力
エンジンとを備えたことを特徴とするUSBコントロー
ラ。 - 【請求項2】 前記記憶手段に書き込んでおくリクエス
トの応答データをユーザが変更可能としたことを特徴と
する請求項1記載のUSBコントローラ。 - 【請求項3】 前記シリアル入力エンジンは、USBホ
ストから自動応答を行うリクエストが来た際に、リクエ
ストの応答データの種類・内容・サイズを基に、前記記
憶手段のアドレスからデータを読み込んでUSBホスト
に出力することを特徴とする請求項1記載のUSBコン
トローラ。 - 【請求項4】 応答データを予め格納する前記記憶手段
と、レジスタと、エンドポイントのうちの少なくとも2
つでユーザ回路からの読み書きのインターフェースを共
通とすることを特徴とする請求項1記載のUSBコント
ローラ。 - 【請求項5】 USBコントローラの初期設定の際にユ
ーザ回路から応答データを記憶手段に書き込み、同時に
コントローラの動作に関する各種設定を行うレジスタ
に、記憶手段に書き込まれるリクエストの種類・内容・
サイズに対応した値が設定されることを特徴とする請求
項1記載のUSBコントローラ。 - 【請求項6】 USBコントローラの初期設定の際に予
め応答データを収めた不揮発メモリから応答データを記
憶手段に書き込み、同時にコントローラの動作に関する
各種設定を行うレジスタに、記憶手段に書き込まれるリ
クエストの種類・内容・サイズに対応した値を設定する
ことを特徴とする請求項1記載のUSBコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002039283A JP2003242096A (ja) | 2002-02-15 | 2002-02-15 | Usbコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002039283A JP2003242096A (ja) | 2002-02-15 | 2002-02-15 | Usbコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003242096A true JP2003242096A (ja) | 2003-08-29 |
Family
ID=27780363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002039283A Pending JP2003242096A (ja) | 2002-02-15 | 2002-02-15 | Usbコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003242096A (ja) |
-
2002
- 2002-02-15 JP JP2002039283A patent/JP2003242096A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5729683A (en) | Programming memory devices through the parallel port of a computer system | |
US6928505B1 (en) | USB device controller | |
US6901465B2 (en) | Data transfer control device, electronic equipment, and data transfer control method | |
EP1389760B1 (en) | Data transfer control system, program and data transfer control method | |
JP4837659B2 (ja) | 分割トランザクションを処理するためのバス・コントローラ | |
US20050060479A1 (en) | High speed and flexible control for bridge controllers | |
JP2006500679A (ja) | Usb接続のためのインタフェース集積回路デバイス | |
JP2002344537A (ja) | データ転送制御装置及び電子機器 | |
JP2541767B2 (ja) | スマ―ト・バス制御ユニット | |
CN108268414A (zh) | 基于spi模式的sd卡驱动器及其控制方法 | |
JP2008521080A5 (ja) | ||
EP0772831B1 (en) | Bidirectional parallel signal interface | |
US6366877B1 (en) | Method and device for emulation of peripheral input/output (I/O) controller of a computer system | |
US7359996B2 (en) | Data transfer control device, electronic equipment, and data transfer control method | |
US7469304B2 (en) | Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation | |
JP2002312296A (ja) | 周辺装置のusbインタフェース装置、その制御方法およびプログラム並びにusbインタフェースシステム | |
US7428600B2 (en) | Data transfer control device, electronic equipment, and data transfer control method | |
US7162565B1 (en) | Universal serial bus interface to mass storage device | |
US20070005847A1 (en) | Data transfer control device and electronic instrument | |
US20090138673A1 (en) | Internal memory mapped external memory interface | |
US20070131767A1 (en) | System and method for media card communication | |
JP2003242096A (ja) | Usbコントローラ | |
JPH03171355A (ja) | データ転送システム | |
US20050144331A1 (en) | On-chip serialized peripheral bus system and operating method thereof | |
JP2004288147A (ja) | シリアルメモリに対するxipシステム及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20041208 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050106 |
|
A977 | Report on retrieval |
Effective date: 20070424 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070508 |
|
A521 | Written amendment |
Effective date: 20070706 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080507 |