[go: up one dir, main page]

JP2009059155A - Usb host controller device - Google Patents

Usb host controller device Download PDF

Info

Publication number
JP2009059155A
JP2009059155A JP2007225706A JP2007225706A JP2009059155A JP 2009059155 A JP2009059155 A JP 2009059155A JP 2007225706 A JP2007225706 A JP 2007225706A JP 2007225706 A JP2007225706 A JP 2007225706A JP 2009059155 A JP2009059155 A JP 2009059155A
Authority
JP
Japan
Prior art keywords
address
data
descriptor
memory
host controller
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
JP2007225706A
Other languages
Japanese (ja)
Inventor
Toshio Mori
俊夫 森
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan 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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2007225706A priority Critical patent/JP2009059155A/en
Publication of JP2009059155A publication Critical patent/JP2009059155A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a USB host controller device suitable for integrated equipment. <P>SOLUTION: A USB host controller device 1 includes: a data address selector address conversion part 21 which adds an address offset value for a descriptor region to an address to convert it into the descriptor region address of a memory 40 in the case of access to a descriptor region, and adds an address offset value for a data region to the address to convert it into the data region address of the memory 40 in the case of access to a data region; a descriptor cache memory 24 which stores the data of the descriptor region address acquired from the memory 40 on the basis of the descriptor region address when access to the descriptor region is generated; and a data buffer memory 28 which stores the data of the data region address acquired from the memory 40 on the basis of the data region address when access to the data region is generated. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、マスタバスとスレーブバスとを有するUSBホストコントローラから、メモリ及びCPUへのアクセスを制御するUSBホストコントローラ制御回路を有するUSBホストコントローラ装置に関する。   The present invention relates to a USB host controller device having a USB host controller control circuit for controlling access to a memory and a CPU from a USB host controller having a master bus and a slave bus.

一般的に、コンピュータとUSB接続される機器との通信を制御するUSBホストコントローラ装置は、OHCI(Open Host Controller Interface)、EHCI(Enhanced Host Controller Interface)等に準拠している。ここで、USB(Universal Serial Bus)ホストコントローラ装置は、AHB(Advanced High-performance Bus)などのマスタ(Master)とスレーブ(Slave)に分離したバスを有する。   In general, a USB host controller device that controls communication between a computer and a device connected by USB conforms to OHCI (Open Host Controller Interface), EHCI (Enhanced Host Controller Interface), and the like. Here, a universal serial bus (USB) host controller device has a bus separated into a master (Master) and a slave (Slave) such as AHB (Advanced High-performance Bus).

この様な従来のUSBホストコントローラを備える情報機器200は、図4に示す構成を備える。情報機器200は、USBホストコントローラ10、DRAM(Dynamic Random Access Memory)インタフェース調停回路30、DRAM40、CPU(Central Processing Unit)50、他のIO(Input/Output)60、AHB調停回路(Arbiter)70を備える。USBホストコントローラ10は、AHBインタフェース10Aを介して、AHBマスタバス12とAHBスレーブバス13とにそれぞれ接続されている。USBホストコントローラ10は、AHBマスタバス12及びAHBスレーブバス13を介して、AHB調停回路70に接続される。更に、AHB調停回路70は、CPUバス51を介して、CPU50及びDRAMインタフェース調停回路30に接続される。DRAMインタフェース調停回路30は、USBホストコントローラ10、及び他のIO60からDRAM40へのアクセスを調整する。USBホストコントローラ10は、DRAMインタフェース調停回路30等を介して、DRAM40にアクセスする。   An information device 200 having such a conventional USB host controller has the configuration shown in FIG. The information device 200 includes a USB host controller 10, a DRAM (Dynamic Random Access Memory) interface arbitration circuit 30, a DRAM 40, a CPU (Central Processing Unit) 50, another IO (Input / Output) 60, and an AHB arbitration circuit (Arbiter) 70. Prepare. The USB host controller 10 is connected to the AHB master bus 12 and the AHB slave bus 13 via the AHB interface 10A. The USB host controller 10 is connected to the AHB arbitration circuit 70 via the AHB master bus 12 and the AHB slave bus 13. Further, the AHB arbitration circuit 70 is connected to the CPU 50 and the DRAM interface arbitration circuit 30 via the CPU bus 51. The DRAM interface arbitration circuit 30 adjusts access to the DRAM 40 from the USB host controller 10 and other IOs 60. The USB host controller 10 accesses the DRAM 40 via the DRAM interface arbitration circuit 30 or the like.

USBホストコントローラ10が動作中は、CPUバス51を占有してしまい、この間、CPU50は、CPUバス51を使用することができなくなる。この様に、USBホストコントローラ10の動作により、CPU50の動作に大きな影響を及ぼしていた。   While the USB host controller 10 is operating, the CPU bus 51 is occupied, and during this time, the CPU 50 cannot use the CPU bus 51. As described above, the operation of the USB host controller 10 has a great influence on the operation of the CPU 50.

ここで、パーソナルコンピュータ等の比較的高スペックの情報機器では、DRAM40及びバスの動作速度が高速なため、CPU50の動作に、それほど大きな影響を及ぼさない。しかし、携帯電話機やHDDレコーダなどのいわゆる組み込み機器では、CPU50の動作に大きな影響を及ぼしてしまう。更に、このような組み込み機器では、消費電力や回路コストが制限されているため、DRAM40やバスの動作速度を、パーソナルコンピュータ等の様に高めることはできない。又、CPU50の処理能力も、パーソナルコンピュータ等の様に、高スペックのものを搭載することができない。従って、特に組み込み機器においては、USBホストコントローラ10が動作中にCPUバス51を占拠してしまう問題が顕著となってしまう。この様に、USBホストコントローラ10の動作は、組み込み機器に大きな負担を強いているという問題があった。   Here, in a relatively high-spec information device such as a personal computer, the operation speed of the DRAM 40 and the bus is high, so that the operation of the CPU 50 is not significantly affected. However, so-called embedded devices such as mobile phones and HDD recorders greatly affect the operation of the CPU 50. Furthermore, in such an embedded device, power consumption and circuit cost are limited, so that the operating speed of the DRAM 40 and the bus cannot be increased as in a personal computer or the like. In addition, the processing capability of the CPU 50 cannot be equipped with a high specification like a personal computer or the like. Therefore, particularly in an embedded device, the problem of occupying the CPU bus 51 during operation of the USB host controller 10 becomes significant. As described above, the operation of the USB host controller 10 has a problem that it places a heavy burden on the embedded device.

特に、OHCI又はEHCIに準拠したUSBホストコントローラ10は、フレーム毎に、デスクリプタをDRAM40へアクセスさせる必要があった。従って、データの転送以外でも定期的にDRAM40へのアクセスが発生することにより、他のモジュールのDRAM40の使用効率を低下させることになっていた。   In particular, the USB host controller 10 compliant with OHCI or EHCI needs to access the descriptor 40 to the DRAM 40 for each frame. Accordingly, the use efficiency of the DRAM 40 of other modules is reduced by periodically accessing the DRAM 40 other than the data transfer.

