HID的固件要求

时间:2008-12-25

  虽然本书稍后的应用程序是针对VB程序来设计的,但对于要与HID设备通信的主机驱动程序来说,设备的固件程序代码是必须符合某 些要求的。也即是,设备的描述符必须辨识设各包含了HID接口。在固件程序代码中,除了预设的控制管线外,还须支持中断IN端点 。此外,固仵也必须包含描述符,以用来定义所要传送与接收数据的格式。

  对于设备而言,为了送出数据,固件程序代码必须支持Get ̄Report控制传输以及中断IN传输的规范。相对,为了接收数据,就需要 固件程序代码支持Se辶Report控制传输以及可能也支持中断OUT传输。

  所有的HID数据必须使用所定义的格式,其定义了在描述符中的数据大小值与内容。一个设各可能支持一个或更多的。 在设备固件程序代码中的描述符用来描述,并且可能涵盖了相关于所要使用的数据是如何被接收与传送的。

  每一个的数值可以用来定义是作为输人(mput)、输出(output)以及特性(feature)之用的。主机能够以输人 来接收数据,也可以通过输出来传送数据。此外,特性则可以利用任一方向来传输。

  当主机要求输人时,而设备就在每的中断传输,将数据送至主机。而主机会根据在端点描述符所要求的迟滞时间,安 排整个的传输要求。此外,对于输出而言,主机可以使用控制传输或中断传输将数据传送到设备端。但对于HID群组执行OUT中断 的功能在原先USB1.0版中是没有具各的。而在稍后的USB 1.1版本中才加以改进并增加此功能。当然在Windows 98第二版(SE)以及 后来修定的Windows版本皆可应用这个新增的特性。

  对于输人,所有的Windows 98以及稍后版本的HID驱动程序则使用中断传输来读取。此外,对于输出、传输类型则根据设 备所支持的端点类型以及所安装的Windows版本而定。其中,原始的Windows 98(Windows 98 Gold)版本仅相容HID规范1.0版, 那么HID驱动程序则会针对输出来使用控制传输。而Windows 98SE,Windows2000以及Windows ME版本与规范1.1版本相容,那么 若是设各接口也具各中断OUT端点,HID驱动程序就可针对输出来使用中断传输;否则,则使用控制传输。再者,如果HID设备接 口不支持中断OUT端点,或如果固件对于输出,同时支持两种传输类型,HID即可相容于任何的Windows版本。

  特性(feature)能够以双向(IN与OUT)来传递,可以使用控制传输来加以实现。为了送出OUT特性,主机送出 Set_Report要求,其后跟随数据,然后设备会传回状态信息以表示是否为成功或失败的传输。而为了接收IN特性,主机会送 出Get_Report要求,设各再送出此,然后主机会传回状态信息以表示是否为成功或失败的传输。如果数据仅是偶而传递一下,或 没有迟滞时间要求,则当数据不再需要时,特性就会以周期传输来避开总线的阻塞。

  使用特性(feature)来传输的另一个优点是,能够提供多种格式。这样主机就可在控制要求中设置的数量。若使用 中断传输来作数据的接收或传递,主机就不再需要设置特定的来要求或送出数据字节。

  欢迎转载,信息来自维库电子市场网(www.dzsc.com



  
上一篇:HID的中断转输
下一篇:识别HID设备

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料