2024年4月27日发(作者:秘豪)
通用串行总线
技术指标
现标准中将UBS统一为USB2.0,分为:
High-speed,传输速率25Mbps~400Mbps(最大480Mbps)
Full-speed ,传输速率500Kbps~10Mbps(最大12Mbps)
Low-speed,传输速率10Kbps~100Kbps(最大1.5Mbps)
标准USB接口
USB标准A、 B插头及其触点
标准USB连接器触点
触点 功能(主机) 功能 (设备)
1
V
BUS
(4.75-5.25 V) V
BUS
(4.4-5.25 V)
2 D-
3 D+
4
接地
D-
D+
接地
USB信号使用分别标记为D+和D-的双绞线传输,它们各自使用半双工差分信号并协同工作,以抵消长导线的电磁干
扰,
Mini USB接口
Mini USB A、 B连接器及其触点
Mini USB连接器触点
触点 功能
1 V
BUS
(4.4–5.25 V)
2 D−
3 D+
4 ID
5
接地
其中id脚在OTG功能中才使用。由于mini usb接口分mini-A、B和AB接口。如果你的系统仅仅是用做slave,那么就使用B接口,在A
接口中,ID脚悬空如果是B接口,这个时候就需要使用ID脚了,系统控制器会判断ID脚的电平,判断是什么样的设备插入,如果是高
电平,则是B接头插入,此时系统就做主模式(master mode),如果ID为低,则是A接口插入,然后系统就会使用HNP对话协议来决定哪
个做Master,哪个做slave。
编码方式
USB标准采用NRZI方式(翻转不归零制)对数据进行编码。翻转不归零制(non-return to zero,inverted),电平保持
时传送逻辑1,电平翻转时传送逻辑0。
软件架构
PCB mounting female USB connectors
一个USB主机通过hub链可以连接多个设备。由于理论上一个物理设备可以承担多种功能,例如路由器同时也可以是
一个SD卡读卡器,USB的术语中设备(device)指的是功能(functions)。集线器(hub)由于作用特殊,按照正式
的观点并不认为是function。 直接连接到主机的hub是根(root)hub。
端点
设备/功能(和集线器)与管道pipe (逻辑通道)联系在一起,管道把主机控制器和被称为端点endpoint的逻辑实体
连接起来。 管道和比特流(例如UNIX的pipeline)有着相同的含义,而在USB词汇中术语端点经常和管道混用,甚
至在正式文档中。
端点(和各自的管道)在每个方向上按照0-15编号,因此一个设备/功能最多有32个活动管道,16个进,16个出。 (出
( OUT)指离开控制器,而入(IN)指进入主机控制器。) 两个方向的端点0总是留给总线管理,占用了32个端点
中的2个。在管道中,数据使用不同长度的包传递,端点可以传递的包长度上限一般是字节,所以
USB包经常包含的数据量依次有8、16、32、64、128、256、512或者1024字节。
一个端点只能单向(进/出)传输数据,自然管道也是单向的。每个USB设备至少有两个端点/管道:它们分别是进出
方向的,编号为0,用于控制总线上的设备。按照各自的传输类型,管道被分为4类:
控制传输——一般用于短的、简单的对设备的命令和状态反馈,例如用于总线控制的0号管道。
等时传输——按照有保障的速度(可能但不必然是尽快地)传输,可能有数据丢失,例如实时的音频、视频。
中断传输——用于必须保证尽快反应的设备(有限延迟),例如鼠标、键盘。
批量传输——使用余下的带宽大量地(但是没有对于延迟、连续性、带宽和速度的保证)传输数据,例如普通
的文件传输。
一旦设备(功能)通过总线的hub附加到主机控制器,主机控制器就给它分配一个主机上唯一的7位地址。主机控制
器通过投票分配流量,一般是通过轮询模式,因此没有明确向主机控制器请求之前,设备不能传输数据。
为了访问端点,必须获得一个分层的配置。连接到主机的设备有且仅有一个设备描述符(device descriptor),而设备
描述符有若干配置描述符(configuration descriptors)。这些配置一般与状态相对应,例如活跃和节能模式。 。每个配
置描述符有若干接口描述符(interface setting),用于描述设备的一定方面,所以可以被用于不同的用途:如一个相
2024年4月27日发(作者:秘豪)
通用串行总线
技术指标
现标准中将UBS统一为USB2.0,分为:
High-speed,传输速率25Mbps~400Mbps(最大480Mbps)
Full-speed ,传输速率500Kbps~10Mbps(最大12Mbps)
Low-speed,传输速率10Kbps~100Kbps(最大1.5Mbps)
标准USB接口
USB标准A、 B插头及其触点
标准USB连接器触点
触点 功能(主机) 功能 (设备)
1
V
BUS
(4.75-5.25 V) V
BUS
(4.4-5.25 V)
2 D-
3 D+
4
接地
D-
D+
接地
USB信号使用分别标记为D+和D-的双绞线传输,它们各自使用半双工差分信号并协同工作,以抵消长导线的电磁干
扰,
Mini USB接口
Mini USB A、 B连接器及其触点
Mini USB连接器触点
触点 功能
1 V
BUS
(4.4–5.25 V)
2 D−
3 D+
4 ID
5
接地
其中id脚在OTG功能中才使用。由于mini usb接口分mini-A、B和AB接口。如果你的系统仅仅是用做slave,那么就使用B接口,在A
接口中,ID脚悬空如果是B接口,这个时候就需要使用ID脚了,系统控制器会判断ID脚的电平,判断是什么样的设备插入,如果是高
电平,则是B接头插入,此时系统就做主模式(master mode),如果ID为低,则是A接口插入,然后系统就会使用HNP对话协议来决定哪
个做Master,哪个做slave。
编码方式
USB标准采用NRZI方式(翻转不归零制)对数据进行编码。翻转不归零制(non-return to zero,inverted),电平保持
时传送逻辑1,电平翻转时传送逻辑0。
软件架构
PCB mounting female USB connectors
一个USB主机通过hub链可以连接多个设备。由于理论上一个物理设备可以承担多种功能,例如路由器同时也可以是
一个SD卡读卡器,USB的术语中设备(device)指的是功能(functions)。集线器(hub)由于作用特殊,按照正式
的观点并不认为是function。 直接连接到主机的hub是根(root)hub。
端点
设备/功能(和集线器)与管道pipe (逻辑通道)联系在一起,管道把主机控制器和被称为端点endpoint的逻辑实体
连接起来。 管道和比特流(例如UNIX的pipeline)有着相同的含义,而在USB词汇中术语端点经常和管道混用,甚
至在正式文档中。
端点(和各自的管道)在每个方向上按照0-15编号,因此一个设备/功能最多有32个活动管道,16个进,16个出。 (出
( OUT)指离开控制器,而入(IN)指进入主机控制器。) 两个方向的端点0总是留给总线管理,占用了32个端点
中的2个。在管道中,数据使用不同长度的包传递,端点可以传递的包长度上限一般是字节,所以
USB包经常包含的数据量依次有8、16、32、64、128、256、512或者1024字节。
一个端点只能单向(进/出)传输数据,自然管道也是单向的。每个USB设备至少有两个端点/管道:它们分别是进出
方向的,编号为0,用于控制总线上的设备。按照各自的传输类型,管道被分为4类:
控制传输——一般用于短的、简单的对设备的命令和状态反馈,例如用于总线控制的0号管道。
等时传输——按照有保障的速度(可能但不必然是尽快地)传输,可能有数据丢失,例如实时的音频、视频。
中断传输——用于必须保证尽快反应的设备(有限延迟),例如鼠标、键盘。
批量传输——使用余下的带宽大量地(但是没有对于延迟、连续性、带宽和速度的保证)传输数据,例如普通
的文件传输。
一旦设备(功能)通过总线的hub附加到主机控制器,主机控制器就给它分配一个主机上唯一的7位地址。主机控制
器通过投票分配流量,一般是通过轮询模式,因此没有明确向主机控制器请求之前,设备不能传输数据。
为了访问端点,必须获得一个分层的配置。连接到主机的设备有且仅有一个设备描述符(device descriptor),而设备
描述符有若干配置描述符(configuration descriptors)。这些配置一般与状态相对应,例如活跃和节能模式。 。每个配
置描述符有若干接口描述符(interface setting),用于描述设备的一定方面,所以可以被用于不同的用途:如一个相