CN1969268A - 用于总线控制器的中断配置 - Google Patents
用于总线控制器的中断配置 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling 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所述的方法,其中所述方法还包括,当完成来自第三组所述多个单独事务中的事务而产生处理器中断请求时,只有在完成来自所述第三组的所有所述多个单独事务中的事务而产生中断请求时才向所述处理器发送中断请求。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526929B (zh) * | 2008-03-07 | 2012-08-29 | 深圳迈瑞生物医疗电子股份有限公司 | 一种集成设备驱动的系统及其应用方法 |
Families Citing this family (4)
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)
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 |
-
2005
- 2005-06-09 JP JP2007516103A patent/JP2008502977A/ja not_active Withdrawn
- 2005-06-09 AT AT05745187T patent/ATE417316T1/de not_active IP Right Cessation
- 2005-06-09 WO PCT/IB2005/051889 patent/WO2005124564A1/en not_active Application Discontinuation
- 2005-06-09 DE DE602005011613T patent/DE602005011613D1/de active Active
- 2005-06-09 CN CN2005800195282A patent/CN1969268B/zh not_active Expired - Fee Related
- 2005-06-09 EP EP05745187A patent/EP1759297B1/en not_active Not-in-force
- 2005-06-09 US US11/629,731 patent/US20070208896A1/en not_active Abandoned
Cited By (1)
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 |