切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 4062阅读
  • 10回复

[学堂]USB开发的必备知识 [复制链接]

上一主题 下一主题
离线wang1984jian
 
发帖
596
M币
-159
专家
-6
粉丝
31
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2009-04-18
— 本帖被 mydigit 从 MyDigit学堂 移动到本区(2013-05-20) —
USB的基本特性
每一个设备(device)会有一个或者多个的逻辑连接点在里面,每个连接点叫endpoint.每个endpoint有四种数据传送方式:控制(Control)方式传送;同步(isochronous)方式传送;中断(interrupt)方式传送;大量(bulk)传送.但是所有的endpoint0都被用来传送配置和控制信息。
在host和设备的endpoint之间的连接叫作管道“pipe",endpoint0叫做缺省(default pipe)。
对于同样性质的一组的endpoint的组合叫做接口(interface),如果一个设备包含不止一个的接口就可以称之为复合设备(composite device)。
同样的道理,对于同样的类型的接口的组合可以称之为“配置"(configuration)。但是每次只能有一个配置是可用的,而一旦该配置激活,里面的接口和endpoint就都同时可以使用。
host从设备发过来的描述字(descriptors)中来判断用的是哪个配置,哪个接口等等,而这些的描述字通常是在endpoint0中传送。
传输方式
在USB的数据传送的方式下,有四种的传输方式:控制(Control)同步(isochronous)中断(interrupt)大量(bulk)。如果你是从硬件开始来设计整个的系统,你还要正确选择传送的方式,而作为一个驱动程序的书写者,就只需要弄清楚他是采用的什么工作方式就行了。
通常所有的传送方式下的主动权都在PC边,也就是host边。
·控制(Control)方式传送:控制传送是双向传送,数据量通常较小。USB系统软件用来主要进行查询、配置和给USB设备发送通用的命令。控制传送方式可以包括8、16、32和64字节的数据,这依赖于设备和传输速度。控制传输典型地用在主计算机和USB外设之间的端点(Endpoint)0之间的传输,但是指定供应商的控制传输可能用到其它的端点。
·同步(isochronous)方式传送:同步传输提供了确定的带宽和间隔时间(latency)。它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传送率的即时应用中。例如执行即时通话的网络电话应用时,使用同步传输模式是很好的选择。同步数据要求确定的带宽值和确定的最大传送次数。对于同步传送来说,即时的数据传递比完美的精度和数据的完整性更重要一些。
·中断(interrupt)方式传送:中断方式传输主要用于定时查询设备是否有中断数据要传送。设备的端点模式器的结构决定了它的查询频率,从1到255ms之间。这种传输方式典型的应用在少量的分散的、不可预测数据的传输。键盘、操纵杆和鼠标就属于这一类型。中断方式传送是单向的并且对于host来说只有输入的方式。
·大量(bulk)传送:主要应用在数据大量传送传送和接受数据上,同时又没有带宽和间隔时间要求的情况下,要求保证传输。打印机和扫描仪属于这种类型。这种类型的设备适合于传输非常慢和大量被延迟的传输,可以等到所有其它类型的数据的传送完成之后再传送和接收数据。
离线my-digitfan
发帖
17
M币
11
专家
1
粉丝
0
只看该作者 1楼 发表于: 2009-04-18
请登录后查看
离线fack0
发帖
1
M币
0
专家
1
粉丝
0
只看该作者 2楼 发表于: 2009-04-19
请登录后查看
离线lqgerdear3

发帖
836
M币
66
专家
4
粉丝
20
只看该作者 3楼 发表于: 2009-04-19
请登录后查看
离线mymomomg

发帖
4935
M币
3325
专家
2
粉丝
41
只看该作者 4楼 发表于: 2009-05-14
请登录后查看
离线davidbrain

发帖
1587
M币
1183
专家
2
粉丝
84
只看该作者 5楼 发表于: 2009-06-03
请登录后查看
离线dyf2004aq
发帖
193
M币
43
专家
1
粉丝
0
只看该作者 6楼 发表于: 2009-06-19
请登录后查看
离线jxsem
发帖
13
M币
1
专家
1
粉丝
4
只看该作者 7楼 发表于: 2009-06-19
请登录后查看
离线jacksun128
发帖
180
M币
107
专家
1
粉丝
3
只看该作者 8楼 发表于: 2009-06-19
请登录后查看
离线2474092
发帖
29
M币
24
专家
1
粉丝
0
只看该作者 9楼 发表于: 2009-06-20
请登录后查看
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个