cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC Creator & Designer Software

MiMi_1891471
Contributor

Using the demo CY8CKIT_046_USB_Audio as an example, I am trying to create a 4 channel USB audio adapter. 

   

USBFS and I2S components both support the extra channels, but the data for 4 channels is interleaved in a frame according to http://www.usb.org/developers/docs/devclass_docs/frmts10.pdf Section 2.2.3

   

How the audio stream data is formatted to and from USBFS is not well documented but I am assuming it is still interleaved. So for example, each frame would be 6 bytes to I2S0, and then 6 bytes to I2S1. 

   

Since the data has to go to different I2S FIFO registers I2S_RX_CHn_F0_PTR, it is unclear how to use DMA to accomplish it. Ideas?

0 Likes
1 Solution
AnkitaS_51
Employee

Presently,the left and right channels are interleaved with a sample for the left channel first, followed by the right channel in a single FIFO (FIFO 0)

   

Data interleaving must be set to Interleaved for the I2S direction which requires byte
swapping.

View solution in original post

0 Likes
3 Replies