CN1969268A - 用于总线控制器的中断配置 - Google Patents

用于总线控制器的中断配置 Download PDF

Info

Publication number
CN1969268A
CN1969268A CNA2005800195282A CN200580019528A CN1969268A CN 1969268 A CN1969268 A CN 1969268A CN A2005800195282 A CNA2005800195282 A CN A2005800195282A CN 200580019528 A CN200580019528 A CN 200580019528A CN 1969268 A CN1969268 A CN 1969268A
Authority
CN
China
Prior art keywords
interrupt request
affairs
processor
finishing
group
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
CNA2005800195282A
Other languages
English (en)
Other versions
CN1969268B (zh
Inventor
Y·K·常
S·拉克什米纳拉亚南
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.)
Koninklijke Philips NV
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 CN1969268A publication Critical patent/CN1969268A/zh
Application granted granted Critical
Publication of CN1969268B publication Critical patent/CN1969268B/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

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)
  • Traffic Control Systems (AREA)
  • Air Bags (AREA)

Abstract

一种主机控制器在处理器的控制下经由总线通信系统在单独事务中传送数据。在完成事务时产生处理器中断请求。所述主机控制器包括这样的逻辑,使得当完成来自第一组单独事务中的事务而产生处理器中断请求时,向所述处理器发送中断请求,而当完成来自第二组多个单独事务中的事务而产生处理器中断请求时,不向所述处理器发送中断请求。此外,当完成来自第三组多个单独事务中的事务而产生处理器中断请求时,只有当完成事务而产生中断请求时才向所述处理器发送中断请求。

Description

