The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

Shaku Anjanaiah Vassos Soteriou ABSTRACT This document describes mulit


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



Using TMS320C6000 McBSP High Speed Communication Port
Shaku Anjanaiah Vassos Soteriou ABSTRACT This document describes mulit-channel buffered serial ports (McBSP) Texas Instruments (TI) TMS320C6000 digital signal processor (DSP) high-speed data communication port. McBSP C6000 device connected McBSP another C6000 device serve high-speed data communication port. Typically, McBSPs similar device numbers interconnected achieve inter-communication high speeds. This application note describes maximum speed achieved using similar setup each C6000 devices. This necessary since timing numbers vary between devices process technology speed grades. achieve maximum data rate, necessary connect serial ports such that device behaves both clock master frame master. term master refers device that generates required signal (such clocks frames). Based assumptions made this application report, Timing Analysis Section this report provides list timing constraints maximum clock transfer rates McBSPs C6000 device series. Digital Signal Processing Solutions
Contents Design Problem Solution McBSP Register Configuration Timing Analysis Conclusion
References
Appendix Sample Code McBSP Master (Transmitter) Appendix Sample Code McBSP Slave (Receiver) List Figures Figure Figure Figure Figure Figure McBSP Connection Maximum Data Rate Receive Control Register (RCR) Transmit Control Register (XCR) Sample Rate Generator Register (SRGR) Control Register (PCR)
Trademarks property their respective owners. TMS320C6000 C6000 trademarks Texas Instruments.
SPRA455A
Figure Signal Relationship C6000 McBSP McBSP Data Transfer With (R/X)DATDLY=1 List Tables Table Table Table Table Table Bit-Field Values McBSP Registers Timing Requirements Switching Characteristics C6201 Timing Requirements Switching Characteristics C6211/C6711 Timing Requirements Switching Characteristics C64x McBSP Maximum Transfer Rates TMS320C6000 Devices
Design Problem
multi-channel buffered serial ports (McBSP) TMS320C6000 used high-speed data communication port?
Solution
Either more McBSPs TMS320C6000 devices connected McBSP different C6000 device serve high-speed data communication port. achieve maximum data rate necessary connect serial ports that device behaves both clock master frame master. other words, McBSP transmitter that generates clocks data transfer should also generate necessary frame synchronization signals. other McBSP portion then acts slave awaiting these control signals from master. Figure shows block diagram this arrangement. transmit portion McBSP0 CPU0 master clocks frames receiver McBSP1 CPU1. Similarly, McBSP1 CPU1 transmitter configured clock frame master McBSP0 CPU0. (CPU0) McBSP0 CLKX0 FSX0 FSR0 CLKR0 (CPU1) McBSP1 CLKR1 FSR1 FSX1 CLKX1
Figure McBSP Connection Maximum Data Rate
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
McBSP Register Configuration
setup bit-fields control registers this operation shown Figure through Figure listed Table Note that this example master derives clock from clock (CLKOUT1) with divide ratio achieve maximum rate. Since master transmitter responsible generating clocks frame synchronization signals, CLKX programmed outputs. data delay between output first data non-zero value, because data delay zero does provide maximum packet frequency. Therefore, both transmitter receiver (R/X)DATDLY=1 this example.
RPHASE reserved
RFRLEN2 RFRLEN1
RFIG
RWDLEN2
RCOMPAND RWDREVRS
RDATDLY reserved
RWDLEN1
Figure Receive Control Register (RCR)
XPHASE reserved XFRLEN1 XFRLEN2 XFIG reserved
XWDLEN2
XCOMPAND XWDREVRS
XDATDLY
XWDLEN1
Figure Transmit Control Register (XCR)
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A GSYNC FWID CLKSP CLKSM FSGM CLKGDV FPER
Figure Sample Rate Generator Register (SRGR)
reserved reserved reserved CLKSSTAT XIOEN DXSTAT RIOEN DRSTAT FSXM FSXP FSRM FSRP CLKXM CLKXP CLKRM CLKRP
Figure Control Register (PCR) Table Bit-Field Values McBSP Registers
Register [bit-field Bit-field Name RCR[17:16] XCR[17:16] SRGR[29] SRGR[28] SRGR[7:0] PCR[11] PCR[10] PCR[9] PCR[8] RDATDLY XDATDLY CLKSM FSGM CLKGDV FSXM FSRM CLKXM CLKRM Master (Transmitter) Macro MCBSP_ RCR_RDATDLY_DEFAULT XCR_XDATDLY_1BIT SRGR_CLKSM_INTERNAL SRGR_FSGM_FSG SRGR_CLKGDV_OF(0x0) PCR_FSXM_INTERNAL PCR_FSRM_DEFAULT PCR_CLKXM_OUTPUT PCR_CLKRM_DEFAULT Slave (Receiver) Macro MCBSP_ RCR_RDATDLY_1BIT XCR_XDATDLY_DEFAULT SRGR_CLKSM_DEFAULT SRGR_FSGM_ DEFAULT SRGR_CLKGDV_ DEFAULT PCR_FSXM_ DEFAULT PCR_FSRM_ DEFAULT PCR_CLKXM_ DEFAULT PCR_CLKRM_ DEFAULT
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
bit-fields listed Table assume their default values. Note that above macros merely sample code. user also some other register field values, such number phases, frame lengths, number elements frame, clock polarities other parameters required specific application. Appendices provide full sample code, which uses above macros, setting McBSP transfer data another McBSP similar C6000 device. sample program Appendix sets McBSP0 master device transmitter. sample code Appendix sets McBSP0 slave device receiver. This code C6000 devices, both EDMA support provided. DMA/EDMA transfer data to/from these McBSPs. Again, this just sample code, therefore user modify different macros entire McBSP/DMA/EDMA/IRQ structures program) specific application. Please refer TMS320C6000 Chip Support Library User's Guide (SPRU401) further information functions macros used code Appendices
Timing Analysis
parameters that need satisfied achieve maximum data rates listed Table Table Table C6201, C6211/C6711, TMS320C64x devices respectively. CLKPER clock period master clock this case, CLKX0/1), which varied analysis verify frequency which design margins met. Note that board route delay about inches, considered propagation delay from source destination. Table through Table show timing analysis McBSP C6201, C6211/C6711, C64x DSPs respectively, indicating maximum transfer rates achieved before timing violations (refer conclusion), satisfying timing requirements negative margins).
TMS320C64x C64x trademarks Texas Instruments.
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
Table Timing Requirements Switching Characteristics C6201
Parameter Type Constraint Constraint Constraint Constraint Delay Delay Parameter Name tsu(FRH-CKRL) (CKRL-FRH) tsu(DRV-CKRL) (CKRL-DRV) (CKXH-FXV) tdis (CKXH-DXHZ) [Min, Max] (ns) [2,] [3,] [0,] [4,] [-2, [-1, Margin (ns) Description Setup time, valid CLKR Hold time, valid after CLKR Setup time, valid CLKR Hold time, valid after CLKR Delay time, valid after CLKX Disable time, CLKX high high impedance following last data bit. Delay time, valid after CLKX high Master clock period. varied satisfy parametric requirements. Wire delay from system needs. Wire delay from FSR. system needs. Wire delay from CLKX CLKR. system needs.
Delay Variable
(CKXH-DXV) CLKPER
[10,
Variable delay Variable delay Variable delay
(DX-DR) (FSX-FSR) (CLKX-CLKR)
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
Table Timing Requirements Switching Characteristics C6211/C6711
Parameter Type Constraint Constraint Constraint Constraint Delay Delay Parameter Name tsu(FRH-CKRL) (CKRL-FRH) tsu(DRV-CKRL) (CKRL-DRV) (CKXH-FXV) tdis (CKXH-DXHZ) [Min, Max] (ns) [1,] [3,] [3,] [4,] [-11, [-9, Margin (ns) <10> Description Setup time, valid CLKR Hold time, valid after CLKR Setup time, valid CLKR Hold time, valid after CLKR Delay time, valid after CLKX Disable time, CLKX high high impedance following last data bit. Delay time, valid after CLKX high Master clock period. varied satisfy parametric requirements. Wire delay from system needs. Wire delay from FSR. system needs. Wire delay from CLKX CLKR. system needs.
Delay Variable
(CKXH-DXV) CLKPER
[-9, [28,
Variable delay Variable delay Variable delay
(DX-DR) (FSX-FSR) (CLKX-CLKR)
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
Table Timing Requirements Switching Characteristics C64x
Parameter Type Constraint Constraint Constraint Constraint Delay Delay
Parameter Name tsu(FRH-CKRL) (CKRL-FRH) tsu(DRV-CKRL) (CKRL-DRV) (CKXH-FXV) tdis (CKXH-DXHZ)
[Min, Max] (ns) [1,] [3,] [0,] [3,] [-1, [-1,
Margin (ns)
Description Setup time, valid CLKR Hold time, valid after CLKR Setup time, valid CLKR Hold time, valid after CLKR Delay time, valid after CLKX Disable time, CLKX high high impedance following last data bit. Delay time, valid after CLKX high Master clock period. varied satisfy parametric requirements. Wire delay from system needs. Wire delay from FSR. system needs. Wire delay from CLKX CLKR. system needs.
Delay Variable
(CKXH-DXV) CLKPER
[-1,
Variable delay Variable delay Variable delay
(DX-DR) (FSX-FSR) (CLKX-CLKR)
CLKX(int) td(CKXH-FXV) (int) tdis(CKXH-DXZ) CLKR(ext) wire delay th(CKRL-FRH) tsu(FRH-CKRL) wire delay (ext) th(CKRL-DR) wire delay wire delay tsu(DR-CKRL) Bit(n-1) (n-2) td(CKXH-DX) Bit(n-1) td(CKXH-DX) (n-2) td(CKXH-FXV)
Figure Signal Relationship C6000 McBSP McBSP Data Transfer With (R/X)DATDLY=1
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
Conclusion
Using McBSP configuration stated assumption, following maximum transfer rates C6000 DSPs achieved: Table McBSP Maximum Transfer Rates TMS320C6000 Devices
Device C6201, C6202/B, C6203 C6204, C6205 C6211/B, C6711, C6712 C6701 C64x 83.33 35.71 55.56 Maximum Transfer Rate (Mbps)
McBSPs used high-speed communication port, with data transfer rate that affected following factors:
Method data processing: example, interrupt-driven transfer slower than DMA/EDMA transfer. Therefore, data transfer rate will have reduced that data processed without missing any. Priority data processing: DMA/EDMA lower priority than CPU, channel used servicing McBSP lower priority than other channels DMA/EDMA. Thus, time taken service write read to/from McBSP extended, causing data over-write and/or receiver full error condition. avoid this, either bit-clock rate should reduced, appropriate priorities should assigned each channel.
NOTE: This application report discusses only TMS320C6000 McBSPs communicating with each other. Higher speeds achieved McBSP connected other device that meets timing parameters listed TMS320C6000 Digital Signal Processor data sheets found www.ti.com.
References
TMS320C6000 Digital Signal Processor data sheets, found www.ti.com TMS320C6000 Peripherals Reference Guide (SPRU190).
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
Appendix
Sample Code McBSP Master (Transmitter)
mcbsp_xmit_master.c V1.00 Copyright 2001 Texas Instruments Incorporated --*/ 6/26/01: Vassos Soteriou mcbsp_xmit_master.c: This program sets McBSP0 TMS320C6000 devices data transmit mode, transfer data McBSP another C6000 device. This program supports Texas Instruments TMS320C6000 DSPs, those that controller Enhanced controller (EDMA). those that controller, channel services McBSP data transfer. vecs.asm assembly code file used hookup c_int11() corresponding interrupt. Channel hooked interrupt data transmit, controller individual interrupts each channel. EDMA controller, however, generates single interrupt (EDMA_INT) behalf channels (C621x/C671x) channels(C64x). various control registers fields facilitate EDMA interrupt generation. CPU_INT8 responsible EDMA channels. sample code based TI's 2.0. Please refer TMS320C6000 Chip Support Library User's Guide further information. Note that channel with interrupt McBSP used this transfer, this just sample code that used reference. Chip definition, change this accordingly #define CHIP_6414 Include files #include <c6x.h> #include <csl.h> library #include <csl_dma.h> DMA_SUPPORT #include <csl_edma.h> EDMA_SUPPORT #include <csl_irq.h> IRQ_SUPPORT #include <csl_mcbsp.h> MCBSP_SUPPORT Define constants #define FALSE #define TRUE #define DMA_XFER #define XFER_TYPE DMA_XFER #define BUFFER_SIZE #define ELEMENT_COUNT element_count buffer_size Global variables used interrupt ISRs volatile xmit0_done FALSE; Declare objects MCBSP_Handle hMcbsp0; Handles McBSP (DMA_SUPPORT) DMA_Handle hDma2; Handle
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
#endif (EDMA_SUPPORT) Handles EDMA EDMA_Handle hEdma1; EDMA_Handle hEdmadummy; #endif External functions function prototypes void init_mcbsp0_master(void); Function prototypes void set_interrupts_dma(void); void set_interrupts_edma(void); Include vector table call ISRs hookup extern void vectors(); main() void main(void) Declaration local variables static element_count, xfer_type; static Uint32 dmaOutbuff[BUFFER_SIZE]; buffer supporting devices static Uint32 edmaOutbuff[BUFFER_SIZE]; buffer EDMA supporting devices IRQ_setVecs(vectors); point vector table element_count ELEMENT_COUNT; xfer_type XFER_TYPE; initialize library CSL_init(); init_mcbsp0_master(); Enable sample rate generator GRST=1 MCBSP_enableSrgr(hMcbsp0); Handle SRGR switch (xfer_type) case DMA_XFER: (DMA_SUPPORT) supporting devices DMA_reset(INV); reset channels #endif (EDMA_SUPPORT) EDMA supporting devices EDMA_clearPram(0x00000000); Clear PaRAM EDMA set_interrupts_edma(); #endif channel config structure (DMA_SUPPORT) supporting devices Channel transmits data hDma2 DMA_open(DMA_CHA2, DMA_OPEN_RESET); Handle channel DMA_configArgs(hDma2, DMA_PRICTL_RMK( DMA_PRICTL_DSTRLD_DEFAULT, DMA_PRICTL_SRCRLD_DEFAULT, DMA_PRICTL_EMOD_DEFAULT,
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
DMA_PRICTL_FS_DEFAULT, DMA_PRICTL_TCINT_ENABLE, TCINT DMA_PRICTL_PRI_DMA, high priority DMA_PRICTL_WSYNC_XEVT0, synchronization event XEVT0=01100*/ DMA_PRICTL_RSYNC_DEFAULT, DMA_PRICTL_INDEX_DEFAULT, DMA_PRICTL_CNTRLD_DEFAULT, DMA_PRICTL_SPLIT_DEFAULT, DMA_PRICTL_ESIZE_32BIT, Element size bits DMA_PRICTL_DSTDIR_DEFAULT, DMA_PRICTL_SRCDIR_INC, Increment source element size DMA_PRICTL_START_DEFAULT DMA_SECCTL_RMK( DMA_SECCTL_WSPOL_NA, only 6202 6203 devices DMA_SECCTL_RSPOL_NA, only 6202 6203 devices DMA_SECCTL_FSIG_NA, only 6202 6203 devices DMA_SECCTL_DMACEN_DEFAULT, DMA_SECCTL_WSYNCCLR_DEFAULT, DMA_SECCTL_WSYNCSTAT_DEFAULT, DMA_SECCTL_RSYNCCLR_DEFAULT, DMA_SECCTL_RSYNCSTAT_DEFAULT, DMA_SECCTL_WDROPIE_DEFAULT, DMA_SECCTL_WDROPCOND_DEFAULT, DMA_SECCTL_RDROPIE_DEFAULT, DMA_SECCTL_RDROPCOND_DEFAULT, DMA_SECCTL_BLOCKIE_ENABLE, BLOCK IE=1 enables channel DMA_SECCTL_BLOCKCOND_DEFAULT, DMA_SECCTL_LASTIE_DEFAULT, DMA_SECCTL_LASTCOND_DEFAULT, DMA_SECCTL_FRAMEIE_DEFAULT, DMA_SECCTL_FRAMECOND_DEFAULT, DMA_SECCTL_SXIE_DEFAULT, DMA_SECCTL_SXCOND_DEFAULT DXR)), DMA_XFRCNT_RMK( DMA_XFRCNT_FRMCNT_DEFAULT, xfer element count set_interrupts_dma(); initialize interrupt(s) enable interrupt after channels opened DMA_OPEN_RESET clears disables channel interrupt once specified clears corresponding inetrrupt bits IER. This applicable EDMA channel open case DMA_start(hDma2); Start channel #endif supporting devices EDMA channel config structure
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
(EDMA_SUPPORT)
EDMA supporting devices
hEdma1 EDMA_open(EDMA_CHA_XEVT0, EDMA_OPEN_RESET); EDMA_configArgs(hEdma1, #if(!C64_SUPPORT) 671X 621x devices EDMA_OPT_RMK( EDMA_OPT_PRI_HIGH, High priority EDMA EDMA_OPT_ESIZE_32BIT, Element size bits EDMA_OPT_2DS_DEFAULT, EDMA_OPT_SUM_INC, Source increment element size EDMA_OPT_2DD_DEFAULT, EDMA_OPT_DUM_DEFAULT, EDMA_OPT_TCINT_YES, Enable Transfer Complete Interrupt EDMA_OPT_TCC_OF(12), TCCINT 0xC, XEVT0 EDMA_OPT_LINK_YES, Enable linking NULL table EDMA_OPT_FS_NO #endif #if(C64_SUPPORT) EDMA_OPT_RMK( devices only EDMA_OPT_PRI_HIGH, High priority EDMA EDMA_OPT_ESIZE_32BIT, Element size bits EDMA_OPT_2DS_DEFAULT, EDMA_OPT_SUM_INC, Source increment element size EDMA_OPT_2DD_DEFAULT, EDMA_OPT_DUM_DEFAULT, EDMA_OPT_TCINT_YES, Enable Transfer Complete Interrupt EDMA_OPT_TCC_OF(12), TCCINT 0xC, XEVT0 EDMA_OPT_TCCM_DEFAULT, EDMA_OPT_ATCINT_DEFAULT, EDMA_OPT_ATCC_DEFAULT, EDMA_OPT_PDTS_DEFAULT, EDMA_OPT_PDTD_DEFAULT, EDMA_OPT_LINK_YES, Enable linking NULL table EDMA_OPT_FS_NO #endif
addr edmaOutbuff EDMA_CNT_RMK(0, element_count), count equal element_count DXR)), DXR0 EDMA_IDX_RMK(0,0), EDMA_RLD_RMK(0,0) hEdmadummy EDMA_allocTable(-1); Dynamically allocates PaRAM table*/ EDMA_configArgs(hEdmadummy, Dummy Terminating Table PaRAM 0x00000000, Terminate EDMA transfers linking 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 this NULL table
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
EDMA_link(hEdma1, hEdmadummy); Link terminating event EDMA event*/ EDMA_enableChannel(hEdma1); Enable EDMA channel #endif EDMA supporting devices Enable McBSP channel MCBSP_enableXmt(hMcbsp0); McBSP port transmitter MCBSP_enableFsync(hMcbsp0); Enable frame sync McBSP flag interrupt when transmit done (DMA_SUPPORT) while (!xmit0_done); #endif flag interrupt when EDMA transfer done Transfer completion interrupt sets flag when (EDMA_SUPPORT) while (!xmit0_done); #endif MCBSP_close(hMcbsp0); close McBSP port (DMA_SUPPORT) close channels DMA_close(hDma2); #endif (EDMA_SUPPPORT) EDMA_close(hEdma1); close EDMA channel EDMA_close(hEdmadummy); #endif main, program ends here init_mcbsp0_master() MCBSP Config structure Setup MCBSP_0 data transfer void init_mcbsp0_master(void) MCBSP_Config mcbspCfg0 (EDMA_SUPPORT) MCBSP_SPCR_RMK( MCBSP_SPCR_FREE_DEFAULT, fields SPCR default values MCBSP_SPCR_SOFT_DEFAULT, MCBSP_SPCR_FRST_DEFAULT, MCBSP_SPCR_GRST_DEFAULT, MCBSP_SPCR_XINTM_DEFAULT, MCBSP_SPCR_XSYNCERR_DEFAULT, MCBSP_SPCR_XRST_DEFAULT, MCBSP_SPCR_DLB_DEFAULT, MCBSP_SPCR_RJUST_DEFAULT, MCBSP_SPCR_CLKSTP_DEFAULT, MCBSP_SPCR_DXENA_DEFAULT, MCBSP_SPCR_RINTM_DEFAULT, MCBSP_SPCR_RSYNCERR_DEFAULT, MCBSP_SPCR_RRST_DEFAULT
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
#endif (DMA_SUPPORT) MCBSP_SPCR_RMK( MCBSP_SPCR_FRST_DEFAULT, fields SPCR default values MCBSP_SPCR_GRST_DEFAULT, MCBSP_SPCR_XINTM_DEFAULT, MCBSP_SPCR_XSYNCERR_DEFAULT, MCBSP_SPCR_XRST_DEFAULT, MCBSP_SPCR_DLB_DEFAULT, MCBSP_SPCR_RJUST_DEFAULT, MCBSP_SPCR_CLKSTP_DEFAULT, MCBSP_SPCR_RINTM_DEFAULT, MCBSP_SPCR_RSYNCERR_DEFAULT, MCBSP_SPCR_RRST_DEFAULT #endif (EDMA_SUPPORT) MCBSP_RCR_RMK( MCBSP_RCR_RPHASE_DEFAULT, fields default values MCBSP_RCR_RFRLEN2_DEFAULT, MCBSP_RCR_RWDLEN2_DEFAULT, MCBSP_RCR_RCOMPAND_DEFAULT, MCBSP_RCR_RFIG_DEFAULT, MCBSP_RCR_RDATDLY_DEFAULT, MCBSP_RCR_RFRLEN1_DEFAULT, MCBSP_RCR_RWDLEN1_DEFAULT, MCBSP_RCR_RWDREVRS_DEFAULT #endif (DMA_SUPPORT) MCBSP_RCR_RMK( MCBSP_RCR_RPHASE_DEFAULT, fields default values MCBSP_RCR_RFRLEN2_DEFAULT, MCBSP_RCR_RWDLEN2_DEFAULT, MCBSP_RCR_RCOMPAND_DEFAULT, MCBSP_RCR_RFIG_DEFAULT, MCBSP_RCR_RDATDLY_DEFAULT, MCBSP_RCR_RFRLEN1_DEFAULT, MCBSP_RCR_RWDLEN1_DEFAULT #endif (EDMA_SUPPORT) MCBSP_XCR_RMK( MCBSP_XCR_XPHASE_SINGLE, Single phase transmit frame MCBSP_XCR_XFRLEN2_DEFAULT, MCBSP_XCR_XWDLEN2_DEFAULT, MCBSP_XCR_XCOMPAND_DEFAULT, MCBSP_XCR_XFIG_DEFAULT, MCBSP_XCR_XDATDLY_1BIT, 1-bit transmit data delay MCBSP_XCR_XFRLEN1_DEFAULT,
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
MCBSP_XCR_XWDLEN1_DEFAULT, MCBSP_XCR_XWDREVRS_DEFAULT #endif (DMA_SUPPORT) MCBSP_XCR_RMK( MCBSP_XCR_XPHASE_SINGLE, MCBSP_XCR_XFRLEN2_DEFAULT, MCBSP_XCR_XWDLEN2_DEFAULT, MCBSP_XCR_XCOMPAND_DEFAULT, MCBSP_XCR_XFIG_DEFAULT, MCBSP_XCR_XDATDLY_1BIT, MCBSP_XCR_XFRLEN1_DEFAULT, MCBSP_XCR_XWDLEN1_DEFAULT #endif MCBSP_SRGR_RMK( MCBSP_SRGR_GSYNC_DEFAULT, MCBSP_SRGR_CLKSP_DEFAULT, MCBSP_SRGR_CLKSM_INTERNAL, MCBSP_SRGR_FSGM_FSG, MCBSP_SRGR_FPER_DEFAULT, MCBSP_SRGR_FWID_DEFAULT, MCBSP_SRGR_CLKGDV_OF(0x0) (C64_SUPPORT) MCBSP_MCR_RMK( MCBSP_MCR_XMCME_DEFAULT, MCBSP_MCR_XPBBLK_DEFAULT, MCBSP_MCR_XPABLK_DEFAULT, MCBSP_MCR_XMCM_DEFAULT, MCBSP_MCR_RPBBLK_DEFAULT, MCBSP_MCR_RMCME_DEFAULT, MCBSP_MCR_RPABLK_DEFAULT, MCBSP_MCR_RMCM_DEFAULT #else MCBSP_MCR_RMK( MCBSP_MCR_XPBBLK_DEFAULT, MCBSP_MCR_XPABLK_DEFAULT, MCBSP_MCR_XMCM_DEFAULT, MCBSP_MCR_RPBBLK_DEFAULT, MCBSP_MCR_RPABLK_DEFAULT, MCBSP_MCR_RMCM_DEFAULT #endif #if(!C64_SUPPORT) MCBSP_RCER_RMK( MCBSP_RCER_RCEB_DEFAULT,
Single phase transmit frame
1-bit transmit data delay
Internal clock source driven frame sync signal*/
CLock divide
only fields default val-
fields default val-
fields RCER default val-
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
MCBSP_RCER_RCEA_DEFAULT #endif #if(!C64_SUPPORT) MCBSP_XCER_RMK( MCBSP_XCER_XCEB_DEFAULT, MCBSP_XCER_XCEA_DEFAULT #endif (C64_SUPPORT) MCBSP_RCERE0_RMK(0), MCBSP_RCERE1_RMK(0), MCBSP_RCERE2_RMK(0), MCBSP_RCERE3_RMK(0), #endif
fields XCER default val-
Additional registers only
(C64_SUPPORT) MCBSP_XCERE0_RMK(0), Additional registers only MCBSP_XCERE1_RMK(0), MCBSP_XCERE2_RMK(0), MCBSP_XCERE3_RMK(0), #endif MCBSP_PCR_RMK( MCBSP_PCR_XIOEN_DEFAULT, MCBSP_PCR_RIOEN_DEFAULT, MCBSP_PCR_FSXM_INTERNAL, Frame sync generated internally MCBSP_PCR_FSRM_DEFAULT, MCBSP_PCR_CLKXM_OUTPUT, tans. clock mode from internal SRGR MCBSP_PCR_CLKRM_DEFAULT, MCBSP_PCR_CLKSSTAT_DEFAULT, MCBSP_PCR_DXSTAT_DEFAULT, MCBSP_PCR_FSXP_DEFAULT, MCBSP_PCR_FSRP_DEFAULT, MCBSP_PCR_CLKXP_DEFAULT, MCBSP_PCR_CLKRP_DEFAULT hMcbsp0 MCBSP_open(MCBSP_DEV0, MCBSP_OPEN_RESET); McBSP port MCBSP_config(hMcbsp0, &mcbspCfg0); set_interrupts_dma() (DMA_SUPPORT) void interrupts set_interrupts_dma(void) device supports IRQ_nmiEnable(); IRQ_globalEnable(); IRQ_disable(IRQ_EVT_DMAINT2); INT11 IRQ_clear(IRQ_EVT_DMAINT2); IRQ_enable(IRQ_EVT_DMAINT2);
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
return; #endif set_interrupts_edma() (EDMA_SUPPORT) void interrupt set_interrupts_edma(void) device supports EDMA IRQ_nmiEnable(); IRQ_globalEnable(); IRQ_reset(IRQ_EVT_EDMAINT); IRQ_disable(IRQ_EVT_EDMAINT); EDMA_intDisable(12); McBSP transmit event XEVT0 IRQ_clear(IRQ_EVT_EDMAINT); EDMA_intClear(12); IRQ_enable(IRQ_EVT_EDMAINT); EDMA_intEnable(12); return; #endif DATA TRANSFER COMPLETION ISRs interrupt void vecs.asm hooks this c_int11(void) xmit0_done TRUE; return; interrupt void vecs.asm hooks this c_int08(void) EDMA (EDMA_SUPPORT) (EDMA_intTest(12)) xmit0_done TRUE; EDMA_intClear(12); clear CIPR future interrupts recognized #endif return; /*------------------------End Copyright 2000 Texas Instruments Incorporated. Rights Reserved FILENAME. vecs.asm DATE CREATED. 06/27/2001
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
Global symbols defined here exported this file .global _vectors .global _vector0 .global _vector1 .global _vector2 .global _vector3 .global _vector4 .global _vector5 .global _vector6 .global _vector7 .global _c_int08 Hookup c_int08 main() EDMA .global _vector9 .global _vector10 .global _c_int11 Hookup c_int11 main() .global _vector12 .global _vector13 .global _vector14 .global _vector15 Global symbols referenced this file defined somewhere else. Remember that your interrupt service routines need referenced here. .ref _c_int00 This macro that instantiates entry interrupt service table.* VEC_ENTRY .macro addr B0,*--B15 MVKL addr,B0 MVKH addr,B0 *B15++,B0 .endm This dummy interrupt service routine used initialize IST. _vec_dummy: This actual interrupt service table (IST). properly aligned located subsection .text:vecs. This means don't explicitly specify this section your linker command file, will default link into .text section. Remember ISTP register point this table. .sect ".text:vecs" .align 1024
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
_vectors: _vector0: VEC_ENTRY _vec_dummy _vector1: VEC_ENTRY _vec_dummy _vector2: VEC_ENTRY _vec_dummy _vector3: VEC_ENTRY _vec_dummy _vector4: VEC_ENTRY _vec_dummy _vector5: VEC_ENTRY _vec_dummy _vector6: VEC_ENTRY _vec_dummy _vector7: VEC_ENTRY _vec_dummy _vector8: VEC_ENTRY _c_int08 Hookup c_int08 main() EDMA _vector9: VEC_ENTRY _vec_dummy _vector10: VEC_ENTRY _vec_dummy _vector11: VEC_ENTRY _c_int11 Hookup c_int11 main() _vector12: VEC_ENTRY _vec_dummy _vector13: VEC_ENTRY _vec_dummy _vector14: VEC_ENTRY _vec_dummy _vector15: VEC_ENTRY _vec_dummy Title
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
Appendix
Sample Code McBSP Slave (Receiver)
mcbsp_recv_slave.c V1.00 Copyright 2001 Texas Instruments Incorporated 6/26/01: Vassos Soteriou mcbsp_recv_slave.c: This program sets McBSP0 TMS320C6000 devices data receive mode,to receive data from McBSP another C6000 device. This program supports Texas Instruments TMS320C6000 DSPs, those that controller Enhanced controller (EDMA). those that controller, channel services McBSP data receive. vecs.asm assembly code file used hookup c_int09() corresponding interrupt. Channel hooked interrupt data receive, controller individual interrupts each channel. EDMA controller, however, generates single interrupt (EDMA_INT) behalf channels (C621x/C671x) channelS (C64x). various control registers fields facilitate EDMA interrupt generation. CPU_INT8 responsible EDMA channels. sample code based TI's 2.0. Please refer TMS320C6000 Chip Support Library User's Guide further information. Note that channel with interrupt McBSP used this transfer, this just sample code that used reference. Chip definition, change this accordingly #define CHIP_6202 Include files #include <c6x.h> #include <csl.h> library #include <csl_dma.h> DMA_SUPPORT #include <csl_edma.h> EDMA_SUPPORT #include <csl_irq.h> IRQ_SUPPORT #include <csl_mcbsp.h> MCBSP_SUPPORT Define constants #define FALSE #define TRUE #define DMA_XFER #define XFER_TYPE DMA_XFER #define BUFFER_SIZE same value xmit #define ELEMENT_COUNT element_count buffer_size, same value xmit*/ Global variables used interrupt ISRs volatile recv0_done FALSE; Declare objects MCBSP_Handle hMcbsp0; Handles McBSP (DMA_SUPPORT) DMA_Handle hDma1; Handle
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
#endif (EDMA_SUPPORT) Handles EDMA EDMA_Handle hEdma1; EDMA_Handle hEdmadummy; #endif External functions function prototypes void init_mcbsp0_slave(void); Function prototypes void set_interrupts_dma(void); void set_interrupts_edma(void); Include vector table call ISRs hookup extern void vectors(); main() void main(void) Declaration local variables static element_count, xfer_type; static Uint32 dmaInbuff[BUFFER_SIZE]; buffer supporting devices static Uint32 edmaInbuff[BUFFER_SIZE]; buffer EDMA supporting devices*/ IRQ_setVecs(vectors); point vector table element_count ELEMENT_COUNT; xfer_type XFER_TYPE; initialize library CSL_init(); init_mcbsp0_slave(); Enable sample rate generator GRST=1 MCBSP_enableSrgr(hMcbsp0); Handle SRGR switch (xfer_type) case DMA_XFER: (DMA_SUPPORT) supporting devices DMA_reset(INV); reset channels #endif (EDMA_SUPPORT) EDMA supporting devices EDMA_clearPram(0x00000000); Clear PaRAM EDMA set_interrupts_edma(); #endif channel config structure (DMA_SUPPORT) supporting devices Channel receives data hDma1 DMA_open(DMA_CHA1, DMA_OPEN_RESET); Handle channel DMA_configArgs(hDma1, DMA_PRICTL_RMK( DMA_PRICTL_DSTRLD_DEFAULT, DMA_PRICTL_SRCRLD_DEFAULT, DMA_PRICTL_EMOD_DEFAULT, DMA_PRICTL_FS_DEFAULT, DMA_PRICTL_TCINT_ENABLE, TCINT DMA_PRICTL_PRI_DMA, high priority
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
DMA_PRICTL_WSYNC_REVT0, synchronization event REVT0=01101*/ DMA_PRICTL_RSYNC_DEFAULT, DMA_PRICTL_INDEX_DEFAULT, DMA_PRICTL_CNTRLD_DEFAULT, DMA_PRICTL_SPLIT_DEFAULT, DMA_PRICTL_ESIZE_32BIT, Element size bits DMA_PRICTL_DSTDIR_DEFAULT, DMA_PRICTL_SRCDIR_INC, Increment source element size DMA_PRICTL_START_DEFAULT DMA_SECCTL_RMK( DMA_SECCTL_WSPOL_NA, only available 6202 6203 devices DMA_SECCTL_RSPOL_NA, DMA_SECCTL_FSIG_NA, DMA_SECCTL_DMACEN_DEFAULT, DMA_SECCTL_WSYNCCLR_DEFAULT, DMA_SECCTL_WSYNCSTAT_DEFAULT, DMA_SECCTL_RSYNCCLR_DEFAULT, DMA_SECCTL_RSYNCSTAT_DEFAULT, DMA_SECCTL_WDROPIE_DEFAULT, DMA_SECCTL_WDROPCOND_DEFAULT, DMA_SECCTL_RDROPIE_DEFAULT, DMA_SECCTL_RDROPCOND_DEFAULT, DMA_SECCTL_BLOCKIE_ENABLE, BLOCK IE=1 enables channel DMA_SECCTL_BLOCKCOND_DEFAULT, DMA_SECCTL_LASTIE_DEFAULT, DMA_SECCTL_LASTCOND_DEFAULT, DMA_SECCTL_FRAMEIE_DEFAULT, DMA_SECCTL_FRAMECOND_DEFAULT, DMA_SECCTL_SXIE_DEFAULT, DMA_SECCTL_SXCOND_DEFAULT DRR)), DMA_DST_RMK((Uint32)dmaInbuff), DMA_XFRCNT_RMK( DMA_XFRCNT_FRMCNT_DEFAULT, recv element count set_interrupts_dma(); initialize interrupt(s) enable interrupt after channels opened DMA_OPEN_RESET clears disables channel interrupt once specified clears corresponding interrupt bits IER. This applicable EDMA channel open case DMA_start(hDma1); Start channel #endif supporting devices EDMA channel config structure only available 6202 6203 devices only available 6202 6203 devices
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
(EDMA_SUPPORT)
EDMA supporting devices
hEdma1 EDMA_open(EDMA_CHA_REVT0, EDMA_OPEN_RESET); EDMA_configArgs(hEdma1, (!C64_SUPPORT) EDMA_OPT_RMK( EDMA_OPT_PRI_HIGH, High priority EDMA EDMA_OPT_ESIZE_32BIT, Element size bits EDMA_OPT_2DS_DEFAULT, EDMA_OPT_SUM_DEFAULT, EDMA_OPT_2DD_DEFAULT, EDMA_OPT_DUM_INC, Destination increment element size EDMA_OPT_TCINT_YES, Enable Transfer Complete Interrupt EDMA_OPT_TCC_OF(13), TCCINT 0xD, REVT0 EDMA_OPT_LINK_YES, Enable linking NULL table EDMA_OPT_FS_NO #endif (C64_SUPPORT) EDMA_OPT_RMK( EDMA_OPT_PRI_HIGH, High priority EDMA EDMA_OPT_ESIZE_32BIT, Element size bits EDMA_OPT_2DS_DEFAULT, EDMA_OPT_SUM_DEFAULT, EDMA_OPT_2DD_DEFAULT, EDMA_OPT_DUM_INC, Destination increment element size EDMA_OPT_TCINT_YES, Enable Transfer Complete Interrupt EDMA_OPT_TCC_OF(13), TCCINT 0xD, REVT0 EDMA_OPT_TCCM_DEFAULT, EDMA_OPT_ATCINT_DEFAULT, EDMA_OPT_ATCC_DEFAULT, EDMA_OPT_PDTS_DEFAULT, EDMA_OPT_PDTD_DEFAULT, EDMA_OPT_LINK_YES, Enable linking NULL table EDMA_OPT_FS_NO #endif DRR)), addr edmaInbuff EDMA_CNT_RMK(0, element_count), count equal element_count DRR0 EDMA_IDX_RMK(0,0), EDMA_RLD_RMK(0,0) hEdmadummy EDMA_allocTable(-1); Dynamically allocates PaRAM table*/ EDMA_configArgs(hEdmadummy, Dummy Terminating Table PaRAM 0x00000000, Terminate EDMA transfers linking 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 this NULL table
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
EDMA_link(hEdma1, hEdmadummy); Link terminating event EDMA event*/ EDMA_enableChannel(hEdma1); Enable EDMA channel #endif EDMA supporting devices Enable McBSP channel MCBSP_enableRcv(hMcbsp0); McBSP port transmitter flag interrupt when transfer/receive done (DMA_SUPPORT) while (!recv0_done); #endif flag interrupt when EDMA transfer done Transfer completion interrupt sets flag when (EDMA_SUPPORT) while (!recv0_done); #endif MCBSP_close(hMcbsp0); close McBSP port (DMA_SUPPORT) close channels DMA_close(hDma1); #endif (EDMA_SUPPPORT) EDMA_close(hEdma1); close EDMA channel EDMA_close(hEdmadummy); #endif main, program ends here init_mcbsp0_slave() MCBSP Config structure Setup MCBSP_0 data receive void init_mcbsp0_slave(void) MCBSP_Config mcbspCfg0 (EDMA_SUPPORT) MCBSP_SPCR_RMK( MCBSP_SPCR_FREE_DEFAULT, fields SPCR default values MCBSP_SPCR_SOFT_DEFAULT, MCBSP_SPCR_FRST_DEFAULT, MCBSP_SPCR_GRST_DEFAULT, MCBSP_SPCR_XINTM_DEFAULT, MCBSP_SPCR_XSYNCERR_DEFAULT, MCBSP_SPCR_XRST_DEFAULT, MCBSP_SPCR_DLB_DEFAULT, MCBSP_SPCR_RJUST_DEFAULT, MCBSP_SPCR_CLKSTP_DEFAULT, MCBSP_SPCR_DXENA_DEFAULT, MCBSP_SPCR_RINTM_DEFAULT, MCBSP_SPCR_RSYNCERR_DEFAULT, MCBSP_SPCR_RRST_DEFAULT #endif (DMA_SUPPORT)
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
MCBSP_SPCR_RMK( MCBSP_SPCR_FRST_DEFAULT, fields SPCR default values MCBSP_SPCR_GRST_DEFAULT, MCBSP_SPCR_XINTM_DEFAULT, MCBSP_SPCR_XSYNCERR_DEFAULT, MCBSP_SPCR_XRST_DEFAULT, MCBSP_SPCR_DLB_DEFAULT, MCBSP_SPCR_RJUST_DEFAULT, MCBSP_SPCR_CLKSTP_DEFAULT, MCBSP_SPCR_RINTM_DEFAULT, MCBSP_SPCR_RSYNCERR_DEFAULT, MCBSP_SPCR_RRST_DEFAULT #endif (EDMA_SUPPORT) MCBSP_RCR_RMK( MCBSP_RCR_RPHASE_SINGLE, Single phase receive frame MCBSP_RCR_RFRLEN2_DEFAULT, MCBSP_RCR_RWDLEN2_DEFAULT, MCBSP_RCR_RCOMPAND_DEFAULT, MCBSP_RCR_RFIG_DEFAULT, MCBSP_RCR_RDATDLY_1BIT, 1-bit receive data delay MCBSP_RCR_RFRLEN1_DEFAULT, MCBSP_RCR_RWDLEN1_DEFAULT, MCBSP_RCR_RWDREVRS_DEFAULT #endif (DMA_SUPPORT) MCBSP_RCR_RMK( MCBSP_RCR_RPHASE_SINGLE, Single phase receive frame MCBSP_RCR_RFRLEN2_DEFAULT, MCBSP_RCR_RWDLEN2_DEFAULT, MCBSP_RCR_RCOMPAND_DEFAULT, MCBSP_RCR_RFIG_DEFAULT, MCBSP_RCR_RDATDLY_1BIT, 1-bit receive data delay MCBSP_RCR_RFRLEN1_DEFAULT, MCBSP_RCR_RWDLEN1_DEFAULT #endif (EDMA_SUPPORT) MCBSP_XCR_RMK( MCBSP_XCR_XPHASE_DEFAULT, fields default values MCBSP_XCR_XFRLEN2_DEFAULT, MCBSP_XCR_XWDLEN2_DEFAULT, MCBSP_XCR_XCOMPAND_DEFAULT, MCBSP_XCR_XFIG_DEFAULT, MCBSP_XCR_XDATDLY_DEFAULT, MCBSP_XCR_XFRLEN1_DEFAULT, MCBSP_XCR_XWDLEN1_DEFAULT, MCBSP_XCR_XWDREVRS_DEFAULT
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
#endif (DMA_SUPPORT) MCBSP_XCR_RMK( MCBSP_XCR_XPHASE_DEFAULT, fields default values MCBSP_XCR_XFRLEN2_DEFAULT, MCBSP_XCR_XWDLEN2_DEFAULT, MCBSP_XCR_XCOMPAND_DEFAULT, MCBSP_XCR_XFIG_DEFAULT, MCBSP_XCR_XDATDLY_DEFAULT, MCBSP_XCR_XFRLEN1_DEFAULT, MCBSP_XCR_XWDLEN1_DEFAULT #endif MCBSP_SRGR_RMK( MCBSP_SRGR_GSYNC_DEFAULT, fields SRGR default values MCBSP_SRGR_CLKSP_DEFAULT, MCBSP_SRGR_CLKSM_DEFAULT, MCBSP_SRGR_FSGM_DEFAULT, MCBSP_SRGR_FPER_DEFAULT, MCBSP_SRGR_FWID_DEFAULT, MCBSP_SRGR_CLKGDV_DEFAULT (C64_SUPPORT) MCBSP_MCR_RMK( only MCBSP_MCR_XMCME_DEFAULT, fields default values MCBSP_MCR_XPBBLK_DEFAULT, MCBSP_MCR_XPABLK_DEFAULT, MCBSP_MCR_XMCM_DEFAULT, MCBSP_MCR_RPBBLK_DEFAULT, MCBSP_MCR_RMCME_DEFAULT, MCBSP_MCR_RPABLK_DEFAULT, MCBSP_MCR_RMCM_DEFAULT #else MCBSP_MCR_RMK( MCBSP_MCR_XPBBLK_DEFAULT, fields default values MCBSP_MCR_XPABLK_DEFAULT, MCBSP_MCR_XMCM_DEFAULT, MCBSP_MCR_RPBBLK_DEFAULT, MCBSP_MCR_RPABLK_DEFAULT, MCBSP_MCR_RMCM_DEFAULT #endif #if(!C64_SUPPORT) MCBSP_RCER_RMK( MCBSP_RCER_RCEB_DEFAULT, fields RCER default values MCBSP_RCER_RCEA_DEFAULT
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
#endif #if(!C64_SUPPORT) MCBSP_XCER_RMK( MCBSP_XCER_XCEB_DEFAULT, MCBSP_XCER_XCEA_DEFAULT #endif (C64_SUPPORT) MCBSP_RCERE0_RMK(0), MCBSP_RCERE1_RMK(0), MCBSP_RCERE2_RMK(0), MCBSP_RCERE3_RMK(0), #endif
fields XCER default val-
Additional registers only
(C64_SUPPORT) MCBSP_XCERE0_RMK(0), Additional registers only MCBSP_XCERE1_RMK(0), MCBSP_XCERE2_RMK(0), MCBSP_XCERE3_RMK(0), #endif MCBSP_PCR_RMK( MCBSP_PCR_XIOEN_DEFAULT, MCBSP_PCR_RIOEN_DEFAULT, MCBSP_PCR_FSXM_DEFAULT, MCBSP_PCR_FSRM_DEFAULT, MCBSP_PCR_CLKXM_DEFAULT, MCBSP_PCR_CLKRM_DEFAULT, MCBSP_PCR_CLKSSTAT_DEFAULT, MCBSP_PCR_DXSTAT_DEFAULT, MCBSP_PCR_FSXP_DEFAULT, MCBSP_PCR_FSRP_DEFAULT, MCBSP_PCR_CLKXP_DEFAULT, MCBSP_PCR_CLKRP_DEFAULT hMcbsp0 MCBSP_open(MCBSP_DEV0, MCBSP_OPEN_RESET); McBSP port MCBSP_config(hMcbsp0, &mcbspCfg0); set_interrupts_dma() (DMA_SUPPORT) void interrupts set_interrupts_dma(void) device supports IRQ_nmiEnable(); IRQ_globalEnable(); IRQ_disable(IRQ_EVT_DMAINT1); INT09 IRQ_clear(IRQ_EVT_DMAINT1); IRQ_enable(IRQ_EVT_DMAINT1); return;
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
#endif set_interrupts_edma() (EDMA_SUPPORT) void interrupt set_interrupts_edma(void) device supports EDMA IRQ_nmiEnable(); IRQ_globalEnable(); IRQ_reset(IRQ_EVT_EDMAINT); IRQ_disable(IRQ_EVT_EDMAINT); EDMA_intDisable(13); McBSP receive event REVT0 IRQ_clear(IRQ_EVT_EDMAINT); EDMA_intClear(13); IRQ_enable(IRQ_EVT_EDMAINT); EDMA_intEnable(13); return; #endif DATA TRANSFER COMPLETION ISRs interrupt void vecs.asm hooks this c_int09(void) recv0_done TRUE; return; interrupt void vecs.asm hooks this c_int08(void) EDMA (EDMA_SUPPORT) (EDMA_intTest(13)) recv0_done TRUE; EDMA_intClear(13); clear CIPR future interrupts recognized #endif return; /*-----------------------End Copyright 2000 Texas Instruments Incorporated. Rights Reserved FILENAME. vecs.asm DATE CREATED. 06/27/2001 Global symbols defined here exported this file
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
.global _vectors .global _vector0 .global _vector1 .global _vector2 .global _vector3 .global _vector4 .global _vector5 .global _vector6 .global _vector7 .global _c_int08 Hookup c_int08 main() EDMA .global _c_int09 Hookup c_int09 main() .global _vector10 .global _vector11 .global _vector12 .global _vector13 .global _vector14 .global _vector15 Global symbols referenced this file defined somewhere else. Remember that your interrupt service routines need referenced here. .ref _c_int00 This macro that instantiates entry interrupt service table.* VEC_ENTRY .macro addr B0,*--B15 MVKL addr,B0 MVKH addr,B0 *B15++,B0 .endm This dummy interrupt service routine used initialize IST. _vec_dummy: This actual interrupt service table (IST). properly aligned located subsection .text:vecs. This means don't explicitly specify this section your linker command file, will default link into .text section. Remember ISTP register point this table. .sect ".text:vecs" .align 1024 _vectors: _vector0: VEC_ENTRY _vec_dummy _vector1: VEC_ENTRY _vec_dummy
Using TMS320C6000 McBSP High Speed Communication Port
SPRA455A
_vector2: VEC_ENTRY _vec_dummy _vector3: VEC_ENTRY _vec_dummy _vector4: VEC_ENTRY _vec_dummy _vector5: VEC_ENTRY _vec_dummy _vector6: VEC_ENTRY _vec_dummy _vector7: VEC_ENTRY _vec_dummy _vector8: VEC_ENTRY _c_int08 Hookup c_int08 main() EDMA _vector9: VEC_ENTRY _c_int09 Hookup c_int09 main() _vector10: VEC_ENTRY _vec_dummy _vector11: VEC_ENTRY _vec_dummy _vector12: VEC_ENTRY _vec_dummy _vector13: VEC_ENTRY _vec_dummy _vector14: VEC_ENTRY _vec_dummy _vector15: VEC_ENTRY _vec_dummy *--------------------------End
Using TMS320C6000 McBSP High Speed Communication Port
IMPORTANT NOTICE Texas Instruments subsidiaries (TI) reserve right make changes their products discontinue product service without notice, advise customers obtain latest version relevant information verify, before placing orders, that information being relied current complete. products sold subject terms conditions sale supplied time order acknowledgment, including those pertaining warranty, patent infringement, limitation liability. warrants performance products specifications applicable time sale accordance with TI's standard warranty. Testing other quality control techniques utilized extent deems necessary support this warranty. Specific testing parameters each device necessarily performed, except those mandated government requirements. Customers responsible their applications using components. order minimize risks associated with customer's applications, adequate design operating safeguards must provided customer minimize inherent procedural hazards. assumes liability applications assistance customer product design. does warrant represent that license, either express implied, granted under patent right, copyright, mask work right, other intellectual property right covering relating combination, machine, process which such products services might used. TI's publication information regarding third party's products services does constitute TI's approval, license, warranty endorsement thereof. Reproduction information data books data sheets permissible only reproduction without alteration accompanied associated warranties, conditions, limitations notices. Representation reproduction this information with alteration voids warranties provided associated product service, unfair deceptive business practice, responsible liable such use. Resale TI's products services with statements different from beyond parameters stated that product service voids express implied warranties associated product service, unfair deceptive business practice, responsible liable such use. Also see: Standard Terms Conditions Sale Semiconductor Products. www.ti.com/sc/docs/stdterms.htm
Mailing Address: Texas Instruments Post Office 655303 Dallas, Texas 75265
Copyright 2001, Texas Instruments Incorporated

Other recent searches


SRF1535 - SRF1535   SRF1535 Datasheet
SRF1560 - SRF1560   SRF1560 Datasheet
KDZ2 - KDZ2   KDZ2 Datasheet
IPD088N04L - IPD088N04L   IPD088N04L Datasheet
FSX017WF - FSX017WF   FSX017WF Datasheet
BUZ80A - BUZ80A   BUZ80A Datasheet
2SD725 - 2SD725   2SD725 Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive