阅读:3489回复:6
[提问]SOF是怎么回事?
我知道它每隔1ms发送一次,但SOF在usb协议中具体有什么作用?
求高手指点,详细一点! 还有,我看到一个驱动源码里面每隔250个SOF(1/4 秒)就会做一个动作,但是我不清楚具体含义,在usb标准中有什么关于250ms间隔的规定吗? 谢谢!!!!! ![]() ![]() ![]() |
|
最新喜欢:![]() |
沙发#
发布于:2007-07-02 10:53
About USB Frames
In full-speed mode (12 Mbps), the USB host issues an SOF (Start Of Frame) packet once every millisecond. Every SOF packet contains an 11-bit (mod-2048) frame number. The firmware services all isochronous transfers at SOF time, using a single SOF interrupt request and vector. If the FX2 detects a missing or garbled SOF packet, it can use an internal counter to generate the SOF interrupt automatically. In high-speed (480 Mbps) mode, each frame is divided into eight 125-microsecond microframes. Although the frame counter still increments only once per frame, the host issues an SOF every microframe. The host and device always synchronize on the zero-th microframe of the frame specified in the device’s response to the Sync Frame request; there’s no mechanism for synchronizing on any other microframe. ![]() ![]() |
|
|
板凳#
发布于:2007-07-02 10:56
Isochronous Endpoint Descriptor
This seven-byte descriptor defines the endpoint characteristics as follows: 07H ;; Descriptor length 05H ;; Descriptor type 82H ;; Endpoint number2 and direction IN 01H ;; Endpoint type (Isochronous) 00H ;; Maximum packet size (LSB) 04H ;; Max packet size (MSB) 1 x 1024 byte packets/uFrame 01H ;;Polling interval. The endpoint type is set to 0x01 for an isochronous endpoint. Bytes four and five, which define the wMaxPacketSize field, are set to 1024 bytes. As this is not a high-bandwidth endpoint bits 12..11 in the wMaxPacketSize field of the endpoint descriptor are set to 00 binary, indicating one packet per microframe. The bInterval field, which is the polling interval, is set to 1. This means that the host will poll this endpoint once(2(1-1)) every frame when the device is operating at high-speed. Do you understand? |
|
|
地板#
发布于:2007-07-02 14:15
thanks, cute worm~
i don't quite understand even after i read the specification about usb2.0 do you mean SOF is only used for Isochronous transfer ? or what ? |
|
地下室#
发布于:2007-07-02 18:42
not just for usb2.0, but only in 2.0 the interval can be set while it is 1 in usb1.0
the service intervel field of the interface description means how long the host can service for the specified pipe. |
|
|
5楼#
发布于:2007-07-03 15:56
and provid a signal which make the device don't get into the suspend mode.
means keeps the bus alive |
|
6楼#
发布于:2007-07-03 15:57
250个SOF(1/4 秒)就会做一个动作?
is there anybody know it? |
|