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
Application number
JP2002039283A
Other languages
English (en)
Inventor
Sunao Nakabachi
直 中鉢
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002039283A priority Critical patent/JP2003242096A/ja
Publication of JP2003242096A publication Critical patent/JP2003242096A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 送信データのサイズ・種類等の変更が容易
な、また応答データをRAMに格納することでレジスタ
に格納するよりも回路規模を小さくできるUSBコント
ローラを提供する。 【解決手段】 USBホスト1からのデータ送信を伴う
コントロール転送のリクエストに対して、ユーザ回路の
介在無しに自動応答を行うUSBコントローラ21にお
いて、リクエストの応答データを初期設定の際に予め書
き込んでおく、USBコントローラ21の動作に関する
各種設定を行うレジスタ16とは独立した記憶手段(自
動応答値メモリ14)と、USBホスト1から自動応答
を行うリクエストが来た際に記憶手段に書き込んでおい
たデータを読み出してUSBホスト1に出力するシリア
ル入力エンジン12とを備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、USB(Universal
Serial Bus)コントローラに関し、特にUSBホストへ
データ送信を伴うコントロール転送のリクエストに対し
て、ユーザ回路の介在無しに自動応答を行うUSBコン
トローラに関する。
【0002】
【従来の技術】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コントローラの動作に関する各種
設定を行うレジスタに格納しておき、その値を常にシリ
アル入力エンジンに出力しておくか、ホストからの送信
要求が来た場合にシリアル入力エンジンに出力して、シ
リアル入力エンジンがホストに送信するものが知られて
いる。
【0003】図5は従来の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にユーザが設定して使用する。
【0004】図5のUSBコントローラでは、USBホ
ストに対するデータ送信を伴うコントロール転送のリク
エストのとき、自動応答を行うリクエストに対しては、
シリアル入力エンジン12がレジスタ16に格納した自
動応答データを読み出して、制御信号を付加してデータ
パケットとしてUSBトランシーバ11に出力して、U
SBトランシーバ11でUSBバスの信号に変換してU
SBホストに出力する。自動応答を行わないリクエスト
に対しては、リクエストを受信してからユーザ回路から
I/Oコントローラ15を介してエンドポイントゼロ1
30にデータを書き込み、シリアル入力エンジン12が
エンドポイントゼロ130にデータが書き込まれた後の
データ送信要求に対してエンドポイントゼロ130から
データを読み出して、制御信号を付加してデータパケッ
トとしてUSBトランシーバ11に出力する。USBト
ランシーバ11ではこれをUSBバスの信号に変換して
USBホストに出力する。
【0005】
【発明が解決しようとする課題】しかし、従来の方式で
は送信データをレジスタに格納しているために、送信デ
ータのサイズ・種類等の変更が困難であった。また、レ
ジスタは構成に必要な素子数が他のメモリデバイスに比
べて多いので格納するデータ量が増やし難いという問題
があった。そこで、本発明は、USBコントローラがユ
ーザ回路の介在無しにホストからのデータ送信要求に対
して、データ送信を行う場合の送信データを、初期設定
の際に予めRAM(記憶手段)に書き込んでおき、USB
ホストから自動応答を行うリクエストが来た際に、SI
E(シリアル入力エンジン)がRAMから書き込んでおい
たデータを読み出してUSBホストに出力することで、
送信データのサイズ・種類等の変更が容易な、また応答
データをRAMに格納することで、レジスタに格納する
よりも回路規模を小さくできるUSBコントローラを提
供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成する為
に、請求項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コントローラの初期設定の際に予め
応答データを収めた不揮発メモリから応答データを記憶
手段に書き込み、同時にコントローラの動作に関する各
種設定を行うレジスタに、記憶手段に書き込まれるリク
エストの種類・内容・サイズに対応した値を設定するこ
とを特徴とする。
【0007】
【発明の実施の形態】以下、図面により本発明の実施の
形態を詳細に説明する。図1はUSBバスの接続概念図
である。図中で1はルートHUB機能をもつUSBホス
ト、2a、2bはHUB、3a〜3dはデバイスであ
る。このようにUSBでは1つのホストの下に複数のH
UBまたはデバイスがツリー状に接続される。また、デ
バイス3は図2に示すようにUSBコントローラ21、
ターゲットの機器22から構成される。
【0008】図3は本発明の第1の実施の形態に係るU
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とは別チップとする場合がある。
【0009】図3の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
では同時にリクエストのデコードが行われる。ここまで
がセットアップステージである。
【0010】この後はリクエストの種類によって、GET_
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に伝える。
【0011】一方、USBホスト1は8バイトのデータ
パケットに対する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に返信する。
【0012】ここまでがデータを送信するリクエストの
場合のステータスステージである。なお、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に対してピングトークンパケ
ットを送信する。
【0013】次にSET_DESCRIPTORのようにUSBホスト
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に対してピングト
ークンパケットを送信する。
【0014】次にUSBホスト1からデータを受信する
リクエストの場合のステータスステージであるが、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等の設定を行い、データ転
送の方向に応じてデータ送受信を伴う場合と同様のステ
ータスステージが行われる。
【0015】図4は本発明の第2の実施の形態に係るU
SBコントローラの構成図である。図4のUSBコント
ローラ21の動作は、初期設定の際に予めから応答デー
タを収めたROM17、またはフラッシュメモリ等の電
源遮断時もデータの保持が可能な不揮発メモリから応答
データをRAMに書き込み、同時にコントローラの動作
に関する各種設定を行うレジスタ16に、RAMに書き
込まれるリクエストの種類・内容・サイズに対応した値
を設定することを除いて図3のUSBコントローラ21
と同じである。
【0016】
【発明の効果】以上説明したように、請求項1の発明
は、リクエストの応答データを、初期設定の際に予め独
立した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コン
トローラを実現できる。
【図面の簡単な説明】
【図1】USBバスの接続概念図である。
【図2】デバイスの構成図である。
【図3】本発明の第1の実施の形態に係るUSBコント
ローラの構成図である。
【図4】本発明の第2の実施の形態に係るUSBコント
ローラの構成図である。
【図5】従来のUSBコントローラの構成図である。
【符号の説明】
11 USBトランシーバ 12 シリアル入力エンジン 13 エンドポイント群 14 自動応答値メモリ(記憶手段) 16 レジスタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 USBホストからのデータ送信を伴うコ
    ントロール転送のリクエストに対して自動応答を行うU
    SBコントローラにおいて、リクエストに対する応答デ
    ータを初期設定の際に予め書き込んでおく、USBコン
    トローラの動作に関する各種設定を行うレジスタとは独
    立した記憶手段と、USBホストから自動応答を行うリ
    クエストが来た際に前記記憶手段に書き込んでおいたデ
    ータを読み出してUSBホストに出力するシリアル入力
    エンジンとを備えたことを特徴とするUSBコントロー
    ラ。
  2. 【請求項2】 前記記憶手段に書き込んでおくリクエス
    トの応答データをユーザが変更可能としたことを特徴と
    する請求項1記載のUSBコントローラ。
  3. 【請求項3】 前記シリアル入力エンジンは、USBホ
    ストから自動応答を行うリクエストが来た際に、リクエ
    ストの応答データの種類・内容・サイズを基に、前記記
    憶手段のアドレスからデータを読み込んでUSBホスト
    に出力することを特徴とする請求項1記載のUSBコン
    トローラ。
  4. 【請求項4】 応答データを予め格納する前記記憶手段
    と、レジスタと、エンドポイントのうちの少なくとも2
    つでユーザ回路からの読み書きのインターフェースを共
    通とすることを特徴とする請求項1記載のUSBコント
    ローラ。
  5. 【請求項5】 USBコントローラの初期設定の際にユ
    ーザ回路から応答データを記憶手段に書き込み、同時に
    コントローラの動作に関する各種設定を行うレジスタ
    に、記憶手段に書き込まれるリクエストの種類・内容・
    サイズに対応した値が設定されることを特徴とする請求
    項1記載のUSBコントローラ。
  6. 【請求項6】 USBコントローラの初期設定の際に予
    め応答データを収めた不揮発メモリから応答データを記
    憶手段に書き込み、同時にコントローラの動作に関する
    各種設定を行うレジスタに、記憶手段に書き込まれるリ
    クエストの種類・内容・サイズに対応した値を設定する
    ことを特徴とする請求項1記載のUSBコントローラ。
JP2002039283A 2002-02-15 2002-02-15 Usbコントローラ Pending JP2003242096A (ja)

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)

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