Audio Output from Denebola Kit

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Marcis
Level 1
Level 1
First like received First reply posted First question asked

Hi!

I have a Denebola kit with a CX3 chip to which I'd like to connect an audio system using I2S lines. I found a UsbI2sDmaMode project example that configures the chip for such operation. In the project's readme.txt file it says that "If a valid WAV file is streamed over the interface with left and right channel, the audio can be listened to by connecting an I2S slave device on I2S header on the DVK." It's unclear for me how to implement this "WAV file streaming". Could anyone give me an idea what software should I use for this or what to look into in order to send some meaningful audio file through the I2S lines?

Thanks!

1 Solution
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

As mentioned in the example project UsbI2sDmaMode makes the device to enumerate as a vendor specific device with 2 OUT endpoints. 2 DMA channels are created as follows:

1. OUT endpoint 1 to I2S left channel
2. OUT endpoint 2 to I2S right channel

As the device is a vendor specific device that binds to cyusb3.sys driver, a custom host application that can communicate with the device needs to be developed. We provide CyAPI.lib (C++) and CyUSB.dll (C#) that provides a high level programming interface to the device. The references for using them can be found in the following location of FX3 SDK: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\SuiteUSB
The custom host application should open a wav file and transfer it correctly into the OUT endpoints of the device so that it is in turn transferred properly to the I2S slave device.

Best Regards,
Jayakrishna

View solution in original post

1 Reply
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

As mentioned in the example project UsbI2sDmaMode makes the device to enumerate as a vendor specific device with 2 OUT endpoints. 2 DMA channels are created as follows:

1. OUT endpoint 1 to I2S left channel
2. OUT endpoint 2 to I2S right channel

As the device is a vendor specific device that binds to cyusb3.sys driver, a custom host application that can communicate with the device needs to be developed. We provide CyAPI.lib (C++) and CyUSB.dll (C#) that provides a high level programming interface to the device. The references for using them can be found in the following location of FX3 SDK: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\SuiteUSB
The custom host application should open a wav file and transfer it correctly into the OUT endpoints of the device so that it is in turn transferred properly to the I2S slave device.

Best Regards,
Jayakrishna