USB传输中的时序位跳转问题

要实现对传输层的控制,
从时序位开始考虑,如果接到信号与内置时序位不一致,则说明时序位传输错误,如果一致,则说明正确,那么时序位发生跳转。
时序位传输的几种情况。
控制传输:最后一次传输的数据包必然为DATA1,其中最后一次传输的令牌包必然和数据阶段相反。
       a.设置阶段: 先发一次令牌包,再是DATA0的数据包(数据为8bytes),再是握手包。

       b.数据阶段(可选):IN的令牌包,DATA1的数据包,握手包;IN的令牌包,DATA0的数据包,握手包,循环往复。

        c.状态阶段:不管数据阶段是以DATA0/1结尾,都发送DATA1的空包。OUT的令牌包,DATA1的数据包,握手包。

其余传输:DATA0-DATA1-DATA0-……循环。

实现方法:

        知道正确的时序位。

       阶段的表示,reg setup_flag1, setup_flag2;进入数据阶段时setup_flag1置1;进入状态阶段时setup_flag2置1。在接收到ack信号时作为判断。

        在setup_flag2不为1时,则时序位正常跳转。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值