用于总线控制器的中断配置
技术领域
本发明涉及总线控制器,并且尤其涉及可以包括在电子设备中用来控制使用外部总线往返于其它电子设备传送数据的设备。
背景技术
电子设备具有用于允许使用通用串行总线(USB)来传输数据的接口变得越来越普遍。
当使用USB系统互连电子设备项时,一个设备项被指定为USB主机,而其它项被指定为USB设备。USB主机负责发起并调度经由USB的通信。例如,USB主机可以是个人计算机(PC),并且可以连接到各种USB设备,诸如打印机、数字照相机和个人数字助理(PDA)。
然而,还可以在不要求经由PC连接的情况下使用USB连接来把例如照相机直接连接到打印机。为了能够作为USB主机起作用,设备项(在此例子中可以是照相机)必须具有所要求的功能,并且本发明尤其涉及一种采用集成电路形式的设备,以用于向此设备项提供此功能,其中所述设备可以包括在该设备项中。然而应当理解,设备项具有其它功能,并且其USB互连性只是其功能的一小部分。此外,希望能够把该设备包括到设备项中,以便向它们提供作为USB主机的能力,而不要求那些设备项具有特别强大的处理器。
因此希望所述设备能够在尽可能最小依赖其所在设备项的中央处理器(CPU)的情况下操作。例如,所述设备优选在设备项的总线系统中作为从设备操作,允许CPU保持作为总线主设备。此外,希望所述设备对CPU的处理负担尽可能最小并且尤其使对所述CPU中断请求的数量最小化。此外,所述设备不应当依赖于使用任何特定操作系统的CPU,从而所述设备可以并入到尽可能最宽范围的设备项中。
发明内容
依照本发明,提供了一种主机控制器,其中例如作为事务完成的结果所产生的中断请求可以依照可控方式被发送到系统CPU。例如,可以向不同的中断请求给予不同的优先级,或者可以把中断请求一起发送到CPU以便降低对所述CPU的中断。
附图说明
在附图中:
图1是包括了依照本发明的主机控制器的电子设备项的示意性框图。
图2是依照本发明的主机控制器的示意性框图。
图3是用于示出在图2的主机控制器中软件结构的插图。
图4示出了逻辑电路,所述逻辑电路可以用来控制向电子设备项的CPU发送中断请求的方式。
具体实施方式
图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为将向其发送数据的每个端点准备基于传送的传送描述符列表。
编写EHC I接口软件84使得它使用由EHCI主机栈82对于现有的周期性和异步首部所产生的参数,并且可以用于所有不同形式的USB传送,特别是高速USB传送,诸如高速同步、大块、中断和控制以及开始/停止拆分事务。
在主机控制器40不要求主控总线32的情况下,主机微处理器20经由外围总线32把基于传送的传送描述符写入到主机控制器40的RAM 50中。换句话说,主机控制器40只担当从设备。然后可以把基于传送的传送描述符存储映像到主机控制器40的RAM 50中。
有益地是,主机控制器40的内置存储器50被映射到主机微处理器20中,使得可以更易于从主机微处理器20中调度事务。
使用双端口RAM 50意味着当一个基于传送的传送描述符正由主机控制器40执行时,主机微处理器20可以把数据写入到另一块空间中。
如常规情况那样,数据事务可以包括同步传送、中断传送以及大块和控制传送。如进一步常规情况那样,当已经完成如分组传送描述符所定义的传送时,主机控制器产生中断请求,以用于发送到CPU20。然而,CPU并不知道每个事务将何时完成,以及何时在许多设备连接到系统中时就会存在许多中断请求。
本发明允许CPU按优先次序排列传送描述符,例如对于特定的端点进行排列,使得它们的中断请求被立即处理。在其它情况下,只有当所有中断请求都完成时,CPU才可以处理来自一组传送描述符的其它中断请求。然后可以在运行过程中更新传送描述符和有效负载而不必停止任何其它USB事务或破坏RAM数据。还提到中断请求可能会由于超时而出现,特别是在大块和同步事务的情况下。
图4示出了逻辑的结构,所述逻辑被应用于当事务完成时所产生的中断请求。此逻辑结构可以由硬件的逻辑门或软件来实现。
PTD Done映像具有32比特。即在此例子中,逻辑可以处理来自多达32个分组传送描述符(PTD)的中断请求,以表明相应的事务已完成。当事务完成时,PTD Done映像的相关比特被设置为高。PTD Done映像的比特被应用于第一系列的32个AND门210、第二系列的32个AND门220,并且其还被反向施加到第三系列的32个AND门230。
OR掩码也具有32比特,并且用来按优先次序排列特定分组传送描述符。为了向特定分组传送描述符给予特定的优先级,OR掩码的相应比特被设置为高。OR掩码的比特被施加到第一系列的32个AND门210的第二输入。
此外,AND掩码也具有32比特,并且用来在特定分组传送描述符之间引入关系。AND掩码的比特被施加到第二系列的32个AND门220的第二输入,以及被施加到第三系列的32个AND门230的第二输入。
从而当根据分组传送描述符产生中断请求并且OR掩码的相应比特被设置为高时,相应的AND门210生成逻辑“1”作为输出,并且OR门215、240动作使得在OR门240的输出也出现逻辑“1”,并且向CPU20发送中断请求。
当根据分组传送描述符产生中断请求并且OR掩码的相应比特被设置为低时,AND掩码变得相关。AND门220的输出被施加到OR门225的各自输入。AND门230的输出被施加到OR门235的各自输入。OR门225的输出被施加到AND门245的第一输入,并且OR门235的输出被反向施加到AND门245的第二输入。AND门245的输出被施加到OR门240。
此逻辑的效果在于只有当根据所有分组传送描述符产生中断请求时,其中AND掩码的相应比特被设置为高,那么在OR门240的输出上才出现逻辑“1”,并且向CPU 20发送中断请求。例如,如果在AND掩码寄存器中设置比特2、4和10,那么只有当PTD Done映像的比特2、4和10被设置为高时才向CPU发送中断请求。如果PTD Done映像的比特2、4或10中只有一个被设置为高,那么不会向CPU发送中断。
系统软件可以改变OR掩码比特以及按照需要可以改变AND掩码比特,以便按照传送描述符向CPU发送中断请求的能力来确定哪些传送描述符获取优先级,并且哪些传送描述符必须等待直到其它事务完成,继而一起向所述CPU发送中断请求。
实际上,这允许CPU 20改变接收中断请求的频率。

Claims (7)

