3.6 基于OHCI的USB主机 —— OHCI(ED结构说明)

来源:互联网 发布:怎么样才能学好java 编辑:程序博客网 时间:2024/05/29 07:44
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/240821
ED结构说明
节选自OHCI的规范。
Name
HC
Access
Description
FA
R
FunctionAddress
This is the USB address of the function containing the endpoint that this ED controls
EN
R
EndpointNumber
This is the USB address of the endpoint within the function
D
R
Direction
This 2-bit field indicates the direction of data flow (IN or OUT.)  If neither IN nor OUT is specified, then the direction is determined from the PID field of the TD. The encoding of the bits of this field are:
 
 
Code
Direction
 
 
 
00b
Get direction From TD
 
 
 
01b
OUT
 
 
 
10b
IN
 
 
 
11b
Get direction From TD
 
 

 
 
 
S
R
Speed
Indicates the speed of the endpoint: full-speed (S = 0) or low-speed (S = 1.)
K
R
sKip
When this bit is set, the HC continues on to the next ED on the list without attempting access to the TD queue or issuing any USB token for the endpoint
F
R
Format
This bit indicates the format of the TDs linked to this ED.  If this is a Control, Bulk, or Interrupt Endpoint, then F = 0, indicating that the General TD format is used.  If this is an Isochronous Endpoint, then F = 1, indicating that the Isochronous TD format is used.
MPS
R
MaximumPacketSize
This field indicates the maximum number of bytes that can be sent to or received from the endpoint in a single data packet
TailP
R
TDQueueTailPointer
If TailP and HeadP are the same, then the list contains no TD that the HC can process. If TailP and HeadP are different, then the list contains a TD to be processed.
H
R/W
Halted
This bit is set by the HC to indicate that processing of the TD queue on the endpoint is halted, usually due to an error in processing a TD.
C
R/W
toggleCarry
This bit is the data toggle carry bit.  Whenever a TD is retired, this bit is written to contain the last data toggle value (LSb of data Toggle field) from the retired TD.  This field is not used for Isochronous Endpoints
HeadP
R/W
TDQueueHeadPointer
Points to the next TD to be processed for this endpoint.
NextED
R
NextED
If nonzero, then this entry points to the next ED on the list
原创粉丝点击