通用串行总线主机控制器及其控制方法技术

技术编号:2825243 阅读:178 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种符合通用串行总线(USB)2.0规范的精简存储器的USB主机控制器及其控制方法,其能够以精简化的存储器支持该USB主机控制器与通用串行总线设备之间的周期传输与异步传输。该USB主机控制器包括第一控制器,用来控制主机与通用串行总线设备间的第一传输;第二控制器,用来控制该主机与该通用串行总线设备间的第二传输;以及第一存储器,分别耦接于该第一控制器与该第二控制器,用来缓存该主机控制器与该通用串行总线设备间传输的数据;其中,于该第一传输阶段,该第一控制器存取该第一存储器,于该第二传输阶段,该第二控制器存取该第一存储器。

【技术实现步骤摘要】

本专利技术一般涉及通用串行总线(Universal Serial Bus,USB)主机控制器,更具体地,涉及一种符合USB2.0规范的精简存储器的USB主机控制器及其控制方法,其能够以精简化的存储器支持USB主机控制器与通用串行总线设备之间的周期传输(Periodic Transfer)与异步传输(Asynchronous Transfer)。
技术介绍
USB是一种由Intel和Microsoft开发的外设总线的数据通信标准。最大的特点是支持热插拔(Hot plug)和即插即用(Plug&Play)的功能。当设备插入时,主机枚举(enumerate)此设备并加载所需的驱动程序,因此使用远比PCI和ISA总线方便。通用串行总线可以连接的外部设备有鼠标、键盘、gamepad、游戏杆、扫描仪、数码相机、打印机、硬盘和网络部件等,其应用非常广泛。USB目前常见的有两个规范,即USB 1.1和USB 2.0。USB1.1规范,其高速方式的传输速率为12兆位/秒(Mbps),低速方式的传输速率为1.5Mbps。USB2.0规范是由USB 1.1规范演变而来的,传输速率可达到480Mbps,即60MB/s,足以满足大多数外部设备的速率要求。USB 2.0中的“增强主机控制器接口”(Enhanced Host Controller Interface,EHCI)定义了一个与USB1.1相兼容的架构,可以用USB 2.0的驱动程序驱动USB1.1设备。也就是说,所有支持USB1.1的设备都可以直接在USB2.0的接口上使用,而不必担心兼容性问题,而且像USB线、插头等等附件也都可以直接使用。USB系统的设计为非对称式的,它由一个USB主机(host)控制器和若干通过集线器(Hub)设备以树形连接USB设备所组成。USB主机控制器负责实现主机与USB设备之间的物理数据传输,是构成USB主机不可或缺的核心部件。USB主机控制器与USB设备之间传输数据的管道(Pipe)可分为四种类型:控制传输(Control Transfer),等时传输(Isochronous Transfer),中断传输(Interrupt Transfer)和批量传输(Bulk Transfer)。其中,控制传输一般用-->于短的、简单的对设备的命令和状态反馈,例如用于总线控制的0号管道,0号管道是USB设备必备的管道,用于控制总线上的设备,其编号为0;等时传输是按照保障连续的速度(可能但不必然是较快地)传输,可能有数据丢失的问题,例如实时的音频、视频;中断传输用于必须保证尽快反应的设备(仅容许有限延迟),例如鼠标、键盘;而批量传输是使用余下的带宽大量地(但是没有对于延迟、连续性、带宽和速度的保证)传输数据,例如普通的文件传输。根据这四种传输类型的特点,一般将等时传输与中断传输统称为周期传输(Periodic Transfer),将控制传输与批量传输统称为异步传输(Asynchronous Transfer)。USB主机控制器作为USB主机的核心部件,其下最多可以有5级Hub,包括各级的Hub在内,最多可以连接127个USB设备,而USB主机可以同时有多个USB主机控制器。由于现今USB的应用日益广泛,如何设计低成本,小面积,高效能的USB主机控制器芯片,已成为USB系统设计中的一大焦点。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种符合USB2.0规范的精简存储器的USB主机控制器及其控制方法,其能够以精简化的存储器支持该USB主机控制器与USB设备之间的周期传输与异步传输。根据本专利技术的一个方面,提供一种USB主机控制器,包括第一控制器,用来控制主机与通用串行总线设备间的第一传输;第二控制器,用来控制该主机与该通用串行总线设备间的第二传输;以及第一存储器,分别耦接于该第一控制器与该第二控制器,用来缓存该主机控制器与该通用串行总线设备间传输的数据;其中,于该第一传输阶段,该第一控制器存取该第一存储器,于该第二传输阶段,该第二控制器存取该第一存储器。根据本专利技术的一个方面,提供一种应用于USB主机控制器的控制方法,包括步骤:于第一传输阶段,通过第一控制器存取第一存储器以执行该主机控制器与通用串行总线设备间的第一传输;于第二传输阶段,通过第二控制器存取该第一存储器以执行该主机控制器与该通用串行总线设备间的第二传输;其中,该第一控制器与该第二控制器都是通过第一直接存储器存取引擎存取该第一存储器。根据本专利技术的另一个方面,该第一传输为周期传输(Periodic-->transfer),该第一控制器为周期控制器;该第二传输为异步传输(Asynchronous transfer),该第二控制器为异步控制器。本专利技术的USB主机控制器通过分阶段执行周期传输和异步传输,共享DMA引擎和存储器,大大精简了USB主机控制器的电路面积,并仍能有效避免其内部的存储器出现超载或欠载的情况,此外,通过周期传输阶段结束时执行预取功能,可进一步提高USB主机控制器的运作效能。附图说明通过下面结合示例性地示出一例的附图进行的描述,本专利技术的上述和其他目的和特点将会变得更加清楚,其中:图1是根据本专利技术的一个实施例应用于主机的USB主机控制器的示意图;图2是根据本专利技术的另一个实施例应用于主机的USB主机控制器的示意图;图3是图2中的USB主机控制器与USB设备之间传输数据的微帧(Microframe)格式示意图;以及图4是根据本专利技术的一个实施例应用于图2的USB主机控制器的控制方法的流程图。具体实施方式以下,参照附图来详细说明本专利技术的实施例。图1是根据本专利技术的一个实施例应用于主机的USB主机控制器的示意图,如图所示,USB主机控制器14位于主机10内,与内存16相连接,USB设备12通过总线的集线器(Hub)(图中未示出)连接到USB主机控制器14。通常,当USB设备12连接到USB主机控制器14时,USB主机控制器14会分配一个特定的7位地址给USB设备12,用以标识USB设备12。并且,USB主机控制器14通过投票分配流量,例如通过轮询模式分配流量,因此,在没有明确向USB主机控制器14提出请求之前,USB设备12不能传输数据。需要注意的是,本专利技术所指的传输是指双向的传输,即数据从USB设备12传输到USB主机控制器14,或是从USB主机控制器14传输到USB设备12。一旦建立起传输数据的管道,USB主机控制器14就可以控制各种类型的数据从USB设备12传输到USB主机控制器14,或是从USB主机控制器14传输到USB设备12。-->根据前述两种不同的数据传输类型(周期传输和异步传输),USB主机控制器14内设有对应的一个或多个周期控制器和异步控制器,在本专利技术的一个实施例中,USB主机控制器14内设有一个周期控制器101,和两个异步控制器102、103,以分别控制执行USB设备12与USB主机控制器14之间的周期传输和异步传输,如图1所示。与此对应的,USB主机控制器14内设有三个存储器,即第一存储器107、第二存储器108和第三存储器109,用来缓存USB设备12与USB主机控制器14之间传输的数据。其中,当USB主机控制器14执行周期传输时,周期控制器101通过第本文档来自技高网
...

