丰林集团 股吧:请问 网控器 具体是用来做什么的?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 01:59:36

主控器(HC)控制总线上包的传输。使用1毫秒的帧。在每帧开始时,主控器产生一个帧开始(SOF, Start of Frame)包。

SOF包用于同步帧的开始和跟踪帧的数目。包在帧中被传输,或由host 到设备(out),或由设备到host(in)。传输总是由host发起(轮询传输)。因此每条USB总线只能有一个host。每个包的传输都有一个状态阶段,数据接收者可以在其中返回ACK(应答接收),NAK(重试),STALL(错误条件)或什么也没有(混乱数据阶段,设备不可用或已断开)。USB规范 USB specification的第8.5节更详细地解释了包的细节。USB总线上可以出现四中不同类型的传输:控制(control), 大块(bulk), 中断 (interrupt)和同步(isochronous)。传输的类型和他们的特性在下面 描述(`管道'子节中)。

USB总线上的设备和设备驱动程序间的大型传输被主控器或HC 驱动程序分割为多个包。

到默认端点的设备请求(控制传输)有些特殊。它们由两或三个阶段组成:启动(SETUP),数据(DATA,可选)和状态(STATUS)。设置(set-up)包被发送到设备。如果存在数据阶段,数据包的方向在设置包中给出。状态阶段中的方向与数据阶段期间的方向相反,或者当没有数据阶段时为IN。主控器硬件也提供寄存器,用于保存根端口的当前状态和自从状态改变寄存器最后一次复位以来所发生的改变。USB规范[2]建议使用一个虚拟hub来提供对这些寄存器的访问。虚拟hub必须符合规范第11章中给出的 hub设备类。它必须提供一个默认管道使得设备请求可以发送给它。它返回标准和hub类特定的一组描述符。它也应当提供一个中断管道用来报告其端口发生的变化。当前可用的主控器规范有两个: 通用主控器接口(UHCI;英特尔)和 开放主控器接口(OHCI;康柏,微软,国家半导体)。 UHCI规范的设计通过要求主控器驱动程序为每帧的传输提供完整的调度,从而减少了硬件复杂性。OHCI类型的控制器自身提供一个更抽象的接口来完成很多工作,从而更加独立。