你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

USB的四种传输方式

[复制链接]
gaosmile 发布时间:2020-7-18 18:30

  1)控制传输

       控制传输是一种可靠的双向传输,一次控制传输可分为三个阶段。第一阶段为从HOST到Device的SETUP事务传输,这个阶段指定了此次控制传输的请求类型;第二阶段为数据阶段,也有些请求没有数据阶段;第三阶段为状态阶段,通过一次IN/OUT传输表明请求是否成功完成。

       控制传输对于最大包长度有固定的要求。对于高速设备该值为64Byte;对于低速设备该值为8;全速设备可以是8或16或32或64。

       控制传输在访问总线时也受到一些限制,如:

       1.高速端点的控制传输不能占用超过20%的微帧,全速和低速的则不能超过10%。

       2.在一帧内如果有多余的未用时间,并且没有同步和中断传输,可以用来进行控制传输。

       2)中断传输

       中断传输是一种轮询的传输方式,是一种单向的传输,HOST通过固定的间隔对中断端点进行查询,若有数据传输或可以接收数据则返回数据或发送数据,否则返回NAK,表示尚未准备好。

       中断传输的延迟有保证,但并非实时传输,它是一种延迟有限的可靠传输,支持错误重传。

       对于高速/全速/低速端点,最大包长度分别可以达到1024/64/8Bytes。高速中断传输不得占用超过80%的微帧时间,全速和低速不得超过90%。中断端点的轮询间隔由在端点描述符中定义,全速端点的轮询间隔可以是1~255mS,低速端点为10~255mS,高速端点为(2interval-1)*125uS,其中interval取1到16之间的值。

       除高速高带宽中断端点外,一个微帧内仅允许一次中断事务传输,高速高带宽端点最多可以在一个微帧内进行三次中断事务传输,传输高达3072字节的数据。

       3)批量传输

       批量传输是一种可靠的单向传输,但延迟没有保证,它尽量利用可以利用的带宽来完成传输,适合数据量比较大的传输。

       低速USB设备不支持批量传输,高速批量端点的最大包长度为512,全速批量端点的最大包长度可以为8、16、32、64。

       批量传输在访问USB总线时,相对其他传输类型具有最低的优先级,USBHOST总是优先安排其他类型的传输,当总线带宽有富余时才安排批量传输。

       高速的批量端点必须支持PING操作,向主机报告端点的状态,NYET表示否定应答,没有准备好接收下一个数据包,ACK表示肯定应答,已经准备好接收下一个数据包。

       4)同步传输

       同步传输是一种实时的、不可靠的传输,不支持错误重发机制。只有高速和全速端点支持同步传输,高速同步端点的最大包长度为1024,低速的为1023。

       除高速高带宽同步端点外,一个微帧内仅允许一次同步事务传输,高速高带宽端点最多可以在一个微帧内进行三次同步事务传输,传输高达3072字节的数据。

      全速同步传输不得占用超过80%的帧时间,高速同步传输不得占用超过90%的微帧时间。


1 收藏 1 评论2 发布时间:2020-7-18 18:30

举报

2个回答
likang1202 回答时间:2020-7-19 09:08:58
顶一下
mark.png
goosir 回答时间:2020-8-3 11:39:17
学习了

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版