用于总线控制器的中断配置的制作方法

文档序号:6656092阅读:168来源:国知局
专利名称:用于总线控制器的中断配置的制作方法
技术领域
本发明涉及总线控制器,并且尤其涉及可以包括在电子设备中用来控制使用外部总线往返于其它电子设备传送数据的设备。
背景技术
电子设备具有用于允许使用通用串行总线(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改变接收中断请求的频率。
权利要求
1.一种主机控制器,用于在处理器的控制下经由总线通信系统传送数据,其中在多个单独事务中传送数据并且当完成事务时产生处理器中断请求,其中所述主机控制器包括这样的逻辑,使得当完成来自第一组所述多个单独事务中的事务而产生处理器中断请求时,向所述处理器发送中断请求,而当完成来自第二组所述多个单独事务中的事务而产生处理器中断请求时,不向所述处理器发送中断请求,
2.如权利要求1所述的主机控制器,其中所述主机控制器还包括这样的逻辑,使得当完成来自第三组所述多个单独事务中的事务而产生处理器中断请求时,只有在完成来自所述第三组的所有所述多个单独事务中的事务而产生中断请求时才向所述处理器发送中断请求。
3.如权利要求1或2所述的主机控制器,还包括第一接口,用于连接到存储器总线,所述存储器总线互连所述处理器和系统存储器;和第二接口,用于连接到所述总线通信系统。
4.一种总线通信设备,包括处理器;系统存储器;主机控制器;和存储器总线,用于互连所述处理器、系统存储器和主机控制器,其中所述主机控制器适合于在所述处理器的控制下经由总线通信系统传送数据,其中在多个单独事务中传送数据并且在完成事务时产生处理器中断请求,其中所述主机控制器包括这样的逻辑,使得当完成来自第一组所述多个单独事务中的事务而产生处理器中断请求时,向所述处理器发送中断请求,而当完成来自第二组所述多个单独事务中的事务而产生处理器中断请求时,不向所述处理器发送中断请求,
5.如权利要求4所述的总线通信设备,其中所述主机控制器还包括这样的逻辑,使得当完成来自第三组所述多个单独事务中的事务而产生处理器中断请求时,只有在完成来自所述第三组的所有所述多个单独事务中的事务而产生中断请求时才向所述处理器发送中断请求。
6.一种操作主机控制器的方法,所述主机控制器用于在处理器的控制下经由总线通信系统传送数据,其中在多个单独事务中传送数据并且在完成事务时产生处理器中断请求,其中所述方法包括,当完成来自第一组所述多个单独事务中的事务而产生处理器中断请求时,向所述处理器发送中断请求,所述方法还包括,而当完成来自第二组所述多个单独事务中的事务而产生处理器中断请求时,不向所述处理器发送中断请求。
7.如权利要求6所述的方法,其中所述方法还包括,当完成来自第三组所述多个单独事务中的事务而产生处理器中断请求时,只有在完成来自所述第三组的所有所述多个单独事务中的事务而产生中断请求时才向所述处理器发送中断请求。
全文摘要
一种主机控制器在处理器的控制下经由总线通信系统在单独事务中传送数据。在完成事务时产生处理器中断请求。所述主机控制器包括这样的逻辑,使得当完成来自第一组单独事务中的事务而产生处理器中断请求时,向所述处理器发送中断请求,而当完成来自第二组多个单独事务中的事务而产生处理器中断请求时,不向所述处理器发送中断请求。此外,当完成来自第三组多个单独事务中的事务而产生处理器中断请求时,只有当完成事务而产生中断请求时才向所述处理器发送中断请求。
文档编号G06F13/14GK1969268SQ200580019528
公开日2007年5月23日 申请日期2005年6月9日 优先权日2004年6月15日
发明者Y·K·常, S·拉克什米纳拉亚南 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1