CN100414523C - 具有dma能力的usb主机控制器 - Google Patents

具有dma能力的usb主机控制器 Download PDF

Info

Publication number
CN100414523C
CN100414523C CNB2004800127702A CN200480012770A CN100414523C CN 100414523 C CN100414523 C CN 100414523C CN B2004800127702 A CNB2004800127702 A CN B2004800127702A CN 200480012770 A CN200480012770 A CN 200480012770A CN 100414523 C CN100414523 C CN 100414523C
Authority
CN
China
Prior art keywords
controller
processor
bus
system storage
data
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.)
Expired - Lifetime
Application number
CNB2004800127702A
Other languages
English (en)
Other versions
CN1882929A (zh
Inventor
李志谊
康斯坦丁·索科尔
热罗姆·谢
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.)
St Wireless
ST Ericsson SA
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1882929A publication Critical patent/CN1882929A/zh
Application granted granted Critical
Publication of CN100414523C publication Critical patent/CN100414523C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/282Cycle stealing DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种用于USB系统的嵌入式主机控制器,所述USB系统包括处理器和关联的系统存储器,所述主机控制器包括DMA控制器,为了从所述关联的系统存储器中获取数据,所述主机控制器将开始地址和块长度发送到所述DMA控制器,收到从所述主机控制器发送的开始地址和块长度之后,所述DMA控制器从所述关联的系统存储器中获取所指示的数据。其优点在于,该嵌入式主机控制器可用于不同的主机微处理器,而不必假设PCI功能是可用的。

Description