又、USBホストコントローラ10は、32ビットのリニアアドレスを使用するとともに、データのアライメントなども要求される。従って、USBホストコントローラ10を既存のシステムに組み込もうとした場合、既存のシステムのアドレスをUSBホストコントローラ10に合わせなければならない。これにより、既存システムに、大幅な設計変更が必要になる場合が多かった。   Further, the USB host controller 10 uses a 32-bit linear address and is also required to align data. Therefore, when the USB host controller 10 is to be incorporated in an existing system, the address of the existing system must be matched with the USB host controller 10. This often required significant design changes in existing systems.

これらの解決方法として、スレーブバスからのみ、システムメモリにアクセスする様に制御する方法がある(例えば、特許文献1参照)。特許文献1に記載の方法においては、USBホストとして動作する電子デバイスが、互いにメモリバスで接続され、組み込みプロセッサとシステムメモリとを備えている。バスコントローラ集積回路は、システムメモリを支配せず、単にスレーブとして機能する。組み込みプロセッサは、ホストコントローラ集積回路に転送ベースのトランザクションの形式で、データを書き込む。   As a solution to these problems, there is a method of controlling to access the system memory only from the slave bus (see, for example, Patent Document 1). In the method described in Patent Document 1, electronic devices that operate as USB hosts are connected to each other via a memory bus, and include an embedded processor and a system memory. The bus controller integrated circuit does not dominate the system memory and simply functions as a slave. The embedded processor writes data to the host controller integrated circuit in the form of transfer-based transactions.

又、DMAコントローラを介してシステムメモリにアクセスする方法もある(例えば、特許文献2参照)。特許文献2に記載の方法においては、ホストコントローラが、関連するシステムメモリからデータを取り出すために、開始アドレス及びブロック長をDMAコントローラに送信し、DMAコントローラは、ホストコントローラから送信された開始アドレス及びブロック長を受信すると、DMAコントローラがシステムメモリから指示データを取り出す。
特表2007−501472号公報 特表2007−502476号公報
There is also a method of accessing the system memory via the DMA controller (see, for example, Patent Document 2). In the method described in Patent Document 2, the host controller transmits a start address and a block length to the DMA controller to retrieve data from the related system memory, and the DMA controller transmits the start address and the block address transmitted from the host controller. When the block length is received, the DMA controller retrieves the instruction data from the system memory.
Special table 2007-501472 gazette Special table 2007-502476 gazette

しかしながら、上述した特許文献1及び特許文献2に記載の方法は、下記のような問題がある。   However, the methods described in Patent Document 1 and Patent Document 2 described above have the following problems.

特許文献1に記載の方法では、内部RAMに転送に必要な情報を全て記憶しなければならない。従って、内部RAMの容量が小さい場合、大きいデータサイズのデータを送信するたびに、CPUがデータを内部RAMに転送しなければならない問題がある。これを回避しようとすると、非常に大きいデータサイズのRAMを内部に備えなければならない。このため、CPUは適時、USBホストコントローラのアクセスを許可する制御をしなければならない。これにより、負担の大きい制御が必要となるとともに、OHCIやEHCIに適合するようにソフトウェアの書き直しが必要となってしまうという問題がある。   In the method described in Patent Document 1, all information necessary for transfer must be stored in the internal RAM. Therefore, when the capacity of the internal RAM is small, there is a problem that the CPU must transfer the data to the internal RAM every time data having a large data size is transmitted. In order to avoid this, a RAM having a very large data size must be provided inside. For this reason, the CPU must perform control to permit access of the USB host controller in a timely manner. As a result, there is a problem that control with a large burden is required, and software must be rewritten to conform to OHCI and EHCI.

特許文献2に記載の方法では、CPUは、USBホストコントローラがアクセスするDRAMへのアクセス権を調停する必要がある。又、調停する必要がない場合でも、アドレス空間は、CPUとUSBホストコントローラとで共有である。又、SDRAMコントローラを内部に有しているため、他のIOとの共有が難しい。又、組み込み機器の場合、USBなどのIOより、他のモジュールを優先する場合もある。又、DRAMのアクセス頻度が高かったり、アクセス方法に制限がある場合もある。従って、DRAMとのアクセスでレイテンシーが大きい場合があり、データの転送に遅延が生じる可能性がある。   In the method described in Patent Document 2, the CPU needs to arbitrate the access right to the DRAM accessed by the USB host controller. Even when arbitration is not necessary, the address space is shared between the CPU and the USB host controller. Further, since the SDRAM controller is included inside, it is difficult to share with other IOs. In the case of an embedded device, other modules may be given priority over IO such as USB. In addition, there are cases where the DRAM access frequency is high and the access method is limited. Therefore, there is a case where the latency is large when accessing the DRAM, and there is a possibility that a delay occurs in the data transfer.

この様に、上述した特許文献1及び特許文献2に記載のUSBホストコントローラは、組み込み機器に適切なものではなかった。   As described above, the USB host controllers described in Patent Document 1 and Patent Document 2 described above are not suitable for embedded devices.

そこで本発明は、組み込み機器に好適なUSBホストコントローラ装置を提供することを目的とする。   Therefore, an object of the present invention is to provide a USB host controller device suitable for an embedded device.

上記課題を解決するために、本発明の第1の特徴は、マスタバス(12)とスレーブバス(13)とを有するUSBホストコントローラ(10)から、メモリ(40)及びCPU(50)へのアクセスを制御するUSBホストコントローラ制御回路(20)を有するUSBホストコントローラ装置(1)に関する。即ち本発明の第1の特徴に係るUSBホストコントローラ装置(1)のUSBホストコントローラ制御回路(20)は、マスタバス(12)にアクセスされると、アクセスのアドレスがデスクリプタ領域かデータ領域かを判断し、デスクリプタ領域へのアクセスの場合、アドレスにデスクリプタ領域用アドレスオフセット値を加算して、メモリ(40)のデスクリプタ領域アドレスに変換する一方、データ領域へのアクセスの場合、アドレスにデータ領域用アドレスオフセット値を加算して、メモリ(40)のデータ領域アドレスに変換するデータ用アドレスセレクタアドレス変換部(21)と、デスクリプタ領域へのアクセスが発生した場合、デスクリプタ領域アドレスに基づいて、メモリ(40)から取得したデスクリプタ領域アドレスのデータを記憶するデスクリプタキャッシュメモリ(24)と、データ領域へのアクセスが発生した場合、データ領域アドレスに基づいて、メモリ(40)から取得したデータ領域アドレスのデータを記憶するデータバッファメモリ(28)と、を備える。   In order to solve the above problems, the first feature of the present invention is that the USB host controller (10) having the master bus (12) and the slave bus (13) accesses the memory (40) and the CPU (50). The present invention relates to a USB host controller device (1) having a USB host controller control circuit (20) for controlling the above. That is, when the USB host controller control circuit (20) of the USB host controller device (1) according to the first feature of the present invention is accessed to the master bus (12), it determines whether the access address is a descriptor area or a data area. In the case of access to the descriptor area, the address offset value for descriptor area is added to the address and converted into the descriptor area address of the memory (40). On the other hand, in the case of access to the data area, the address for data area is used. When an access to the data address selector address conversion unit (21) that adds the offset value and converts it to the data area address of the memory (40) and the descriptor area occurs, the memory (40 ) Descriptor area address obtained from A descriptor cache memory (24) for storing data, and a data buffer memory (28) for storing data at the data area address acquired from the memory (40) based on the data area address when an access to the data area occurs And comprising.

