USB 协议 (二) 协议栈

协议栈粗略解读
USB 都 好几代了,从 USB1.0 USB1.1 USB2.0
到 USB3.x 5G 	10G 	20G
到 USB4.x 40G 	80G

每一代都有类似的协议文档
	1. USB 总线文档 		Universal Serial Bus Specification  
		// 描述了 host 和 device 的交互
	2. USB 标准host文档 OHCI_Specification/EHCI_Specification/XHCI_Specification
		// 描述了 符合 "Universal Serial Bus Specification" 的 一种HC的实现,一般被作为标准
		// 这个被称为 标准 HC 的实现,HC 与 HCD的接口被称为HCI,例如有OHCI/EHCI/XHCI
		// linux 中有OHCI/EHCI/XHCI的驱动,如果HC的设计符合"标准HC",则1.有统一的HCI,2.可以兼容linux中的 "OHCI/EHCI/XHCI"
		// 在 HCI之上,都是软件;在HCI之下,都是硬件
	3. 无 USB标准device文档
协议栈图解
  • usb 1.1 协议栈
  • usb 2.0 协议栈
  • usb 3.0 协议栈
    在这里插入图片描述
USB 层次数据包
  • USB 2.0 数据封装
USB数据是由二进制数字串构成的,数据会发送到端点(可以认为是一个缓冲区)上
level 1 : 二进制数据 0 1 	//  两种 0 1 //没有时钟同步的 二进制数据传输(翻转)
level 2 ://	七种 SYNC PID ADDR ENDP FRAM DATA CRC)
level 3 : 包Packet			//  三种 令牌包 数据包 握手包
level 4 : 事务Transaction	// 	三种 IN OUT SETUP
level 5 : 传输Transfer		//  四种 中断传输 同步传输 批量传输 控制传输
level 6 : 管道Pipe			//  两种 Message Pipes , Stream Pipes
USB控制器侧 协议栈
基本上每一层上下都有标准,你按照标准设计就可以了.
但是 xHCD 和 xHC 中间没有标准,这个要靠制造商来cover

USB设备 上面有标准(XHCI),下面没有标准,是正常的.
因为 USB设备按照 标准(XHCI) 动作就可以了.


	应用软件。
		该软件使用一个或多个USB设备提供的服务。应用软件通过类驱动程序提供的标准化接口与USB设备 交互

		-------------------------------- posix 标准

	类驱动程序软件。
		该软件在主机PC上执行,对应于特定的USB设备“类”(大容量存储、人机界面、音频等)。
		类驱动程序软件通常是操作系统的一部分或随USB设备提供。

		-------------------------------- USBDI 标准

	USB驱动程序(USBD)。
		USBD是一种系统软件总线驱动程序,它为特定操作系统抽象了特定主机控制器驱动程序的细节。
		USBD提供给系统的通用USB接口称为USB驱动程序接口或USBDI。


		---------------------------  HCDI // Host Controller Driver Interface

			主机控制器驱动程序(xHCD)。 // 软件
				xHCD提供了主机控制器硬件和USBD之间的软件层。主机控制器驱动程序的详细信息取决于主机控制器硬件寄存器接口定义。

		--------------------------- XHCI 固定接口 标准 // Host Controller Interface
	XHCI标准(该标准上下层接口都是固定的)
	
			主机控制器(xHC) // 硬件: USB主机
				主机控制器是主机控制器体系结构的特定硬件实现。USB 3主机控制器有一个主机控制器规范,支持低速、全速、高速、超高速和超高速Plus设备。 
				xHC向系统提供的接口称为可扩展主机控制器接口或xHCI。

		--------------------------- USB 总线协议

	USB设备。 // 硬件 : USB 设备
		这是一种扩展总线拓扑(集线器)或执行有用的最终用户功能的硬件设备。
		与USB设备的交互从应用程序通过软件和硬件层流向USB设备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值