具有DMA能力的USB主机控制器
技术领域
本发明涉及一种主机控制器,尤其涉及一种用于总线通信系统的主机控制器。
背景技术
通用串行总线(USB)规范定义了一种总线通信系统,其中,USB主机可以连接到多个USB设备,从而在USB主机和USB设备之间实现便利的数据传输。本发明尤其涉及增强型主机控制器接口(EHCI),它在用作USB主机的设备中是主机控制器的接口。
USB主机通常是个人计算机(PC)或类似设备。也就是说,它主要是具有作为USB主机的能力的PC。这意味着,在传统EHCI的工作情形中,外设部件互连(PCI)标准总线提供EHCI所使用的具体功能。例如,EHCI使用PCI的总线控制功能,获取待发送数据。
但是,人们逐渐认识到,将诸如移动电话之类的其他设备用作USB主机是很有用的。这些其他设备通常没有PCI总线,因此EHCI不可能利用PCI功能。
此外,这些设备中的主机微处理器的处理能力通常比PC中的微处理器要小。
因此,最好提供一种用于嵌入式应用的主机控制器,其中,没有采用PCI功能,并且,对主机微处理器的要求不高。
发明内容
根据本发明的第一个方面,提供了一种用于USB系统的嵌入式主机控制器,所述USB系统包括处理器和关联的系统存储器,所述主机控制器包括DMA控制器,为了从所述关联的系统存储器中获取数据,所述主机控制器将开始地址和块长度发送到所述DMA控制器,收到从所述主机控制器发送的开始地址和块长度之后,所述DMA控制器从所述关联的系统存储器中获取所指示的数据。
其优点在于,该嵌入式主机控制器可用于不同的主机微处理器,而不必假设PCI功能是可用的。
在本发明的第一个优选实施例中,主机控制器支持总线仲裁,所述DMA控制器向所述处理器发送总线请求,并且,只有当准许总线访问时,才从所述关联的系统存储器中获取数据。
在第二个优选实施例中,主机控制器不支持总线仲裁,当从所述关联的系统存储器中获取数据时,所述DMA控制器向所述处理器发送信号,从而防止所述处理器同时试图访问所述关联的系统存储器。
根据本发明的第二个方面,提供了一种USB主机,其包括根据本发明第一个方面的主机控制器。
附图说明
下面结合附图描述本发明,其中:
图1是包括根据本发明的第一嵌入式主机控制器的系统的框图;
图2是包括根据本发明的第二嵌入式主机控制器的系统的框图。
具体实施方式
图1是根据本发明的USB主机10的一部分的框图。这里使用的“USB主机”一词表示一种设备,其在根据例如USB 2.0规范操作的系统中用作主机。也就是说,USB主机可以通过USB总线连接到一个或多个USB设备,USB主机控制与USB设备之间来往数据的通信。
本发明适用于所有USB主机,尤其适用于USB主机不是个人计算机、所以没有外设部件互连(PCI)总线、并且可以没有强劲处理器的情形。
USB主机10包括:主机处理器20、系统存储器30和主机控制器40。
在本发明的该优选实施例中,处理器20是Intel PXA210或PXA250处理器,对于本领域技术人员来讲,这是公知的。当然,也可以使用具有类似功能的其他处理器。处理器20包括通用输入输出模块(GPIO)22和存储器控制器24。这里对处理器20的其他特征和功能不再赘述,除非它们与理解本发明密切相关。
存储器30是SDRAM组,这也是本领域技术人员所公知的。
根据传统惯例,主机控制器或嵌入式EHCI主机40获取由处理器20制作的合适格式的数据,并通过总线接口发送该数据。在USB通信中,有两种数据传输,即异步传输和周期传输。控制数据和主体数据用异步传输发送,ISO和中断数据用周期传输发送。增强型主机控制器接口(EHCI)对异步传输使用队列事务描述符(qTD)数据结构,对周期传输使用等时事务描述符(iTD)数据结构。
处理器20制作合适结构的数据,并将其存储在系统存储器30中,然后,主机控制器40必须从系统存储器30中获取该数据。
图1详细地示出了主机控制器40的结构。主机控制器40包括EHCI核心42,它通常是传统的,并且包括能力寄存器44和操作寄存器46,但这里对其不再赘述。主机控制器40连接到地址解码器48,地址解码器48通常也是传统的。
EHCI核心42中的能力寄存器44和操作寄存器46可以实现为直接输入/输出图,来自处理器20的CS信号可用于选择嵌入式主机控制器。
根据本发明,主机控制器40包括DMA/总线控制引擎50,DMA/总线控制引擎50适用于处理器20允许特定形式的总线仲裁的情形。
主机控制器40的EHCI核心42与传统EHCI主机控制器使用相同的传输描述符,其通过控制PCI总线来获取数据,因此,生成EHCI核心软件所需的附加努力减少了。
DMA/总线控制引擎50包括SDRAM控制器52和直接存储器访问(DMA)控制引擎54,并且可由EHCI核心42用开始地址56和块长度58进行编程。
DMA/总线控制引擎50也可以从可编程总线释放模块60接收输入。
主机控制器40还包括RAM 62。
通过向GPIO模块22的直接输入或来自GPIO模块22的直接输出,主机控制器40可以访问处理器20,并且,能够访问嵌入式系统存储器总线70。
当主机控制器40欲从系统存储器30中获取数据时,处理器20必须释放总线70,从而使主机控制器40访问系统存储器30。
因此,当主机控制器40启动数据传输时,将开始地址和块长度从核心逻辑42发送到DMA控制器54,DMA控制器54向GPIO模块22发出总线请求。GPIO模块22向存储器控制器24发送存储器总线请求(MBREQ)信号。当准许访问时,从存储器控制器24向GPIO模块22发送存储器总线准许(MBGNT)信号,GPIO模块22向主机控制器40发送相应的信号。总线70的所有数据、地址和控制信号线都是三相的(tri-stated),因此,主机控制器40能够访问存储器30。所以,在不需要处理器20进一步干预的前提下,可以将数据从系统存储器30传输到主机控制器40。
具体而言,DMA控制器54以突发方式将数据块从系统存储器30传送到RAM 62,可以从RAM 62将其通过USB总线接口传输。
在总线70被准许给主机控制器40期间,SDRAM控制器52提供刷新能力。即,如果突发周期/长度大于SDRAM 30的刷新周期,则SDRAM控制器52执行刷新功能。这意味着,突发长度不必限于刷新周期。如果SDRAM控制器52不执行刷新功能,则需要将总线利用情况回送给处理器20,让它执行刷新功能,然后回送给主机控制器40,以继续数据传输。
处理器20用多个时钟周期对可编程总线释放模块60进行编程,这设置主机控制器40在单个存储器总线访问准许之后能够占用总线70的时钟周期的数量。因此,被编程的时钟周期数量表示总线访问的最大持续时间。当超过该被编程的时钟周期数量之后,主机控制器40通过DMA控制器54,执行最后数据字传输,然后通过去除维持(de-assertion)总线请求,释放总线70。
这防止主机控制器占用总线70太长时间,以至于它防止了处理器20执行关键任务,因此对处理器20和主机控制器40之间的总线利用实现了更好的平衡。
因此,图1所示的结构适用于处理器20提供总线仲裁形式、允许释放其数据总线的情形。相比之下,图2所示的结构适用于处理器不提供总线仲裁的情形。
USB主机110包括:主机处理器120、系统存储器130和主机控制器140。
在这种情况下,处理器120是不允许总线仲裁的类型。这里对处理器120的特征和功能不再赘述,除非它们与理解本发明密切相关。
存储器130是SDRAM组,这是本领域技术人员所公知的。
根据传统惯例,主机控制器或嵌入式EHCI主机140获取由处理器20制作的合适格式的数据,并通过总线接口发送该数据。在USB通信中,有两种数据传输,即异步传输和周期传输。控制数据和主体数据用异步传输发送,ISO和中断数据用周期传输发送。增强型主机控制器接口(EHCI)对异步传输使用队列事务描述符(qTD)数据结构,对周期传输使用等时事务描述符(iTD)数据结构。
在这种情况下,USB主机110还包括子系统存储器180。处理器120制作合适结构的数据,并将其存储在子系统存储器180中,然后,主机控制器140必须从子系统存储器180中获取数据。
这意味着,与数据存储在系统存储器130中的情况相比,不需要对处理器120上运行的软件堆栈(software stack)做出很大的改动,除非数据指向子系统存储器180。
图2更详细地描述了主机控制器140的结构。主机控制器140包括EHCI核心142,它通常是传统的,并且包括能力寄存器和操作寄存器144,这里对其不再赘述。主机控制器140连接到地址解码器148,址解码器148通常也是传统的。
根据本发明,主机控制器140包括DMA控制器150,图2所示的DMA控制器150是具有总线仲裁器的单个模块。
DMA控制器150连接到SDRAM控制器152,并且可由EHCI核心142用开始地址156和块长度158进行编程。
主机控制器40的EHCI核心42与传统EHCI主机控制器使用的传输描述符相同,其通过控制PCI总线获取数据,所以,生成EHCI核心软件所需的附加努力减少了。
EHCI核心142还包括形式为RAM的共享存储器162。
因此,当主机控制器140启动数据传输时,将开始地址和块长度从核心逻辑142发送到DMA控制器150,这可以启动从子系统存储器180到RAM 162的突发数据传输,可以从RAM 162将其通过USB总线接口传输。
由于在主机控制器140访问子系统存储器180的同时处理器120也可能访问子系统存储器180,所以,能够解决任何冲突是有必要的。
当主机控制器140访问子系统存储器180时,DMA控制器150中的总线仲裁器向处理器120发送Ready(就绪)信号,以延迟处理器120对子系统180的访问试图,直至主机控制器访问结束。
此外,提供了外置的数据总线三相收发机190,它连接在主机控制器140、子系统存储器180和系统存储器130之间。当处理器120不访问子系统存储器180时,数据总线收发机190是三相的,主机控制器140访问子系统存储器180不会影响系统存储器130。通过将来自处理器120的芯片选择和控制信号进行组合,可以控制这一点。
因此,与图1所示的结构相比,图2所示的结构需要一个大的附加子系统存储器,但可用于更大范围的处理器,因为它不需要处理器支持总线仲裁。

