DSPRelated.com
Forums

DMA/McBSP issue

Started by Unknown September 10, 2001

Fellow C5510 users. I'm having trouble getting the DMA's to work in conjunction with the McBSP's.
Here is what I'm doing. I'm using all the McBSP's and DMA's to transfer samples in and out of the McBSP's, each McBSP is connected to 4 stereo codec so there are 10 active channels (if the codec control channels are counted) on each McBSP. Each McBSP is assigned a pair of DMA channels.

I'm using the Chip Support Library(CSL) to setup/init the hardware. It seems to be doing what I ask of it.

On the DMA's I'm using double indexing for the source(TX) and destination(RX) and constant on the other side of each. I'm buffering 4 samples from each audio channel, so the buffers for RXping is 40 words or 80bytes.

I'm using macro's in the TI library to start the DMA's and McBSP's. The CSL function initializes the hardware and I just have to start it by the macro calls.
DMA_start = DMA_FSET_H = _PFIELD_SET are the macros that I use to enable each DMA.

I see this work. It enables the DMA and waits for the McBSP to be enabled. Here is the problem. Once the McBSP is started, the DMA immediately disables. I don't get an interrupt, I don't see the drop event occur. I do see the RRDY and RFULL get set as is expected, but basically is appears that the DMA shuts off after the first element is received. Secondly, no transfer occurs. The buffer that should hold the first element has nothing. The address in DMA_CSSA 0x0C04 is correct.

In the errata, Advisory DMA_1 mentions something very close to this, but I don't see a drop event so I can't tell if it is the same.

I know this may be asking alot, but if there is someone who has seen this before, please drop me a line.

Using CCS2.0 Spectrum Digital SPI515 emulator V1.2 silicon.

If there is anyone that can assist me in this regard, I would be very grateful.

Perry Howell
Lead Design Engineer
Vega Signaling Products
Telex Communications, Inc
8601 East Cornhusker Hiway
Lincoln NE, 68507-9702
402-465-6621
402-467-4003(fax)