Texas Instruments TMS320C645X Musical Instrument Amplifier User Manual


 
www.ti.com
31
0
1
2
1523
7
27 11
19
3
29
O
W
N
E
R
S
H
I
P
T
E
A
R
D
O
W
N
E
O
P
E
O
Q
S
O
P
3
RESERVED
cc
Message Length
13
21
5
25
9
17 1
30
1422
626 10
18
2
28
12
20
424
8
16 0
Bit Fields
Next Descriptor Pointer
Buffer Pointer
SRC_ID PRI tt RESERVED Mailbox
Word
Offset
SRIOFunctionalDescription
Ifamulti-segmentbufferdescriptorqueueisnotcurrentlyfree,andanRxportreceivesanother
multi-segmentmessagethatisdestinedforthatqueue,theRXCPPImustsendaRETRYRESPONSE
packet(Type13)tothesender,indicatingthataninternalbufferingproblemexists.Ifamulti-segment
bufferdescriptorqueueisbusyandthereisanotherincomingmulti-segmentmessagewiththesame
SOURCEID,MAILBOX,andLETTER,anERRORresponseissent.ThisusuallyindicatesthataTX
programmingerrorhasoccurred,whereduplicatesegmentsorsegmentsoutsidetheMSGLENweresent.
Uponsuccessfulreceptionofanymessagesegment,theRXCPPIisresponsibleforsendingaDONE
responsetothesender.
IfaRXmessage’slengthisgreaterthanthatofthetargetedbufferdescriptor,anERRORresponseis
sentbacktothesourcedevice.Inaddition,theDSPisnotifiedwiththeuseoftheCCfieldoftheRXCPPI
bufferdescriptor,describedasfollows.ThissituationcanresultfromaDSPsoftwareerror(misallocatinga
bufferforthequeue),orasaresultofsendererror(sendingtoawrongmailbox).
AnRxtransactiontimeoutisusedbyallmulti-segmentqueues,inordertonothangreceivemailbox
resourcesintheeventthatamessagesegmentislostinthefabric.Thisresponse-to-requesttimer
controlsthetime-outforsendingaresponsepacketandreceivingthenextrequestpacketofagiven
multi-segmentmessage.Ithasthesamevalueandisanalogoustotherequest-to-responsetimer
discussedintheTXCPPIandLSUsections,whichisdefinedbythe24-bitvalueintheportresponse
time-outCSR.TheRapidIOspecificationstatesthatthemaximumtimeinterval(all1s)isbetween3and6
seconds.Eachmulti-segmentreceivetimerrequiresa4-bitregister.Theregisterisloadedwiththecurrent
timecodewhentheresponseissent.Eachtimethetimecodechanges,a4-bitcompareisdonetothe
register.Iftheregisterbecomesequaltothetimecodeagain,withoutthenextmessagesegmentbeing
seen,thenthetransactionhastimedout.Ifthishappens,theRXbufferresourcescanbereleased.
Thebufferdescriptorpointstothecorrespondingdatabufferinmemoryandalsopointstothenextbuffer
descriptorinthequeue.Assegmentsofareceivedmessagearrive,themsgsegfieldofeachsegmentis
monitoredtodetectthecompletionofthereceivedmessage.Onceafullmessageisreceived,the
OWNERSHIPbitisclearedinthepacket’sbufferdescriptortogivecontroltothehost.Atthispoint,ahost
interruptisissued.Thisinterfaceworkswithprogrammableinterruptratecontrol,asdiscussedin
Figure57.ThereisanICSRbitforeachsupportedqueue,asshowninFigure47.Oninterrupt,theCPU
processestheRXbufferqueue,detectingreceivedpacketsbythestatusoftheOWNERSHIPbitineach
bufferdescriptor.ThehostprocessestheRXqueueuntilitreachesabufferdescriptorwithaset
OWNERSHIPbit,orsetEOQbit.Onceprocessingiscomplete,thehostupdatestheRXDMAState
CompletionPointer,allowingtheperipheraltoreusethebuffer.
Figure19showstheRXbufferdescriptorfields.ARXbufferdescriptorisacontiguousblockoffour32-bit
datawordsalignedona32-bitboundary.Accessestotheseregistersarerestrictedto32-bitboundaries.
Figure19.RXBufferDescriptorFields
SerialRapidIO(SRIO) 44SPRU976March2006
SubmitDocumentationFeedback