USB 事务

 在上一篇博客里面涉及到USB的四种传输方式,每种传输方式都包括三个阶段,第一个阶段是setup阶段,执行该传输的初始化。另外两个阶段分别是in阶段和out阶段。

每一个阶段都有三种包,令牌包+数据包+握手包



setup事务:

令牌包:主机发送一个PID为setup的包给device,通知设备有setup包到来 (主机=》设备)

数据包:发送8个字节的data0包,为64个字节(主机=》设备)

握手包:设备接收到数据之后向主机发送ACK包(设备到主机)

IN事务:

令牌包: 主机发送一个PID为out的包给device,通知设备有数据发送给主机

数据包:

1.端点正常,向主机发出数据包,DATA0或DATA1

2.设备正忙,发送NAK无效包

3.端点被禁止,发送错误STALL包

握手包:主机正确接收到数据后向设备发送一个ACK包

OUT事务:

令牌包:主机发送一个PID为IN的包给设备,通知设备接收数据

数据包:主机向设备发送数据,DATA0与DATA1交替

握手包: 

1.设备端点接收正常,向主机返回ACK

2.设备在忙,发送NAK无效包

3.端点被禁用,发送STALL包


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值