CN1969270A - 用于处理拆分事务的总线控制器 - Google Patents

用于处理拆分事务的总线控制器 Download PDF

Info

Publication number
CN1969270A
CN1969270A CNA2005800194415A CN200580019441A CN1969270A CN 1969270 A CN1969270 A CN 1969270A CN A2005800194415 A CNA2005800194415 A CN A2005800194415A CN 200580019441 A CN200580019441 A CN 200580019441A CN 1969270 A CN1969270 A CN 1969270A
Authority
CN
China
Prior art keywords
affairs
split
fractionation
descriptor
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.)
Granted
Application number
CNA2005800194415A
Other languages
English (en)
Other versions
CN1969270B (zh
Inventor
Y·K·常
W·F·莫
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.)
NXP BV
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 CN1969270A publication Critical patent/CN1969270A/zh
Application granted granted Critical
Publication of CN1969270B publication Critical patent/CN1969270B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

一种主机控制器适于在事务中传送数据,每个事务由传送描述符来描述,并且所述事务包括拆分事务。用于拆分事务的传送描述符包括可以被设置为表明所述拆分事务是开始拆分还是完成拆分事务的比特,并且一旦包括拆分事务的事务已经由第一拆分事务开始,那么就自动地产生随后的拆分事务直到所述事务完成。

Description

