Community
cancel
Showing results for 
Search instead for 
Did you mean: 
HC_R
New Contributor I
1,496 Views

PCM - BLCK inaccurate

Jump to solution

I'm configuring the PCM interface in the SST_SPP2 structure as follows

[SST_SSP2] = {

[SST_SSP_CODEC_MUX] = {

[SST_SSP_CODEC_DOMAIN] = {

.ssp_id = SSP_CODEC,

.bits_per_slot = 16,

.slots = 8,

.ssp_mode = SSP_MODE_MASTER,

.pcm_mode = SSP_PCM_MODE_NORMAL,

.duplex = SSP_DUPLEX,

.ssp_protocol = SSP_MODE_PCM,

.fs_width = 1,

.fs_frequency = SSP_FS_48_KHZ,

.active_slot_map = 0x8,

.start_delay = 1,

},

},

},

So as per calculation the bit clock should be = sampling frequency *number of bits/slot * number of slots = 48 Khz * 16 * 8 = 6144 Khz or 6.1Mhz, but when I probed those lines I could see that the BCLK was having 9.6Mhz frequency which is inaccurate though the sampling frequency was correct 48Khz on FS line.

Why is this behavior ? (Note: I'm testing this on I2S_2 of Intel Edison)

1 Solution
idata
Community Manager
137 Views

Hi Hari_CR,

 

 

We been doing some testing and unfortunately this 16 bit, 8 channel TDM data is not currently supported.

 

 

Regards,

 

-Pablo

View solution in original post

4 Replies
idata
Community Manager
137 Views

Hi Hari_Cr,

 

 

I was looking at your other thread about a similar issue, which is also in progress, /thread/102377 https://communities.intel.com/thread/102377. In that thread you mention that you're following the instructions from this guide/example from Sergey /thread/70503 https://communities.intel.com/thread/70503. So I'm wondering which codec you're using? Are you using the same that he is using (WM8731)? At some point he says that if the codec being used can work with DSP Mode B / 24 bit /48000 samples per second / 4 slot TDM format, you should be able to configure it using the i2cset commands.

 

Now, according to your structure you're using 16 bit, 8 slots and 48000 samples per second. Are you aware if your codec can programmed to work with those specs?

 

 

Regards,

 

Pablo
DAppu
Beginner
137 Views

Hi,

I'm also looking into the same issue which Hari is trying to resolve. Thanks for the help.

We are using MAX98357A codec. This codec supports both I2S mode and TDM mode. We tried to output I2S data from Edison referring to the other post. But as it was done specifically for a codec, we thought to make Edison output data in PCM mode with a configuration our codec supports.

The default PCM configuration of Edison, 24 bit 4 channel is not compatible for our codec. The MAX98357A required 16 bit 8 channel TDM data. We tried to produce this by changing the default configuration as above. Still we are getting only noise in the output of the codec.

Is it possible to configure SSP2 to output TDM data in 16 bit 8 channel? Could anyone please help us on this?

Thanks.

Best Regards,

Deepa

idata
Community Manager
137 Views

Hi Deepa,

 

 

Let us investigate this a little bit more. We'll get back to you as soon as we have an accurate answer.

 

 

Regards,

 

Pablo
idata
Community Manager
138 Views

Hi Hari_CR,

 

 

We been doing some testing and unfortunately this 16 bit, 8 channel TDM data is not currently supported.

 

 

Regards,

 

-Pablo

View solution in original post

Reply