在音频应用中设置CYW20706的PCM/I2S时钟 - KBA228409

Version 1

    Version: **

     

    音频应用无法直接设置CYW20706I2S或者PCM的时钟。音频的软件/硬件根据当前音频流的位深,采样率,通道数等控制时钟设置。   

     

    I2S:

    使用CYW20706A2DP协议时,I2S用来路由音频采样数据。音频数据流的方向取决于设备的A2DP角色。如果CYW20706作为音频源,则会通过I2S从硬件编码器接收音频流数据。如果作为接收端,音频数据将会从CYW20706传输到硬件解码器。

    A2DP的应用中,音频流默认路由到I2S上,也可以将路由配置为AUDIO_ROUTE_I2S来使用I2S传输。将is_master的标志位置1可以将CYW20706配置为I2S主设备,然后设备将基于A2DP配置文件中协商的采样频率生成位时钟(SCK)。

    例如,如果CYW20706与对端蓝牙设备在编码器协商时采用了44.1kHz的采样频率,I2S的时钟就会被内部库设置为44.1kHz。位深度或字长设置为16,即帧长固定位32位,无法修改。主模式下的I2S时钟可以是如下两个:

    • 44.1 kHz ×
    • 48 kHz ×

    在从机模式下,可以支持到最高位3.072MHz的任意时钟频率。

    注:如果CYW20706作为A2DP的信号源,可以在应用程序中设置采样频率。例如,在WICED Studio SDKwatch例程中,可以配置av_app_cb.audio_sf = 'desired sampling frequency'

     

    PCM

    PCM是将音频(特别是语音)数字化以通过数字通信信道传输的标准方法。CYW20706包含一个PCM接口,该接口可以在主模式或从模式下链接到线性PCM编码器设备。使用HFP协议时,PCM接口可用于8K16K语音采样数据的全双工双向传输。

    CYW20706使用了每个PCM16位中的13位数据。剩余的三位数据需要在输入设备上忽略,也可以在输出的时候以0,1,符号位或其他值填充。默认格式是13位二进制补码数据,左对齐,以0填充,高有效位(MSB)在前。

    PCM 时钟设置将根据SCO 设置中的采样率在内部完成。

     

    如果启用了宽带语音(WBS),CYW20706将使用16K采样率,否则为8K

    检查WICED_BT_HFP_CODEC_SET_EVT以确定是否启用了WBS

    如上所述,PCM时钟可以是如下两个:

    • 8 kHz × 16 bit × 2 (channel) = 256 kHz (窄带语音)
    • 16 kHz × 16 bit × 2 (channel) = 512 kHz (宽带语音)

    这些都是通过WICED协议栈管理,你只需要在应用程序中打开或者关闭WBS