1.一种主机控制器,用于在处理器的控制下经由总线通信系统传送数据,其中在多个单独事务中传送数据并且当完成事务时产生处理器中断请求,
其中所述主机控制器包括这样的逻辑,使得当完成来自第一组所述多个单独事务中的事务而产生处理器中断请求时,向所述处理器发送中断请求,
而当完成来自第二组所述多个单独事务中的事务而产生处理器中断请求时,不向所述处理器发送中断请求,
2.如权利要求1所述的主机控制器,其中所述主机控制器还包括这样的逻辑,使得当完成来自第三组所述多个单独事务中的事务而产生处理器中断请求时,只有在完成来自所述第三组的所有所述多个单独事务中的事务而产生中断请求时才向所述处理器发送中断请求。
3.如权利要求1或2所述的主机控制器,还包括:
第一接口,用于连接到存储器总线,所述存储器总线互连所述处理器和系统存储器;和
第二接口,用于连接到所述总线通信系统。
4.一种总线通信设备,包括:
处理器;
系统存储器;
主机控制器;和
存储器总线,用于互连所述处理器、系统存储器和主机控制器,
其中所述主机控制器适合于在所述处理器的控制下经由总线通信系统传送数据,其中在多个单独事务中传送数据并且在完成事务时产生处理器中断请求,
其中所述主机控制器包括这样的逻辑,使得当完成来自第一组所述多个单独事务中的事务而产生处理器中断请求时,向所述处理器发送中断请求,
而当完成来自第二组所述多个单独事务中的事务而产生处理器中断请求时,不向所述处理器发送中断请求,
5.如权利要求4所述的总线通信设备,其中所述主机控制器还包括这样的逻辑,使得当完成来自第三组所述多个单独事务中的事务而产生处理器中断请求时,只有在完成来自所述第三组的所有所述多个单独事务中的事务而产生中断请求时才向所述处理器发送中断请求。
6.一种操作主机控制器的方法,所述主机控制器用于在处理器的控制下经由总线通信系统传送数据,其中在多个单独事务中传送数据并且在完成事务时产生处理器中断请求,
其中所述方法包括,当完成来自第一组所述多个单独事务中的事务而产生处理器中断请求时,向所述处理器发送中断请求,
所述方法还包括,而当完成来自第二组所述多个单独事务中的事务而产生处理器中断请求时,不向所述处理器发送中断请求。
7.如权利要求6所述的方法,其中所述方法还包括,当完成来自第三组所述多个单独事务中的事务而产生处理器中断请求时,只有在完成来自所述第三组的所有所述多个单独事务中的事务而产生中断请求时才向所述处理器发送中断请求。
CN2005800195282A 2004-06-15 2005-06-09 主机控制器、总线通信设备和操作主机控制器的方法 Expired - Fee Related CN1969268B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04102727.7 2004-06-15
EP04102727 2004-06-15
PCT/IB2005/051889 WO2005124564A1 (en) 2004-06-15 2005-06-09 Interrupt scheme for bus controller

Publications (2)

Publication Number Publication Date
CN1969268A true CN1969268A (zh) 2007-05-23
CN1969268B CN1969268B (zh) 2010-05-26

Family

ID=34970202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800195282A Expired - Fee Related CN1969268B (zh) 2004-06-15 2005-06-09 主机控制器、总线通信设备和操作主机控制器的方法

Country Status (7)

