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.

CC2564C: Device capability

Part Number: CC2564C
Other Parts Discussed in Thread: CC2564

Hi Experts,

I advised my customer to post this query here in E2E but seems they didn't able to. Hence, I am reaching here on their behalf.

Below is their complete transcript.

***
Im interested in your CC2564CRVMT device but i need your confirmation about the following scenario.

I need to design a board with CC2564CRVMT for:

  1. getting the calls from a mobile phone;
  2. streaming audio music arriving from a mobile phone;
  3. get command by using BLE or SPP classic during calls or streaming (point 1 and 2) and activate particular GPIO;
  4. communicate with another MCU board by using uart in order to :
    1. read the status of gpio by specific uart command from an external MCU
    2. playing MP3 from I file sent over UART. The file:
      1. will be stored in SD of the host board connected via UART, transferred and then played.
      2. player in streaming (dont know, if possible, over uart)

Could you please suggest which not of the above requirements cannot be achieved?

If all is achievable, could you please suggest:

  • possible configuration of the architecture
  • eventually the IDE to use if necessary and source code example?

***
For your assistance please. Thank you.

Regards,
Archie A.

  • Hi Archie,

    Just to make sure we are on the same page CC2564C is a Bluetooth Transceiver that requires a host, relevant to your 4th question.

    1. CC2564C is capable of HFP (Hands Free Profile) and has a co-processor to enable Wideband Speech (WBS higher quality audio)

    2. CC2564C is capable of A2DP (Advanced Audio Distribution Profile) and has a co-processor to reduce host load and act as an SBC encoder/decoder (Assisted A2DP)

    3. As mentioned in this E2E post: https://e2e.ti.com CC2564C can be used in this way but with the caveat that you do not use the coprocessor for more than one of these things (BLE, WBS, or A3DP)

    4a This UART communication can and should be handled by the Host MCU

    4bA. UART Audio is possible except for the cases where A3DP or WBS (Coprocessor assisted modes for HFP and A2DP) are needed which utilize the I2S/PCM interfaces.

    4bB. Unsure what you mean by player in streaming?

    Most likely you will need a beefy processor to handle the audio encoding/decoding due to your UART Audio requirement. Our regular stack supports MSP432, TM4C, and STM32F4 processors, but can be ported: TIBLUETOOTHSTACK-SDK Software development kit (SDK) | TI.com. Our Linux stack has been built targeting AM437x EVM, AM335x EVM and Beaglebone platforms. TI-BT-STACK-LINUX-ADDON Driver or library | TI.com In which case, you are free to use any IDE you like.

  • Hi Daniel,

    thanks for reply. Please consider im not an audio expert so forgiveme for silly question; below in red.

    Please give us info .

    Hi Archie,

    Just to make sure we are on the same page CC2564C is a Bluetooth Transceiver that requires a host, relevant to your 4th question.

    1. CC2564C is capable of HFP (Hands Free Profile) and has a co-processor to enable Wideband Speech (WBS higher quality audio)

    Perfect

    2. CC2564C is capable of A2DP (Advanced Audio Distribution Profile) and has a co-processor to reduce host load and act as an SBC encoder/decoder (Assisted A2DP)

    Perfect

    3. As mentioned in this E2E post: https://e2e.ti.com CC2564C can be used in this way but with the caveat that you do not use the coprocessor for more than one of these things (BLE, WBS, or A3DP)

    We just need the same config.  in the post above. So I dont think we are going to use the coprocessor also for WBS and A3DP. We just need , during an HFP call or a A2DP streaming, to receive small size of data by using BLE (small commands) in order to:

    1. switch on and off the LOCAL GPIOs of the CC2564C
    2. if (1) not possible, proxy the BLE received command to UART so that our MCU can switch GPIO on and off.

    Do you think this use cases are possible?

    4a This UART communication can and should be handled by the Host MCU

    Perfect

    4bA. UART Audio is possible except for the cases where A3DP or WBS (Coprocessor assisted modes for HFP and A2DP) are needed which utilize the I2S/PCM interfaces.

    4bB. Unsure what you mean by player in streaming?

    Let me explain the use case: we have an mp3 file in our SD card and we just want to play using your module so i think we have 2 way here:

    1. we implement the mp3/wave decoder and then send to CC2564C   the raw samples to be played by using uart (dont think possible)
    2. we send to CC2564C  small chunks of the mp3 file and your module plays it (even if the CC2564C must store all the file before to play it its good).

    Most likely you will need a beefy processor to handle the audio encoding/decoding due to your UART Audio requirement. Our regular stack supports MSP432, TM4C, and STM32F4 processors, but can be ported: TIBLUETOOTHSTACK-SDK Software development kit (SDK) | TI.com. Our Linux stack has been built targeting AM437x EVM, AM335x EVM and Beaglebone platforms. TI-BT-STACK-LINUX-ADDON Driver or library | TI.com In which case, you are free to use any IDE you like.

    I think we are going to use a linux embedded processor interfacing your CC2564C  

  • 3.1 Hi Nicola, there are no GPIO pins for use outside of their listed functionality in the datasheet (HCI/UART, PCM/I2S, etc.) on CC2564C.

    3.2 Any BLE message received on CC2564C will be sent to the host over HCI/UART and can be processed accordingly via the stack so you could easily toggle a GPIO on your host processor.

    4.1 Doing everything over UART is not recommended, in the case of HFP there is a known issue (+) CC2564C: SCO over HCI - Bluetooth forum - Bluetooth®︎ - TI E2E support forums  where the audio quality decreases. My recommendation would be to ensure whatever host processor used has a built in PCM/I2S bus or look to use an external chip.

    4.2 CC2564C is a transceiver, it cannot decode MP3 files. Similar to my previous answer I'd recommend that the MP3 be decoded by the host processor and then fed into the PCM/I2S interface.

  • Hi Daniel ,

    perfect so I think the right configuration will be the following attached one in which:

    1. the decoder will be hosted in our MPU
    2. the CC2564C  stack will be implemented in our MPU so that we can use both BLE and Classic at the same time

    Can you confirm ?

    Again thanks for support.

  • Hi Nicola, 

    One recommended change would be to create a connection between CC2564 to a separate I2S/PCM port on the Linux MPU.

    This is to avoid the risk of poor HFP audio as previously mentioned. HFP utilizes SCO connection and when running said synchronous connection over UART various issues can occur. 

    (+) CC2564C: mSBC over HCI issue. - Bluetooth forum - Bluetooth®︎ - TI E2E support forums

    CC2564C: SCO over HCI - Bluetooth forum - Bluetooth®︎ - TI E2E support forums