Claims (8)

1. 一种用于USB系统的嵌入式主机控制器,所述USB系统包括处理器和关联的系统存储器,所述主机控制器包括:
DMA控制器;
可编程寄存器;
为了从所述关联的系统存储器中获取数据,所述主机控制器将开始地址和块长度发送到所述DMA控制器;以及
收到从所述主机控制器发送的开始地址和块长度之后,所述DMA控制器从所述关联的系统存储器中获取所指示的数据,以及
所述可编程寄存器存储从所述处理器接收的信号,所述信号指示所述主机控制器在总线访问期间能够占用总线的最大数量的时钟周期。
2. 如权利要求1所述的嵌入式主机控制器,其中,所述DMA控制器向所述处理器发送总线请求,并且,只有当总线访问已被准许时,才从所述关联的系统存储器中获取数据。
3. 如权利要求1所述的嵌入式主机控制器,其中,在所述最大数量的时钟周期期满时,所述主机控制器释放所述总线。
4. 如权利要求1所述的嵌入式主机控制器,其中,所述关联的系统存储器是SDRAM,所述主机控制器包括SDRAM控制器,如果从所述关联系统存储器中获取所指示数据所花费的时间比所述SDRAM的刷新周期长,则所述SDRAM控制器执行刷新功能。
5. 如权利要求1所述的嵌入式主机控制器,其中,当从所述关联的系统存储器中获取数据时,所述DMA控制器向所述处理器发送信号,从而防止所述处理器同时试图访问所述关联的系统存储器。
6. 一种USB主机,包括:
处理器,其中,所述处理器用于准许总线访问;
系统存储器,所述处理器将USB数据写入该系统存储器中;以及
主机控制器,所述主机控制器包括:
如权利要求1所述的DMA控制器。
7. 如权利要求6所述的USB主机,其中:在所述最大数量的时钟周期期满时,所述主机控制器释放所述总线。
8. 如权利要求6所述的USB主机,其中,所关联的系统存储器是SDRAM,所述主机控制器包括SDRAM控制器,如果从所述关联系统存储器中获取所指示数据所花费的时间比所述SDRAM的刷新周期长,则所述SDRAM控制器执行刷新功能。
CNB2004800127702A 2003-05-15 2004-05-12 具有dma能力的usb主机控制器 Expired - Lifetime CN100414523C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SGPCT/SG03/00129 2003-05-15
SG0300129 2003-05-15