ここで、スレーブバス(13)にアクセスされると、アクセスされたアドレスを、CPU(50)のアドレスに変換するCPU用バス変換部(29)を更に備えてもよい。   Here, when the slave bus (13) is accessed, a CPU bus conversion unit (29) may be further provided that converts the accessed address into an address of the CPU (50).

ここで、データバッファメモリ(28)は、先読み可能なメモリであることが好ましい。   Here, the data buffer memory (28) is preferably a pre-readable memory.

更に、メモリ(40)のデスクリプタ領域アドレスの一部のアドレスのデータを、予め記憶するデスクリプタメモリ(25)を更に備えてもよい。この場合、デスクリプタ領域アドレスのデータがデスクリプタメモリ(25)にない場合、デスクリプタキャッシュメモリ(24)に、メモリ(40)から取得したデスクリプタ領域アドレスのデータが記憶される。   Furthermore, you may further provide the descriptor memory (25) which memorize | stores beforehand the data of the one part address of the descriptor area | region address of a memory (40). In this case, when the data of the descriptor area address is not in the descriptor memory (25), the data of the descriptor area address acquired from the memory (40) is stored in the descriptor cache memory (24).

又、メモリ(40)のデータ領域アドレスの一部のアドレスのデータを、予め記憶するバルクIOレジスタ(27)を更に備えてもよい。この場合、データ領域アドレスのデータがバルクIOレジスタ(27)にない場合、データバッファメモリ(28)に、メモリ(40)から取得したデータ領域アドレスのデータが記憶される。   Further, a bulk IO register (27) for storing in advance data at a part of the data area address of the memory (40) may be further provided. In this case, when the data at the data area address is not in the bulk IO register (27), the data at the data area address acquired from the memory (40) is stored in the data buffer memory (28).

本発明によれば、データ用アドレスセレクタアドレス変換部を設けることにより、USBホストコントローラで用いられるアドレスと、CPU及びDRAMで用いられるアドレスが競合することを防ぎ、機器にUSB装置を組み込む際に、CPU及びDRAMで用いられるアドレスが、USBホストコントローラで用いられるアドレスに依存することがなく、利便性のよいUSBホストコントローラ装置を提供することができる。   According to the present invention, by providing the data address selector address conversion unit, it is possible to prevent the address used in the USB host controller and the address used in the CPU and DRAM from competing, and when incorporating the USB device into the device, An address used in the CPU and DRAM does not depend on an address used in the USB host controller, and a convenient USB host controller device can be provided.

次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。   Next, embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals.

(実施の形態)
図1を参照して、本発明の実施の形態に係るUSBホストコントローラ装置1を説明する。本発明の実施の形態に係るUSBホストコントローラ装置1は、携帯電話機などのいわゆる組み込み機器である情報機器100に用いられる。
(Embodiment)
A USB host controller device 1 according to an embodiment of the present invention will be described with reference to FIG. The USB host controller device 1 according to the embodiment of the present invention is used in an information device 100 which is a so-called embedded device such as a mobile phone.

図1において、本発明の実施の形態に係る情報機器100は、USBホストコントローラ装置1、DRAM(Dynamic Random Access Memory)インタフェース調停回路30、DRAM(メモリ)40、CPU50及び他のIO60を備えている。USBホストコントローラ装置1は、USB機器からのアクセスをUSBバス11を介して受信し、アクセスに応じて、DRAMインタフェース調停回路30、CPU50及び他のIOに出力する。DRAMインタフェース調停回路30は、USBホストコントローラ装置1、CPU50及び他のIO60と、DRAM40との通信を調停する。   1, an information device 100 according to an embodiment of the present invention includes a USB host controller device 1, a DRAM (Dynamic Random Access Memory) interface arbitration circuit 30, a DRAM (memory) 40, a CPU 50, and another IO 60. . The USB host controller device 1 receives an access from the USB device via the USB bus 11, and outputs it to the DRAM interface arbitration circuit 30, the CPU 50, and other IOs according to the access. The DRAM interface arbitration circuit 30 arbitrates communication between the USB host controller device 1, the CPU 50 and other IOs 60, and the DRAM 40.

USBホストコントローラ装置1は、USBホストコントローラ10と、USBホストコントローラ制御回路20とを備える。USB機器は、USBバス11及びUSBホストコントローラ装置1等を介して、DRAM40に接続される。USBホストコントローラ装置1は、AHBインタフェース10Aを介してAHBマスタバス12とAHBスレーブバス13にそれぞれ接続されたUSBホストコントローラ10と、USBホストコントローラ10から、DRAM40及びCPU50へのアクセスを制御するUSBホストコントローラ制御回路20とを有する。   The USB host controller device 1 includes a USB host controller 10 and a USB host controller control circuit 20. The USB device is connected to the DRAM 40 via the USB bus 11 and the USB host controller device 1. The USB host controller device 1 includes a USB host controller 10 connected to the AHB master bus 12 and the AHB slave bus 13 via the AHB interface 10A, and a USB host controller that controls access from the USB host controller 10 to the DRAM 40 and the CPU 50. And a control circuit 20.

USBホストコントローラ10は、OHCI(Open Host Controller Interface)又はEHCI(Enhanced Host Controller Interface)に準拠している。USBホストコントローラ10は、USBバス11を介して入力されたアクセスを、AHBマスタバス12又はAHBスレーブバス13を介して、USBホストコントローラ制御回路20に入力する。   The USB host controller 10 is compliant with OHCI (Open Host Controller Interface) or EHCI (Enhanced Host Controller Interface). The USB host controller 10 inputs the access input via the USB bus 11 to the USB host controller control circuit 20 via the AHB master bus 12 or the AHB slave bus 13.

USBホストコントローラ制御回路20は、USBホストコントローラ10から、AHBマスタバス12を介して入力されたアクセスについて、アドレスをDRAM40の論理アドレスに変換して、USBホストコントローラ20のメモリを介して、DRAM40とのアクセスを制御する。更にUSBホストコントローラ制御回路20は、AHBスレーブバス13を介して入力されたアクセスについて、アドレスをCPU50用の論理アドレスに変換して、CPUバス51を介して、CPU50とのアクセスを制御する。   The USB host controller control circuit 20 converts an address input from the USB host controller 10 via the AHB master bus 12 into a logical address of the DRAM 40, and communicates with the DRAM 40 via the memory of the USB host controller 20. Control access. Further, the USB host controller control circuit 20 converts an address inputted through the AHB slave bus 13 into a logical address for the CPU 50, and controls access to the CPU 50 through the CPU bus 51.

