2.1 USB总线特点
与传统的计算机接口相比,USB总线具有速度快、共享式接口、支持热插拔、连接简单快捷、可提供电源和良好的兼容性等优点。
2.2 USB总线结构
一般USB设备是指具有USB接口的外围设备,主要包括U盘、MP3、USB鼠标以及USB数据采集系统等;具有USB端口的计算机称为USB主机。我们把USB主机、USB设备和USB的连接称为USB应用系统。
2.2.1 USB主机
一般把计算机和具有USB主控芯片的设备称为USB主机。它的内部含有USB主控制器,负责完成主机和USB设备之间的物理数据传输。
其在整个数据传输过程中占据着主导地位,因为它启动数据和命令传输,USB协议规定,一个USB系统中只能有一个主机。
2.2.2 USB设备
一般地,USB设备分为两种,分别为USB集线器和USB功能设备。USB功能设备用于一些用户特定功能的设备,例如我们常见的手机充电器,U盘等;USB集线器用于扩展连接多个设备。
USB集线器(USB HUB)用于扩展USB主机的USB端口,它是USB系统中的关键元件。一个USB集线器可以级连5个。集线器的示意图如下图2.1所示。
USB功能设备可以和USB主机进行数据和控制信息的交互,如MP3和USB数据采集系统等。也用于扩展USB主机的功能,如计算机的USB键盘等。
2.2.3 USB的连接
USB设备和USB主机、USB主机和USB集线器以及USB设备和USB集线器之间都需要通过USB电缆进行连接。
USB连接器有A、B型两种。其电缆内部含有VBUS、D+、D-4和GND 4根导线。其中,VBUS向外提供+5V电源,GND是地线,D+和D-是差分数据线。
2.2.4 USB系统的结构
USB的系统结构,可以分为功能层、USB设备层和USB总线接口层三个逻辑层,具体的分层结构如下图2.2所示。
图2.2 USB系统的分层
(1)功能层
USB系统的功能层负责实现USB设备的特定功能,如传输图片、传输数据等。功能层由USB设备的功能单元和对应的客户软件组成实现,其完成USB设备指定的某些功能,比如视频传输、音频传输等。特定的USB主机程序段用于和特定的USB设备功能单元通信。
(2)USB设备层
这一层可以为USB设备分配地址、读取其配置描述符等,即实现了主机和USB设备间的配置通信(通常发生在USB设备的连接或断开时,由USB逻辑设备层完成)。当USB设备连接时,主机很快就能检测出来,通过访问,得到该设备的配置信息,然后主机为其分配设备地址。
(3)USB总线接口层
USB总线接口层数实现主机和设备的数据传输。它使用反向非归零编码,这样就可以消除噪声干扰和保证总线上数据传输的完整性。
2.2.5 USB通信流的模式与管线文献综述
在USB规范中定义了单机设备和复合性设备两种外围设备。每个接口设备都具有端点地址,它是由令牌包内的4个字段所构成的。而主机与端点的通信,是经过虚拟管线而构成的。所谓“虚拟”,就是假想的意思,不是真实存在的。虚拟管线建好后,通过它,可以把描述此设备的相关信息传回给主机。
USB的通信,我们可以将其理解为一种虚拟管线的概念。对于小虚拟管线,我们又可以把它细分为许多微虚拟管线。我们可以把这些微虚拟管线理解为端点。图2.3描述了数据如何在主机侧中的内存缓冲和设备中的端点中传送。