USBControllerHostandPeripheralModesOperation
www.ti.com
•Endofqueue(EOQ)(onlyvalidonEOP)
•PacketLength(onlyvalidwithSOP)
Transmitbufferdescriptorscontain16bytes(4words)andmustbeginon16-bytealignedaddresses.
Transmitbufferdescriptorsmaybelinkedtogethertoformpackets.BufferdescriptorSOPandEOPbits
areusedtodelimitpackets.Packetsinturnmaybelinkedtogethertoformtransmitqueue.Eachqueue
consistsofachainofbufferdescriptorslinkedtogetherbyNextDescriptorPointers.Thelastbuffer
descriptorinaqueuehasazeroNextDescriptorPointer.Eachdescriptorpointstoadatabufferyieldinga
queueofbuffers.
FourWordsofTransmitBufferDescriptoraredescribedbelow.
Table6.TransmitBufferDescriptorWord0
BitsNameDescription
31:0NextDescriptorThe32-bitwordalignedmemoryaddressofthenextbufferdescriptorintheTxqueue.Thisisthe
Pointermechanismusedtoreferencethenextbufferdescriptorfromthecurrentbufferdescriptor.Ifthe
valueofthispointeriszerothenthecurrentbufferisthelastbufferinthequeue.Thesoftwaresets
theNextDescriptorPointer.
Table7.TransmitBufferDescriptorWord1
BitsNameDescription
31:0BufferPointerTheBufferPointeristhebytealignedmemoryaddressofthebufferassociatedwiththebuffer
descriptor.ThesoftwaresetstheBufferPointer.
Table8.TransmitBufferDescriptorWord2
BitsNameDescription
31:16BufferOffsetTheBufferOffsetindicateshowmanyunusedbytesareatthestartofthebuffer(SOPbuffersonly).
Avalueofzeroindicatesthattherearenounusedbytesatthestartofthebufferandthatvaliddata
beginsonthefirstbyteofthebuffer.Avalueof000Fh(decimal15)indicatesthatthefirst15bytes
ofthebufferaretobeignoredbytheDMAcontrollerwhiletransmittingandthatvalidbufferdata
startsonbyte16ofthebuffer.TheBufferOffsetisvalidonlyonStartOfPacketbufferdescriptors
andmustbezerootherwise.ThesoftwaresetstheBufferOffset.TheBufferOffsetmustbeless
thantheBufferLength.
15:0BufferLengthTheBufferLengthfieldindicateshowmanyvaliddatabytesareinthebuffer.Unusedorprotocol
specificbytesatthebeginningofthebufferarenotcountedintheBufferLengthfield.Thesoftware
setstheBufferLength.
Table9.TransmitBufferDescriptorWord3
BitsNameValueDescription
31SOPStartofPacket:SOPIndicatesthatthedescriptorbufferisthefirstbufferinthepacket.The
softwaresetstheSOPbit.
0Notstartofpacketbuffer
1Startofpacketbuffer
30EOPEndofPacket:EOPIndicatesthatthedescriptorbufferisthelastbufferinthepacket.The
softwaresetstheEOPbit.ItisvalidtosetbothSOPandEOPinthesamedescriptor.
0Notendofpacketbuffer
1Endofpacketbuffer
29OwnershipTheOwnershipbitindicatesownershipoftheDMApacketandisvalidonlyonSOP.Thisbit
issetbythesoftwareandclearedbytheDMAcontrollerwhenthepackethasbeen
transmitted.Thesoftwarecanusethisbittoreclaimbuffers.
0Thepacketisownedbythehostprocessor
1ThepacketisownedbytheDMAcontroller
UniversalSerialBus(USB)Controller 58SPRUGH3–November2008
SubmitDocumentationFeedback