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.

CC2564MODA: improve connection performance while devices are moving or between obstacles

Part Number: CC2564MODA
Other Parts Discussed in Thread: TLV320AIC3254, , CC2564C

Goodmorning

we are developing a BR / EDR bluetooth system with full duplex audio and custom cards made by us that have the following components: CC2564MODA + MSP432P401R + TLV320AIC3254 + Bluetopia 4.0.3 + BT Service Pack v1.8 (like the Launchpad combo system) .

Currently we have implemented the FW which is based on L2CAP and ESCO and we have got a working solution(WideBand assisted, audio is routed via I2S).

In the open field and with static devices, communication seems to be optimal even at  great distances (~ 70 meters).

While moving the devices and also a shorter distances, we encounter a leak that we are not able to detect via firmware. It is particularly noticeable when there are walls or objects between the devices.

We also notice the same behavior with the launchpad system with the example SW HFP AG and HFP HF.

Our goal is to achieve always clean full duplex audio communication between devices at a distance of at least 15 meters with devices in motion and through obstacles such as walls or car doors. Would it be possible to get it with this configuration?

Where to intervene to achieve what we need (at the firmware level in particular)?

If more information is needed, I am at your complete disposal, but i would rather not share detailed information publicly.

Thanks in advance

Alessandro

  • Hello Alessandro,

    I'll take a look at this and follow up with a response tomorrow.

    Best regards,
    Jacob

  • Hi Alessandro,

    Maintaining wireless device connection in motion is always a challenge. BT classic can usually handle about 10 to 20 meters, but that can still be challenging. I think you have two approaches:

    1. Use the MODN variant so that you can select another antenna to use to improve link budget and keep the devices in sync. However, keep in mind that our modules have a limited amount of power they can provide to the antenna.

    2. Switch to narrowband instead of wideband when bandwidth is decreasing. 

    Best regards,

    Jacob

  • Hi Jacob thank you for your answer.

    1. Use the MODN variant so that you can select another antenna to use to improve link budget and keep the devices in sync. However, keep in mind that our modules have a limited amount of power they can provide to the antenna

    I'm considering the use of the MODN as you suggest, anyway would it be possible to increase the power of the antenna by exceeding the current limit you are referring to? or the limit is physical and is it not possible?

    I'm currently using theVS_set_max_output_power function to set the power to maximum value, but even not using that function and querying with HCI_read_enached_trasmit_power_level it seems that its maximum value is set by default Is it probably provided by the FW or Patch?

    2. Switch to narrowband instead of wideband when bandwidth is decreasing. 

    where would you reccomend to implement the bandwidth control?

    Thanks in advance

    Alessandro

  • Hi Alessandro,

    I'll follow up with more information here tomorrow.

    Thanks,
    Jacob

  • Hi Alessandro,

    I'm considering the use of the MODN as you suggest, anyway would it be possible to increase the power of the antenna by exceeding the current limit you are referring to? or the limit is physical and is it not possible?

    The module is certified up to a certain power level that cannot be exceeded. This is a combination of physical limitations of the device and firmware. 

    I'm currently using theVS_set_max_output_power function to set the power to maximum value, but even not using that function and querying with HCI_read_enached_trasmit_power_level it seems that its maximum value is set by default Is it probably provided by the FW or Patch?

    This is true, technically the power level is determined by the power vector table in firmware.

    where would you reccomend to implement the bandwidth control?

    Bandwidth control can be implemented using the HFP profile. You can begin using one of our samples, such as HFPDemo_AG or HFPDemo_HF in the MSP432 Bluetopia SDK.

    Thanks,
    Jacob

  • Bandwidth control can be implemented using the HFP profile. You can begin using one of our samples, such as HFPDemo_AG or HFPDemo_HF in the MSP432 Bluetopia SDK.
    2. Switch to narrowband instead of wideband when bandwidth is decreasing. 

    In another of our applications we use the Hands-free profile that we started developing from the examples you suggest. Both with the connection to smarthphones and between our custom boards. During the development phase we realized that using narrowband, the audio quality is much lower and much more subject to audio deterioration. These are the reason why we opted for assisted wideband. However, i will try to switch to narrowband for the current application and verify that the quality is enough for our purpose. I will provide you some feedbacks in the next few days.

    In the Bluetopia HFP library i don't find references to functions that could be used for the bandwidth control. Could you please give me a more precise indication of how introduce bandwidth control with HFP? I think i am missing something.

    Right now I am thinking, as you confirmed earlier, that probably the big limitation we have for our application, is the MODA transmission power and its antenna.

    Could you suggest us a module or chipset(bluetooth) that has the maximum certifiable or certified power with which i could develop other applications full duplex audio based? (with or without integrated antenna)

    Thank you in advance

    Alessandro

  • Hi Alessandro,

    The highest output power we provide is +12 dBm on the CC2564C: https://www.ti.com/product/CC2564C.

    This device offers +12 dBm output power where most other controllers we offer have +10 dBm. 

    I’ll flow up with you Wednesday the other questions.

    Thanks,

    Jacob

  • Hi Alessandro,

    I believe you will need to reconfigure the codec every time you want to switch between wideband and narrowband. Take a look at VS_WBS_Associate() in BTVS.c and let me know if this helps solve your issue.

    Thanks,
    Jacob