ΣSigmaStudio Ask AI Русский Log in

I2S Sport DMA interleaved Rx

Processors & DSP spetca Feb 27, 2015 00:00 1 replies Original on forum ↗
Thread Summary

Thread Summary

The user is facing an issue with DMA triggering on both left and right frame syncs in I2S communication on the BF592, causing interleaved data in the buffer. The final answer suggests configuring the SPORT to non-I2S mode and aligning the frame sync to the left channel only, ensuring the DMA samples only the left channel data. This approach avoids the need to double the buffer size.
AI Generated Content
Subscribe
spetca Question
Feb 27, 2015 00:00

I'm using a BF592 and using DMA to handle the Rx side of my I2S communication the only problem is the DMA triggers on the Left and Right frame sync so that the data is interleaved in my buffer as L-R-L-R. I'm using a mono mode so I don't care about the right channel... is there a way to get this to not interleave the two frames as one? otherwise I have to double the size of the buffer to handle the data and I do not have enough room for this.

bf592

dma

i2s

sport

jobo23 Reply
Mar 16, 2015 00:00

Hi Shane.

I don't know of a slick way of ignoring right-channel data in hardware without taking the SPORT out of I2S mode. Since the L/R clock is just a frame sync that is framing both sides of the stereo interface using opposite trigger polarity, you can get the SPORT to do what you want by changing the SPORT configuration to non-I2S mode and handle the RFS as a mono mode sync signal aligning only to when the left channel goes active. Provided you set the polarity correctly and set the LAxFS bit to early, it should sample only the left channel.

-Joe