CPU50は、AHBスレーブバス13を介して、USBホストコントローラ10の内部のレジスタにアクセスし、USBホストコントローラ10の設定や制御を行う。更にCPU50は、他のIO60や、CPUバス51を介して接続されたモジュール(図示せず)が接続されている。CPU50は、他のIO60や、モジュールも制御する。   The CPU 50 accesses the internal register of the USB host controller 10 via the AHB slave bus 13 and performs setting and control of the USB host controller 10. Further, the CPU 50 is connected to another IO 60 and a module (not shown) connected via the CPU bus 51. The CPU 50 also controls other IOs 60 and modules.

USBホストコントローラ制御回路20は、データ用アドレスセレクタアドレス変換部21、デスクリプタメモリコントローラ22、データメモリコントローラ23、デスクリプタキャッシュメモリ24、デスクリプタメモリ25、バルクIOレジスタ27、データバッファメモリ28及びCPU用バス変換部29を備えている。   The USB host controller control circuit 20 includes a data address selector address conversion unit 21, a descriptor memory controller 22, a data memory controller 23, a descriptor cache memory 24, a descriptor memory 25, a bulk IO register 27, a data buffer memory 28, and a CPU bus conversion. A portion 29 is provided.

データ用アドレスセレクタアドレス変換部21は、AHBマスタバス12にアクセスされると、アクセスのアドレスがデスクリプタ領域かデータ領域かを判断する。デスクリプタ領域へのアクセスの場合、データ用アドレスセレクタアドレス変換部21は、アドレスにデスクリプタ領域用アドレスオフセット値を加算して、DRAM40のデスクリプタ領域アドレスに変換して、デスクリプタメモリコントローラ22に入力する。一方データ領域へのアクセスの場合、データ用アドレスセレクタアドレス変換部21は、アドレスにデータ領域用アドレスオフセット値を加算して、DRAM40のデータ領域アドレスに変換して、データメモリコントローラ23に入力する。   When the AHB master bus 12 is accessed, the data address selector address conversion unit 21 determines whether the access address is a descriptor area or a data area. In the case of access to the descriptor area, the data address selector address conversion unit 21 adds the descriptor area address offset value to the address, converts it to the descriptor area address of the DRAM 40, and inputs it to the descriptor memory controller 22. On the other hand, in the case of access to the data area, the data address selector address conversion unit 21 adds the data area address offset value to the address, converts it to the data area address of the DRAM 40, and inputs it to the data memory controller 23.

デスクリプタメモリコントローラ22は、アクセスされたDRAM40のデスクリプタ領域アドレスに基づいて、デスクリプタキャッシュメモリ24又はデスクリプタメモリ25にアクセスして、データを要求する。   The descriptor memory controller 22 accesses the descriptor cache memory 24 or the descriptor memory 25 based on the accessed descriptor area address of the DRAM 40 and requests data.

デスクリプタキャッシュメモリ24は、デスクリプタ領域アドレスに基づいて、DRAM40から取得したデスクリプタ領域アドレスのデータが記憶されたメモリである。デスクリプタキャッシュメモリ24は、一般的にはDRAMである。   The descriptor cache memory 24 is a memory in which the data of the descriptor area address acquired from the DRAM 40 is stored based on the descriptor area address. The descriptor cache memory 24 is generally a DRAM.

デスクリプタメモリ25には、DRAM40のデスクリプタ領域アドレスの一部のアドレスのデータが、予め記憶されたメモリである。デスクリプタメモリ25は、一般的にはSRAM(Static Random Access Memory)である。ここでデスクリプタ(Descriptor)とは、ED(Endpoint Descriptor)、TD(Transport Descriptor)、Hcca(Host Controller Communication Area)、Periodic Flame List、iTD(Isochronous Transport Descriptor)、qTD(Queue Transport Descriptor)、siTD(Split Transaction Transport Descriptor)、Queue Head、FSTN(Periodic Span Traversal Node)等である。   The descriptor memory 25 is a memory in which data of a part of the descriptor area address of the DRAM 40 is stored in advance. The descriptor memory 25 is generally an SRAM (Static Random Access Memory). Here, the descriptor (Descriptor) is ED (Endpoint Descriptor), TD (Transport Descriptor), Hcca (Host Controller Communication Area), Periodic Frame List, iTD (Isochronous Transport Descriptor), qTD (Queue Transport Descriptor), siTD (Split). Transaction Transport Descriptor), Queue Head, and FSTN (Periodic Span Traversal Node).

デスクリプタメモリ25に格納されるデータは、情報機器100の機能やスペックに応じて任意に設定されてもよい。例えば、OHCIで多数のフレームに渡るデータを転送する場合、DRAM40にEDを記憶するとともに、デスクリプタメモリ25に、TDを記憶するのが好ましい。   The data stored in the descriptor memory 25 may be arbitrarily set according to the function and specifications of the information device 100. For example, when transferring data over a large number of frames using OHCI, it is preferable to store ED in the DRAM 40 and store TD in the descriptor memory 25.

一般的に、EDについて、毎フレーム毎にDRAM40にアクセスされるが、値は変更されない。従って、本発明の実施の形態においては、デスクリプタキャッシュメモリ24にキャッシュしたデータを記憶することにより、都度DRAM40にアクセスすることなく、デスクリプタキャッシュメモリ24からデータを取得することが可能となる。これにより、USBホストコントローラ装置1とDRAM40とのアクセスを減らすことができる。   In general, for the ED, the DRAM 40 is accessed every frame, but the value is not changed. Therefore, in the embodiment of the present invention, by storing the cached data in the descriptor cache memory 24, the data can be acquired from the descriptor cache memory 24 without accessing the DRAM 40 each time. Thereby, access between the USB host controller device 1 and the DRAM 40 can be reduced.

一方、TDは、転送毎にUSBホストコントローラ10によって値が書き換えられる。デスクリプタメモリ25がSRAMである場合、デスクリプタメモリ25への書き込み処理は高速に処理され、DRAM40へのアクセスは発生しないので、処理を高速化することができる。   On the other hand, the value of TD is rewritten by the USB host controller 10 for each transfer. When the descriptor memory 25 is an SRAM, the writing process to the descriptor memory 25 is performed at a high speed and the access to the DRAM 40 does not occur, so that the process can be speeded up.

この様に、デスクリプタ又はデータのアクセス種別に応じて処理系統を分けるとともに、データ転送とデスクリプタのアクセスについて、デスクリプタキャッシュメモリ24とデスクリプタメモリ25を有することが好ましい。これにより、DRAM40への頻繁なアクセスを低減することができる。   As described above, it is preferable that the processing system is divided according to the descriptor or data access type, and that the descriptor cache memory 24 and the descriptor memory 25 are provided for data transfer and descriptor access. Thereby, frequent access to the DRAM 40 can be reduced.