用于处理拆分事务的总线控制器
技术领域
本发明涉及总线控制器,并且尤其涉及可以包括在电子设备中用来控制使用外部总线往返于其它电子设备传送数据的设备。
背景技术
电子设备具有用于允许使用通用串行总线(USB)来传输数据的接口变得越来越普遍。
当使用USB系统互连电子设备项时,一个设备项被指定为USB主机,而其它项被指定为USB设备。USB主机负责发起并调度经由USB的通信。例如,USB主机可以是个人计算机(PC),并且可以连接到各种USB设备,诸如打印机、数字照相机和个人数字助理(PDA)。
然而,还可以在不要求经由PC连接的情况下使用USB连接来把例如照相机直接连接到打印机。为了能够作为USB主机起作用,设备项(在此例子中可以是照相机)必须具有所要求的功能,并且本发明尤其涉及一种采用集成电路形式的设备,以用于向此设备项提供此功能,其中所述设备可以包括在该设备项中。然而应当理解,设备项具有其它功能,并且其USB互连性只是其功能的一小部分。此外,希望能够把该设备包括到设备项中,以便向它们提供作为USB主机的能力,而不要求那些设备项具有特别强大的处理器。
因此希望所述设备能够在尽可能最小依赖其所在设备项的中央处理器(CPU)的情况下操作。例如,所述设备优选在设备项的总线系统中作为从设备操作,允许CPU保持作为总线主设备。此外,希望所述设备对CPU的处理负担尽可能最小并且尤其使对所述CPU中断请求的数量最小化。此外,所述设备不应当依赖于使用任何特定操作系统的CPU,从而所述设备可以并入到尽可能最宽范围的设备项中。
发明内容
依照本发明,提供了一种主机控制器,其中自动地处理开始和完成拆分事务,而不要求由CPU的任何介入。特别是,使用单个传送描述符来处理有效负载的传送,并且可以传送数据直到整个有效负载已经被传送。
附图说明
在附图中:
图1是包括了依照本发明的主机控制器的电子设备项的示意性框图。
图2是依照本发明的主机控制器的示意性框图。
图3是用于示出在图2的主机控制器中软件结构的插图。
图4和5a-b图示了依照本发明的第一传送描述符。
图6和7a-d图示了依照本发明的第二传送描述符。
图8图示了依照本发明的第三传送描述符。
具体实施方式
图1是作为USB主机操作的电子设备项10的相关部分的示意性框图。本发明尤其适用于诸如照相机、机顶盒、移动电话或PDA之类的设备,其中微处理器和系统存储器的功能限制更加相关,而不是处于个人计算机(PC)中。然而,本发明适用于可以作为USB主机操作的任何设备。
显然设备10具有许多部件(在图1中未示出),这是因为它们与理解本发明无关。
设备10具有主机微处理器(CPU)20,其包括处理器核心。CPU 20借助于外围总线32连接到系统存储器30。
主机控制器40还借助于外围总线或存储器总线32连接到主机微处理器20和系统存储器30。主机控制器40具有用于USB总线42的接口,借此其可以连接到多个USB设备。在此图示的实施例中,主机控制器40是USB 2.0主机控制器,并且这里所未描述的主机控制器的部件可以如在USB 2.0规范中所指定。
如常规情况中那样,主机控制器40适合于获取由处理器20依照适当格式所准备的数据,并且经由总线接口发送所述数据。在USB通信中,存在两种类别的数据传送,即异步传送和周期性传送。使用异步传送来发送控制和大块(bulk)数据,并且使用周期性传送来发送同步和中断数据。队列事务描述符(qTD)数据结构用于异步传送,而同步事务描述符(iTD)数据结构用于周期性传送。
处理器20依照适当结构准备数据,并且把它存储在系统存储器30中,机控制器40然后必须从所述系统存储器30中获取数据。
图2更详细地示出了嵌入式USB主机控制器40的结构。
如上所述,主机控制器40具有用于存储器总线32的连接,所述存储器总线32连接到接口44,包含存储器管理部件、从设备DMA控制器、中断控制部件和硬件配置寄存器。接口44还具有用于控制和中断信号的连接46,以及支持RAM结构的寄存器48和主机控制器40的操作寄存器。
接口44被连接到主机控制器的芯片级RAM 50,其在此优选实施例中是双端口RAM,允许数据同时被写入到存储器及从中读取,但是等效地可以是具有适当仲裁器的单端口RAM。存储器50被连接到主机控制器逻辑部件52,其还包含用于USB总线42的接口。可以在内部总线54上把控制信号从寄存器48发送到逻辑部件52。
图3是用于部分示出在主机控制器40上操作的软件的示意图,以便图示依照本发明设备的操作方法。
主机控制器40运行USB驱动器软件80和USB增强主机控制器接口软件82,所述软件通常是常规的。
主机控制器40还运行USB EHCI接口软件84,所述USB EHCI接口软件84为将向其发送数据的每个端点准备基于传送的传送描述符列表。
编写EHCI接口软件84使得它使用由EHCI主机栈82对于现有的周期性和异步首部所产生的参数,并且可以用于所有不同形式的USB传送,特别是高速USB传送,诸如高速同步、大块、中断和控制以及开始/停止拆分事务。
在主机控制器40不要求主控总线32的情况下,主机微处理器20经由外围总线32把基于传送的传送描述符写入到主机控制器40的RAM 50中。换句话说,主机控制器40只担当从设备。然后可以把基于传送的传送描述符存储映像到主机控制器40的RAM 50中。
有益地是,主机控制器40的内置存储器50被映射到主机微处理器20中,使得可以更易于从主机微处理器20中调度事务。
使用双端口RAM 50意味着当一个基于传送的传送描述符正由主机控制器40执行时,主机微处理器20可以把数据写入到另一块空间中。
如上所述,主机控制器40是USB 2.0主机控制器,能够经由如USB2.0规范中所定义的高速总线来传送数据。然而,主机控制器40还能够如USB规范所定义向全速和低速设备传送数据。特别地是,经由集线器使用开始和完成拆分事务来发送数据。然后可以把集线器连接到不能连接高速总线的设备项。
依照本发明,借助于单个传送描述符来处理开始和完成拆分事务。更具体地说,对于整个有效负载的传送来说,单个传送描述符可以处理开始拆分(SS)和完成拆分(CS)事务。软件只需利用其集线器地址、端口号、设备和端点号来表明SS/CS传送描述符是用于全速(FS)还是低速(LS)端点的大块/控制/ISO/中断传送。
在大块事务的情况下,硬件递送开始拆分事务,等待来自集线器的确认(ACK),继而使用此ACK来把初始的开始拆分事务复位为完成拆分事务。随后由硬件来激活用于活动传送描述符的开始拆分和完成拆分事务,直到已经发送或接收由传送描述符所指定的所有数据。从而,例如在有效负载大小是256,最大分组大小是64的情况中,硬件会产生四组SS/CS事务,以便完成传送在传送描述符中所指定的整个有效负载,而没有CPU的介入。
如常规情况中那样,开始和完成拆分传送可以在对于一个微帧来说已经完成同步和中断传送描述符之后的任何时间开始。在USB 2.0规范中给出了SS/CS事务的更多细节,例如在章节11.17。
图4示出了借助于开始和完成拆分事务来高速传送大块数据的传送描述符的结构,并且图5(被分成图5a和5b)给出了在图4中所示出的传送描述符的详细定义。
从而,与开始拆分和完成拆分大块传送相关的每个传送描述符可以在没有CPU介入的情况下向FS/LS设备传送多达4K的数据。在三个连续NAK的情况下,硬件停止事务,并且向CPU产生中断请求。由硬件依照USB 2.0规范11.17处理错误和NAK的一般情况。
图6示出了借助于开始和完成拆分事务来高速传送同步数据的传送描述符的结构,并且图7(被分成图7a、7b、7c和7d)给出了在图6中所示出的传送描述符的详细定义。
从而,用于同步端点的单个开始拆分和完成拆分传送描述符可以向设备处理多达1k的数据。
图8示出了用于借助于开始和完成拆分事务来高速传送中断数据的传送描述符的结构。在图8中所示出的传送描述符的详细定义除所使用的参数MaxPacketSize之外与图7中所示出的相同。MaxPacket大小是FS/LS设备的MPS。并且要发送并接收的字节总数可以大于MPS。在这种情况下,参数Uframe是以ms的轮询速率。用于表明要发送的总字节数目的参数值不局限于如图7中的1023。还应当注意,此参数也不局限于用于大块传送的开始拆分的1023。
传送描述符还允许设置活动比特,用于表明其中将处理事务的具体微帧。从而,US SS=0000 0001,US CS=0000 0100会使开始拆分事务在微帧0执行,并且使完成拆分事务在微帧2执行。
因此描述了一种允许在不要求CPU介入的情况下执行拆分事务的设备。

