Texas Instruments TMS320C645X Musical Instrument Amplifier User Manual


 
www.ti.com
acklD rsv prio tt 1010 destID sourcelD Reserved srcTID
Reserved Doorbell Reg # rsv
Doorbell bit
CRC
PHYLOGTRALOGTRAPHY
5 3 2 2 4 8 8 8 8
9 2
1
4
16
1632
16
4
2
10
info (msb)
8
info (lsb)
8
SRIOFunctionalDescription
2.3.6Doorbell
Thedoorbelloperation,consistingoftheDOORBELLandRESPONSEtransactions(typicallyaDONE
response),asshowninFigure26,isusedbyaprocessingelementtosendaveryshortmessageto
anotherprocessingelementthroughtheinterconnectfabric.TheDOORBELLtransactioncontainstheinfo
fieldtoholdinformationanddoesnothaveadatapayload.Thisfieldissoftware-definedandcanbeused
foranydesiredpurpose;seeSection3.1.4,Type10PacketFormats(DoorbellClass),forinformation
abouttheinfofield.Aprocessingelementthatreceivesadoorbelltransactiontakesthepacketandputsit
inadoorbellmessagequeuewithintheprocessingelement.Thisqueuemaybeimplementedinhardware
orinlocalmemory.Thisbehaviorissimilartothatoftypicalmessagepassingmailboxhardware.Thelocal
processorisexpectedtoreadthequeuetodeterminethesendingprocessingelementandtheinfofield,
anddeterminewhatactiontotake.
TheDOORBELLfunctionalityisuser-defined,butthispackettypeiscommonlyusedtoinitiateCPU
interrupts.ADOORBELLpacketisnotassociatedwithaparticulardatapacketthatwaspreviously
transferred,sotheinfofieldofthepacketmustbeconfiguredtoreflecttheDOORBELLbittobeserviced
forthecorrectTIDinfotobeprocessed.
Figure26.DoorbellOperation
TheDOORBELLpacket’s16-bitINFOfieldindicateswhichDOORBELLregisterinterruptbittoset.There
arefourDOORBELLregisters,eachcurrentlywith16bits,allowing64interruptsourcesorcircularbuffers.
EachbitcanbeassignedtoanycoreasdescribedbelowbytheInterruptConditionRoutingRegisters.
Additionally,eachstatusbitisuser-definedfortheapplication.Forinstance,itmaybedesirabletosupport
multipleprioritieswithmultipleTIDcircularbufferspercoreifcontroldatausesahighpriority(i.e.,priority
=2),whiledatapacketsaresentonpriority0or1.Thisallowsthecontrolpacketstohavepreferencein
theswitchfabricandarriveasquicklyaspossible.SinceitmayberequiredtointerrupttheCPUforboth
dataandcontrolpacketprocessingseparately,separatecircularbuffersareused,andDOORBELL
packetsneedtodistinguishbetweenthemforinterruptservicing.IfanyreservedbitintheDOORBELL
infofieldisset,anerrorresponseissent.
SRIO_REGS->LSU1_Reg0=CSL_FMK(SRIO_LSU1_REG0_RAPIDIO_ADDRESS_MSB,0);
SRIO_REGS->LSU1_Reg1=CSL_FMK(SRIO_LSU1_REG1_ADDRESS_LSB_CONFIG_OFFSET,0);
SRIO_REGS->LSU1_Reg2=CSL_FMK(SRIO_LSU1_REG2_DSP_ADDRESS,0);
SRIO_REGS->LSU1_Reg3=CSL_FMK(SRIO_LSU1_REG3_BYTE_COUNT,0);
SRIO_REGS->LSU1_Reg4=CSL_FMK(SRIO_LSU1_REG4_OUTPORTID,1)|
CSL_FMK(SRIO_LSU1_REG4_PRIORITY,0)|
CSL_FMK(SRIO_LSU1_REG4_XAMBS,0)|
//noextendedaddress
CSL_FMK(SRIO_LSU1_REG4_ID_SIZE,1)|
//tt=0b01
CSL_FMK(SRIO_LSU1_REG4_DESTID,0xBEEF)|
CSL_FMK(SRIO_LSU1_REG4_INTERRUPT_REQ,0);
//0=event-driven,1=poll
SRIO_REGS->LSU1_Reg5=CSL_FMK(SRIO_LSU1_REG5_DRBLL_INFO,0x0000)|
CSL_FMK(SRIO_LSU1_REG5_HOP_COUNT,0x03)|
//hop=0x03
CSL_FMK(SRIO_LSU1_REG5_PACKET_TYPE,type);
//type=REQ_DOORBELL
SPRU976March2006SerialRapidIO(SRIO)59
SubmitDocumentationFeedback