デスクリプタメモリコントローラ22は、デスクリプタ領域アドレスへのアクセスが発生すると、デスクリプタ領域アドレスのデータが、デスクリプタメモリ25にあるか否かを判断する。デスクリプタメモリ25にある場合、デスクリプタメモリコントローラ22は、デスクリプタメモリ25から、当該デスクリプタ領域アドレスのデータを読み出して、アクセスに応答する。一方、デスクリプタ領域アドレスのデータがデスクリプタメモリ25にない場合、DRAM40に当該デスクリプタ領域アドレスのデータを要求する。デスクリプタキャッシュメモリ24にDRAM40からDRAMインタフェース調停回路30を介して取得したデスクリプタ領域アドレスのデータが記憶されると、デスクリプタメモリコントローラ22は、デスクリプタキャッシュメモリ24から当該デスクリプタ領域アドレスのデータを読み出して、アクセスに応答する。   When access to the descriptor area address occurs, the descriptor memory controller 22 determines whether or not the data of the descriptor area address is in the descriptor memory 25. If it is in the descriptor memory 25, the descriptor memory controller 22 reads the data of the descriptor area address from the descriptor memory 25 and responds to the access. On the other hand, when there is no data in the descriptor area address in the descriptor memory 25, the data of the descriptor area address is requested to the DRAM 40. When the descriptor area address data acquired from the DRAM 40 via the DRAM interface arbitration circuit 30 is stored in the descriptor cache memory 24, the descriptor memory controller 22 reads the data of the descriptor area address from the descriptor cache memory 24 and accesses it. Respond to.

データメモリコントローラ23は、アクセスされたDRAM40のデータ領域アドレスに基づいて、バルクIOレジスタ27又はデータバッファメモリ28にアクセスして、データを要求する。   The data memory controller 23 requests data by accessing the bulk IO register 27 or the data buffer memory 28 based on the data area address of the accessed DRAM 40.

バルクIOレジスタ27には、DRAM40のデータ領域アドレスの一部のアドレスのデータが、予め記憶されたレジスタである。   The bulk IO register 27 is a register in which data at a part of the data area address of the DRAM 40 is stored in advance.

バルクIOレジスタ27は、比較的小量でよい。組み込み機器のデータは、一般的に連続して配置される場合がほとんどあるので、データバッファメモリ28に先読み(プリフェッチ)機能を持たせることで、高速処理が可能となるからである。   The bulk IO register 27 may be a relatively small amount. This is because the data of the embedded device is generally almost continuously arranged, so that the data buffer memory 28 has a prefetching (prefetch) function, so that high-speed processing is possible.

バルクIOレジスタ27に格納するデータとしては、マスストレージクラスなどで、BOT(Bulk-Only Transport)を用いる場合のコマンド及びステータスデータ等が適している。   As data to be stored in the bulk IO register 27, commands and status data in the case of using BOT (Bulk-Only Transport) in the mass storage class or the like are suitable.

データバッファメモリ28は、データ領域アドレスに基づいて、DRAM40から取得したデータ領域アドレスのデータが記憶されたメモリである。データバッファメモリ28は、先読み(プリフェッチ)可能なメモリであることが好ましい。   The data buffer memory 28 is a memory in which data at the data area address acquired from the DRAM 40 is stored based on the data area address. The data buffer memory 28 is preferably a memory that can be prefetched (prefetched).

データバッファメモリ28に先読み機能を持たせることにより、連続して配置されているデータを先読み機能で予めデータバッファメモリ28に記憶させることができる。これにより、本発明の実施の形態に係るUSBホストコントローラ装置1は、効率的にデータ転送をすることができる。又、DRAM40とデータバッファメモリ28との間でレイテンシーが発生する場合でも、データバッファメモリ28の先読み機能により、レイテンシーを隠蔽することができる。   By providing the data buffer memory 28 with a prefetch function, it is possible to store data arranged continuously in the data buffer memory 28 in advance using the prefetch function. Thus, the USB host controller device 1 according to the embodiment of the present invention can efficiently transfer data. Even when latency occurs between the DRAM 40 and the data buffer memory 28, the latency can be hidden by the prefetch function of the data buffer memory 28.

データメモリコントローラ23は、データ領域アドレスへのアクセスが発生すると、データ領域アドレスのデータが、バルクIOレジスタ27にあるか否かを判断する。バルクIOレジスタ27にある場合、データメモリコントローラ23は、バルクIOレジスタ27から、当該データ領域アドレスのデータを読み出して、アクセスに応答する。一方、データ領域アドレスのデータがバルクIOレジスタ27にない場合、DRAM40に当該データ領域アドレスのデータを要求する。データバッファメモリ28にDRAM40から取得したデータ領域アドレスのデータが記憶されると、データメモリコントローラ22は、デスクリプタキャッシュメモリ24から当該デスクリプタ領域アドレスのデータを読み出して、アクセスに応答する。   When access to the data area address occurs, the data memory controller 23 determines whether or not the data at the data area address is in the bulk IO register 27. If the data is in the bulk IO register 27, the data memory controller 23 reads the data at the data area address from the bulk IO register 27 and responds to the access. On the other hand, when the data at the data area address is not in the bulk IO register 27, the data at the data area address is requested to the DRAM 40. When the data area address data acquired from the DRAM 40 is stored in the data buffer memory 28, the data memory controller 22 reads the data of the descriptor area address from the descriptor cache memory 24 and responds to the access.

CPU用バス変換部29は、AHBスレーブバス13にアクセスされると、アクセスされたアドレスを、CPU50のアドレスに変換する。   When the AHB slave bus 13 is accessed, the CPU bus conversion unit 29 converts the accessed address into the address of the CPU 50.

CPUバス変換部29では、CPU用のバスのアドレスに定数を加算あるいは減算することにより変換し、又はマッピングすることにより変換し、USBホストコントローラ10側のAHBスレーブバス13のアドレスをCPU50側からアクセスした際、他の機器と競合しないように、あるいは、IO空間内にあるようにする等のアドレスに変換する。   In the CPU bus conversion unit 29, conversion is performed by adding or subtracting a constant to or from a bus address for the CPU, or conversion is performed by mapping, and the address of the AHB slave bus 13 on the USB host controller 10 side is accessed from the CPU 50 side. In this case, the address is converted so as not to compete with other devices or to be in the IO space.

次に図2を参照して、本発明の実施の形態に係るデータ用アドレスセレクタアドレス変換部21が変換するアドレスを説明する。   Next, with reference to FIG. 2, an address converted by the data address selector address converter 21 according to the embodiment of the present invention will be described.

図2(a)は、データ用アドレスセレクタアドレス変換部21に入力されるアドレスのマッピング図である。図2(a)に示すアドレス領域は、USBホストコントローラ10が使用するホストコントローラレジスタ領域と、TD、ED、Hcca等のデスクリプタ領域と、データ領域とを有している。   FIG. 2A is a mapping diagram of addresses input to the data address selector address conversion unit 21. The address area shown in FIG. 2A has a host controller register area used by the USB host controller 10, a descriptor area such as TD, ED, and Hcca, and a data area.