Publications (2)

Publication Number Publication Date
CN1882929A CN1882929A (zh) 2006-12-20
CN100414523C true CN100414523C (zh) 2008-08-27

Family

ID=33448782

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800127702A Expired - Lifetime CN100414523C (zh) 2003-05-15 2004-05-12 具有dma能力的usb主机控制器

Country Status (6)

Country Link
EP (1) EP1627312B1 (zh)
JP (1) JP5146796B2 (zh)
CN (1) CN100414523C (zh)
AT (1) ATE369588T1 (zh)
DE (1) DE602004008064T2 (zh)
WO (1) WO2004102407A2 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4938793B2 (ja) 2005-12-22 2012-05-23 ユー.エス. ガバメント アズ リプレゼンテッド バイ ザ セクレタリー オブ ザ ユー.エス. アーミー モジュール式義足
JP5456434B2 (ja) 2009-10-22 2014-03-26 ルネサスエレクトロニクス株式会社 パイプ調停回路、パイプ調停方法
CN112100107A (zh) * 2019-06-17 2020-12-18 广州慧睿思通信息科技有限公司 一种usb数据传输方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5826107A (en) * 1992-10-20 1998-10-20 Cirrus Logic, Inc. Method and apparatus for implementing a DMA timeout counter feature
US6266715B1 (en) * 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode
US20020178310A1 (en) * 2001-05-22 2002-11-28 Akihiro Nozaki USB transmission control circuit

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02123447A (ja) * 1988-10-12 1990-05-10 Advanced Micro Devicds Inc 入力/出力制御器およびそのデータ転送方法
JP2765267B2 (ja) * 1990-05-22 1998-06-11 日本電気株式会社 ダイレクトメモリアクセス転送制御装置
JPH0773059A (ja) * 1993-03-02 1995-03-17 Tandem Comput Inc フォールトトレラント型コンピュータシステム
US6185641B1 (en) * 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5826107A (en) * 1992-10-20 1998-10-20 Cirrus Logic, Inc. Method and apparatus for implementing a DMA timeout counter feature
US6266715B1 (en) * 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode
US20020178310A1 (en) * 2001-05-22 2002-11-28 Akihiro Nozaki USB transmission control circuit