Claims (5)

1.一种主机控制器,用于在事务中传送数据,每个事务由传送描述符来描述,其中所述事务包括拆分事务,其中用于拆分事务的传送描述符包括可以被设置为表明所述拆分事务是开始拆分还是完成拆分事务的比特,并且其中一旦包括拆分事务的事务已经由第一拆分事务开始,那么就自动地产生随后的拆分事务直到所述事务完成。
2.如权利要求1所述的主机控制器,其中在大块拆分事务的情况下,依照由传送描述符所描述的第一拆分事务来传送第一数据,并且当所述第一数据被确认时修改所述传送描述符以便定义第二拆分事务。
3.如权利要求1或2所述的主机控制器,还包括:
第一接口,用于连接到存储器总线,所述存储器总线互连主机微处理器和系统存储器;
内部存储器;和
第二接口,用于连接到外部总线。
4.一种操作主机控制器的方法,用于在事务中传送数据,每个事务由传送描述符来描述,其中所述事务包括拆分事务,其中所述方法包括:
使用传送描述符来描述拆分事务,
把所述传送描述符中的比特设置为表明所述拆分事务是开始拆分还是完成拆分事务,并且
一旦包括拆分事务的事务已经由第一拆分事务开始,那么自动地产生随后的拆分事务直到所述事务完成。
5.如权利要求4所述的方法,其中在大块拆分事务的情况下,依照由传送描述符所描述的第一拆分事务来传送第一数据,并且当所述第一数据被确认时修改所述传送描述符以便定义第二拆分事务。
CN2005800194415A 2004-06-15 2005-06-09 用于处理拆分事务的总线控制器 Expired - Fee Related CN1969270B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04102725.1 2004-06-15
EP04102725 2004-06-15
PCT/IB2005/051888 WO2005125093A2 (en) 2004-06-15 2005-06-09 Bus controller for handling split transactions