図2(b)は、DRAM40の論理アドレスのマッピング図である。図2(b)は、データ用アドレスセレクタアドレス変換部21が出力するアドレスのマッピング図に相当する。図2(b)は、ホストコントローラレジスタ領域、他のIO60のレジスタ領域、デスクリプタ領域及びデータ領域を有している。図2(b)において、図2(a)のレジスタ領域、デスクリプタ領域及びデータ領域が、それぞれ対応づけられている。   FIG. 2B is a logical address mapping diagram of the DRAM 40. FIG. 2B corresponds to a mapping diagram of addresses output by the data address selector address conversion unit 21. FIG. 2B includes a host controller register area, another IO 60 register area, a descriptor area, and a data area. 2B, the register area, the descriptor area, and the data area in FIG. 2A are associated with each other.

データ用アドレスセレクタアドレス変換部21は、入力されたアドレスがホストコントローラレジスタ領域の場合、ホストコントローラレジスタ領域用アドレスオフセット値を加算して、図2(b)に示されたホストコントローラレジスタ領域のアドレスに変換する。   When the input address is the host controller register area, the data address selector address conversion unit 21 adds the address offset value for the host controller register area, and the address of the host controller register area shown in FIG. Convert to

データ用アドレスセレクタアドレス変換部21では、AHBマスタバス12のアドレスを、DRAM40がマッピングされているアドレスに変換する。本実施の形態では、CPU用バス変換部29とデータ用アドレスセレクタアドレス変換部21のアドレスは、同一のアドレス上にマッピングされているが、それぞれ違うアドレスにマッピングされてもよい。   The data address selector address converter 21 converts the address of the AHB master bus 12 into an address to which the DRAM 40 is mapped. In this embodiment, the addresses of the CPU bus conversion unit 29 and the data address selector address conversion unit 21 are mapped on the same address, but may be mapped to different addresses.

データ用アドレスセレクタアドレス変換部21は、入力されたアドレスがデスクリプタ領域の場合、デスクリプタ領域用アドレスオフセット値を加算して、図2(b)に示されたデスクリプタ領域のアドレスに変換する。図2(b)のデスクリプタ領域の一部のアドレス領域は、デスクリプタメモリ25に記憶される。図2(b)に示す例では、一つのアドレスの集合が、デスクリプタメモリ25に記憶されるように記載しているが、複数のアドレスの集合が、デスクリプタメモリ25に記憶されるようにしてもよい。   When the input address is the descriptor area, the data address selector address conversion unit 21 adds the descriptor area address offset value and converts it to the address of the descriptor area shown in FIG. A part of the address area of the descriptor area in FIG. 2B is stored in the descriptor memory 25. In the example shown in FIG. 2B, it is described that a set of one address is stored in the descriptor memory 25, but a plurality of sets of addresses may be stored in the descriptor memory 25. Good.

データ用アドレスセレクタアドレス変換部21は、入力されたアドレスがデータ領域の場合、データ領域用アドレスオフセットを加算して、図2(b)に示されたデータ領域のアドレスに変換する。図2(b)のデータ領域の一部のアドレス領域は、バルクIOレジスタ27に記憶される。図2(b)に示す例では、一つのアドレスの集合が、バルクIOレジスタ27に記憶されるように記載しているが、複数のアドレスの集合が、バルクIOレジスタ27に記憶されるようにしてもよい。   If the input address is a data area, the data address selector address conversion unit 21 adds the data area address offset and converts it to the address of the data area shown in FIG. A part of the address area of the data area in FIG. 2B is stored in the bulk IO register 27. In the example shown in FIG. 2B, it is described that a set of one address is stored in the bulk IO register 27, but a plurality of sets of addresses are stored in the bulk IO register 27. May be.

図3を参照して、本発明の実施の形態に係るUSBホストコントローラ装置1においてアクセスが発生した場合の処理を説明する。   With reference to FIG. 3, a process when an access occurs in the USB host controller device 1 according to the embodiment of the present invention will be described.

まず、ステップS1において、AHBマスタバス12にアクセスが発生すると、ステップS2において、アクセスされたアドレスが、データ領域かデスクリプタ領域かが判断される。このとき、図2(a)に示したアドレスのマッピングに基づいて、判断される。   First, when an access occurs in the AHB master bus 12 in step S1, it is determined in step S2 whether the accessed address is a data area or a descriptor area. At this time, the determination is made based on the address mapping shown in FIG.

ステップS2においてデータ領域であると判断された場合、ステップS3に進む。ステップS3において、アクセスされたアドレスにデータ領域用アドレスオフセット値を加算して、DRAM40におけるアドレスを出力する。   If it is determined in step S2 that the area is a data area, the process proceeds to step S3. In step S3, the data area address offset value is added to the accessed address, and the address in the DRAM 40 is output.

次に、ステップS4において、ステップS3で出力されたアドレスが図2(b)のバルクIOレジスタ領域のアドレスであるか否かを判断する。バルクIOレジスタ領域のアドレスである場合、ステップS7において、バルクIOレジスタ27にアクセスして、当該アドレスのデータを取得する。   Next, in step S4, it is determined whether or not the address output in step S3 is the address of the bulk IO register area in FIG. If it is the address of the bulk IO register area, in step S7, the bulk IO register 27 is accessed to obtain the data at that address.

一方、ステップS4において、ステップS3で出力されたアドレスが図2(b)のバルクIOレジスタ領域のアドレスでないと判断された場合、ステップS5に進む。ステップS5において、データバッファメモリ28に当該アドレスのデータを要求し、ステップS6においてDRAM40にアクセスして当該アドレスのデータをデータバッファメモリ28に記憶して、当該アドレスのデータを取得する。   On the other hand, if it is determined in step S4 that the address output in step S3 is not the address of the bulk IO register area in FIG. 2B, the process proceeds to step S5. In step S5, the data at the address is requested to the data buffer memory 28. In step S6, the DRAM 40 is accessed, the data at the address is stored in the data buffer memory 28, and the data at the address is acquired.

一方、ステップS2においてデスクリプタ領域であると判断された場合、ステップS8に進む。ステップS8において、アクセスされたアドレスにデスクリプタ領域用アドレスオフセット値を加算して、DRAM40におけるアドレスを出力する。   On the other hand, if it is determined in step S2 that the area is a descriptor area, the process proceeds to step S8. In step S8, the descriptor area address offset value is added to the accessed address, and the address in the DRAM 40 is output.

次に、ステップS9において、ステップS8で出力されたアドレスが図2(b)のデスクリプタメモリ領域のアドレスであるか否かを判断する。デスクリプタメモリ領域のアドレスである場合、ステップS10において、デスクリプタメモリ25にアクセスして、当該アドレスのデータを取得する。   Next, in step S9, it is determined whether or not the address output in step S8 is the address of the descriptor memory area in FIG. If it is the address of the descriptor memory area, in step S10, the descriptor memory 25 is accessed to obtain the data at that address.

