要实现对传输层的控制,
从时序位开始考虑,如果接到信号与内置时序位不一致,则说明时序位传输错误,如果一致,则说明正确,那么时序位发生跳转。
时序位传输的几种情况。
控制传输:最后一次传输的数据包必然为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时,则时序位正常跳转。