usb:universal serial bus
CRC:循环冗余
EOP:end-of-packet
Hub:集线器(一个结点发送数据,所有结点都可收到),为主机提供一个或多个附属点。
usb支持主机与各种外设之间的数据交换
usb连接:设备连接主机
bus topology:总线拓扑
usb通信通过usb的Endpoint端点
主机与端点之间的数据传输通过pipe
主控制器是硬件、固件、软件的整合
pulled bus轮询总线
pipe:stream、message。message要求进出进出方向必须要求同一个管道
usb:vbus、gnd、两个信号线d+ d-
总线列举:是为附属于总线的设备鉴别和分配唯一地址的一次动作
四种传输方式:控制传输(配置设备,传递控制信息),中断传输(固定速率传递少量的数据),批量传输(传输大量数据),等时传输(传输大量的数据,不保证数据是否到达)。
上行:设备到主机
下行:主机到设备
一个拥有互相独立控制的多个接口的设备成为组合设备
所有的Hub和设备都被看着逻辑设备
逻辑设备就是一系列端点的组合,逻辑设备与主机之间的通信发生在一个
主机的缓冲区和设备的一个端点之间。
个逻辑设备可能包含若干个接口,每个接口包含1个或多个端点。每个接口表示一种功能。一个接口对应一个驱动程序。例如usb扬声器就包含一个键盘接口和一个音频流接口
由端点编号为0的两个端点组成的管道称为默认控制管道,设备供电且总线重置,则该管道始终可用。
消息管道:从主机向usb发送请求,之后进行数据传输
默认控制管道始终是一个消息管道
Frames:帧,11位。主机每发一个帧,帧号会加1。
full speed全速
usb包的组成:sop、sync、packet content、eop。
packet content组成:pid、地址、帧号、数据、crc。
sop:start of packet,通过将D+和D-线从空闲状态驱动到相反的逻辑电平,由始发端口发信号通知分组的开始。
sync:sop域之后的是同步域的开始,全速/低速设备sync被定义长度位8位,高速长度定义位32位。
pid域:4位类型字段(标识本包的类型)和4位校验字段(对类型字段进行校验)组成。
地址域:设备地址字段和端点地址字段
CRC:令牌CRC:为令牌提供五位CRC字段,并覆盖IN,SETUP和OUT令牌的ADDR和ENDP字段或SOF令牌的时间戳字段。
数据CRC:数据分组的数据字段的16位多项式
EOP域:全速或低速设备的结束包。
SE0:D+和D-都是低电平
Packet:命令token packet 帧首start of frame数据 握手
主设备通过描述符区分不同的从设备
一个设备只有一个设备描述符
配置描述用来配置设备,一个设备同一时刻只有一种配置生效
一个interface代表一个设备
Endpoint:control(控制端点被用来允许对usb设备的不同部分存取,通常用作配置设备)、interrupt(传送小量的数据)、bulk(传送大量的数据)、isochronous(传送大量数据)
class用来描述设备属于哪种设备,分为device class和interface class
一个传输由多个事务组成
一个事务(in、out、setup)由多个packet组成
full-speed D+被拉高
low-speed D-被拉高
usb设备最多具有16个端点
一个拥有相互独立控制的多个接口的设备伟组合设备
所有的Hub和设备都被看成一个个的逻辑设备
一个usb逻辑设备就是一系列端点的集合
消息管道:从主机向usb发送请求,之后进行数据传输
Frames:帧、11位、主机每发一个帧,帧号会加1。
usb包的组成:sop(start of packet)、sync、pid、EOP域
transfer management:client softuare、usb driver、host controller driver、host controller。
数据在usb传送由低位到高位。数据由二进制字符串构成。