阅读:1409回复:5
USB1.1协议里百思不得其解的一段,哪位大侠给解释一下!
在数据切换同步和重试中关于对损坏的ACK包的处理有这样的做法:
1、先说发送器可通过重试而达到与接受器同步的目的,可是紧接着又有下面的一段: 2、“数据发送器必须保证任何被重试的数据包都和先前的事务发送的包相同(相同长度和内容)。由于类似缓冲欠载(Underrun)条件等问题,数据发送器不能传送和在先前的数据包中数据完全一样的数据中,它必须通过产生一位填充违反(Bit Stuffing Violation);来中止事务。这将引起一个接收器的可检测的错误,从而保证接收器不会将部分的包解释为好包。发送器不应该通过发送已知的坏的CRC在接收器产生一个错误。带有“坏”CRC的坏包会被接收器解释成好包。” 上面这段的意思好象是说传输不能继续进行下去,要终止事务,是不是说这次传输失败要从新开始呢,还有这上下文是不是矛盾呀? |
|
沙发#
发布于:2002-12-12 10:08
那大侠们认为当ACK本身发生错误时是怎么处理的呢? :P 重发上一个数据包,toggle不用切换 |
|
板凳#
发布于:2002-12-12 08:40
那大侠们认为当ACK本身发生错误时是怎么处理的呢? :P
|
|
地板#
发布于:2002-12-11 23:01
简直是天书嘛! :D
|
|
|
地下室#
发布于:2002-12-11 15:12
兄弟建议你还是不要翻译成中文了,看不懂的说
|
|
5楼#
发布于:2002-12-11 14:23
是不是我说的不够清楚呀?就是关于DATA0和DATA1的切换。
|
|