我正在开发一个需要同时使用免提配置文件和低功耗蓝牙 GATT 服务器的应用。 目前、我们能够将包含 CC256x 芯片的产品同时将 HFP 和 BLE 连接到同一部智能手机。 但是、我注意到了一个问题、即当两个连接同时处于活动状态时、会发生作物生长的情况。
音频流经常出现嘟嘟声和噼啪声(可能为每秒10-15次)。 在测试的基础上,我们可以通过使用 BluetopiaPM 函数 DEVM_BLE ()增加 Set_And_Update_Connection_And_Scan_Parameters 的最大连接长度来减少这些 blips。 遗憾的是、当我们将 BLE 最大连接时间增加时、即使从默认的45ms 增加到仅150ms、BLE GATT 延迟也会急剧增加。 读取或写入由单字节数据组成的单个 GATT 特征大约需要3秒。
以下是一些可能对您有用的设置详细信息:
- 我们以8ksps 的速率使用 PCM 将音频数据流式传输到 CC256x 芯片。 每个样本为16位、我们将使用来自单个通道的输入和输出数据(即双向单声道流)。
- 我们将 CVSD 编解码器用于 HFP 流。 CC256x 芯片正在处理 CVSD 数据的编码和解码、我想这些编码和解码是在 CC256x 协处理器单元上完成的。 除非我错了、否则我认为 BLE GATT 事务也是由协处理器处理的。
- 我们将使用加密的 BLE 传输(即、只有配对的设备可以读取/写入 GATT 特性)。 加密是否会给 CC256x 协处理器增加额外的应力?
是否可以减少 HFP 流的亮点、同时降低 BLE 延迟? 我怀疑在 HFP + BLE 模式下、CC256x 的协处理器可能税过大。 我们是否有办法可以降低其负载或提高其性能? 我想提供一些建议的几种可能性是: 提高协处理器的时钟速率、降低每个样本的 CVSD 位以降低计算复杂性、将 HFP CVSD 处理转移到外部 DSP (我们是否仍使用 PCM 将未处理的 CVSD 数据传输到 DSP、或者我们是否必须为此使用蓝牙 HCI UART 连接?)。
非常 感谢您为解决这些问题提供任何建议或指导。
谢谢。