一方、ステップS9において、ステップS8で出力されたアドレスが図2(b)のバルクIOレジスタ領域のアドレスでないと判断された場合、ステップS11に進む。ステップS11において、デスクリプタキャッシュメモリ24に当該アドレスのデータを要求する。ステップS12において、DRAM40にアクセスして当該アドレスのデータをデスクリプタキャッシュメモリ24に記憶して、当該アドレスのデータを取得する。   On the other hand, if it is determined in step S9 that the address output in step S8 is not the address of the bulk IO register area in FIG. 2B, the process proceeds to step S11. In step S11, the data of the address is requested to the descriptor cache memory 24. In step S12, the DRAM 40 is accessed, the data at the address is stored in the descriptor cache memory 24, and the data at the address is acquired.

この様な本発明の実施の形態に係るUSBホストコントローラ装置1によれば、USBホストコントローラ10に接続されたAHBマスタバス12及びAHBスレーブバス13から入力されたアドレスは、データ用アドレスセレクタアドレス変換部21で、DRAM40の論理アドレスに変換される。これにより、CPU50やDRAM40で使用されるアドレスと、USBホストコントローラ10で使用されるアドレスが競合することがない。従って、DRAMインタフェース調停回路30、DRAM40、CPU50、他のIO60等の既存の装置の設計変更をすることなく、これらの既存の装置のアドレスと、USBホストコントローラを接続する際のアドレスとの整合性を保つことができる。   According to the USB host controller device 1 according to the embodiment of the present invention, the address input from the AHB master bus 12 and the AHB slave bus 13 connected to the USB host controller 10 is a data address selector address conversion unit. At 21, the logical address of the DRAM 40 is converted. Thereby, the address used by the CPU 50 and the DRAM 40 and the address used by the USB host controller 10 do not conflict. Therefore, the consistency between the addresses of these existing devices and the address when connecting the USB host controller without changing the design of the existing devices such as the DRAM interface arbitration circuit 30, DRAM 40, CPU 50, and other IO 60. Can keep.

又、USBホストコントローラ装置1において、各種デスクリプタ領域のアドレスとデータ領域のアドレス領域のアドレスとを分離させている。これにより、データ用アドレスセレクタアドレス変換部21において、デスクリプタのアドレスとデータのアドレスを容易に分離させることができる。   Further, in the USB host controller device 1, the addresses of various descriptor areas and the addresses of the data areas are separated. Accordingly, the address selector for data 21 can easily separate the address of the descriptor from the address of the data.

又、先読み機能を搭載したデータバッファメモリ28を備えているので、DRAM40のデータを予めデータバッファメモリ28に読み込むことができる。これにより、DRAM40のアクセスのレイテンシーが大きい場合でも、レイテンシーを隠蔽することが可能となる。ここで、組み込み機器においては特に、転送データは連続して配置されている場合が多いので、データバッファメモリ28の先読み機能によるレスポンス時間の短縮の効果は大きい。一方、デスクリプタのデータは、転送データとは、転送容量が少なくアドレスが連続しているとは限らない。従って、デスクリプタキャッシュメモリ24で小容量のキャッシングを行っている。この様に、デスクリプタと転送データの処理系統を分離しているので、デスクリプタと転送データの特性に応じてDRAM50へのアクセスを実現することができる。デスクリプタと転送データをと同一処理すると、例えば、デスクリプタデータを先読みさせることにより、処理性能が大幅に悪化するなどの弊害が生じるが、本発明の実施の形態によれば、この様な弊害は発生しない。   Further, since the data buffer memory 28 equipped with the pre-read function is provided, the data in the DRAM 40 can be read into the data buffer memory 28 in advance. As a result, even when the access latency of the DRAM 40 is large, the latency can be hidden. Here, especially in embedded devices, since transfer data is often arranged continuously, the effect of shortening the response time by the prefetch function of the data buffer memory 28 is great. On the other hand, the descriptor data is not always the same as the transfer data with a small transfer capacity and continuous addresses. Therefore, the descriptor cache memory 24 performs small capacity caching. In this manner, since the processing system for the descriptor and the transfer data is separated, access to the DRAM 50 can be realized according to the characteristics of the descriptor and the transfer data. If the same processing is performed on the descriptor and the transfer data, for example, prefetching of the descriptor data causes a problem such as a significant deterioration in processing performance. However, according to the embodiment of the present invention, such a problem occurs. do not do.

本発明の実施の形態に係るUSBホストコントローラ装置1によれば、更に、デスクリプタメモリ25及びバルクIOレジスタ27に、DRAM40のアドレスにマッピングされたメモリ領域を有している。これにより、DRAMにアクセスすることなく、高速処理を行うことが可能となる。   According to the USB host controller device 1 according to the embodiment of the present invention, the descriptor memory 25 and the bulk IO register 27 further have a memory area mapped to the address of the DRAM 40. As a result, high-speed processing can be performed without accessing the DRAM.

ここで、各メモリ容量を必要最小限に抑え、DRAM40から、デスクリプタキャッシュメモリ24又はデータバッファメモリ28に読み出すことにより、DRAM40のデータを取得することができる。従って、デスクリプタキャッシュメモリ24、デスクリプタメモリ25、バルクIOレジスタ27及びデータバッファメモリ28のデータサイズは、任意に定められてもよい。又、各メモリに記憶されないデータは、DRAM40に記憶されてもよい。各メモリの容量は、情報機器100の機能や要求される性能等に応じて決定されればよい。   Here, the data of the DRAM 40 can be acquired by reducing each memory capacity to the necessary minimum and reading the data from the DRAM 40 to the descriptor cache memory 24 or the data buffer memory 28. Therefore, the data sizes of the descriptor cache memory 24, the descriptor memory 25, the bulk IO register 27, and the data buffer memory 28 may be arbitrarily determined. Data that is not stored in each memory may be stored in the DRAM 40. The capacity of each memory may be determined according to the function of the information device 100, required performance, and the like.

図1は、本発明の実施の形態に係るUSBホストコントローラ装置と、USBホストコントローラ装置を備える情報機器とを説明する図である。FIG. 1 is a diagram illustrating a USB host controller device and an information device including the USB host controller device according to an embodiment of the present invention. 図2は、本発明の実施の形態において、データ用アドレスセレクタアドレス変換部によるアドレス変換を説明する図である。FIG. 2 is a diagram for explaining address conversion by the data address selector address converter in the embodiment of the present invention. 図3は、本発明の実施の形態において、AHBマスタバスがアクセスされたときのUSBホストコントローラ装置の処理を説明するフローチャートである。FIG. 3 is a flowchart for explaining processing of the USB host controller device when the AHB master bus is accessed in the embodiment of the present invention. 図4は、従来のUSBホストコントローラ装置と、USBホストコントローラ装置を備える情報機器とを説明する図である。FIG. 4 is a diagram for explaining a conventional USB host controller device and an information device including the USB host controller device.

符号の説明Explanation of symbols

