4 Replies Latest reply on Jun 22, 2016 6:29 PM by Intel Corporation

    PCM - BLCK inaccurate

    Hari_CR

      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)

       

      IMG_4547.JPG

        • 1. Re: PCM - BLCK inaccurate
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hi Hari_Cr,

          I was looking at your other thread about a similar issue, which is also in progress, https://communities.intel.com/thread/102377. In that thread you mention that you’re following the instructions from this guide/example from Sergey 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

          • 2. Re: PCM - BLCK inaccurate
            Deepa_Appu

            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

            • 3. Re: PCM - BLCK inaccurate
              Intel Corporation
              This message was posted on behalf of Intel Corporation

              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

              • 4. Re: PCM - BLCK inaccurate
                Intel Corporation
                This message was posted on behalf of Intel Corporation

                Hi Hari_CR,

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

                Regards,
                -Pablo