This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/CC3200-LAUNCHXL: CC3200 WiFi Streaming disturbed by I2S DMA interrupt

Part Number: CC3200-LAUNCHXL
Other Parts Discussed in Thread: CC3200

Tool/software: Code Composer Studio

I am on a data streaming project through CC3200 WiFi. When the I2S module is off, the data streaming went on quite well. But when I turned on the I2S module in DMA mode, the WiFi streaming would be disturbed by the I2S DMA interrupt handler, and the received data was corrupted. The code is in non-OS style. Please help me with my problem. Thanks in advance.

  • Hi Shixiong,

    Can you give me a bit more information on your setup? Specifically:

    1. How often are the I2S interrupts triggering? It should only be triggered once every 1024 words of data are transferred on the I2S bus, when a DMA transfer to the I2S interface has completed.
    2. Are you using DMA ping pong buffers? How are you setting up your DMA transfers in your initial I2S and DMA setup, and how are the DMA transfers reset in your interrupt handler?
    3. How are you performing the wifi streaming? From your post, it seems like it is not transferring data from the I2S peripheral I'm assuming you have some other data you are transferring to the network. It shouldn't be affected by the I2S interface in this case, as any send operation on a socket will continue without issues once you exit the I2S interrupt.

    As I mentioned in my other post, you should use the wifi_audio_app example in the SDK as a reference. It implements I2S data transfers with DMA ping-pong, as well as udp data streaming with the network processor.

    Regards,

    Michael