一种复合USB设备,具有控制器和N+1个组成USB设备。每一个组成USB设备Ci被分配Ei个端点,其中0≤i≤N并且这里每一个组成USB设备被分配至少如同其功能性地所要求的一样多的端点。至少一个组成USB设备被分配最大数量的端点。至少一个其它组成USB设备被分配小于最大数量的最小数量的端点。控制器包括具有RAM模块的RAM共享子系统。RAM模块包括具有缓存描述符(BD)表和端点数据缓存器的USB RAM段。BD表包括用于每一个分配的端点的相应条目。USB RAM段的至少一部分被分配用于非USB使用。
【技术实现步骤摘要】
本专利技术涉及通用串行总线(USB)设备,并且更特别地,涉及USB控制器中的存储器 分配。
技术介绍
USB外围设备是诸如鼠标、键盘、游戏手柄、照相机、扫描仪、打印机或数据存储设 备的外围设备,器通过USB连接(例如USB电缆)并依照USB规范连接到主机。USB规范 提供了规范USB设备和主机的行为和交互的技术详情。目前的版本是USB规范3. 1,其在 http://www.usb.org/ 上可在线获得。 能够与USB外围设备交互的主机包括至少一个USB端口和主机控制器。主机的 USB端口可连接到USB外围设备或USB集线器(hub)。 注意到,正如本文使用的,(i) "USB外围设备"指的是有形的且可单独连接的USB 设备,而(ii) "USB设备"指的是以各种各样形式中的任意一种的USB设备,包括例如:(a) USB外围设备,(b)不可单独连接但是可由主机控制器单独寻址的逻辑USB设备,或(c)下 面描述的各种USB设备中的一种。 USB设备典型地包括至少一个主机可接入功能,诸如,例如人机接口、打印、扫描或 数据存储。USB集线器连接到上游的主机USB端口和下游的多个USB设备,因而扩展了可连 接到主机USB端口的USB设备的数量。 复合USB设备是内部并入USB集线器和一个或多个连接的USB设备的一种类型的 USB设备。因此,对于主机控制器,复合USB设备表现为具有一个或多个永久地连接的USB 设备的集线器。同时,复合USB设备是并入多个主机可接入功能但是不包括集线器并且仅 具有一个USB设备地址的USB设备。注意,复合USB设备可包括,连同并入的集线器,可唯 一地寻址的单个功能、组合、和/或复合设备。 在主机和USB设备之间的通信通过建立在主机和USB设备中的逻辑端点 (endpoint)之间的被称为管道(pipe)的逻辑信道执行。通过其USB设备计数器 (enumerator)、端点计数器以及端点方向来标识特定的端点。端点的方向可以是IN或0UT, 这里(i)IN端点提供数据输入到主机,而(ii)OUT端点接收从主机输出的数据。端点标识 符的一个例子为"设备〇端点0ΙΝ"。 -般存在两种管道:消息和流。消息管道用于控制功能,并使用IN/0UT端点对,典 型地,端点0ΙΝ和端点00UT。流管道用于传输数据到USB设备和/或从USB传输数据。 USB设备可支持多个管路(pipeline)。传统的USB设备可具有高达16个IN端点 和16个OUT端点的总共32个端点。分配的端点的实际数量依赖于具体的硬件实现方式。 不同的USB设备要求不同数量的端点。 在传统的复合USB设备中全部的组成USB设备被分配至少任意组成设备所要求的 最大数量的端点。换言之,如果复合USB设备包括八个组成USB设备,并且由八个组成USB 设备中的任意一个需要的端点的最大数量是八,则该八个组成USB设备中的每一个将被分 配八个端点。这种分配方法简单便于实施和使用。 图1是连接到主机计算机(未示出)的示例性的传统的复合USB微控制器单元 (MCU) 100的简化的示意性框图。USBMCU100包括随机存取存储器(RAM)共享子系统101 和八个USB设备102,诸如,例如USB设备102(0)。RAM共享子系统101包括串行接口(SI) 引擎103、RAM模块104以及USBMCU核105,其是管理组成USB设备102的端点所涉及的模 块。每个USB设备102通信地连接到RAM共享子系统101的SI引擎103。SI引擎103连 接到RAM模块104,RAM模块104又连接到USBΜ⑶核105。 SI引擎103被用于控制USB设备102和主机之间的数据传输。USBMCU核105执 行USBMCU核105的传统处理器控制功能。换言之,USBMCU核105是处理器核。RAM模块 104提供随机存取存储器以供USBMCU100的各种模块在它们的各种操作中使用。 图2是图1的RAM模块104的示意图。RAM模块104包括(a)USBRAM201,其是专 用于诸如端点管理和USB数据缓存的USB功能的RAM段,以及(b)通用RAM202。USBRAM 201可以具有2000字节的容量。USBRAM201包括缓存描述符(BD)表203和端点数据缓 存器204。BD表203包括以逻辑行组织的缓存描述符。每个缓存描述符包括用于其相应端点 缓存器的控制信息和状态。缓存描述符通过相应端点的标识符来标识,换言之,通过设备计 数器、端点计数器以及方向来识别。 由实例性的USB设备102(0)-102(7)中的任意一个使用的端点的最大数量是八。 因此,每个USB设备102被分配八个端点,并且BD表203包括64行。如果每个缓存描述符 使用四个字节的数据,则BD表203是256字节(=8 * 8 * 4),留下1744个字节用于端点 数据缓存器204 ( = 2000-256)。如果端点的最大数量为16而不是8,则BD表将需要512 个字节(=16 * 8 * 4),其可要求分配超过2000个字节给USBRAM201,这将占据RAM模 块104的较大部分,或者,将要求用更大的存储器模块替代RAM模块104。 分配端点和/或缓存描述符的替换方法可能是有用的。【附图说明】 本专利技术的其它方案、特征和优点通过稍后的详细说明书、附加的权利要求书以及 附图将变得更加明了,其中相同的附图标记表示类似的或等同的元件。注意,附图中的元件 没有按比例绘制。 图1是示例性的传统的复合USB微控制器单元(MCU)的简化的示意性框图; 图2是图1的USBMCU的RAM模块的示意图; 图3是根据本专利技术一个实施例的示例性的复合USBMCU的简化的示意性框图; 图4是图3的USBMCU的RAM的示意性框图; 图5是根据本专利技术的一个实施例的示例性的复合USBMCU的简化的示意性框图; 图6是图5的示例性RAM的示意性框图。【具体实施方式】 本专利技术详细的说明性的实施例在此处被公开。然而,本文公开的具体结构和功能 仅仅是代表性的,用于描述本专利技术的示例实施例的目的。本专利技术的实施例可以以许多替代 的形式实施,并且不应被理解为仅限于在此叙述的实施例。此外,本文使用的术语仅是为了 描述特定实施例的目的,并不意图限制本专利技术的示例实施例。 如本文使用的,单数形式"一"和"该"也意图包括复数形式,除非上下文相反表示。 还将理解,术语"包括"、"包含"、和/或"具有"说明所声明的特征、步骤或组件的存在,但是 并不排除一个或多个其它特征、步骤或组件的存在或添加。还应当注意,在某些替代实施方 式中,所提及的功能作用可以不按附图中所示的顺序进行。 在新颖的复合USB设备控制器的一个实施例中,根据具体组成USB设备的具体需 要,将端点分配给复合USB设备的组成USB设备。因此,如果一个组成的设备仅需要两个端 点,则其将被分配两个端点,而不考虑复合USB设备的其它组成的设备要求多少个端点。 图3示出根据专利技术的一个实施例的示例性的复合USB MCU300的简化的示意图。与 图1的相应元件基本上类似的图3的元件被类似地标记但是具有不同的前缀。 复合USBMCU300包括八个组成USB设备302本文档来自技高网...
【技术保护点】
一种复合通用串行总线USB微控制器,包括:随机存取存储器RAM共享子系统,包括:串行接口引擎;RAM模块,其包括USB RAM,该USB RAM包括(i)缓存描述符BD表以及(ii)端点数据缓存器;处理器核;多个组成USB设备,其中:每一个组成USB设备被分配相应组的端点;所述BD表包括与分配给组成USB设备的端点对应的多个条目,每一个条目包括用于对应端点的控制信息和状态;第一组成USB设备被分配最大数量的端点;以及第二组成USB设备被分配少于该最大数量的端点的最小数量的端点。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘秉坤,
申请(专利权)人:飞思卡尔半导体公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。