This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

WL1271 SCO/frame clock

Other Parts Discussed in Thread: WL1271, OMAP-L138

Does the WL1271 do any interpolation/decimation of audio data internally?  The CODEC configuration command seems to be infinitely configurable.  I gather that a bluetooth SCO link is 8KHz sample rate, but I'm hoping to run the I2S bus at a 64 KHz sample rate.

  • Hi,

    I will forward that e2e to BT expert and get back on that e2e

    Regards,

    Eyal

  • Mike,

            The PCM/I2C clock can be run from 64KHz to 4.096MHz in Master mode and up to 16MHz in Slave Mode. The Frame Sync is run usually at 8Khz for SCO links. The WL1271 supports ALL the modes (linear and algorithmic) in the BT standards.

    Regards,

  • That doesn't fully answer my question.  I'm really after whether or not I need to use a specific frequency for the type of audio stream at hand, or if the wl1271 will automatically convert the sample rate based on the needs of the bluetooth packets.

    If am doing SCO, I must use 8KHz?

    If I was to do A2DP, I would have to use 44.1 KHz or 48 KHz?

  • Mike,

              No problem. Here is specific answers to your questions:

    If am doing SCO, I must use 8KHz?

    [TI]: Yes for standard HF/HS profiles.

    If I was to do A2DP, I would have to use 44.1 KHz or 48 KHz?

    [TI]: For A2DP, the PCM/I2S interface of the WL1271 is not used. The data is encoded/decoded by the BT stack in the host.  So It depends on the BT stack capabilities.

     

  • No, there is an SBC encoder for A2DP.  The whole point is to offload this onto the wl1271.  So I think based on the requirements of the SCO, we also are required to use 44.1 or 48 KHz for A2DP.

  • Mike,

              Yes, this is what we called Assisted A2DP (A3DP), but it is not supported currently. Keep in mind that modifications to the BT stack would be required.

    Regards,

  • Do you mean that only changes to the bluetooth stack (e.g. bluez) are required or are there changes required to the wl1271 firmware?  Is there a roadmap for this?

  • It requires modifications on both sides, Bluetooth stack and WL1271 FW. Right now, there are no plans to support it.

    Regards,

  • What is the reason for 8 KHz SCO?  The bluetooth spec says the system shall be clocked at 64 KHz and the data is 64 ksamples/s.  This sounds like the bluetooth module should accept 64 KHz frame sync according to bluetooth spec?

  • The SCO links shall guarantee 64Kbps @ the air interface. Is this what you are referring to? Could you point us to the section in the BT specs you refer to?

    Rregards,

  • So there's two almost conflicting answers from the spec (core v2.0 + EDR).

    Volume 2 [controller volume] Part B Baseband section 9.2 CVSD CODEC states:

    The input to the CVSD encoder shall be 64 ksamples/s linear PCM (typically 16 bits, but actual value is implementation specific). Block diagrams of the CVSD encoder and CVSD decoder are shown in Figure 9.1 on page 196, Figure 9.2 on page 196 and Figure 9.3 on page 196. The system shall be clocked at 64 kHz.

    Volume 2 [controller volume] Part B Baseband Appendix A General Audio Recommendations / BLUETOOTH VOICE INTERFACE states:

    For Bluetooth voice interface to the different cellular system terminals, loudness and frequency recommendations based on the cellular standards should be used. For example, GSM 03.50 gives recommendation for both the loudness ratings and frequency mask for a GSM terminal interconnection with Bluetooth.


    1- The output of the CVSD decoder are 16-bit linear PCM digital samples, at a sampling frequency of 8 ksample/second. Bluetooth also supports 8-bit log PCM samples of A-law and μ-law type. The sound pressure at the ear reference point for a given 16-bit CVSD sample, should follow the sound pressure level given in the cellular standard specification.

  • Mike,

              I think you are getting confused when the specs talks about the Air Interface vs the Local PCM/I2S interface. In summary, "Volume 2 [controller volume] Part B Baseband section 9.2 CVSD CODEC states" refers to the Air-Interface and "Volume 2 [controller volume] Part B Baseband Appendix A General Audio Recommendations / BLUETOOTH VOICE INTERFACE" refers to the Local PCM/I2S interface. That being said, Fs = 8Khz in local PCM/I2S Interface.

              I hope it clears the confusion.

    Regards,

  • The air interface is specifying 64 Kb/s.  From what I understand of CVSD, each sample becomes one bit.  So is the bluetooth chip interpolating the 8 ksamples/s input to 64 ksamples/s in order to encode?

    My input data from an audio codec is 64 ksamples/s and is already bandwidth limited to meet the 4 KHz spec.  So ideally, I would use these 64 ksamples/s as the input to the CVSD algorithm, rather than the bluetooth chip creating its own.

  • Mike,

             Regarding your first question, it is doing more than interpolation since it converts PCM to CVSD.

              Regarding your second question, I am not sure I understand the configuration of your CODEC. Is the CODEC taking I2S format or PCM (AKA SSI) format? Also, what is the PCM/I2S clock frequency ? How many bits per channel is configured to? Which is the frequency of the Frame Sync signal? 

    Regards,

     

  • Miguel,

    The codec is an AIC3204.  It is not hooked directly to the bluetooth chip, rather it goes through an omap-l138 first.  The codec is set to deliver 16-bit/channel, 64 KHz audio.  Internal filters are providing the necessary bandwidth limiting to allow for CVSD.  This should be better than providing a 8 KHz audio which is then interpolated.

    If I understand you correctly, the bluetooth firmware is interpolating 8 KHz input data to 64 KHz and then performing CVSD encoding.  What I would like is for the firmware to skip the interpolation step and take my 64 KHz data directly.  Is this possible?

    Mike

  • Mike,

               I am sorry but I don't understand what exactly the 64KHz means. Is this the Frame Sync Frequency or Is it PCM/I2S Clock Frequency?

    Regards,

  • Mike,

                It would have to be 8KHz. When WB speech comes, 16KHz will be supported.

    Regards,