3.1.1.4Endpoint0States
Idle
Tx state Rx state
Sequence #1 Sequence #2
Sequence #3
www.ti.com
USBControllerHostandPeripheralModesOperation
WhentheUSBcontrollerisoperatingasaperipheraldevice,theendpoint0controlneedsthreemodes–
IDLE,TXandRX–correspondingtothedifferentphasesofthecontroltransferandthestatesendpoint0
entersforthedifferentphasesofthetransfer(describedinlatersections).
Thedefaultmodeonpower-uporresetshouldbeIDLE.RXPKTRDYbitofPERI_CSR0(bit0)becoming
setwhenendpoint0isinIDLEstateindicatesanewdevicerequest.Oncethedevicerequestisunloaded
fromtheFIFO,thecontrollerdecodesthedescriptortofindwhetherthereisadataphaseand,ifso,the
directionofthedataphaseofthecontroltransfer(inordertosettheFIFOdirection).SeeFigure3.
Dependingonthedirectionofthedataphase,endpoint0goesintoeitherTXstateorRXstate.Ifthereis
noDataphase,endpoint0remainsinIDLEstatetoacceptthenextdevicerequest.
TheactionsthattheCPUneedstotakeatthedifferentphasesofthepossibletransfers(e.g.,loadingthe
FIFO,settingTXPKTRDY)areindicatedinFigure4.
Note:ThecontrollerchangestheFIFOdirection,dependingonthedirectionofthedataphase
independentlyoftheCPU.
Figure3.CPUActionsatTransferPhases
SPRUGH3–November2008UniversalSerialBus(USB)Controller29
SubmitDocumentationFeedback