Unable to get I2S TX working with DMA

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

cross mob
Anonymous
Not applicable

Hi everyone! 

I'm going MAD over this simple hazzle.

Generally I have a nice time developing things with PSOC. I have a lot of the project done, SPI LCD working, emFile working, interrupts, DMAs etc - but I cannot get this I2S working

I'm using CY8CKIT-059 and a Digilent I2S PMOD with the basis in InterIcSound example.

I removed Rx part of the example. Upped the buffer to 2*2*45 (I want to generate a 1kHz square wave for testing, 2 bytes per 16 bit, 2 channels, need 45 samples to generate required wave).

Then I changed the clock to 2.8224MHz as per the I2S datasheet for a sample rate of 44.1kHz.at 16 bit per sample (32bit word select period).

psoc_i2s.PNG

I have wired MCLK to the master clock of the module, LRCLK goes to the word select clock, SCK to the sample clock and SDO to its serial data input.

How am I supposed to configure the DMA for 16 bit transfers? Right now I just split the 16 bit sample using HI8 and LO8. And hope for the best.

Any help and pointers are hugely appreciated!

0 Likes
3 Replies
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received
0 Likes
Anonymous
Not applicable

As mentioned that is the exact example I'm trying to get to work

I'm starting to think that this DAC is not really I2S standards compliant. I've now tried to do this:

psoc_i2s_4timesMCLK.PNG

Can anyone suggest an i2s module they've gotten to work with the I2S component in PSOC?

0 Likes

You can check this example project which works on an older version of creator, it may be helpful:

https://www.element14.com/community/thread/28830/l/psoc-4-pioneer-kit-community-project102-usb-audio...

0 Likes