【技术保护点】
一种通用串行总线主机控制器,包括    第一控制器,用来控制主机与通用串行总线设备间的第一传输;    第二控制器,用来控制该主机与该通用串行总线设备间的第二传输;以及    第一存储器,分别耦接于该第一控制器与该第二控制器,用来缓存该主机控制器与该通用串行总线设备间传输的数据;    其中,于该第一传输阶段,该第一控制器存取该第一存储器,于该第二传输阶段,该第二控制器存取该第一存储器。

【技术特征摘要】
1.一种通用串行总线主机控制器,包括第一控制器,用来控制主机与通用串行总线设备间的第一传输;第二控制器,用来控制该主机与该通用串行总线设备间的第二传输;以及第一存储器,分别耦接于该第一控制器与该第二控制器,用来缓存该主机控制器与该通用串行总线设备间传输的数据;其中,于该第一传输阶段,该第一控制器存取该第一存储器,于该第二传输阶段,该第二控制器存取该第一存储器。2.如权利要求1所述的通用串行总线主机控制器,还包括第一直接存储器存取引擎,其中该第一控制器与该第二控制器都是通过该第一直接存储器存取引擎存取该第一存储器。3.如权利要求1所述的通用串行总线主机控制器,还包括第二存储器,其中于该第一传输阶段,该第一控制器同时存取该第二存储器。4.如权利要求3所述的通用串行总线主机控制器,还包括第一直接存储器存取引擎,其中于该第一传输阶段,该第一控制器是通过控制该第一直接存储器存取引擎存取该第一存储器与该第二存储器,于该第二传输阶段,该第二控制器通过该第一直接存储器存取引擎存取该第一存储器。5.如权利要求3所述的通用串行总线主机控制器,还包括第三控制器,其中于该第二传输阶段,该第三控制器存取该第二存储器;以及第二直接存储器存取引擎,其中于该第二传输阶段,该第三控制器通过该第二直接存储器存取引擎存取该第二存储器。6.如权利要求3所述的通用串行总线主机控制器,其中于该第一传输阶段,当该第一控制器存取达预定数量的数据或者该第一存储器被存满或取空时,该第一控制器控制地址指针指向该第二存储器,以接续存取该第二存储器。7.如权利要求3所述的通用串行总线主机控制器,其中于该第一传输阶段,当该第一控制器控制传输最后一个第一传输的数据包期间,若该第一存储器与该第二存储器之一空出预定数量空间或者被取空时,则该主机控制器执行预取操作,以预先从该主机取出一个或多个该第二传输的数据包存入到空出该预定数量空间或者被取空的存储器中。8.如权利要求3所述的通用串行总线主机控制器,其中该第一存储器与该第二存储器的容量之和大于或等于该第一传输的最大数据包的容量;且该第一存储器与该第二存储器的容量均大于或等于该第二传输的最大数据包的容量。9.如权利要求1所述的通用串行总线主机控制器,还包括计数器,且该主机控制器与该通用串行总线设备间是以该微帧的形式来执行该第一传输与该第二传输,在每一该微帧的传输周期中,该第一控制器先控制执行该第一传输,而后该第二控制器再控制执行该第二传输。10.如权利要求9所述的通用串行总线主机控制器,其中在同一该微帧中,在每次传输该第二传输的数据包之前,该计数器计算该微...

【专利技术属性】
技术研发人员:张欣李文彬李德建
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1