1 USBホストコントローラ装置
10 USBホストコントローラ
11 USBバス
12 AHBマスタバス
13 AHBスレーブバス
20 USBホストコントローラ制御回路
21 データ用アドレスセレクタアドレス変換部
22 デスクリプタメモリコントローラ
23 データメモリコントローラ
24 デスクリプタキャッシュメモリ
25 デスクリプタメモリ
27 バルクIOレジスタ
28 データバッファメモリ
29 CPU用バス変換部
30 DRAMインタフェース調停回路
40 DRAM
50 CPU
51 CPUバス
60 他のIO
70 AHB調停回路
100、200 情報機器
DESCRIPTION OF SYMBOLS 1 USB host controller apparatus 10 USB host controller 11 USB bus 12 AHB master bus 13 AHB slave bus 20 USB host controller control circuit 21 Data address selector address conversion part 22 Descriptor memory controller 23 Data memory controller 24 Descriptor cache memory 25 Descriptor memory 27 Bulk IO register 28 Data buffer memory 29 CPU bus converter 30 DRAM interface arbitration circuit 40 DRAM
50 CPU
51 CPU bus 60 Other IO
70 AHB arbitration circuit 100, 200 Information equipment

Claims (5)

マスタバスとスレーブバスとを有するUSBホストコントローラから、メモリ及びCPUへのアクセスを制御するUSBホストコントローラ制御回路を有するUSBホストコントローラ装置であって、
前記USBホストコントローラ制御回路は、
前記マスタバスにアクセスされると、前記アクセスのアドレスがデスクリプタ領域かデータ領域かを判断し、前記デスクリプタ領域へのアクセスの場合、前記アドレスにデスクリプタ領域用アドレスオフセット値を加算して、前記メモリのデスクリプタ領域アドレスに変換する一方、前記データ領域へのアクセスの場合、前記アドレスにデータ領域用アドレスオフセット値を加算して、前記メモリのデータ領域アドレスに変換するデータ用アドレスセレクタアドレス変換部と、
前記デスクリプタ領域へのアクセスが発生した場合、前記デスクリプタ領域アドレスに基づいて、前記メモリから取得した前記デスクリプタ領域アドレスのデータを記憶するデスクリプタキャッシュメモリと、
前記データ領域へのアクセスが発生した場合、前記データ領域アドレスに基づいて、前記メモリから取得した前記データ領域アドレスのデータを記憶するデータバッファメモリと、
を備えることを特徴とするUSBホストコントローラ装置。
A USB host controller device having a USB host controller control circuit for controlling access to a memory and a CPU from a USB host controller having a master bus and a slave bus,
The USB host controller control circuit
When the master bus is accessed, it is determined whether the access address is a descriptor area or a data area. When accessing the descriptor area, the address offset value for the descriptor area is added to the address, and the descriptor of the memory is On the other hand, in the case of access to the data area, a data address selector address conversion unit for adding a data area address offset value to the address and converting it to the data area address in the case of accessing the data area,
When an access to the descriptor area occurs, a descriptor cache memory that stores data of the descriptor area address acquired from the memory based on the descriptor area address;
When access to the data area occurs, based on the data area address, a data buffer memory that stores data of the data area address acquired from the memory;
A USB host controller device comprising:
前記スレーブバスにアクセスされると、前記アクセスされたアドレスを、前記CPUのアドレスに変換するCPU用バス変換部を更に備えることを特徴とする請求項1に記載のUSBホストコントローラ装置。   The USB host controller device according to claim 1, further comprising a CPU bus conversion unit that converts the accessed address into an address of the CPU when the slave bus is accessed. 前記データバッファメモリは、先読み可能なメモリであることを特徴とする請求項1、又は2に記載のUSBホストコントローラ装置。   The USB host controller device according to claim 1, wherein the data buffer memory is a pre-readable memory. 前記メモリの前記デスクリプタ領域アドレスの一部のアドレスのデータを、予め記憶するデスクリプタメモリを更に備え、
前記デスクリプタ領域アドレスのデータが前記デスクリプタメモリにない場合、前記デスクリプタキャッシュメモリに、前記メモリから取得した前記デスクリプタ領域アドレスのデータが記憶されることを特徴とする請求項1乃至3のいずれか1項に記載のUSBホストコントローラ装置。
A descriptor memory for storing in advance data of a part of the descriptor area address of the memory;
4. The data of the descriptor area address acquired from the memory is stored in the descriptor cache memory when the data of the descriptor area address is not in the descriptor memory. 5. The USB host controller device described in 1.
前記メモリのデータ領域アドレスの一部のアドレスのデータを、予め記憶するバルクIOレジスタを更に備え、
前記データ領域アドレスのデータが前記バルクIOレジスタにない場合、前記データバッファメモリに、前記メモリから取得した前記データ領域アドレスのデータが記憶されることを特徴とする請求項1乃至4のいずれか1項に記載のUSBホストコントローラ装置。
A bulk IO register that pre-stores data at a part of the data area address of the memory;
5. The data area address data acquired from the memory is stored in the data buffer memory when the data area address data is not in the bulk IO register. The USB host controller device according to the item.
JP2007225706A 2007-08-31 2007-08-31 Usb host controller device Pending JP2009059155A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007225706A JP2009059155A (en) 2007-08-31 2007-08-31 Usb host controller device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007225706A JP2009059155A (en) 2007-08-31 2007-08-31 Usb host controller device

Publications (1)

Publication Number Publication Date
JP2009059155A true JP2009059155A (en) 2009-03-19

Family

ID=40554834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007225706A Pending JP2009059155A (en) 2007-08-31 2007-08-31 Usb host controller device

Country Status (1)

Country Link
JP (1) JP2009059155A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160048353A1 (en) * 2014-08-13 2016-02-18 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160048353A1 (en) * 2014-08-13 2016-02-18 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system

Similar Documents

Publication Publication Date Title
JP6796304B2 (en) Final level cache system and corresponding methods
US10540306B2 (en) Data copying method, direct memory access controller, and computer system
US20040107265A1 (en) Shared memory data transfer apparatus
EP2466474A1 (en) Streaming translation in display pipe
JP2007199841A (en) Electronic device controller, bus control device
KR20160121024A (en) Data storage device and method for operating thereof
KR20150095139A (en) Direct Memory Access controller and system for accessing to channel buffer directly
JP4902640B2 (en) Integrated circuit and integrated circuit system
KR102144185B1 (en) Processing In Memory Device using a Conventional Memory Bus
JP2004118252A (en) Semiconductor data processing equipment
JP2009059155A (en) Usb host controller device
US8244929B2 (en) Data processing apparatus
CN106325377A (en) External device expansion card and input/output external device data processing method
JP2005107873A (en) Semiconductor integrated circuit
US20250217292A1 (en) Adaptive System Probe Action to Minimize Input/Output Dirty Data Transfers
JP2003085125A (en) Memory controller and memory control method
JP2009266152A (en) Controller, hard disk drive and control method
JP2008299747A (en) USB host system and transfer data transfer method
JP2006195810A (en) High-speed data transfer method
CN118503162A (en) SRAM controller, electronic device and SRAM control method
KR20080035873A (en) Image Processing System and Method of Multiprocessor Structure
JP2000047930A (en) Data processor
JP2009205412A (en) Dram controller and memory system
JP2005275473A (en) Memory control adapter
JP2006331252A (en) Bus bridge device