Texas Instruments TMS320DM357 Switch User Manual


 
3.1.4IsochronousTransactions
3.1.4.1IsochronousINTransactions
www.ti.com
USBControllerHostandPeripheralModesOperation
AnIsochronousINtransactionisusedtotransferperiodicdatafromthefunctioncontrollertothehost.
ThefollowingoptionalfeaturesareavailableforusewithaTxendpointusedinPeripheralmodefor
IsochronousINtransactions:
Doublepacketbuffering:Whenenabled,uptotwopacketscanbestoredintheFIFOawaiting
transmissiontothehost.DoublepacketbufferingisenabledbysettingtheDPBbitofTXFIFOSZ
register(bit4).
Note:DoublepacketbufferingisgenerallyadvisableforIsochronoustransactionsinordertoavoid
Underrunerrorsasdescribedinlatersection.
DMA:IfDMAisenabledfortheendpoint,aDMArequestwillbegeneratedwhenevertheendpointis
abletoacceptanotherpacketinitsFIFO.ThisfeatureallowstheDMAcontrollertoloadpacketsinto
theFIFOwithoutprocessorintervention.
However,thisfeatureisnotparticularlyusefulwithIsochronousendpointsbecausethepackets
transferredareoftennotmaximumpacketsizeandthePERI_TXCSRregisterneedstobeaccessed
followingeverypackettocheckforUnderrunerrors.
WhenDMAisenabledandDMAMODEbitofPERI_TXCSRisset,endpointinterruptwillnotbe
generatedforcompletionofpackettransfer.Endpointinterruptwillbegeneratedonlyintheerror
conditions.
3.1.4.1.1Setup
InconfiguringaTxendpointforIsochronousINtransactions,theTXMAXPregistermustbewrittenwith
themaximumpacketsize(inbytes)fortheendpoint.Thisvalueshouldbethesameasthe
wMaxPacketSizefieldoftheStandardEndpointDescriptorfortheendpoint.Inaddition,therelevant
interruptenablebitintheINTRTXEregistershouldbeset(ifaninterruptisrequiredforthisendpoint)and
thePERI_TXCSRregistershouldbesetasshowninTable4.
Table4.PERI_TXCSRRegisterBitConfigurationforIsochronousINTransactions
BitPositionBitFieldNameConfiguration
Bit14ISOSetto1toenableIsochronoustransferprotocol
Bit13MODESetto1toensuretheFIFOisenabled(onlynecessaryiftheFIFOissharedwithanRx
endpoint).
Bit12DMAENSetto1ifDMARequestshavetobeenabled
Bit11FRCDATATOGIgnoredinIsochronousmode
Bit10DMAMODESetitto1,whenDMAisenabledandEPinterruptisnotneededforeachpackettransmission
3.1.4.1.2Operation
AnIsochronousendpointdoesnotsupportdataretries,soifdataunderrunistobeavoided,thedatatobe
senttothehostmustbeloadedintotheFIFObeforetheINtokenisreceived.ThehostwillsendoneIN
tokenperframe(ormicroframeinHigh-speedmode),howeverthetimingwithintheframe(ormicroframe)
canvary.IfanINtokenisreceivedneartheendofoneframeandthenatthestartofthenextframe,
therewillbelittletimetoreloadtheFIFO.Forthisreason,doublebufferingoftheendpointisusually
necessary.
SPRUGH3November2008UniversalSerialBus(USB)Controller41
SubmitDocumentationFeedback