原创 HcCommandStatus Register

2010-11-29 13:52 1030 1 1 分类: MCU/ 嵌入式

The HcCommandStatus register is used by the Host Controller to receive commands issued by the Host Controller Driver, as well as reflecting the current status of the Host Controller.  To the Host Controller Driver, it appears to be a "write to set" register.  The Host Controller must ensure that bits written as ‘1’ become set in the register while bits written as ‘0’ remain unchanged in the register.  The Host Controller Driver may issue multiple distinct commands to the Host Controller without concern for corrupting previously issued commands.  The Host Controller Driver has normal read access to all bits.


 


The SchedulingOverrunCount field indicates the number of frames with which the Host Controller has detected the scheduling overrun error.  This occurs when the Periodic list does not complete before EOF.  When a scheduling overrun error is detected, the Host Controller increments the counter and sets the SchedulingOverrun field in the HcInterruptStatus register.


 




3


 


1


1  1


1


0


0


0


0


0


1


 


8


7  6


5


4


3


2


1


0


reserved


S


O


C


reserved


O


C


R


B


L


F


C


L


F


H


C


R


Figure 7-3: HcCommandStatus Register


 




 


 


Read/Write


 


Key


Reset


HCD


HC


Description


HCR


0b


R/W


R/W


HostControllerReset


This bit is set by HCD to initiate a software reset of HC.  Regardless of the functional state of HC, it moves to the UsbSuspend state in which most of the operational registers are reset except those stated otherwise; e.g., the InterruptRouting field of HcControl, and no Host bus accesses are allowed.  This bit is cleared by HC upon the completion of the reset operation.  The reset operation must be completed within 10 ms.  This bit, when set, should not cause a reset to the Root Hub and no subsequent reset signaling should be asserted to its downstream ports.


CLF


0b


R/W


R/W


ControlListFilled


This bit is used to indicate whether there are any TDs on the Control list.  It is set by HCD whenever it adds a TD to an ED in the Control list.


When HC begins to process the head of the Control list, it checks CLF.  As long as ControlListFilled is 0, HC will not start processing the Control list.  If CF is 1, HC will start processing the Control list and will set ControlListFilled to 0.  If HC finds a TD on the list, then HC will set ControlListFilled to 1 causing the Control list processing to continue.  If no TD is found on the Control list, and if the HCD does not set ControlListFilled, then ControlListFilled will still be 0 when HC completes processing the Control list and Control list processing will stop.


BLF


0b


R/W


R/W


BulkListFilled


This bit is used to indicate whether there are any TDs on the Bulk list.  It is set by HCD whenever it adds a TD to an ED in the Bulk list.


When HC begins to process the head of the Bulk list, it checks BF.  As long as BulkListFilled is 0, HC will not start processing the Bulk list.  If BulkListFilled is 1, HC will start processing the Bulk list and will set BF to 0.  If HC finds a TD on the list, then HC will set BulkListFilled to 1 causing the Bulk list processing to continue.  If no TD is found on the Bulk list, and if HCD does not set BulkListFilled, then BulkListFilled will still be 0 when HC completes processing the Bulk list and Bulk list processing will stop.


OCR


0b


R/W


R/W


OwnershipChangeRequest


This bit is set by an OS HCD to request a change of control of the HC.  When set HC will set the OwnershipChange field in HcInterruptStatus.  After the changeover, this bit is cleared and remains so until the next request from OS HCD.


SOC


00b


R


R/W


SchedulingOverrunCount


These bits are incremented on each scheduling overrun error.  It is initialized to 00b and wraps around at 11b. This will be incremented when a scheduling overrun is detected even if SchedulingOverrun in HcInterruptStatus has already been set.  This is used by HCD to monitor any persistent scheduling problems.

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
1
关闭 站长推荐上一条 /3 下一条