Publications (2)

Publication Number Publication Date
CN1969270A true CN1969270A (zh) 2007-05-23
CN1969270B CN1969270B (zh) 2010-09-29

Family

ID=35510449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800194415A Expired - Fee Related CN1969270B (zh) 2004-06-15 2005-06-09 用于处理拆分事务的总线控制器

Country Status (7)

Country Link
US (1) US8713239B2 (zh)
EP (1) EP1759299B1 (zh)
JP (1) JP4837659B2 (zh)
CN (1) CN1969270B (zh)
AT (1) ATE497617T1 (zh)
DE (1) DE602005026214D1 (zh)
WO (1) WO2005125093A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1625506B1 (en) * 2003-05-15 2007-08-08 Nxp B.V. Usb host controller with memory for transfer descriptors
US20090019192A1 (en) * 2007-07-09 2009-01-15 Aten International Co., Ltd. Usb transmission system and related method for accessing data in a first usb specification with a speed of a second usb specification
US8521934B1 (en) * 2010-02-25 2013-08-27 Fresco Logic, Inc. Multi-port context-based host controller
US20110208891A1 (en) * 2010-02-25 2011-08-25 Fresco Logic, Inc. Method and apparatus for tracking transactions in a multi-speed bus environment
US8549204B2 (en) * 2010-02-25 2013-10-01 Fresco Logic, Inc. Method and apparatus for scheduling transactions in a multi-speed bus environment
US10725942B2 (en) * 2018-11-09 2020-07-28 Xilinx, Inc. Streaming platform architecture for inter-kernel circuit communication for an integrated circuit
US10924430B2 (en) 2018-11-09 2021-02-16 Xilinx, Inc. Streaming platform flow and architecture for an integrated circuit
US10990547B2 (en) 2019-08-11 2021-04-27 Xilinx, Inc. Dynamically reconfigurable networking using a programmable integrated circuit
US11232053B1 (en) 2020-06-09 2022-01-25 Xilinx, Inc. Multi-host direct memory access system for integrated circuits
US11539770B1 (en) 2021-03-15 2022-12-27 Xilinx, Inc. Host-to-kernel streaming support for disparate platforms
US11456951B1 (en) 2021-04-08 2022-09-27 Xilinx, Inc. Flow table modification for network accelerators
US11606317B1 (en) 2021-04-14 2023-03-14 Xilinx, Inc. Table based multi-function virtualization

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912651B1 (en) * 1998-03-31 2005-06-28 Hewlett-Packard Development Company, L.P. Wireless universal serial bus link for a computer system
US6792495B1 (en) * 1999-07-27 2004-09-14 Intel Corporation Transaction scheduling for a bus system
US6813251B1 (en) * 1999-07-27 2004-11-02 Intel Corporation Split Transaction protocol for a bus system
US6771664B1 (en) * 1999-12-28 2004-08-03 Intel Corporation Transaction scheduling for a bus system in a multiple speed environment
US6742076B2 (en) * 2000-01-03 2004-05-25 Transdimension, Inc. USB host controller for systems employing batched data transfer
JP4480909B2 (ja) * 2001-02-22 2010-06-16 株式会社沖データ データ送受信システム
US6678761B2 (en) * 2001-03-30 2004-01-13 Intel Corporation Method and apparatus for budget development under universal serial bus protocol in a multiple speed transmission environment
US6886062B2 (en) 2001-03-30 2005-04-26 Intel Corporation Method and apparatus for improving time constraints and extending limited length cables in a multiple-speed bus
CA2345596C (en) * 2001-04-27 2007-12-04 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
JP3870717B2 (ja) * 2001-05-14 2007-01-24 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6868469B2 (en) * 2001-05-31 2005-03-15 Intel Corporation Data bridge and bridging
US7007119B2 (en) * 2001-09-28 2006-02-28 Intel Corporation System and method for supporting split transactions on a bus
US6889265B2 (en) * 2001-11-05 2005-05-03 Intel Corporation Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller
JP2003150534A (ja) 2001-11-16 2003-05-23 Hitachi Ltd チェインブロック転送方法及び通信制御装置
KR20050010906A (ko) * 2002-06-12 2005-01-28 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 버스 시스템, 버스 시스템에 사용하기 위한 스테이션 및버스 인터페이스
JP2004021613A (ja) * 2002-06-17 2004-01-22 Seiko Epson Corp データ転送制御装置、電子機器及びデータ転送制御方法
DE10234990B4 (de) * 2002-07-31 2007-03-29 Advanced Micro Devices, Inc., Sunnyvale Hostcontroller, Verfahren zum Betreiben, zugehöriges Southbridgebauelement und Computersystem zur Steuerung der Ersetzung im voraus geholter Deskriptoren in einem Cache
JP3970728B2 (ja) 2002-09-20 2007-09-05 株式会社リコー データ通信装置
EP1625506B1 (en) * 2003-05-15 2007-08-08 Nxp B.V. Usb host controller with memory for transfer descriptors
WO2005124564A1 (en) * 2004-06-15 2005-12-29 Koninklijke Philips Electronics N.V. Interrupt scheme for bus controller

