Texas Instruments TMS320C645X Musical Instrument Amplifier User Manual


 
www.ti.com
Descriptor
Descriptor
Buffer
Buffer
Port Tx DMA
State
Tx Queue Head Descriptor
Pointer
SRIOFunctionalDescription
Figure25.TXBufferDescriptor
StartMessagePassing
SRIO_REGS->Queue0_RXDMA_HDP=(int)RX_DESCP0_0;
SRIO_REGS->Queue0_TxDMA_HDP=(int)TX_DESCP0_0;
2.3.5Maintenance
Thetype8MAINTENANCEpacketformataccessestheRapidIOcapabilityregisters(CARs),command
andstatusregisters(CSRs),anddatastructures.Unlikeotherrequestformats,thetype8packetformat
servesasboththerequestandtheresponseformatformaintenanceoperations.Type8packetscontain
noaddressesandonlycontaindatapayloadsforwriterequestsandreadresponses.Allconfiguration
registerreadaccessesareword(4-byte)accesses.Allconfigurationregisterwriteaccessesarealsoword
(4-byte)accesses.
Thewrsizefieldspecifiesthemaximumsizeofthedatapayloadformultipledouble-wordtransactions.
Thedatapayloadmaynotexceedthatsizebutmaybesmallerifdesired.Boththemaintenancereadand
themaintenancewriterequestgeneratetheappropriatemaintenanceresponse.
Themaintenanceport-writeoperationisawriteoperationthatdoesnothaveguaranteeddeliveryand
doesnothaveanassociatedresponse.Thismaintenanceoperationisusefulforsendingmessagessuch
aserrorindicatorsorstatusinformationfromadevicethatdoesnotcontainanendpoint,suchasaswitch.
Thedatapayloadistypicallyplacedinaqueueinthetargetedendpointandaninterruptistypically
generatedtoalocalprocessor.Aport-writerequesttoaqueuethatisfullorbusyservicinganother
requestmaybediscarded.
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,(int)car_csr);
SRIO_REGS->LSU1_Reg2=CSL_FMK(SRIO_LSU1_REG2_DSP_ADDRESS,(int)&xmtBuff[0]);
SRIO_REGS->LSU1_Reg3=CSL_FMK(SRIO_LSU1_REG3_BYTE_COUNT,byte_count);
//=4
SRIO_REGS->LSU1_Reg4=CSL_FMK(SRIO_LSU1_REG4_OUTPORTID,0)|
//0b00
CSL_FMK(SRIO_LSU1_REG4_PRIORITY,0)|
//0b00
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)|
//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_MAINT_RD
SerialRapidIO(SRIO) 58SPRU976March2006
SubmitDocumentationFeedback