(16)USB通信
USB协议讲解(大范围讲解)
USB,英文全称 Universal Serial Bus(通用串行总线),是一种支持热插拔的高速串行传输总线(目前已发展至3.0)
USB体系包括主机、设备以及物理连接三部分,其中:
主机是一个提供USB接口以及接口管理能力的硬件、软件及固件复合体,可以使PC,也可以是OTG(on the go)设备(直接用手机连接U盘、键盘等),一个USB系统中仅有一个USB主机
设备包括USB功能设备或USB HUB(分线器,如扩展坞),最多支持127个设备(主机端不占用地址,设备端每一个设备都占用一个地址)
物理连接指USB传输线,在USB2.0系统中要求使用屏蔽的双绞线
USB传输协议高版本支持低版本(如3.0兼容2.0)
在HOST端,应用软件(Client SW)不能直接访问USB总线,而必须通过USB系统软件和USB主机控制器来访问
传输过程从逻辑上可分为功能层、设备层和总线接口层,其中功能层(应用软件)完成功能级的描述、定义和行为;设备层(电脑)完成功能级到传输级的转化,将一次功能级行为转化为一次次的基本传输;总线接口层(USB传输线连接)处理总线上的bit流,完成数据传输的物理层实现和总线管理。
图中黑色箭头代表真实数据流,灰色箭头代表逻辑上的通讯
物理上,USB设备通过分层的星型总线连接到HOST,从图中可以看到,每一个应用软件都会生成一个功能级的描述和行为的定义
各应用软件和功能-设备的通讯是相互独立的。应用软件通过USB设备驱动程序(USBD)发送IRQ请求,请求数据传输,主机控制器驱动程序(HCD)接受IRQ请求,并解析为USB传输事务(Transaction),并对USB传输系统中所有的传输事务进行任务排定,主机控制器(HOST Controller)执行排定的传输任务,在同一条共享的USB总线上进行数据包传输
USB传输数据详解
懒得敲字了。。。。