Texas Instruments TMS320DM357 Switch User Manual


 
3.1.2BulkTransactions
3.1.2.1PeripheralMode:BulkInTransactions
www.ti.com
USBControllerHostandPeripheralModesOperation
ABulkINtransactionisusedtotransfernon-periodicdatafromtheUSBperipheraldevicetothehost.
ThefollowingoptionalfeaturesareavailableforusewithaTxendpointusedinperipheralmodeforBulk
INtransactions:
Doublepacketbuffering:Whenenabled,uptotwopacketscanbestoredintheFIFOawaiting
transmissiontothehost.DoublepacketbufferingisenabledbysettingtheDPBbitofTXFIFOSZ
register(bit4).
DMA:IfDMAisenabledfortheendpoint,aDMArequestwillbegeneratedwhenevertheendpointis
abletoacceptanotherpacketinitsFIFO.ThisfeatureallowstheDMAcontrollertoloadpacketsinto
theFIFOwithoutprocessorintervention.
WhenDMAisenabledandDMAMODEbitofPERI_TXCSRisset,anendpointinterruptisnot
generatedforcompletionofthepackettransfer.Anendpointinterruptisgeneratedonlyintheerror
conditions.
3.1.2.1.1Setup
InconfiguringaTXendpointforbulktransactions,theTXMAXPregistermustbewrittenwiththe
maximumpacketsize(inbytes)fortheendpoint.ThisvalueshouldbethesameasthewMaxPacketSize
fieldoftheStandardEndpointDescriptorfortheendpointandthePERI_TXCSRregistershouldbesetas
showninTable2:
Table2.PERI_TXCSRRegisterBitConfigurationforBulkINTransactions
BitPositionBitFieldNameConfiguration
Bit14ISOClearedto0forbulkmodeoperation
Bit13MODESetto1tomakesuretheFIFOisenabled(onlynecessaryiftheFIFOissharedwithanRX
endpoint)
Bit12DMAENSetto1ifDMArequestsmustbeenabled
Bit11FRCDATATOGClearedto0toallownormaldatatoggleoperations
Bit10DMAMODESetto1whenDMAisenabledandEPinterruptisnotneededforeachpackettransmission
Whentheendpointisfirstconfigured(followingaSET_CONFIGURATIONorSET_INTERFACEcommand
onEndpoint0),thelowerbyteofPERI_TXCSRshouldbewrittentosettheCLRDATATOGbit(bit6).This
willensurethatthedatatoggle(whichishandledautomaticallybythecontroller)startsinthecorrectstate.
AlsoifthereareanydatapacketsintheFIFO(indicatedbytheFIFONOTEMPTYbit(bit1of
PERI_TXCSR)beingset),theyshouldbeflushedbysettingtheFLUSHFIFObit(bit3ofPERI_TXCSR).
Note:Itmaybenecessarytosetthisbittwiceinsuccessionifdoublebufferingisenabled.
SPRUGH3November2008UniversalSerialBus(USB)Controller37
SubmitDocumentationFeedback