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: A2DP, HFP, AVRCP profiles and BLE as peripheral and central simultaneously?

Part Number: CC2564C
Other Parts Discussed in Thread: CC2564,

Hello!

We are looking into a Dual Mode Bluetooth solution. We have what we need to evaluate the CC2564 (CC256XQFNEM) on the STM3240G-EVAL.

What we need is Bluetooth Classic to play audio (A2DP, HFP, and AVRCP profiles), and BLE (as a peripheral) to connect to a phone for command/control/status and BLE (as a central) to connect to a simple remote. BLE will probably be custom profiles. Also we would like to port the code over to a lower power ST32L4 series micro (not ST32F4).

We’ve looked at the SDK a bit, and ran the demos, and seems that the porting should be doable (thanks to HAL), integration of all the profiles should be doable as well with some effort. If you have any resources that could speed up our development, that would be great, but what my main concern is if everything is possible, we don’t want to put in the effort into integrating and then run into a “gotcha”.

I'm understand that when we run A3DP we cannot run BLE, but dual mode is still doable, we need to offload some of the processing (decoding to the host). I believe the AUDDemo does that. My plan of action would be to use AUDDemo as a starting point, convert and add unassisted HFP, and then add BLE...

Thank you in advance for your response.

  • As, such dual mode is supported and used by many customers. Our product expert will get back, if there are any quirks needed for your configuration.

    Thanks
  • Hi,

    I think in order to make sure you don't get to a "gotcha" can you please write exactly all capabilities you would like your product to have.

    From what you've wrote above it seems that there won't be any issue with the scenarios you describe. you also understand the limitation of not being to support A3DP with BLE simultaneously.

    However in order to make sure that we cover all cases you need please write the exact possible scenarios and we will go over them in order to make sure there is no corner case that might be problematic.

    BR,

    Chen Loewy 

  • What we need is:
    - Classic A2DP, for listening to media (unassisted, need to decode audio on host processor)
    - Classic HFP, for making phone calls (I believe HFP supersedes HSP, so HSP is not necessary? unassisted, need to encode/decode audio on host)
    - Classic AVRCP, for controlling the audio streams
    - BLE connected to phone (CC256 as peripheral, phone as central), would be used to send commands/check status (battery, etc.)
    - BLE connected to remote control (CC256 as central, remote control as peripheral) simple remote with a couple buttons.

    We want to be connected and paired to the remote control always. The other classic and BLE connection would be to the same device/phone. Simultaneous connection, as in the diagram below:

    Example use case:
    If we are in a HFP phone conversation through our device (1), we want to use the remote control to change volume through BLE connection (3) to our device, and then up to the phone through AVRCP (2). Couple minutes later I may want to check the battery status or the FW version on the device, through the BLE connection to the phone(2). Or I may want to change eq settings on our device by using the BLE connection with the phone (2). (still while in the call)

    All connections shall be secure and encrypted.
    All devices shall be able to pair and bond.

    As we would like to port it to a low power processor, what would the processor requirements be? Flash/Ram?

    I hope this is enough detail, please ask any questions, thank you.

  • Hi,

    Going over your scenarios it can be supported by the CC2564C.

    It can act as a BLE central and peripheral at the same time while having a classic connection to the phone at the same time.

    Please note that this is a complicated scenario - because you are having a voice call which is a synchronous connection
    while at the same time acting as both BLE central and peripheral.

    So supporting such a connection will require thinking about the specific intervals of the BLE connections in order to optimize the system performance.

    BR,
    Chen Loewy
  • Great to hear, thank you!

    Now the next question would be if you have any resources/sample code that could help us with the development?

    For example, AUDdemo does unassisted A2DP, but it does decode only, for HFP I would need do run the encoder on the host. Do you have SBC encode code you could share?

    Or better yet, do you have an application that performs both A2DP and HFP (unassisted)? I would imagine this is a common use case. Any resource that could speed up our development process would be greatly appreciated.

    Thank you.

  • Pavo,

    The unassisted HFP typically goes with Narrow Band Speech (NBS). If your application can work with the NBS, no need to implement mSBC codec (used for WBS) on the host side. All while being able to use BLE as well since the AVPR is not used for assisted mode.

    Pavo28 said:

    Now the next question would be if you have any resources/sample code that could help us with the development?

    If you are looking to implement WBS HFP without using assisted mode (codec running on the host), you may refer to our third party partners who can help you with development. 

    More info : 

    Pavo28 said:

    Or better yet, do you have an application that performs both A2DP and HFP (unassisted)? I would imagine this is a common use case. Any resource that could speed up our development process would be greatly appreciated.

    For ease of evaluation, all the sample application are for a single profile only. But two sample applications like A2DP and HFP can be combined rather easily to complete your use case. You can refer to the two sample applications and the difference between the two will highlight to you what needs to be added to incorporate the second profile.

    Best regards,
    Vihang