Also Published As

Publication number Publication date
JP2008502976A (ja) 2008-01-31
WO2005125093A3 (en) 2006-05-11
JP4837659B2 (ja) 2011-12-14
ATE497617T1 (de) 2011-02-15
WO2005125093A2 (en) 2005-12-29
US20070208895A1 (en) 2007-09-06
EP1759299B1 (en) 2011-02-02
EP1759299A2 (en) 2007-03-07
CN1969270B (zh) 2010-09-29
US8713239B2 (en) 2014-04-29
DE602005026214D1 (de) 2011-03-17

Similar Documents

Publication Publication Date Title
CN1969270A (zh) 用于处理拆分事务的总线控制器
CN1308858C (zh) 低开销处理器设备连接
US10198382B2 (en) 12C bus controller slave address register and command FIFO buffer
US6742076B2 (en) USB host controller for systems employing batched data transfer
US7028109B2 (en) Data transfer control device including buffer controller with plurality of pipe regions allocated to plurality of endpoints
US8402180B2 (en) Autonomous multi-packet transfer for universal serial bus
CN100476775C (zh) 用于总线通信设备的主机控制器以及总线通信设备
CN1821986A (zh) 控制装置、信息处理装置以及数据传输方法
US20060184708A1 (en) Host controller device and method
CN1969268A (zh) 用于总线控制器的中断配置
US7469304B2 (en) Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation
CN100583071C (zh) 用于传送数据的总线控制器
CN1153154C (zh) 直接存储器存取至通用串行总线的转换电路及传输方法
CN1301472C (zh) 基于通用串行总线的数据传输系统
JP7206485B2 (ja) 情報処理システム、半導体集積回路及び情報処理方法
CN2520528Y (zh) 存取共享系统资源的桥接系统
CN2865169Y (zh) 一种具有usb存储功能的移动电话
TW200949555A (en) USB host controller and control method thereof
CN1617090A (zh) 于usb储存装置以多重管线辅助数字版权管理的方法
KR20070022090A (ko) 버스 컨트롤러용 인터럽트 기법
CN1945558A (zh) 高速传输系统和高速传输数据方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070706

Address after: Holland Ian Deho Finn

Applicant after: NXP B.V.

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100929

CF01 Termination of patent right due to non-payment of annual fee