用于处理拆分事务的总线控制器的利记博彩app

文档序号:7947394阅读:395来源:国知局
专利名称:用于处理拆分事务的总线控制器的利记博彩app
技术领域
本发明涉及总线控制器,并且尤其涉及可以包括在电子设备中用来控制使用外部总线往返于其它电子设备传送数据的设备。
背景技术
电子设备具有用于允许使用通用串行总线(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介入的情况下执行拆分事务的设备。
权利要求
1.一种主机控制器,用于在事务中传送数据,每个事务由传送描述符来描述,其中所述事务包括拆分事务,其中用于拆分事务的传送描述符包括可以被设置为表明所述拆分事务是开始拆分还是完成拆分事务的比特,并且其中一旦包括拆分事务的事务已经由第一拆分事务开始,那么就自动地产生随后的拆分事务直到所述事务完成。
2.如权利要求1所述的主机控制器,其中在大块拆分事务的情况下,依照由传送描述符所描述的第一拆分事务来传送第一数据,并且当所述第一数据被确认时修改所述传送描述符以便定义第二拆分事务。
3.如权利要求1或2所述的主机控制器,还包括第一接口,用于连接到存储器总线,所述存储器总线互连主机微处理器和系统存储器;内部存储器;和第二接口,用于连接到外部总线。
4.一种操作主机控制器的方法,用于在事务中传送数据,每个事务由传送描述符来描述,其中所述事务包括拆分事务,其中所述方法包括使用传送描述符来描述拆分事务,把所述传送描述符中的比特设置为表明所述拆分事务是开始拆分还是完成拆分事务,并且一旦包括拆分事务的事务已经由第一拆分事务开始,那么自动地产生随后的拆分事务直到所述事务完成。
5.如权利要求4所述的方法,其中在大块拆分事务的情况下,依照由传送描述符所描述的第一拆分事务来传送第一数据,并且当所述第一数据被确认时修改所述传送描述符以便定义第二拆分事务。
全文摘要
一种主机控制器适于在事务中传送数据,每个事务由传送描述符来描述,并且所述事务包括拆分事务。用于拆分事务的传送描述符包括可以被设置为表明所述拆分事务是开始拆分还是完成拆分事务的比特,并且一旦包括拆分事务的事务已经由第一拆分事务开始,那么就自动地产生随后的拆分事务直到所述事务完成。
文档编号H04L12/00GK1969270SQ200580019441
公开日2007年5月23日 申请日期2005年6月9日 优先权日2004年6月15日
发明者Y·K·常, W·F·莫 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1