/***********************************************************************
USB入门系列:
......(待补充)
************************************************************************/
前言
现在刚开始接触USB的开发,零零散散学习了一些USB基础知识,但是却得不到连贯。在这个学习过程中首先困惑的就是USB通讯过程究竟是什么样子的,我觉得做一下的了解后整合后记录下来,首先从USB整体结构基础来入手直到整个通讯过程。可能有理解不到位的地方,望各位能够指正,我会及时改正。
一、USB系统的结构
USB系统是由三个逻辑层组成:功能层、USB设备层和USB总线接口层。并且每一层都是由主机和USB设备不同的功能模块组成,如下图所示:


1、功能层(接口)
功能
层是由客户软件和设备方的功能单元组成,其能够实现USB设备传输的特定功能。通过功能层可直观地理解USB传输的数据内容。其中,客户软件通过USB系统软件来与USB设备进行通信。功能单元对于客户软件,可视为接口的集合。
2、USB设备层 (端点)
USB设备层是由USB系统软件和USB设备的USB逻辑设备组成,其实现主机和USB设备之间传输的具体配置。USB逻辑设备对于USB系统软件,可视为端点的集合。
3、USB总线接口层
USB总线接口层是由主机的USB主控制器和设备的USB总线接口组成。其实现主机和USB设备实际的数据传输。
4、主机部分
USB主机部分由客户软件、USB系统软件和USB总线接口组成。
4.1 客户软件
客户软件负责和USB设备的功能单元进行通信,以实现特定的功能。客户软件不能直接与USB设备相连接,必须通过USB系统软件和USB总线接口才能实现连接。客户软件包括USB设备驱动程序和界面应用程序两部分。
4.2 USB系统软件
USB系统软件负责和USB逻辑设备进行配置通信,并管理客户软件启动的数据。一般包括
USB总线驱动程序、
USB主控制驱动程序和非USB主机软件三个部分,这部分会由系统提供。
4.3 USB总线接
USB总线接口包括主控制器和跟集线器两部分。其中,主控制器是负责完成主机和USB设备间的数据实际传输。根集线器是为USB系统连接起点。
5、设备部分