Country Link
US (1) US20070208896A1 (zh)
EP (1) EP1759297B1 (zh)
JP (1) JP2008502977A (zh)
CN (1) CN1969268B (zh)
AT (1) ATE417316T1 (zh)
DE (1) DE602005011613D1 (zh)
WO (1) WO2005124564A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526929B (zh) * 2008-03-07 2012-08-29 深圳迈瑞生物医疗电子股份有限公司 一种集成设备驱动的系统及其应用方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4696199B2 (ja) * 2003-05-15 2011-06-08 エスティー‐エリクソン、ソシエテ、アノニム 転送ディスクリプタ用メモリを備えるusbホストコントローラ
WO2005125093A2 (en) * 2004-06-15 2005-12-29 Koninklijke Philips Electronics N.V. Bus controller for handling split transactions
US20080155154A1 (en) * 2006-12-21 2008-06-26 Yuval Kenan Method and System for Coalescing Task Completions
TWI529528B (zh) * 2013-05-29 2016-04-11 祥碩科技股份有限公司 資料管理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606703A (en) * 1995-12-06 1997-02-25 International Business Machines Corporation Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures
US5966546A (en) * 1996-09-12 1999-10-12 Cabletron Systems, Inc. Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node
US6209054B1 (en) * 1998-12-15 2001-03-27 Cisco Technology, Inc. Reliable interrupt reception over buffered bus
US6470408B1 (en) * 1999-04-14 2002-10-22 Hewlett-Packard Company Apparatus and method for delivering interrupts via an APIC bus to IA-32 processors
US6591350B1 (en) * 1999-12-02 2003-07-08 Stmicroelectronics, Inc. System and method for dynamically controlling memory access prioritization
US6618780B1 (en) * 1999-12-23 2003-09-09 Cirrus Logic, Inc. Method and apparatus for controlling interrupt priority resolution
US6742076B2 (en) * 2000-01-03 2004-05-25 Transdimension, Inc. USB host controller for systems employing batched data transfer
US6658515B1 (en) * 2000-01-25 2003-12-02 Dell Usa, L.P. Background execution of universal serial bus transactions
US6587898B1 (en) * 2000-08-10 2003-07-01 Dell Products, L.P. Universal serial bus PC synchronization algorithm for peripheral devices
US6681281B1 (en) * 2000-11-17 2004-01-20 Advanced Micro Devices, Inc. System and method for implementing a multi-level interrupt scheme in a computer system
US6792492B1 (en) * 2001-04-11 2004-09-14 Novell, Inc. System and method of lowering overhead and latency needed to service operating system interrupts
US6807595B2 (en) * 2001-05-10 2004-10-19 Qualcomm Incorporated Mobile communication device having a prioritized interrupt controller
US7043729B2 (en) * 2002-08-08 2006-05-09 Phoenix Technologies Ltd. Reducing interrupt latency while polling
US20050182862A1 (en) * 2004-02-12 2005-08-18 Ritz Andrew J. System and method for detecting DMA-generated memory corruption in a PCI express bus system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526929B (zh) * 2008-03-07 2012-08-29 深圳迈瑞生物医疗电子股份有限公司 一种集成设备驱动的系统及其应用方法

Also Published As

Publication number Publication date
DE602005011613D1 (de) 2009-01-22
WO2005124564A1 (en) 2005-12-29
EP1759297A1 (en) 2007-03-07
JP2008502977A (ja) 2008-01-31
CN1969268B (zh) 2010-05-26
ATE417316T1 (de) 2008-12-15
EP1759297B1 (en) 2008-12-10
US20070208896A1 (en) 2007-09-06

Similar Documents

Publication Publication Date Title
CN1969270A (zh) 用于处理拆分事务的总线控制器
US10198382B2 (en) 12C bus controller slave address register and command FIFO buffer
US6742076B2 (en) USB host controller for systems employing batched data transfer
CN1749967A (zh) 数据处理系统
CN1154166A (zh) Pci到isa中断协议转换器及选择机制
CN1969268A (zh) 用于总线控制器的中断配置
CN1509440A (zh) 用于校正并行/串行接口中的波动的缓冲网
CN1821986A (zh) 控制装置、信息处理装置以及数据传输方法
CN100476775C (zh) 用于总线通信设备的主机控制器以及总线通信设备
CN1831750A (zh) 数据控制设备
CN1160618C (zh) 可编程控制器
CN1614579A (zh) 在多处理器环境下使用直接存储器存取的高速传递数据的方法和装置
US20060184708A1 (en) Host controller device and method
CN1801086A (zh) 应用于Java操作系统中设备支持的实现方法
CN1684030A (zh) 码流播放卡和码流采集卡的驱动方法
CN1955890A (zh) 一种提高hid设备通讯速度的方法
CN100583071C (zh) 用于传送数据的总线控制器
CN1577307A (zh) 基于通用串行总线的数据传输系统
WO2004003757A2 (en) Direct transaction mode for peripheral devices
CN2766282Y (zh) 改变系统模式之请求的处理装置
CN1441566A (zh) 使用三步通信缓存的通信设备
CN101867510A (zh) 板级双系统互联方法
CN1916881A (zh) 一种提高人机接口设备兼容性的方法及装置
CN1299099A (zh) 桥装置
CN1696919A (zh) 外围装置的控制系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070713

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninkl Philips Electronics NV

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100526

Termination date: 20130609