linux内核 usb卷,Linux内核USB驱动架构:USB卷一_DS部份.pdf

USB 卷一 DS 部份

LK 版本:2.6.35.3

2013 年1 月14 日

 任务目标:

 USB 设备、配置、接口、设置以及端点的五者关系图:

一个USB 设备对应有一个或多个配置;

一个配置对应一个或多个的USB 接口;

一个USB 接口又具有一个或多个的设置; 一个USB 接口对应一种功能

对应一个USB 驱动

一个设置又会拥有一个或多个的USB 端点。

 图示:

USB 设备:

配置 接口

端点

USB 驱动程序

端点

接口

端点 USB 驱动程序

端点

配置 接口

端点

端点

1

Linux-USB 子系统框架图:

 内核中USB 子系统的结构:

2

 USB 拓扑结构:

主机的责任:

为了与USB 设备通信,计算机需要硬件和软件共同来支持USB 主机功能。其中,硬件

由USB 主机控制器和含有一个或多个USB 端口的跟集线器构成。

典型的计算机拥有一个或多个硬件主机控制器。每个控制器支持多个端口。主机负责管

理总线。主机需要知道哪些设备正挂在总线上,以及每个设备有怎样的能力。主机还必须尽

可能保证总线上所有设备能够按照各自的需要收发数据。

主机完成下述的所有任务。

1、检测设备

开机时,集线器会令主机得知所有已连接的USB 设备。在被称作“枚举”的过程中,

主角会决定使用那种总线速率、指定地址,并请求额外的信息。开机后,若有设备连接或移

除,集线器将把此事件通知主机,主机便枚举新连接的设备或从它应用程序的可用设备清单

上撤销全部已移除的设备。

2 、管理数据流

主机管理总线上的数据流。可能有许多设备会要求在同一时间内传输数据。主机控制器

将可用的时间分成诸多小段,给与每项传输任务一部分可用时间。USB3.0 主机可同时收发

超高速数据,也可在USB2.0 速率下完成传输。USB2.0 总线每次只以一种速率在一个方向

上传输数据。

枚举过程中,设备驱动程序将(向系统)索要传输所需的带宽,以保证时序。如果所要

求的带宽无法被满足,驱动程序便索要更小的带宽或等待直到所要求的带宽得到满足。得不

到时序保证的传输,将等到总线不再忙碌的时候再使用剩余带宽。

3、错误检查

3

传输数据时,主机将添加错误检查位。接收数据时,设备将对数据进行错误检查的计算,

并将结果与错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值