I2S Sport DMA interleaved Rx
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
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
Please log in to reply.