USB HUB 控制芯片解决方案
Author: etzzy
除了 普 遍 的 PC 端应 用 以 外 , 目前 USB 也 逐 渐走 向 嵌 入 式 市场 , 比 如 说 手机 、
PMP、PDA、打印机、视讯转换盒、电视盒、家用型 NAS 服务器等等,由于这一类应用中,
通常硬件本身都内建了某种规模的操作系统,因此也具备了程度不等的独立作业能力,在
这些装置上的 USB 架构,除了一般作为与 PC 平台作为连结之用以外,也具备了 USB 主控
端功能,也就是我们常说的 USB OTG。目前普通的 USB 控制芯片已经非常的廉价,每家
厂商都以冲量为主,单一芯片的利润非常微薄,少数具备较高阶应用的芯片产品,如具备
高阶制程或者是 OTG 应用的架构,方有较高的利润。
面对多如过江之鲫的应用。PC 主机上内建的 USB 连接埠相对显得捉襟见肘,常常面
临不够用的状况,因此一般来说,大多会以利用 USB HUB 的方式来进行扩充,因此 USB
HUB 也就成了市面上最为普遍的 USB 装置之一。不过以 HUB 的方式扩充,是采用串行单
一连接埠的分享方式,因此不仅频宽会被分享,连 USB 连接埠上的供电也会面临同样的状
况,因此 USBHUB 大多也会设计独立的供电方式,以因应具备较大电源需求的周边。而采
用不同的控制芯片的产品,在校能与稳定度表现上也可能会有所不同,
而在建置一整套单芯片 USB OTG 控制器时,设计者更必须考虑要支持哪些接口,由
于支持的接口必须兼容于现今市面上大多数主控端 CPU。例如具备支持直接内存存取
(DMA)的原生 CPU 接口,就能藉此支持大多数 ARM、MIPS、以及各种精简指令集
(RISC)处理器。某些主控端 CPU 厂商也会针对这些 USB OTG 控制器推出参考设计方案。
至于包括照相手机在内的可携式行动装置,其储存容量不断的增加,因此 USB 所需传输的
流量亦随之不断成长,依此趋势,USB OTG 控制芯片不但要求更快,为了行动便利性,也
必需要具备更低的功耗表现。
在基于 PC 的系统中,USB 作业一般需要三种组件,分别是通常作为 PCI 总线子系统
的主机控制器、USB 堆栈以及 USB 类驱动器。主机控制器是整合主板芯片组的一部分,
USB 堆栈则包含 主 板 芯 片 及 通 用 主 机 控 制 器 接 口 ( UCHI ) 和 开 放 主 机 控 制 器 接 口
(OHCI)驱动程序以及 USB 驱动程序(usbd.sys),在 PC 上要实做这些技术的话,就必
须透过以上的方式。至于在在嵌入式 USB 系统中,其主要组成部分与 PC 系统类似,如嵌
入式主机控制器芯片、内建 OHCI 堆栈的实时操作系统(RTOS)以及专用驱动程序这几个
部件。
过去开发者开发单芯片微控制器或传感器时,大多采用 RS-232 连结开发平台进行开
发。RS-232 在测试与量测应用中,仍然是相当普遍的通讯协议,这是由于许多任务控计算
机或嵌入式设备大多都承袭旧有计算机架构之故。这个接口广受许多仪器的支持,并且经
常用于 DUT(待测装置)的诊断或控制埠。RS-232 仪器通讯接口的主要优点是成本较低,
而且普遍存在于 PC 和旧型仪器中。不过缓慢的速度、不一致的实作方式、以及有限的通
讯和搜寻能力,则是它最大的缺点。
当旧型的仪器和设备逐渐被淘汰之后,USB 终将取代 RS232 而成为一般使用者和研
发工程师所能使用的接口。但是相较起 RS-232,进行实务操作的工程师想要使用 USB 接
口时,仍需要额外的专业知识与需求,大多数的嵌入式系统工程师对位、定时器、输入/
输出(I/O)与模拟到数字转换器(ADC)的技术内容都相当熟悉,不过对 DLL、组件规
格、Windows 驱动程序,及遵守 USB.org 的注册授权与互通性准则等方面,都面临着程度
不等的困扰。