大家好
根据数据表,cc2564c可将PLC用于WBS (16K)和NBS (8K)。
PLC可正常工作,但当我尝试将MCU侧的PCM时钟从8K更改为16K,并通过"HCI_VS_Write_codec_Config (0xFD06)"配置cc2564c时,采样速率转换不能正常工作,音频速度 提高错误。 我找不到这个选项的例子。任何机构都可以帮助我如何使用PLC来实现NBS?
谢谢
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可将PLC用于WBS (16K)和NBS (8K)。
PLC可正常工作,但当我尝试将MCU侧的PCM时钟从8K更改为16K,并通过"HCI_VS_Write_codec_Config (0xFD06)"配置cc2564c时,采样速率转换不能正常工作,音频速度 提高错误。 我找不到这个选项的例子。任何机构都可以帮助我如何使用PLC来实现NBS?
谢谢
Jacob,
为了澄清我的第一个帖子
案例1 - WBS,16 K PCM,音频速度正常,PLC (AVPR)正在处理数据包丢失问题
案例2 - NBS,8 K PCM,音频速度正常,PLC (AVPR)无法处理数据包丢失问题
案例3 - NBS, 16 K PCM,音频速度提高,PLC (AVPR)无法处理数据包丢失问题
根据cc2564c数据表,"在16-kHz PCM时钟工作时,增加了对NBS (8 kHz)的PLC支持",但我无法通过更改MCU PCM时钟来激活PLC,并 使用"HCI_VS_Write_codec_Config (0xFD06)"命令配置AVPR
我找不到有关此功能的示例或文档
谢谢
你好,Jacob
谢谢,但我检查了TX_DBG引脚固件日志,似乎PLC未初始化,我尝试遵循MichaelReymond 的方法
但电话拒绝了16K带宽。根据HFP规范,WBS和NBS的最大带宽为8K (考虑压缩比)
我继续测试。如果您或 Michael有建议,请告诉我
谢谢
您好 ,Jacob,
感谢您的回复
对于NBS:
1-将MCU PCM (主)配置设置为16K
2 -设置语音和无线编码设置:HCI_Write_Voice_Setting (蓝牙StackID,(HCI_VOIC_SEG_SEG_INPUT_DATA_FORMAT_2_ENGLISH | HCI_VOIC_SET_SIMP_SIZE _16_BIT | HCI_VOIC_SEG_SEG_AIR_CODGE_FORMAT_CVSD),&Status);
3- 通过WBS_disassociate_command (0xFD79)禁用WBS
4 - CC2564c (从)编解码器配置为16K,通过 VS_WRITE CODEC _CONFIG_COMMAND
PLC未初始化,音频速度更改错误
对于WBS:
1-将 MCU PCM (主)配置设置为16K
2 - 设置语音和无线编码设置:HCI_Write_Voice_Setting (蓝牙StackID,(HCI_VOIC_SEG_SEG_INPUT_DATA_FORMAT_2_ENSTREFIC_SHI_VOICE_SET_SIMP_SIZE _16_bit | HCI_VOIC_SEG_SEG_AIR_CODGED_FORMAT_NONE),状态)
3 -通过 WBS_Associate_command (0xFD78)启用WBS
4 - CC2564c (从)编解码器配置为16K,通过 VS_WRITE CODEC _CONFIG_COMMAND
与NBS相关的附加文件
此致
您好,Jacob,
对于2564对于WBS400.0657万WBS案例400.0657万案例,您是否在日志中看到PLC已初始化?
是的
对于WBS,PLC已初始化,日志中报告的数据包丢失为"Use plc"(使用plc)
您2564您如何400.0657万如何在400.0657万在您的NBS案例中启用AVPR?
是的
启动后 ,下载AVPR补丁并启用AVPR。下面的屏幕截图与上一个开机自检中附加的日志相关,并指示已成功启用AVPR
我认为将NBS路由至AVPR以进行采样率转换,PLC 与远程设备SCO配置无关,但根据Michael的帖子,SCO设置必须更改。
下面的屏幕截图显示NBS的SCO配置
谢谢
您好,Li,
但2564但电话399.7317万电话拒绝399.7317万拒绝16K带宽。根据HFP规范,最大带宽为8K,考虑压缩率(NBS/报价)在WBS情况下,电话是否接受16K带宽?
我的另一个想法是改变编解码器。 根据HFP规范,mSBC编解码器似乎支持16K:
是否可以尝试使用 HCI_Write_Voice_Setting将编解码器设置为mSBC?
谢谢!
雅各布
您好,Jacob,
我2564我的400.3804万的另400.3804万另一个想法是改变编解码器。 根据HFP规范[/QUOT],mSBC编解码器似乎支持16KCVSD是必需的,不能强制远程设备使用mSBC而不是CVSD。
mSBC采样率为16K,但带宽为8K (音频采样率为16K,在SCO上传输带宽为8K之前压缩)
[/quote]您2564您是否400.3804万是否可以400.3804万可以尝试将编解码器设置为mSBC with HCI_Write_Voice_Settings[/报价]我尝试更改语音设置并更新此帖子,但 必须从远程设备端使用CVSD编解码器
如果有任何建议,请告诉我
谢谢
您好,Li,
</s>2564 39.9961万39.9961万对于WBS:
1-将 MCU PCM (主)配置设置为16K
2 - 设置语音和无线编码设置:HCI_Write_Voice_Setting (蓝牙StackID,(HCI_VOIC_SEG_SEG_INPUT_DATA_FORMAT_2_ENSTREFIC_SHI_VOICE_SET_SIMP_SIZE _16_bit | HCI_VOIC_SEG_SEG_AIR_CODGED_FORMAT_NONE),状态)
3 -通过 WBS_Associate_command (0xFD78)启用WBS
4 - CC2564c (从)编解码器配置为16K,通过 VS_WRITE CODEC _CONFIG_COMMAND
与NBS相关的附加文件
[/引述]您能否像 处理NBS案例一样,为WBS案例获取固件和HCI日志? 我想比较消息以查看PLC初始化失败的位置。
谢谢!
雅各布
您好 ,Jacob,
与WBS相关的完整日志已附加
谢谢
您好 ,Ryan:
通过2564通过Michael402.3431万Michael的402.3431万的帖子描述的补丁启用AVPR?
是的
启动后 ,下载AVPR补丁并启用AVPR。下面的屏幕截图与附加的上一个开机自检日志(NBS_4.rar)相关,并指示已成功启用AVPR
eSCO的2564的采样402.3431万采样率402.3431万率是否要更改为16kHz? 还是保持在8kHz?[/QUOT]ESCO带宽保持在8kHz (采样率更改为16kHz)
根据Michael的帖子,我尝试在eSCO连接完成后通过"HCI_SETUP_Synchronous _Connection"命令将eSCO带宽更改为16K
但16k电话拒绝了。 我检查了HFP规范,发现NBS和WBS的带宽为8K (考虑压缩)
将2564将PCM402.3431万PCM接口402.3431万接口设置为16kHz音频?是的
MCU侧和CC256x的PCM更改为16KHz
谢谢
[/quote]
作为另一项测试,您是否可以尝试在 不运行WBS_Dissassociate命令的情况下,不执行步骤3就执行这些命令,以从以前启用NBS?
</s>2564 39.9961万39.9961万对于NBS:
1-将MCU PCM (主)配置设置为16K
2 -设置语音和无线编码设置:HCI_Write_Voice_Setting (蓝牙StackID,(HCI_VOIC_SEG_SEG_INPUT_DATA_FORMAT_2_ENGLISH | HCI_VOIC_SET_SIMP_SIZE _16_BIT | HCI_VOIC_SEG_SEG_AIR_CODGE_FORMAT_CVSD),&Status);
3- 通过WBS_disassociate_command (0xFD79)禁用WBS
4 - CC2564c (从)编解码器配置为16K,通过 VS_WRITE CODEC _CONFIG_COMMAND
[/引述]当您运行上述命令(不执行步骤3)时,是否会看到这些消息?
谢谢!
雅各布
您好 ,Jacob,
当2564当您403.4166万您说403.4166万说"电话拒绝连接"时,您能否分享收到的任何错误或警告?
需要再次检查,但在响应HCI_SETUP_Synchronous _Connection (16k带宽)命令时,电话返回"insufficient resources"或"invalid parameter"(无效参数)。收到此返回值后,我担心使用自定义eSCO-SCO 配置,因为 具有不同操作系统,蓝牙堆栈和 蓝牙芯片的电话存在兼容性问题
作为2564作为另403.5832万另一403.5832万一项测试,您是否可以在 不执行步骤3的情况下尝试执行这些命令来启用NBS[WBS_Discassoci]?我不在办公室, 我将在 不运行WBS_Dissassociate命令的情况下测试两个方案并更新此帖子
0-加电
1-将MCU PCM (主)配置设置为16K
2 -设置语音和无线编码设置:HCI_Write_Voice_Setting (蓝牙StackID,(HCI_VOIC_SEG_SEG_INPUT_DATA_FORMAT_2_ENGLISH | HCI_VOIC_SET_SIMP_SIZE _16_BIT | HCI_VOIC_SEG_SEG_AIR_CODGE_FORMAT_CVSD),&Status);
3- CC2564c (从)编解码器配置为16K,通过 VS_WRITE CODEC配置命令
和
0- 通过 上次WBS SCO连接的WBS_associate_command (0xFD78)启用WBS
1-将MCU PCM (主)配置设置为16K
2 -设置语音和无线编码设置:HCI_Write_Voice_Setting (蓝牙StackID,(HCI_VOIC_SEG_SEG_INPUT_DATA_FORMAT_2_ENGLISH | HCI_VOIC_SET_SIMP_SIZE _16_BIT | HCI_VOIC_SEG_SEG_AIR_CODGE_FORMAT_CVSD),&Status);
3- CC2564c (从)编解码器配置为16K,通过 VS_WRITE CODEC配置命令
感谢你能抽出时间
您好 ,Jacob,
\n\n当2564当您403.4166万您说403.4166万说"电话拒绝连接"时,您是否可以分享收到的任何错误或警告? [/引述]尝试将TX/RX带宽更改为1.6万 (0x3e80)
返回无效的LMP参数
已附加完整日志
e2e.ti.com/.../NBS_5F00_5_5F00_1.6万Bandwidth.rar
此致
Jacob,
已附加完整日志,但两种情况下plc都不工作,音频速度错误
</s>2564 403.7111万403.7111万0-加电
1-将MCU PCM (主)配置设置为16K
2 -设置语音和无线编码设置:HCI_Write_Voice_Setting (蓝牙StackID,(HCI_VOIC_SEG_SEG_INPUT_DATA_FORMAT_2_ENGLISH | HCI_VOIC_SET_SIMP_SIZE _16_BIT | HCI_VOIC_SEG_SEG_AIR_CODGE_FORMAT_CVSD),&Status);
3- CC2564c (从)编解码器配置为16K,通过 VS_WRITE CODEC配置命令
[/引述]e2e.ti.com/.../NBS_5F00_withoutDisableWBS.rar
[/quote]</s>2564 403.7111万403.7111万0- 通过 上次WBS SCO连接的WBS_associate_command (0xFD78)启用WBS
1-将MCU PCM (主)配置设置为16K
2 -设置语音和无线编码设置:HCI_Write_Voice_Setting (蓝牙StackID,(HCI_VOIC_SEG_SEG_INPUT_DATA_FORMAT_2_ENGLISH | HCI_VOIC_SET_SIMP_SIZE _16_BIT | HCI_VOIC_SEG_SEG_AIR_CODGE_FORMAT_CVSD),&Status);
3- CC2564c (从)编解码器配置为16K,通过 VS_WRITE CODEC配置命令
[/引述](PLC初始化与第一个WBS连接相关)
e2e.ti.com/.../2021.LMP_5F00_Power_5F00_test_5F00_2.rar
谢谢
您好,Li,
我能够重现您的问题,也无法初始化PLC。我尝试在MSP432上使用HFPDemo_HF,您使用的是什么平台?
e2e.ti.com/.../my_5F00_attempt_5F00_HFP_5F00_NBS.lgr
下面是我知道您需要采取的步骤:
1.启用AVPR补丁下载
2.配置要在编解码器上使用的16 kHz音频
3.注释掉/删除HFRE_HF_CODEC协商Supported_bit中的HFRE_SUPPORTED功能
可能仍需要额外的SCO音频配置。 您现在可以尝试这些步骤吗?
最佳,
雅各布
您好 ,Jacob,
感谢您的支持
</s>2564 408.0625万408.0625万1.启用AVPR补丁下载
2.配置要在编解码器上使用的16 kHz音频
[/引述]此步骤正常
3.</s>2564 408.0625万408.0625万注释掉/删除HFRE_SUPPORTED功能部件上的HFRE_HF_CODEC协商Supported_bit强制远程设备使用CVSD进行测试的好主意
根据Michael POST和CC2564C数据表,如果发生采样速率转换(16K <=>8K),PLC正在工作
但我不确定MCU PCM 时钟是否正确 (I2S外设)!
[Q1]是否需要在MCU的PCM (I2S外设)上设置16K或仅设置 HCI_VS_Write_Codec_Config()且MCU保持在8K上?
(如果PCM时钟为16K,SCO带宽为16K,则采样速率转换没有意义)
I r试着2564 r试着 在408.0625万 在MSP432408.0625万MSP432上使用HFPDemo_HF,您使用的是什么平台? [/引述]我使用的是STM32F7和CC2564C
[Q2] 您能否确认您正在使用MSP432和CC2564C?
[/quote][/quote]可能2564可能仍408.0625万仍需要408.0625万需要其他SCO音频配置。 您现在可以尝试这些步骤吗?[/QUOT]我尝试使用SCO API进行配置,并且还需要处理其他应用程序级别的任务
谢谢
您好,Li,
[Q1]需要2564需要在408.0817万在MCU408.0817万MCU的PCM (I2S外围)上设置16K,或者仅设置MCI_Write_8VS/W_OVS/_LEV_ON_SE_SE_TO_TOW_SE_TO_TOW_TO_K_TOW_TOW_TOW_我假设HCI_VS_Write_Codec_Config命令也将MCU I2S 线设置为8 kHz。 如果您还将STM32 I2S线指定为8 kHz,PLC是否已初始化?
[quote userid="46.3149万" url="~/support/wireless-connecticity/Bluetooth/f/Bluetooth-forum/107.8695万/cc2564c-use-plc-packet-lack-lost-hending-for-nbs/4080817#4080817"[Q2] 您2564您可以408.0817万可以确认408.0817万确认您正在使用MSP432和CC2564C吗?
是的,我正在使用MSP432和CC2564C。 但我也可以使用STM32进行测试。
谢谢!
雅各布
您好 ,Jacob,
我2564我假设408.152万假设HCI_Write_Write_Codec_Config408.152万HCI_Write_Write_Codec_Config命令将MCU设置 为8 kHz/I2S]在STM32代码上, VS_PCM_Codec_Config_Slave_I2S()函数设置cc2564x并通过更改"register_RCC_plli2scfgr"设置MCU I2S外设
/* The following function is used to initailize the I2S interface. */ int initializeAudio(unsigned int BluetoothStackID, unsigned long Frequency) { /* some code */ switch(Frequency) { /* The I2S clock frequency = 16bits x 2ch x Frequency, in KHz, Frequency in Hz */ case 8000: ret_val = VS_PCM_Codec_Config_Slave_I2S(BluetoothStackID, I2S_CLK_FREQ_IN_FS_8KHZ, Frequency); register_rcc_plli2scfgr = (2 << 28) | (192 << 6); register_spi_i2spr = (1 << 8) | 187; break; case 16000: ret_val = VS_PCM_Codec_Config_Slave_I2S(BluetoothStackID, I2S_CLK_FREQ_IN_FS_16KHZ, Frequency); register_rcc_plli2scfgr = (3 << 28) | (192 << 6); register_spi_i2spr = (1 << 8) | 62; break; case 48000: ret_val = VS_PCM_Codec_Config_Slave_I2S(BluetoothStackID, I2S_CLK_FREQ_IN_FS_48KHZ, Frequency); register_rcc_plli2scfgr = (3 << 28) | (258 << 6); register_spi_i2spr = SPI_I2SPR_MCKOE | (1 << 8) | 3; break; case 44100: ret_val = VS_PCM_Codec_Config_Slave_I2S(BluetoothStackID, I2S_CLK_FREQ_IN_FS_44_1KHZ, Frequency); register_rcc_plli2scfgr = (2 << 28) | (271 << 6); register_spi_i2spr = SPI_I2SPR_MCKOE | (0 << 8) | 6; break; default: Display(("\r\n Unsupported I2S Frequency !!! \r\n")); ret_val = -1; return ret_val; } if(ret_val) { Display(("\r\n Failed to configure the BT PCM Interface !!! \r\n")); return ret_val; } /* some code */ }
进行测试如果2564如果您408.152万您还408.152万还指定STM32 I2S线为8 kHz,PLC是否已初始化?[/报价]两个MCU I2S壳体(16/8)上的PLC均未初始化,但8K上的语音速度正常,16K上的语音速度不正常
[/quote]但2564但我408.152万我也408.152万也可以使用STM32如果您可以使用STM32,我们可以共享代码进行测试
谢谢
[/quote][/quote]