DSPRelated.com
Forums

DMA-Mcbsp

Started by paul99336 June 7, 2002
I have an Mcbsp configured to operate as an SPI in clock stop mode.
I have one DMA channel configured to write to the Mcbsp transmitter
using the transmit sync event, and another DMA channel configured to
read the Mcbsp receiver using the receive sync event. I have the
Mcbsp set to operate in the loopback mode to isolate it from the
external device for this test. I am starting the DMA receive channel
to receive the block of data, and starting the DMA transmit channel
to transmit the block of data.

I am using the following steps to start the transfer.

1. Set the DMA Receive sync event
2. Start the Receive DMA channel
3. Set the DMA Transmit sync event
4. Write a word to the Mcbsp transmit register
5. Wait for the transmitter to empty
6. Start the Transmit DMA channel

With the DSP running at 60 MHz and slower this procedure works. At
80 MHz and faster, the first Transmit DMA word is missed by the
receiver.

Also, if I don't do step 5, the transmit DMA never starts.

According to tech support, I shouldn't have to do #4 or #5.

I'm using Rev 2.0 silicon.

Has anyone had a similar problem?