——本文摘抄自《USB3.0编程宝典》,如有侵权,请联系删除
USB总线接口技术是一个完整的系统,包括USB主机、USB集线器和USB功能设备。因此, USB技术的开发便相应地划分为如下3类。
- USB主机的开发:采用USB主控制器芯片,使之能够集成到计算机主板或者便携式设备的主板上,这样计算机或者便携式设备便具备了USB接口。◆
- USB集线器的开发:采用USB 集线器芯片,以设计USB集线器扩展USB接口的数量。
- USB功能设备的开发:采用USB外设芯片,根据特定功能需要来开发相应的设备。
对于USB规范中有定义的设备,应该严格遵循其规范,确保兼容性,其余设备可以进行自定义开发。一般来说,USB主机的开发是由计算机主板厂商设计的,我们通常需要处理的便是USB集线器的开发和USB功能设备的开发。USB设备开发的基本流程如图1.34所示。整个USB设备开发步骤如下。
图1.34 USB设备的开发流程
- 功能需求分析。主要是分析USB设备的功能,通过分析,掌握数据传输速率要求、传输类型、所需要的硬件资源等,以便于采用相应的手段来处理。对于一些USB规范中指定的设备,还需要遵循相应的协议规范。例如,USB鼠标开发必须遵循USB HID类规范,而USB数据采集卡则可以根据需求进行自定义开发。
- 选择USB接口芯片。掌握USB设备的功能需求之后,便需要有针对性地选择合适的USB接口芯片。主要从如下几方面考虑。
- 开发类型:对于USB主机开发需要选择USB主控制器芯片,对于USB集线器开发需要选择USB集线器芯片,对于USB大容量存储设备需要选择相应的USB桥接芯片,对于普通的USB外设则需要选择USB外设芯片。
- 传输速率:需要仔细计算USB设备的传输速率要求,选择合适的USB芯片,例如超高速USB 3.0芯片、高速USB 2.0芯片等。
- 功耗:对于手持式或者便携式设备需要选择相应的低功耗版本芯片,对于其他用途的设备可以根据实际需要进行选择。
- 搭建USB开发环境。根据选择的USB芯片来搭建相应的开发环境,主要涉及USB固件开发软件、驱动开发软件、应用程4. 软/硬件调试。由于USB设备开发涉及的内容很多,因此往往需要软件和硬件联合调试。其中USB软件的调试包括如下几个方面的内容:
- USB芯片的固件程序。
- USB主机的驱动程序。
- 主机的用户界面。
另外需要注意,USB集线器开发无须调试程序,一般USB HUB芯片和操作系统已经内置了相应的USB集线器协议,设计者只需专注硬件开发即可。
- 功能需求验证。软硬件调试结束后,还需要进一步验证USB设备的性能指标是否满足设计要求,必要时需要反复进行修改调试。STEP 6 完成 USB设备。最后,设计的 USB设备满足预定的性能指标后,便可以结束整个开发流程。
- 完成 USB设备。最后,设计的 USB设备满足预定的性能指标后,便可以结束整个开发流程。