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.

CC2564MODN: BT Audio Data Format, Interface and Configuration

Part Number: CC2564MODN
Other Parts Discussed in Thread: CC2564

TI Friends and Family,

 

From our friend:

-----

 

I’m trying to get my application up and running with the CC2564MODN Bluetooth module and I have had some success but need some help.

 

So far I have been able to run the HFP demo (with no audio) and even tweak some of the config to make it do more of what I want.  I am now at the point where I want to marry the BT module up to an Audio CODEC using the I2S interface to actually push audio.  The issue I’m having is determining how the I2S interface needs to be configured on my CODEC side of things.


The things I have learned by probing (reverse engineering)

·         It appears that the CC2564 is running as the I2S master

·         The frame sync is at 16 kHz

·         The bit clock is at a little more than 3 MHz (3.078?)

 

The things I am having trouble figuring out are:

·         How many bits per word?

·         Left or right justified?

·         Are TDM slots in play (left vs right)?

·         Anything else???

 

I tried digging into the HFP example source code but I can’t find anything about where the CODEC setups are changed on the CC2564.  That implies to me that either the defaults are being used or the stack is using vendor specific commands but they are hidden in the library files and not available as source.

 

I have a general concern that support for this may be hard to come by.  On top of that, I’m not sure the stack will give me the option of configuring I2S parameters.

---

Any comments welcomed (esp pertaining to questions on data format above).

 

TY,

CY

  • Chris -

    Typically, the last parts of the BTS init script contains the Codec configurations.. You can view the BTS file contents, using HCI tester tool..
    # ----------------- Codec configuration -------------------------------------------------------------------------------------
    # Codec configuration - I2S to BT:

    Send_HCI_VS_Write_CODEC_Config 0xFD06, 0x0200, 0x00, 0x00003e80, 0x0001, 0x01, 0x01, 0x00, 0x0010, 0x0001, 0x01, 0x0010, 0x0001, 0x00, 0x00, 0x0010, 0x0011, 0x01, 0x0010, 0x0011, 0x00, 0x00
    Wait_HCI_Command_Complete_VS_Write_CODEC_Config_Event 5000, 0x00, 0xfd06, 0x00

    Yes, in default configuration all your above observations are correct. I suggest, reviewing the 'Digital Codec Interface' section in CC256x data sheet and the Codec VS command details :
    processors.wiki.ti.com/.../CC256x_VS_HCI_Commands

    Thanks
  • Hari,

    Thanks so much. Customer was able to make some real progress on this and can now consistently get audio out of the BT module, into the CODEC, and out of the speaker. However, they have not yet been able to go other way yet (mic into CODEC, then audio to the BT module). One of the key things was configuring the CODEC to work with an inverted clock.

    The I2S configuration is an important piece of the examples out there for this BT module, but the documentation on it seems to be somewhat light, at least in the public domain. The demos work great if you use them “out of the box” with the exact components, but when you try to alter the design to fit your needs things can get a little tricky.

    Customer is currently using the MSP430F5438EXP board to test this out so they are not using the HCI interface tool, at the moment. However, I think they at least have the tool installed so can try loading up the BTS file to verify, per your suggestion.

    Appreciate your input. I'll keep you posted.

    TY,
    CY