Здравствуйте.
На днях NXP обьявила о запуске в производство микроконтроллера lpc1788.
Я прошу знающих USB интерфейс людей прокомментировать один из четырех пунктов эрраты на этот микроконтроллер:
3.4 USB.1: USB host controller hangs on a dribble bit
Introduction:
Full-/low-speed signaling uses bit stuffing throughout the packet without exception. If the
receiver sees seven consecutive ones anywhere in the packet, then a bit stuffing error has
occurred and the packet should be ignored.
The time interval just before an EOP is a special case. The last data bit before the EOP
can become stretched by hub switching skews. This is known as dribble and can lead to a
situation where dribble introduces a sixth bit that does not require a bit stuff. Therefore,
the receiver must accept a packet for which there are up to six full bit times at the port with
no transitions prior to the EOP.
Problem:
The USB host controller will hang indefinitely if it sees a dribble bit on the USB bus. It will
hang the first time a dribble bit is seen. Once it is in this state there is no recovery other
than a hard chip reset. This problem has no effect on the USB device controller.
Work-around:
None.
Я так понял, речь идет о зависании намертво USB хоста микроконтроллера, если на шине появятся подряд 7 единиц (что является признаком битого пакета) при приеме данных от usb девайса. А появление 7-й единицы на шине возможно из-за "растягивания" 6-й хабом.
Я правильно понимаю?
Как часто возможна такая ситуация?
Можно ли использовать такой USB host с некоторыми оговорками, или вообще нельзя?
Пожалуйста.