Also Published As

Publication number Publication date
CN1882929A (zh) 2006-12-20
JP5146796B2 (ja) 2013-02-20
EP1627312A2 (en) 2006-02-22
WO2004102407A3 (en) 2005-01-06
DE602004008064T2 (de) 2008-04-24
EP1627312B1 (en) 2007-08-08
DE602004008064D1 (de) 2007-09-20
ATE369588T1 (de) 2007-08-15
JP2007502476A (ja) 2007-02-08
WO2004102407A2 (en) 2004-11-25

Similar Documents

Publication Publication Date Title
US5878240A (en) System and method for providing high speed memory access in a multiprocessor, multimemory environment
US7752374B2 (en) Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices
US9128920B2 (en) Interrupt handling systems and methods for PCIE bridges with multiple buses
KR100615659B1 (ko) 다수의 가상 직접 메모리 액세스 채널들을 지원하기 위한 직접 메모리 액세스 엔진
US20070208895A1 (en) Bus Controller for Handling Split Transactions
US6892266B2 (en) Multicore DSP device having coupled subsystem memory buses for global DMA access
JP2009043256A (ja) 記憶装置のアクセス方法及び装置
EP1639481B1 (en) Readdressable virtual dma control and status registers
US6748505B1 (en) Efficient system bus architecture for memory and register transfers
US7340554B2 (en) USB host controller with DMA capability
US9563586B2 (en) Shims for processor interface
CN100414523C (zh) 具有dma能力的usb主机控制器
US8756356B2 (en) Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size
CN111488303B (zh) 接口转接电路
US20170300435A1 (en) Direct memory access control device for at least one computing unit having a working memory
JP2008502977A (ja) バス・コントローラのための割り込み方式
US20040230730A1 (en) DMA request interrupt
EP1564643A2 (en) Synthesizable vhdl model of a multi-channel dma-engine core for embedded bus systems
US20070186026A1 (en) System having bus architecture for improving CPU performance and method thereof
US20070143519A1 (en) Bus controller for transferring data
KR102333544B1 (ko) 마이크로컴퓨터 시스템용 인터럽트-구동 i/o 중재기
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
US9201818B2 (en) Interface module for HW block
US7117281B1 (en) Circuit, system, and method for data transfer control for enhancing data bus utilization
WO2016053146A1 (ru) Компьютерная система

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20071019

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20071019

Address after: Holland Ian Deho Finn

Applicant after: NXP B.V.

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NXP BV

Free format text: FORMER OWNER: KONINKL PHILIPS ELECTRONICS NV

Effective date: 20101213

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee

Owner name: ST-ERICSSON CO., LTD.

Free format text: FORMER NAME: NXP BV

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: EINDHOVEN, NETHERLANDS TO: PLAN-LES-OUATES, SWITZERLAND

CP01 Change in the name or title of a patent holder

Address after: Swiss Prang Eli Ute

Patentee after: ST-ERICSSON S.A.

Address before: Swiss Prang Eli Ute

Patentee before: ST Wireless

TR01 Transfer of patent right

Effective date of registration: 20101213

Address after: Swiss Prang Eli Ute

Patentee after: ST Wireless

Address before: Holland Ian Deho Finn

Patentee before: NXP B.V.

CX01 Expiry of patent term

Granted publication date: 20080827

CX01 Expiry of patent term