Texas Instruments TMS320C645X Musical Instrument Amplifier User Manual


 
www.ti.com
SRIOFunctionalDescription
Table21.WeightedRoundRobinProgrammingRegisters(AddressOffset0x7E00x7EC)
(continued)
NameBitAccessResetValueDescription
TX_Queue_Map10[23:16]R/W0x0A[23:20]=Numberofcontiguousmessages(descriptors)toprocessbefore
movingtoTX_Queue_Map11
[19:16]=PointertoaQueue,programmabletoanyofthe16TXqueues
TX_Queue_Map11[31:24]R/W0x0B[31:28]=Numberofcontiguousmessages(descriptors)toprocessbefore
movingtoTX_Queue_Map12
[27:24]=PointertoaQueue,programmabletoanyofthe16TXqueues
TX_Queue_Map12[7:0]R/W0x0C[7:4]=Numberofcontiguousmessages(descriptors)toprocessbefore
movingtoTX_Queue_Map13
[3:0]=PointertoaQueue,programmabletoanyofthe16TXqueues
TX_Queue_Map13[15:8]R/W0x0D[15:12]=Numberofcontiguousmessages(descriptors)toprocessbefore
movingtoTX_Queue_Map14
[11:8]=PointertoaQueue,programmabletoanyofthe16TXqueues
TX_Queue_Map14[23:16]R/W0x0E[23:20]=Numberofcontiguousmessages(descriptors)toprocessbefore
movingtoTX_Queue_Map15
[19:16]=PointertoaQueue,programmabletoanyofthe16TXqueues
TX_Queue_Map15[31:24]R/W0x0F[31:28]=Numberofcontiguousmessages(descriptors)toprocessbefore
movingtoTX_Queue_Map0
[27:24]=PointertoaQueue,programmabletoanyofthe16TXqueues
TheTXqueuesaretreateddifferentlythantheRXqueues.ATXqueuecanmixsingleandmulti-segment
messagebufferdescriptors.Thesoftwaremanagesthequeueusage.
Alloutgoingmessagesegmentshaveresponsesthatindicatethestatusofthetransaction.Responses
mayindicateDONE,ERRORorRETRY.AbufferdescriptormaybereleasedbacktoCPUcontrol
(OWNERSHIP=0),onlyafterallsegmentresponsesarereceived,oralternativelyifaresponsetimeout
occurs.Timeoutsandresponseevaluationhavehighpriorityinthestate-machinesincetheyaretheonly
meanstoreleaseTXpacketresources.TheCCissetinthebufferdescriptortoindicatetheresponse
statustotheCPU.IfthereisaRETRYresponse,theTXCPPImodulewillimmediatelyretrythepacket
beforecontinuingtothenextqueueintheround-robin,aslongastheRETRY_COUNTisnotexceeded.
Oncethislimitisexceeded,thebuffercanbereleasedbacktoCPUcontrolwiththeappropriateCCset.
Retryofamessagesegmentdoesnotimplyretryingawholemessage.Onlysegmentsforwhicha
RETRYresponseisreceivedshouldbere-transmitted.Thiswillinvolvecalculatingthecorrectstarting
pointwithintheTXdatabufferbasedonthefailedsegmentnumberandmessagelength.Toachieve
respectableperformance,theperipheralmustnotwaitforamessage/segmentresponsebeforesending
outthenextpacket.
SinceRapidIOallowsforout-of-orderresponses,theTXCPPIhardwaremustsupportthisfunctionality.As
responsesarereceived,thehardwareupdatesthecorrespondingTXbufferdescriptortoreflectthestatus.
However,iftheresponseisout-of-order,thehardwaredoesnotupdatetheCPorsetthecorresponding
interrupt.Onlyafterallprecedingoutstandingmessageresponsesarereceived,willtheCPandinterrupt
beupdated.Thisensuresthatacontiguousblockofbufferdescriptors,startingattheoldestoutstanding
descriptor,hasbeenprocessedbythehardwareandisreadyfortheCPUtoreclaimthebuffers.
AtransactiontimeoutisusedbyalloutgoingmessageanddirectIOpackets.Itisdefinedbythe24-bit
valueinthePortResponseTime-outCSR.TheRapidIOspecificationstatesthatthemaximumtime
interval(all1s)isbetween3and6seconds.Alogicallayertimeoutoccursiftheresponsepacketisnot
receivedbeforeacountdowntimer(initializedtothisCSRvalue)reacheszero.Sincetransaction
responsescanbeacknowledgedout-of-order,atimerisneededforeachsupportedoutstandingpacketin
theTXqueue.Eachoutstandingpacketresponsetimerrequiresa4-bitregister.Theregisterisloaded
withthecurrenttimecodewhenthetransactionissent.Eachtimethetimecodechanges,a4-bitcompare
isdonetothe16outstandingpacketregisters.Iftheregisterbecomesequaltothetimecodeagain,
withoutaresponsebeingseen,thenthetransactionhastimedoutandthebufferdescriptoriswritten.
SPRU976March2006SerialRapidIO(SRIO)53
SubmitDocumentationFeedback