JP2004199402A - Usbデバイスコントローラ - Google Patents
Usbデバイスコントローラ Download PDFInfo
- Publication number
- JP2004199402A JP2004199402A JP2002367256A JP2002367256A JP2004199402A JP 2004199402 A JP2004199402 A JP 2004199402A JP 2002367256 A JP2002367256 A JP 2002367256A JP 2002367256 A JP2002367256 A JP 2002367256A JP 2004199402 A JP2004199402 A JP 2004199402A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- data
- usb device
- device controller
- buffer
- 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
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】複数のバッファメモリに対する転送を並行に行えると共に、後から別のバッファメモリに転送されたデータに対する割り込みが先の割り込み解除によって同時に解除され、後の割り込みに対する割り込み処理に入れなくなる問題を解決できるUSBデバイスコントローラを提供する。
【解決手段】USB転送用の送信バッファまたは受信バッファとしてFIFOメモリを2つ備え、個々のFIFOメモリが所定量の送信データまたは受信データ毎に切替わるUSBデバイスコントローラであって、そのFIFOメモリのそれぞれの割り込み状態を書き込むビット、および割り込み解除指示情報を書き込むビットを有する内部レジスタ16を備え、内部レジスタ16に割り込み解除が書き込まれたとき、内部レジスタ16に複数のFIFOメモリ分が割り込み中と書き込まれていた場合、ステートマシン21が最も先に割り込みが発生したFIFOメモリを判別し、そのFIFOメモリの割り込み中状態を解除する構成にした。
【選択図】 図5
【解決手段】USB転送用の送信バッファまたは受信バッファとしてFIFOメモリを2つ備え、個々のFIFOメモリが所定量の送信データまたは受信データ毎に切替わるUSBデバイスコントローラであって、そのFIFOメモリのそれぞれの割り込み状態を書き込むビット、および割り込み解除指示情報を書き込むビットを有する内部レジスタ16を備え、内部レジスタ16に割り込み解除が書き込まれたとき、内部レジスタ16に複数のFIFOメモリ分が割り込み中と書き込まれていた場合、ステートマシン21が最も先に割り込みが発生したFIFOメモリを判別し、そのFIFOメモリの割り込み中状態を解除する構成にした。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、例えばパーソナルコンピュータとプリンタとの間など複数の装置間でUSB規格によったデータ通信をおこなうUSBデバイスコントローラに関する。
【0002】
【従来の技術】
USB(Universal Serial Bus)規格は、パーソナルコンピュータ(以下、PCと称す)と複数のPC周辺装置とを接続し、データ通信をおこなうために策定されたシリアルバスインタフェース規格である。従来のインタフェース規格にはない簡便な接続性および拡張性などを特徴としており、近年、マウス、キーボード、プリンタ、スキャナ、モデムなど、PC周辺装置の多くがUSB規格に対応するようになってきている。このUSB規格には、PC周辺装置(以下、USBデバイスと称す)の種類に応じてUSBデバイスクラス仕様が定められており、プリンタはプリンタクラス仕様、ハードディスク記憶装置(HDD)や光ディスク記憶装置などはマスストレージクラス仕様に準拠することにより共通のデバイスドライバソフトウェアを使用することが可能となる。
このようなプリンタクラス仕様またはマスストレージクラス仕様のUSB規格に準拠したデータ通信システムを実現するためには、USBデバイスコントローラ内にバルク転送用のエンドポイントバッファを備えることが必要であり、そのようなバッファメモリを備えることによりPCとUSBデバイス間でエラーのない大容量データ転送をおこなうことができる。また、データ転送速度向上の目的で、エンドポイントバッファと、例えばプリンタ側メインメモリまたはストレージデバイスの記憶媒体との間のデータ転送はDMA転送方式を採用するのが一般的である。
また、前記した、USB規格に準拠したPCとUSBデバイス間のデータ転送においては、パケットと呼ばれる単位でデータの送受信がおこなわれ、データ送受信の効率を高める目的で、データ送受信のための前記バッファメモリは2面(2個)構成を採用するのが一般的である。しかし、従来技術では、USBデバイスコントローラにおいてデータ送受信がおこなわれたことをUSBデバイスのCPUに示す割り込み信号はバッファ毎に1系統となっている。
【0003】
図7に、受信バッファを使用するUSBアウト転送の場合について動作手順例を示し、図8に動作フローを示す。なお、図7において、符号EはFIFOメモリが空の状態を示し、符号Fはデータが格納された状態を示している。
まず、受信バッファのA面(一方の受信バッファ)にパケットデータ(データ1)が格納され(S41)、パケットデータが格納されたことを示す割り込みが発生する(S42)。
続いて、USBデバイスのCPUが、割り込み要因を確認後、割り込み要因を解除(クリア)する(S43)。そして、CPUは受信バッファに格納されたデータ(データ1)を読み出し(S44)、読み出し完了後、割り込み処理ルーチンを完了する。
一方、読み出しと並行に受信バッファのB面にパケットデータ(データ2)が格納され(S45)、パケットデータが格納されたことを示す割り込みが発生する(S46)。これにより、CPUは割り込み要因を確認後、割り込み要因を解除(クリア)する(S47)。
続いて、CPUは受信バッファに格納されたデータ(データ2)を読み出し(S48)、読み出し完了後、割り込み処理を完了する。以下、繰り返しである。
通常、前記した手順で正常に受信データを読み出すことが可能であるが、ホストPCからのパケットデータ受信のタイミングによっては不具合が発生する。前記においては、割り込み確認後、割り込み要因をクリアする手順にしているが、割り込み確認と割り込み要因クリアの間に次のパケットデータ受信(データ2)を示す割り込みが発生した場合、後から格納されたパケット(データ2)に対応した割り込みが先の割り込み(データ1)解除によって同時に解除されてしまい、データ2に対応した割り込み処理に入れなくなってしまうのである(図9参照)。
この問題を回避する一つの手段として、受信バッファのデータ格納状態を示すレジスタを設け、割り込み処理を完了する前にこのレジスタを確認する方法も考えられるが、制御が複雑になってしまう。
【0004】
実用新案登録第3072264号公報に示された従来技術は前記したようなUSBデバイスコントローラを持つ従来技術の一つであり、複数個の受信バッファを備え、受信バッファへデータが格納される毎に割り込み信号を発生させ、全受信バッファにデータが格納された後に新規データ受信を許可する。具体的には、次の通りである。
PCからUSBデバイスコントローラにデータパケットが送信されてきて、データがUSBデバイスコントローラ内の受信バッファに格納されると、USBデバイスのCPUに割り込みをかけるため、割り込み処理部に割り込み信号が出力され、その割り込み処理部により受信バッファ内の格納データが読み出されてRAMに保存されるとともに、受信バッファのそれぞれの格納状況に対応した異なるビット内容のイベントコードがコマンド解析部に出力され、コマンド解析部によりRAMの保存データ中のコマンドが解析され、解析結果に応じた処理がおこなわれる。このとき、割り込み処理部からのイベントコードがN番目(最後)の受信バッファを示していると、コマンド解析部からUSBデバイスコントローラへ受信許可のためのクリア信号が出力され、すべての受信バッファが受信可能な状態になる。
【特許文献1】実用新案登録第3072264号公報
【0005】
【発明が解決しようとする課題】
前記したように、一つのバッファメモリへの格納が終了したときに割り込みをおこなう従来技術では、割り込み確認後、割り込み要因をクリアする手順にしているが、割り込み確認と割り込み要因クリアの間に次のパケットデータ格納を示す割り込みが発生した場合、後から格納されたパケットデータに対応した割り込みが先の割り込み解除によって同時に解除されてしまい、後のパケットデータに対応した割り込み処理に入れなくなってしまうという問題を簡単に解決できなかった。また、実用新案登録第3072264号公報に示されたような従来技術では、一つのバッファメモリから読み出す処理と、別のバッファメモリへ格納する処理を並行におこなえないという問題があった。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、複数のバッファメモリに対する転送処理を並行におこなえ、且つ、後から別のバッファメモリに対して転送処理されたパケットデータに対応した割り込みが先の割り込み解除によって同時に解除されてしまい、後のパケットデータに対応した割り込み処理に入れなくなってしまうという問題を簡単に解決できるUSBデバイスコントローラを提供することにある。
【0006】
【課題を解決するための手段】
前記の課題を解決するために、請求項1記載の発明では、USB転送に用いる送信バッファまたは受信バッファとして複数のFIFOメモリを備え、使用される個々のFIFOメモリが所定量の送信データまたは受信データごとに切り替わる構成のUSBデバイスコントローラにおいて、少なくとも使用対象のFIFOメモリのそれぞれの割り込み状態を書き込む割り込み状態記憶手段を備えた。
また、請求項2記載の発明では、請求項1記載の発明において、割り込み中状態を解除する際、前記割り込み状態記憶手段に複数のFIFOメモリ分が割り込み中と書き込まれていた場合、最も先に割り込みが発生したFIFOメモリに対応した割り込み中状態を解除する構成にした。
また、請求項3記載の発明では、請求項2記載の発明において、割り込み解除を指示する情報を書き込む割り込み解除情報記憶手段と、最も先に割り込みが発生したFIFOメモリを特定する解除対象判別手段とを備えた。
また、請求項4記載の発明では、請求項1記載の発明において、送信バッファを使用するUSBイン転送の際、送信されたパケットがショートパケットであることが検出されたとき、対応する割り込み状態の発生を禁止させる割り込み禁止手段を備えた。
【0007】
【発明の実施の形態】
本発明は、USB転送に使用されるFIFOメモリの数と同数の割り込み状態を示すことができるレジスタを設けたことなどを特徴としている。前記した実用新案登録第3072264号公報に示された従来技術においてもUSB転送に使用される受信バッファと同数の割り込み状態を示すことができるレジスタを設けているが、受信バッファのみ対象にしている点と割り込みクリアの方法が本発明とは異なっている。
以下、USB規格のプリンタを例に、本発明の実施の形態を図面により詳細に説明する。
【0008】
図1は本発明の一実施例を示すプリンタ要部の構成ブロック図である。なお、図1では送受信データおよび制御データの経路のみ示しており、それ以外の信号線は省略している。
図示したように、この実施例のプリンタは、USB規格に従ったデータ通信制御を行うUSBデバイスコントローラ1、プリンタ全体を制御するCPU2、プリンタメインメモリ3を備え、USBデバイスコントローラ1内にはDMAコントローラ(以下、DMACと称す)4を備え、CPU2、プリンタメインメモリ3、およびDMAC4はシステムバス5に接続されている。
また、USBデバイスコントローラ1は、トランシーバ(送信回路)/レシーバ(受信回路)を含み、データ送受信/パラレル−シリアル変換などをおこなう物理層回路ブロック(以下、PHYと称す。PHYはPhysicalの略)11、プロトコル(伝送制御手順)処理/入出力信号処理などをおこなう論理層回路ブロック(以下、SIE(Serial Interface Engine)と称す)12、FIFO(First In First Out)メモリとして実現した、送受信データを格納する3種類の送受信バッファメモリ(USBのプリンタクラス仕様におけるエンドポイントバッファ)であるEP0送受信バッファ13、EP1受信バッファ14、EP2送信バッファ15、USBデバイスコントローラ1の制御およびUSBデバイスコントローラ1内各ブロックの状態確認をおこなうための情報が書き込まれ、CPU2からアクセス(読み書き)される内部レジスタ16、エンドポイントバッファ(3種類の送受信バッファメモリ)13、14、15とプリンタメインメモリ3との間のDMA転送をおこなうためのインタフェースであるDMA−I/F(DMAインタフェース)17、PIO転送用のインタフェースであるPIO−I/F18などを備える。なお、この実施例では、FIFOメモリ数と同数の割り込み状態を示す情報、およびFIFOメモリ数と同数以上の割り込み解除情報が内部レジスタ16に書き込まれ、CPU2がPIO−I/F18を介してこのレジスタにアクセスする。つまり、この実施例では、請求項記載の割り込み状態記憶手段および割り込み解除情報記憶手段が内部レジスタ16により実現される。
【0009】
また、前記において、EP0送受信バッファ13はUSBのプリンタクラス仕様で言うUSBデバイスエナメレーション(Enumeration:USBデバイスから取得したデータをもとにPCで行われる)/デバイス制御データ転送用のコントロール転送用エンドポイントバッファであり、EP1受信バッファ14はプリントデータ転送用のバルクアウト転送用エンドポイントバッファであり、EP2送信バッファ15はプリンタステータス(例えば紙なし、紙詰まりといったエラー状態など)データ転送用バルクイン転送用エンドポイントバッファである。また、前記したDMAC4によるDMA転送はCPU処理を必要とするPIO転送に比べて高いデータ転送性能を持っている。また、DMAC内部には転送データを一時的に格納するバッファが設けられている。
一方、この実施例では以下に示す2種類のデータ転送がPIO−I/F18を介して実行可能である。
(a)内部レジスタアクセス(図中の破線矢印)
(b)EP0送受信バッファ13とプリンタメインメモリ3との間のデータ転送(図中の点線矢印)
前記内部レジスタアクセスはCPU2のコマンドにより適宜アクセスされ、USBコントローラ1内の各ブロックの状態確認、割り込み状態確認、およびPIO−I/F18を介したデータ転送処理などがおこなわれる。また、EP0送受信バッファ13とプリンタメインメモリ3との間のデータ転送では、USB制御データを転送する。それほど高い転送性能は必要ないので、PIO転送が使用されるのである。
一方、EP1受信バッファ14とプリンタメインメモリ3との間のデータ転送およびEP2送信バッファ15とプリンタメインメモリ3との間のデータ転送には通常DMA−I/F17を介したDMA転送が使用される。
【0010】
次に、本発明の一実施例を、アウト転送に使用する受信バッファ14の場合で説明する。図7に示した従来技術の例と同様に受信バッファ14はA面とB面の2面(2個)から成るFIFOメモリである。また、内部レジスタ16において、受信バッファの割り込みに係わるのは3ビットである。各ビットをRSA、RSB、RClrと呼ぶことにする(図5参照)。これらの各ビットの機能は以下の通りである。
(1)RSA:このビットが1の場合、受信バッファA面にデータが格納されており、割り込みが発生したことを示す。このビットに0を書き込むことにより割り込み中状態が解除される。
(2)RSB:このビットが1の場合、受信バッファB面にデータが格納されており、割り込みが発生したことを示す。このビットに0を書き込むことにより割り込み中状態が解除される。
(3)RClr:このビットはCPU2から見れば書き込み専用ビットであり、CPU2がこのビットに1を書き込むことにより、USBデバイスコントローラ1はRSAまたはRSBの何れか一方の割り込み中状態を解除する。どちらを解除するかはそのときの状態により判別する。
【0011】
このようなレジスタを使用した基本的な受信データ読み出しの動作フローを図2に示す。以下、図2に従って、この動作フローを説明する。
まず、USBデバイスコントローラ1が、受信バッファA面にパケットデータ(データ1)を格納し(S1)、RSAに1を書き込み、パケットデータを格納したことを示す割り込みを発生させる(S2)。そうすると、CPU2は制御プログラムに従って(以下、「制御プログラムに従って」を省略する)割り込み要因を確認し(S3)、その後、RClrに1を書き込む(S4)。これにより、USBデバイスコントローラ1はRSAに0を書き込み、割り込み中状態を解除する(S5)。
続いて、CPU2は受信バッファ14に格納されたデータ(データ1)を読み出し(S6)、読み出し完了後、この割り込みに係わる処理を完了する。
一方、データ1の読み出し完了を待たずにUSBデバイスコントローラ1は受信バッファB面にパケットデータ(データ2)を格納し(S7)、RSBに1を書き込み、パケットデータが格納されたことを示す割り込みを発生させる(S8)。そうすると、CPU2は割り込み要因を確認し(S9)、その後、RClrに1を書き込む(S10)。これにより、USBデバイスコントローラ1はRSBに0を書き込み、割り込み中状態を解除する(S11)。
続いて、CPU2は受信バッファ14に格納されたデータ(データ2)を読み出し(S12)、読み出し完了後、この割り込みに係わる処理を完了する。
【0012】
次に、従来技術では不具合となるタイミングの場合について、この実施例における受信データ読み出しの動作フローを図3に従って説明する(図4も参照)。
まず、USBデバイスコントローラ1が、受信バッファA面にパケットデータ(データ1)を格納し(S21)、RSAに1を書き込み、パケットデータが格納されたことを示す割り込みを発生させる(S22)。そうすると、CPU2は割り込み要因を確認するが(S23)、この間に受信バッファB面にデータが格納され、RSBに1が書き込まれるものとする(S24)。
その後、RClrに1を書き込む(S25)。これにより、USBデバイスコントローラ1は割り込み中状態を解除するのであるが、その際の割り込み処理確認中に受信バッファB面にデータが格納されているので、RSAとRSBが同時に1になっている。しかし、USBデバイスコントローラ1は図5に示した解除対象判別回路によりRSAにのみ0を書き、解除する(S26)。
図5に示したステートマシン21は面数(バッファメモリの数)分の値を出力するカウンタ回路と面数分のラッチ回路を備えており、カウンタ値は最新割り込みのバッファに対応している。このラッチ回路は対応する割り込み信号によりセットされ、その出力信号はステートマシン21に入力されるClr信号などとANDを取られ、対応するバッファレジスタ22をクリアするが、そのとき、当該ラッチ回路自身もクリアする。これにより、Clr信号がステートマシン21に入ったとき、そのときのカウンタ値のラッチ回路だけでなく、直前のカウンタ値のラッチ回路もセット状態にあれば、そのラッチ回路がClr信号のタイミングでClr信号を出力し、当該カウンタ値のラッチ回路のみがセット状態であれば、そのラッチ回路がClr信号のタイミングでClr信号を出力するようにできる。こうして、請求項3記載の解除対象判別手段が容易に実現できるのである。
続いて、CPU2は受信バッファ14に格納されたデータ(データ1)を読み出す(S27)。そして、読み出し完了後、この割り込み処理を完了するが、パケットデータが格納されたことを示す割り込みであるRSBが残っているので、それに対応した割り込みが発生する(S28)。これにより、CPU2は割り込み要因を確認するが(S29)、この割り込み処理確認中に受信バッファA面にデータが格納された場合、RSAが1になる(S30)。
その後、RClrに1を書き込むと(S31)、USBデバイスコントローラ1は割り込み中状態を解除するのであるが、その際の割り込み処理確認中に受信バッファA面にデータが格納された場合、RSAとRSBが同時に1になっている。しかし、前記した解除対象判別回路によりRSBのみ解除する(S32)。
続いて、CPU2は受信バッファ14に格納されたデータ(データ2)を読み出し(S33)、読み出し完了後、割り込み処理を完了する。
【0013】
こうして、この実施例によれば、受信バッファであるFIFOメモリの数と同数の割り込みビット(前記した例では2ビット)をレジスタ内に設けるとともに解除対象判別回路を設けることにより、割り込み要因確認処理と割り込み解除処理の間に別の受信バッファ(別の面)に受信データが格納された場合であっても、各受信バッファへの格納ごとに割り込みを発生させることができるので、全受信パケットを正常に読み出すことが可能となる。また、全受信バッファにデータが格納されなくとも、読み出しを開始し、格納しつつ読み出せるので、複数の受信バッファを使用する利点が保たれる。
また、前記したように、RClrに1を書き込むだけで適切な面(適切なバッファメモリ)のビットが解除されるので、CPU2の制御プログラム(制御ソフト)が簡単になる。なお、この実施例では、RSAとRSBを個別に解除できる構成であるので、解除対象判別回路を使用しない構成も可能である。この場合はCPU2がRSAとRSBを個別に解除する信号を出すのである。
【0014】
次に、イン転送に使用する送信バッファ15の場合で説明する。なお、この説明においても、図7に示した従来技術の例と同様に送信バッファはA面とB面の2面(2個)構成になっている。また、内部レジスタ16において、送信バッファ15の割り込みに係わるビットは図6に示したように3ビット構成になっている。これらの各ビットの機能は以下の通りである。
(1)TSA:このビットが1の場合、送信バッファA面に格納されたデータがホストPCへ送信されて、割り込みが発生したことを示す。このビットに0を書き込むことにより割り込み中状態が解除される。
(2)TSB:このビットが1の場合、送信バッファB面に格納されたデータがホストPCへ送信されて、割り込みが発生したことを示す。このビットに0を書き込むことにより割り込み中状態が解除される。
(3)TClr:このビットはCPU2から見れば書き込み専用ビットであり、CPU2がこのビットに1を書き込むことにより、RSAまたはRSBの何れか一方の割り込み中状態が解除される。どちらを解除するかは解除対象判別回路が自動的に判別する構成になっている。
イン転送の場合、ホストPCに対して送信すべきデータをCPU2が送信バッファ15に書き込み、CPU2は、USBデバイスコントローラ1からのデータ送信割り込みにより送信バッファ15に空きができたことを認識した上で次の送信データを書き込むことを繰り返す。従来技術では、イン転送の場合も、ある面の送信割り込み確認と割り込み解除の間に別の面のデータ送信による割り込みが入ると同時に割り込みがクリアされてしまう不具合が発生してしまうが、この実施例では、受信の場合で説明したように面ごと(バッファメモリごと)に割り込みビットを設けるとともに解除対象判別回路を設けて、先に割り込みがあった方だけ割り込み中状態を解除するので問題は発生しない。
【0015】
ところで、イン転送の場合、転送すべき最終パケットの割り込みはCPU2にとって不要な割り込みである。なぜなら送信バッファ15に書き込むデータが存在しないからである。そのため、本発明の他の実施例では、最終回の送信に当たるショートパケットに対応する割り込みを発生させない。USB規格においては、転送ファイルの区切りはショートパケットで判別されるのである。なお、ショートパケットとはデータ数が最大パケットサイズ(例えばHSモードのバルク転送では512バイト)に満たないパケットのことである。
そのため、この実施例では、イン転送のパケットに関しては、ショートパケットか否かを検出し、ショートパケットの場合には対応する割り込みを発生させないような回路を設け、それにより、不要な割り込みを発生させないようにしている。請求項4記載の割り込み禁止手段は、前記したショートパケットを検出してショートパケット検出信号を出力するショートパケット検出手段と、そのショートパケット検出信号と前記したTSAまたはTSBビットを立てる信号とを入力信号とするAND回路でよく、したがって、簡単に実現可能である。
以上、受信バッファまたは送信バッファなどバッファメモリの数(FIFOメモリの数)が2個の場合で説明したが、3個以上の場合も同様である。
【0016】
【発明の効果】
以上説明したように、本発明によれば、請求項1記載の発明では、USB転送に用いる送信バッファまたは受信バッファとして複数のFIFOメモリを備え、使用される個々のFIFOメモリが所定量の送信データまたは受信データごとに切り替わる構成のUSBデバイスコントローラにおいて、少なくとも使用対象のFIFOメモリの数分のそれぞれの割り込み状態を書き込み、記憶することができるので、複数のバッファメモリに対する転送処理を並行におこなうことができるし、記憶されている割り込み状態を割り込み解除時に調べることにより、後から別のバッファメモリに対して転送処理されたパケットデータに対応した割り込みが先の割り込み解除によって同時に解除されてしまわないようにすることができ、したがって、後のパケットデータに対応した割り込み処理に入れなくなってしまうという問題を解決することが可能になる。
また、請求項2記載の発明では、請求項1記載の発明において、割り込み中状態を解除する際、割り込み状態記憶手段に複数のFIFOメモリ分が割り込み中と書き込まれていた場合、最も先に割り込みが発生したFIFOメモリに対応した割り込み中状態のみを解除することができるので、後のパケットデータに対応した割り込み処理に入れなくなってしまうという問題を解決することができる。
また、割り込み発生により割り込み処理をおこなう側は、割り込み処理終了時、どのFIFOメモリの割り込み処理が終了したかをUSBデバイスコントローラへ通知する必要がないので、処理が簡単になる。
また、請求項3記載の発明では、請求項2記載の発明において、割り込み解除を指示する情報が書き込まれるとともに、最も先に割り込みが発生したFIFOメモリを特定されるので、割り込みを解除すべき適切なタイミングで、割り込みを解除すべきFIFOメモリのみ割り込みを解除することができる。
また、請求項4記載の発明では、請求項1記載の発明において、送信バッファを使用するUSBイン転送の際、送信されたパケットがショートパケットであることが検出されたとき、対応する割り込み状態の発生を禁止させることができるので、不要な割り込みを発生させないで済む。
【図面の簡単な説明】
【図1】本発明の一実施例を示すプリンタ要部の構成ブロック図である。
【図2】本発明の一実施例を示すUSBデバイスコントローラの動作フロー図である。
【図3】本発明の一実施例を示すUSBデバイスコントローラの他の動作フロー図である。
【図4】本発明の一実施例を示すUSBデバイスコントローラの動作説明図である。
【図5】本発明の一実施例を示すUSBデバイスコントローラ要部の構成ブロック図である。
【図6】本発明の他の実施例を示すUSBデバイスコントローラ要部の構成ブロック図である。
【図7】従来技術の一例を示すUSBデバイスコントローラの動作説明図である。
【図8】従来技術の一例を示すUSBデバイスコントローラの動作フロー図である。
【図9】従来技術の一例を示すUSBデバイスコントローラの他の動作説明図である。
【符号の説明】
1 USBデバイスコントローラ
2 CPU
3 プリンタメインメモリ
4 DMAC
14 EP1受信バッファ
15 EP2送信バッファ
16 内部レジスタ
18 PIO−I/F
21 ステートマシン
22 バッファレジスタ
23 ステートマシン
【発明の属する技術分野】
本発明は、例えばパーソナルコンピュータとプリンタとの間など複数の装置間でUSB規格によったデータ通信をおこなうUSBデバイスコントローラに関する。
【0002】
【従来の技術】
USB(Universal Serial Bus)規格は、パーソナルコンピュータ(以下、PCと称す)と複数のPC周辺装置とを接続し、データ通信をおこなうために策定されたシリアルバスインタフェース規格である。従来のインタフェース規格にはない簡便な接続性および拡張性などを特徴としており、近年、マウス、キーボード、プリンタ、スキャナ、モデムなど、PC周辺装置の多くがUSB規格に対応するようになってきている。このUSB規格には、PC周辺装置(以下、USBデバイスと称す)の種類に応じてUSBデバイスクラス仕様が定められており、プリンタはプリンタクラス仕様、ハードディスク記憶装置(HDD)や光ディスク記憶装置などはマスストレージクラス仕様に準拠することにより共通のデバイスドライバソフトウェアを使用することが可能となる。
このようなプリンタクラス仕様またはマスストレージクラス仕様のUSB規格に準拠したデータ通信システムを実現するためには、USBデバイスコントローラ内にバルク転送用のエンドポイントバッファを備えることが必要であり、そのようなバッファメモリを備えることによりPCとUSBデバイス間でエラーのない大容量データ転送をおこなうことができる。また、データ転送速度向上の目的で、エンドポイントバッファと、例えばプリンタ側メインメモリまたはストレージデバイスの記憶媒体との間のデータ転送はDMA転送方式を採用するのが一般的である。
また、前記した、USB規格に準拠したPCとUSBデバイス間のデータ転送においては、パケットと呼ばれる単位でデータの送受信がおこなわれ、データ送受信の効率を高める目的で、データ送受信のための前記バッファメモリは2面(2個)構成を採用するのが一般的である。しかし、従来技術では、USBデバイスコントローラにおいてデータ送受信がおこなわれたことをUSBデバイスのCPUに示す割り込み信号はバッファ毎に1系統となっている。
【0003】
図7に、受信バッファを使用するUSBアウト転送の場合について動作手順例を示し、図8に動作フローを示す。なお、図7において、符号EはFIFOメモリが空の状態を示し、符号Fはデータが格納された状態を示している。
まず、受信バッファのA面(一方の受信バッファ)にパケットデータ(データ1)が格納され(S41)、パケットデータが格納されたことを示す割り込みが発生する(S42)。
続いて、USBデバイスのCPUが、割り込み要因を確認後、割り込み要因を解除(クリア)する(S43)。そして、CPUは受信バッファに格納されたデータ(データ1)を読み出し(S44)、読み出し完了後、割り込み処理ルーチンを完了する。
一方、読み出しと並行に受信バッファのB面にパケットデータ(データ2)が格納され(S45)、パケットデータが格納されたことを示す割り込みが発生する(S46)。これにより、CPUは割り込み要因を確認後、割り込み要因を解除(クリア)する(S47)。
続いて、CPUは受信バッファに格納されたデータ(データ2)を読み出し(S48)、読み出し完了後、割り込み処理を完了する。以下、繰り返しである。
通常、前記した手順で正常に受信データを読み出すことが可能であるが、ホストPCからのパケットデータ受信のタイミングによっては不具合が発生する。前記においては、割り込み確認後、割り込み要因をクリアする手順にしているが、割り込み確認と割り込み要因クリアの間に次のパケットデータ受信(データ2)を示す割り込みが発生した場合、後から格納されたパケット(データ2)に対応した割り込みが先の割り込み(データ1)解除によって同時に解除されてしまい、データ2に対応した割り込み処理に入れなくなってしまうのである(図9参照)。
この問題を回避する一つの手段として、受信バッファのデータ格納状態を示すレジスタを設け、割り込み処理を完了する前にこのレジスタを確認する方法も考えられるが、制御が複雑になってしまう。
【0004】
実用新案登録第3072264号公報に示された従来技術は前記したようなUSBデバイスコントローラを持つ従来技術の一つであり、複数個の受信バッファを備え、受信バッファへデータが格納される毎に割り込み信号を発生させ、全受信バッファにデータが格納された後に新規データ受信を許可する。具体的には、次の通りである。
PCからUSBデバイスコントローラにデータパケットが送信されてきて、データがUSBデバイスコントローラ内の受信バッファに格納されると、USBデバイスのCPUに割り込みをかけるため、割り込み処理部に割り込み信号が出力され、その割り込み処理部により受信バッファ内の格納データが読み出されてRAMに保存されるとともに、受信バッファのそれぞれの格納状況に対応した異なるビット内容のイベントコードがコマンド解析部に出力され、コマンド解析部によりRAMの保存データ中のコマンドが解析され、解析結果に応じた処理がおこなわれる。このとき、割り込み処理部からのイベントコードがN番目(最後)の受信バッファを示していると、コマンド解析部からUSBデバイスコントローラへ受信許可のためのクリア信号が出力され、すべての受信バッファが受信可能な状態になる。
【特許文献1】実用新案登録第3072264号公報
【0005】
【発明が解決しようとする課題】
前記したように、一つのバッファメモリへの格納が終了したときに割り込みをおこなう従来技術では、割り込み確認後、割り込み要因をクリアする手順にしているが、割り込み確認と割り込み要因クリアの間に次のパケットデータ格納を示す割り込みが発生した場合、後から格納されたパケットデータに対応した割り込みが先の割り込み解除によって同時に解除されてしまい、後のパケットデータに対応した割り込み処理に入れなくなってしまうという問題を簡単に解決できなかった。また、実用新案登録第3072264号公報に示されたような従来技術では、一つのバッファメモリから読み出す処理と、別のバッファメモリへ格納する処理を並行におこなえないという問題があった。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、複数のバッファメモリに対する転送処理を並行におこなえ、且つ、後から別のバッファメモリに対して転送処理されたパケットデータに対応した割り込みが先の割り込み解除によって同時に解除されてしまい、後のパケットデータに対応した割り込み処理に入れなくなってしまうという問題を簡単に解決できるUSBデバイスコントローラを提供することにある。
【0006】
【課題を解決するための手段】
前記の課題を解決するために、請求項1記載の発明では、USB転送に用いる送信バッファまたは受信バッファとして複数のFIFOメモリを備え、使用される個々のFIFOメモリが所定量の送信データまたは受信データごとに切り替わる構成のUSBデバイスコントローラにおいて、少なくとも使用対象のFIFOメモリのそれぞれの割り込み状態を書き込む割り込み状態記憶手段を備えた。
また、請求項2記載の発明では、請求項1記載の発明において、割り込み中状態を解除する際、前記割り込み状態記憶手段に複数のFIFOメモリ分が割り込み中と書き込まれていた場合、最も先に割り込みが発生したFIFOメモリに対応した割り込み中状態を解除する構成にした。
また、請求項3記載の発明では、請求項2記載の発明において、割り込み解除を指示する情報を書き込む割り込み解除情報記憶手段と、最も先に割り込みが発生したFIFOメモリを特定する解除対象判別手段とを備えた。
また、請求項4記載の発明では、請求項1記載の発明において、送信バッファを使用するUSBイン転送の際、送信されたパケットがショートパケットであることが検出されたとき、対応する割り込み状態の発生を禁止させる割り込み禁止手段を備えた。
【0007】
【発明の実施の形態】
本発明は、USB転送に使用されるFIFOメモリの数と同数の割り込み状態を示すことができるレジスタを設けたことなどを特徴としている。前記した実用新案登録第3072264号公報に示された従来技術においてもUSB転送に使用される受信バッファと同数の割り込み状態を示すことができるレジスタを設けているが、受信バッファのみ対象にしている点と割り込みクリアの方法が本発明とは異なっている。
以下、USB規格のプリンタを例に、本発明の実施の形態を図面により詳細に説明する。
【0008】
図1は本発明の一実施例を示すプリンタ要部の構成ブロック図である。なお、図1では送受信データおよび制御データの経路のみ示しており、それ以外の信号線は省略している。
図示したように、この実施例のプリンタは、USB規格に従ったデータ通信制御を行うUSBデバイスコントローラ1、プリンタ全体を制御するCPU2、プリンタメインメモリ3を備え、USBデバイスコントローラ1内にはDMAコントローラ(以下、DMACと称す)4を備え、CPU2、プリンタメインメモリ3、およびDMAC4はシステムバス5に接続されている。
また、USBデバイスコントローラ1は、トランシーバ(送信回路)/レシーバ(受信回路)を含み、データ送受信/パラレル−シリアル変換などをおこなう物理層回路ブロック(以下、PHYと称す。PHYはPhysicalの略)11、プロトコル(伝送制御手順)処理/入出力信号処理などをおこなう論理層回路ブロック(以下、SIE(Serial Interface Engine)と称す)12、FIFO(First In First Out)メモリとして実現した、送受信データを格納する3種類の送受信バッファメモリ(USBのプリンタクラス仕様におけるエンドポイントバッファ)であるEP0送受信バッファ13、EP1受信バッファ14、EP2送信バッファ15、USBデバイスコントローラ1の制御およびUSBデバイスコントローラ1内各ブロックの状態確認をおこなうための情報が書き込まれ、CPU2からアクセス(読み書き)される内部レジスタ16、エンドポイントバッファ(3種類の送受信バッファメモリ)13、14、15とプリンタメインメモリ3との間のDMA転送をおこなうためのインタフェースであるDMA−I/F(DMAインタフェース)17、PIO転送用のインタフェースであるPIO−I/F18などを備える。なお、この実施例では、FIFOメモリ数と同数の割り込み状態を示す情報、およびFIFOメモリ数と同数以上の割り込み解除情報が内部レジスタ16に書き込まれ、CPU2がPIO−I/F18を介してこのレジスタにアクセスする。つまり、この実施例では、請求項記載の割り込み状態記憶手段および割り込み解除情報記憶手段が内部レジスタ16により実現される。
【0009】
また、前記において、EP0送受信バッファ13はUSBのプリンタクラス仕様で言うUSBデバイスエナメレーション(Enumeration:USBデバイスから取得したデータをもとにPCで行われる)/デバイス制御データ転送用のコントロール転送用エンドポイントバッファであり、EP1受信バッファ14はプリントデータ転送用のバルクアウト転送用エンドポイントバッファであり、EP2送信バッファ15はプリンタステータス(例えば紙なし、紙詰まりといったエラー状態など)データ転送用バルクイン転送用エンドポイントバッファである。また、前記したDMAC4によるDMA転送はCPU処理を必要とするPIO転送に比べて高いデータ転送性能を持っている。また、DMAC内部には転送データを一時的に格納するバッファが設けられている。
一方、この実施例では以下に示す2種類のデータ転送がPIO−I/F18を介して実行可能である。
(a)内部レジスタアクセス(図中の破線矢印)
(b)EP0送受信バッファ13とプリンタメインメモリ3との間のデータ転送(図中の点線矢印)
前記内部レジスタアクセスはCPU2のコマンドにより適宜アクセスされ、USBコントローラ1内の各ブロックの状態確認、割り込み状態確認、およびPIO−I/F18を介したデータ転送処理などがおこなわれる。また、EP0送受信バッファ13とプリンタメインメモリ3との間のデータ転送では、USB制御データを転送する。それほど高い転送性能は必要ないので、PIO転送が使用されるのである。
一方、EP1受信バッファ14とプリンタメインメモリ3との間のデータ転送およびEP2送信バッファ15とプリンタメインメモリ3との間のデータ転送には通常DMA−I/F17を介したDMA転送が使用される。
【0010】
次に、本発明の一実施例を、アウト転送に使用する受信バッファ14の場合で説明する。図7に示した従来技術の例と同様に受信バッファ14はA面とB面の2面(2個)から成るFIFOメモリである。また、内部レジスタ16において、受信バッファの割り込みに係わるのは3ビットである。各ビットをRSA、RSB、RClrと呼ぶことにする(図5参照)。これらの各ビットの機能は以下の通りである。
(1)RSA:このビットが1の場合、受信バッファA面にデータが格納されており、割り込みが発生したことを示す。このビットに0を書き込むことにより割り込み中状態が解除される。
(2)RSB:このビットが1の場合、受信バッファB面にデータが格納されており、割り込みが発生したことを示す。このビットに0を書き込むことにより割り込み中状態が解除される。
(3)RClr:このビットはCPU2から見れば書き込み専用ビットであり、CPU2がこのビットに1を書き込むことにより、USBデバイスコントローラ1はRSAまたはRSBの何れか一方の割り込み中状態を解除する。どちらを解除するかはそのときの状態により判別する。
【0011】
このようなレジスタを使用した基本的な受信データ読み出しの動作フローを図2に示す。以下、図2に従って、この動作フローを説明する。
まず、USBデバイスコントローラ1が、受信バッファA面にパケットデータ(データ1)を格納し(S1)、RSAに1を書き込み、パケットデータを格納したことを示す割り込みを発生させる(S2)。そうすると、CPU2は制御プログラムに従って(以下、「制御プログラムに従って」を省略する)割り込み要因を確認し(S3)、その後、RClrに1を書き込む(S4)。これにより、USBデバイスコントローラ1はRSAに0を書き込み、割り込み中状態を解除する(S5)。
続いて、CPU2は受信バッファ14に格納されたデータ(データ1)を読み出し(S6)、読み出し完了後、この割り込みに係わる処理を完了する。
一方、データ1の読み出し完了を待たずにUSBデバイスコントローラ1は受信バッファB面にパケットデータ(データ2)を格納し(S7)、RSBに1を書き込み、パケットデータが格納されたことを示す割り込みを発生させる(S8)。そうすると、CPU2は割り込み要因を確認し(S9)、その後、RClrに1を書き込む(S10)。これにより、USBデバイスコントローラ1はRSBに0を書き込み、割り込み中状態を解除する(S11)。
続いて、CPU2は受信バッファ14に格納されたデータ(データ2)を読み出し(S12)、読み出し完了後、この割り込みに係わる処理を完了する。
【0012】
次に、従来技術では不具合となるタイミングの場合について、この実施例における受信データ読み出しの動作フローを図3に従って説明する(図4も参照)。
まず、USBデバイスコントローラ1が、受信バッファA面にパケットデータ(データ1)を格納し(S21)、RSAに1を書き込み、パケットデータが格納されたことを示す割り込みを発生させる(S22)。そうすると、CPU2は割り込み要因を確認するが(S23)、この間に受信バッファB面にデータが格納され、RSBに1が書き込まれるものとする(S24)。
その後、RClrに1を書き込む(S25)。これにより、USBデバイスコントローラ1は割り込み中状態を解除するのであるが、その際の割り込み処理確認中に受信バッファB面にデータが格納されているので、RSAとRSBが同時に1になっている。しかし、USBデバイスコントローラ1は図5に示した解除対象判別回路によりRSAにのみ0を書き、解除する(S26)。
図5に示したステートマシン21は面数(バッファメモリの数)分の値を出力するカウンタ回路と面数分のラッチ回路を備えており、カウンタ値は最新割り込みのバッファに対応している。このラッチ回路は対応する割り込み信号によりセットされ、その出力信号はステートマシン21に入力されるClr信号などとANDを取られ、対応するバッファレジスタ22をクリアするが、そのとき、当該ラッチ回路自身もクリアする。これにより、Clr信号がステートマシン21に入ったとき、そのときのカウンタ値のラッチ回路だけでなく、直前のカウンタ値のラッチ回路もセット状態にあれば、そのラッチ回路がClr信号のタイミングでClr信号を出力し、当該カウンタ値のラッチ回路のみがセット状態であれば、そのラッチ回路がClr信号のタイミングでClr信号を出力するようにできる。こうして、請求項3記載の解除対象判別手段が容易に実現できるのである。
続いて、CPU2は受信バッファ14に格納されたデータ(データ1)を読み出す(S27)。そして、読み出し完了後、この割り込み処理を完了するが、パケットデータが格納されたことを示す割り込みであるRSBが残っているので、それに対応した割り込みが発生する(S28)。これにより、CPU2は割り込み要因を確認するが(S29)、この割り込み処理確認中に受信バッファA面にデータが格納された場合、RSAが1になる(S30)。
その後、RClrに1を書き込むと(S31)、USBデバイスコントローラ1は割り込み中状態を解除するのであるが、その際の割り込み処理確認中に受信バッファA面にデータが格納された場合、RSAとRSBが同時に1になっている。しかし、前記した解除対象判別回路によりRSBのみ解除する(S32)。
続いて、CPU2は受信バッファ14に格納されたデータ(データ2)を読み出し(S33)、読み出し完了後、割り込み処理を完了する。
【0013】
こうして、この実施例によれば、受信バッファであるFIFOメモリの数と同数の割り込みビット(前記した例では2ビット)をレジスタ内に設けるとともに解除対象判別回路を設けることにより、割り込み要因確認処理と割り込み解除処理の間に別の受信バッファ(別の面)に受信データが格納された場合であっても、各受信バッファへの格納ごとに割り込みを発生させることができるので、全受信パケットを正常に読み出すことが可能となる。また、全受信バッファにデータが格納されなくとも、読み出しを開始し、格納しつつ読み出せるので、複数の受信バッファを使用する利点が保たれる。
また、前記したように、RClrに1を書き込むだけで適切な面(適切なバッファメモリ)のビットが解除されるので、CPU2の制御プログラム(制御ソフト)が簡単になる。なお、この実施例では、RSAとRSBを個別に解除できる構成であるので、解除対象判別回路を使用しない構成も可能である。この場合はCPU2がRSAとRSBを個別に解除する信号を出すのである。
【0014】
次に、イン転送に使用する送信バッファ15の場合で説明する。なお、この説明においても、図7に示した従来技術の例と同様に送信バッファはA面とB面の2面(2個)構成になっている。また、内部レジスタ16において、送信バッファ15の割り込みに係わるビットは図6に示したように3ビット構成になっている。これらの各ビットの機能は以下の通りである。
(1)TSA:このビットが1の場合、送信バッファA面に格納されたデータがホストPCへ送信されて、割り込みが発生したことを示す。このビットに0を書き込むことにより割り込み中状態が解除される。
(2)TSB:このビットが1の場合、送信バッファB面に格納されたデータがホストPCへ送信されて、割り込みが発生したことを示す。このビットに0を書き込むことにより割り込み中状態が解除される。
(3)TClr:このビットはCPU2から見れば書き込み専用ビットであり、CPU2がこのビットに1を書き込むことにより、RSAまたはRSBの何れか一方の割り込み中状態が解除される。どちらを解除するかは解除対象判別回路が自動的に判別する構成になっている。
イン転送の場合、ホストPCに対して送信すべきデータをCPU2が送信バッファ15に書き込み、CPU2は、USBデバイスコントローラ1からのデータ送信割り込みにより送信バッファ15に空きができたことを認識した上で次の送信データを書き込むことを繰り返す。従来技術では、イン転送の場合も、ある面の送信割り込み確認と割り込み解除の間に別の面のデータ送信による割り込みが入ると同時に割り込みがクリアされてしまう不具合が発生してしまうが、この実施例では、受信の場合で説明したように面ごと(バッファメモリごと)に割り込みビットを設けるとともに解除対象判別回路を設けて、先に割り込みがあった方だけ割り込み中状態を解除するので問題は発生しない。
【0015】
ところで、イン転送の場合、転送すべき最終パケットの割り込みはCPU2にとって不要な割り込みである。なぜなら送信バッファ15に書き込むデータが存在しないからである。そのため、本発明の他の実施例では、最終回の送信に当たるショートパケットに対応する割り込みを発生させない。USB規格においては、転送ファイルの区切りはショートパケットで判別されるのである。なお、ショートパケットとはデータ数が最大パケットサイズ(例えばHSモードのバルク転送では512バイト)に満たないパケットのことである。
そのため、この実施例では、イン転送のパケットに関しては、ショートパケットか否かを検出し、ショートパケットの場合には対応する割り込みを発生させないような回路を設け、それにより、不要な割り込みを発生させないようにしている。請求項4記載の割り込み禁止手段は、前記したショートパケットを検出してショートパケット検出信号を出力するショートパケット検出手段と、そのショートパケット検出信号と前記したTSAまたはTSBビットを立てる信号とを入力信号とするAND回路でよく、したがって、簡単に実現可能である。
以上、受信バッファまたは送信バッファなどバッファメモリの数(FIFOメモリの数)が2個の場合で説明したが、3個以上の場合も同様である。
【0016】
【発明の効果】
以上説明したように、本発明によれば、請求項1記載の発明では、USB転送に用いる送信バッファまたは受信バッファとして複数のFIFOメモリを備え、使用される個々のFIFOメモリが所定量の送信データまたは受信データごとに切り替わる構成のUSBデバイスコントローラにおいて、少なくとも使用対象のFIFOメモリの数分のそれぞれの割り込み状態を書き込み、記憶することができるので、複数のバッファメモリに対する転送処理を並行におこなうことができるし、記憶されている割り込み状態を割り込み解除時に調べることにより、後から別のバッファメモリに対して転送処理されたパケットデータに対応した割り込みが先の割り込み解除によって同時に解除されてしまわないようにすることができ、したがって、後のパケットデータに対応した割り込み処理に入れなくなってしまうという問題を解決することが可能になる。
また、請求項2記載の発明では、請求項1記載の発明において、割り込み中状態を解除する際、割り込み状態記憶手段に複数のFIFOメモリ分が割り込み中と書き込まれていた場合、最も先に割り込みが発生したFIFOメモリに対応した割り込み中状態のみを解除することができるので、後のパケットデータに対応した割り込み処理に入れなくなってしまうという問題を解決することができる。
また、割り込み発生により割り込み処理をおこなう側は、割り込み処理終了時、どのFIFOメモリの割り込み処理が終了したかをUSBデバイスコントローラへ通知する必要がないので、処理が簡単になる。
また、請求項3記載の発明では、請求項2記載の発明において、割り込み解除を指示する情報が書き込まれるとともに、最も先に割り込みが発生したFIFOメモリを特定されるので、割り込みを解除すべき適切なタイミングで、割り込みを解除すべきFIFOメモリのみ割り込みを解除することができる。
また、請求項4記載の発明では、請求項1記載の発明において、送信バッファを使用するUSBイン転送の際、送信されたパケットがショートパケットであることが検出されたとき、対応する割り込み状態の発生を禁止させることができるので、不要な割り込みを発生させないで済む。
【図面の簡単な説明】
【図1】本発明の一実施例を示すプリンタ要部の構成ブロック図である。
【図2】本発明の一実施例を示すUSBデバイスコントローラの動作フロー図である。
【図3】本発明の一実施例を示すUSBデバイスコントローラの他の動作フロー図である。
【図4】本発明の一実施例を示すUSBデバイスコントローラの動作説明図である。
【図5】本発明の一実施例を示すUSBデバイスコントローラ要部の構成ブロック図である。
【図6】本発明の他の実施例を示すUSBデバイスコントローラ要部の構成ブロック図である。
【図7】従来技術の一例を示すUSBデバイスコントローラの動作説明図である。
【図8】従来技術の一例を示すUSBデバイスコントローラの動作フロー図である。
【図9】従来技術の一例を示すUSBデバイスコントローラの他の動作説明図である。
【符号の説明】
1 USBデバイスコントローラ
2 CPU
3 プリンタメインメモリ
4 DMAC
14 EP1受信バッファ
15 EP2送信バッファ
16 内部レジスタ
18 PIO−I/F
21 ステートマシン
22 バッファレジスタ
23 ステートマシン
Claims (4)
- USB転送に用いる送信バッファまたは受信バッファとして複数のFIFOメモリを備え、使用される個々のFIFOメモリが所定量の送信データまたは受信データごとに切り替わる構成のUSBデバイスコントローラにおいて、少なくとも使用対象のFIFOメモリのそれぞれの割り込み状態を書き込む割り込み状態記憶手段を備えたことを特徴とするUSBデバイスコントローラ。
- 請求項1記載のUSBデバイスコントローラにおいて、割り込み中状態を解除する際、前記割り込み状態記憶手段に複数のFIFOメモリ分が割り込み中と書き込まれていた場合、最も先に割り込みが発生したFIFOメモリに対応した割り込み中状態を解除する構成にしたことを特徴とするUSBデバイスコントローラ。
- 請求項2記載のUSBデバイスコントローラにおいて、割り込み解除を指示する情報を書き込む割り込み解除情報記憶手段と、最も先に割り込みが発生したFIFOメモリを特定する解除対象判別手段と、を備えたことを特徴とするUSBデバイスコントローラ。
- 請求項1記載のUSBデバイスコントローラにおいて、送信バッファを使用するUSBイン転送の際、送信されたパケットがショートパケットであることが検出されたとき、対応する割り込み状態の発生を禁止させる割り込み禁止手段を備えたことを特徴とするUSBデバイスコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002367256A JP2004199402A (ja) | 2002-12-18 | 2002-12-18 | Usbデバイスコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002367256A JP2004199402A (ja) | 2002-12-18 | 2002-12-18 | Usbデバイスコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004199402A true JP2004199402A (ja) | 2004-07-15 |
Family
ID=32764216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002367256A Pending JP2004199402A (ja) | 2002-12-18 | 2002-12-18 | Usbデバイスコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004199402A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6037029B2 (ja) * | 2013-09-20 | 2016-11-30 | 富士通株式会社 | データ転送装置、情報処理装置及びio制御方法 |
-
2002
- 2002-12-18 JP JP2002367256A patent/JP2004199402A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6037029B2 (ja) * | 2013-09-20 | 2016-11-30 | 富士通株式会社 | データ転送装置、情報処理装置及びio制御方法 |
JPWO2015040750A1 (ja) * | 2013-09-20 | 2017-03-02 | 富士通株式会社 | データ転送装置、情報処理装置及びio制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3870717B2 (ja) | データ転送制御装置及び電子機器 | |
US20030074502A1 (en) | Communication between two embedded processors | |
JP4377603B2 (ja) | バス通信システムおよびその通信制御方法 | |
JP2003316731A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2006215873A (ja) | 制御装置、情報処理装置、及び転送処理方法 | |
JP4724494B2 (ja) | Pciブリッジ及pciブリッジを搭載するシステム | |
US7925799B2 (en) | Serial ATA interface control circuit and power management method wherein start and completion of data transfer is monitored during DMA operations using memory control unit | |
US20070005847A1 (en) | Data transfer control device and electronic instrument | |
EP1793314B1 (en) | Data transfer operations and buffer memories | |
JP4785637B2 (ja) | データ転送装置及びその制御方法 | |
US20040230717A1 (en) | Processing device | |
JP2004199402A (ja) | Usbデバイスコントローラ | |
JP2002318778A (ja) | データ通信システムとその通信方法 | |
US20030053130A1 (en) | Recording apparatus, interface control apparatus, and interface control method | |
JP2000280582A (ja) | データ処理装置およびデータ処理方法並びにデータ処理制御プログラムを記録した記録媒体 | |
JP4607706B2 (ja) | 画像処理システム、プログラムおよびジョブ実行方法 | |
US20080104286A1 (en) | Data transfer apparatus and data transfer method | |
JP2004078877A (ja) | データ通信システム | |
JP4371786B2 (ja) | Usbデバイスコントローラおよびプリンタ | |
JP4329188B2 (ja) | データ転送制御装置 | |
JP4147799B2 (ja) | データ転送システム | |
JP2004056312A (ja) | データ通信システム | |
JP3645696B2 (ja) | Pciバス・s/tインタフェース間接続装置 | |
JP2002215562A (ja) | Dma制御装置及び方法 | |
EP1195685B1 (en) | A process for interfacing a microprocessor with a packet based device and respective system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050223 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071220 |
|
A02 | Decision of refusal |
Effective date: 20080616 Free format text: JAPANESE INTERMEDIATE CODE: A02 |