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.

[参考译文] TLV320AIC3204:将 AIC3204 DAC 设置为8kHz 采样率将在播放语音时产生离散噪声

Guru**** 2553450 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/955588/tlv320aic3204-set-aic3204-dac-to-8khz-sample-rate-will-generate-a-discrete-noise-in-play-voice

器件型号:TLV320AIC3204

大家好、团队、
我们将 AIC3204与 STM32F103 MCU 搭配使用。 AIC3204用作 I2S 从器件半双工接收模式、通过独立的12.288MHz 振荡器生成 MCLK。 我们通过 I2S 从 STM32发送1KHz 正弦波值到 AIC3204、将 AIC3204 DAC 设置为8kHz 采样率、并从 HPL 单端输出时、会有一个离散噪声、例如高速"咔嗒"噪声跟随反向语音。 当采样率设置为48kHz 时、此高速"咔嗒"噪声将消失、但由于数据传输带宽、我们必须使用8Ksps。 请参阅用于编解码器初始化的源代码段、并向我们提供一些建议、非常感谢。

int16_t sinetable[]=

0x0000、0x0000、
0x5a81、0x0000、
0x7ffd、0x0000、
0x5a81、0x0000、
0x0000、0x0000、
0xa57f、0x0000、
0x8002、0x0000、
0xa57f、0x0000
};


void codec_initial (void)

AIC3204_Write (0、0);//选择 PAGE 0
AIC3204_Write (1、0x01);//重置编解码器
AIC3204_Write (0、1);//选择第1页
AIC3204_Write (1、0x08);//禁用从 DVDD 生成粗略 AVDD
AIC3204_Write (2、0x01);//启用模拟块,使用 LDO 电源
/* PLL 和时钟配置和上电*/
AIC3204_Write (0、0);
AIC3204_Write (4、0x03);// PLL 设置:PLLCLK <- MCLK、CODE_CLKIN <- PLLCLK
AIC3204_Write (6、0x07);// PLL 设置:J=7
AIC3204_Write (7、0x00);// PLL 设置:hi_Byte (D=0)
AIC3204_Write (8、0x00);// PLL 设置:LO_BYTE (D=0)
AIC3204_Write (5、0x91);// PLL 设置:为 PLL 加电、P=1和 R=1
AIC3204_Write (13、0x03);// Hi Byte (DOSR)表示 DOSR = 768十进制或0x0080 DAC 过采样
AIC3204_Write (14、0x00);// Lo_Byte (DOSR)表示 DOSR = 768十进制或0x0080
AIC3204_Write (11、0x82);//为 NDAC 加电并将 NDAC 值设置为2
AIC3204_Write (12、0x87);//为 MDAC 加电并将 MDAC 值设置为7
//AIC3204_Write (60、0x08);// DAC 模式至 PRB_R8
/* DAC 布线和上电*/
AIC3204_Write (0、1);//选择第1页
AIC3204_Write (123、0x01);// REF 充电时间达40ms
AIC3204_Write (20、0x65/* 0x25*/);//无爆音模式
AIC3204_Write (10、0x33/*00*/);//输入共模

AIC3204_Write (12、0x08);//路由至 HPL 的 LDAC AFIR
//AIC3204_Write (3、0x08);//将 DAC PTM 模式更改为 PTM_P1
AIC3204_Write (16、0x00);//取消 HPL 静音,0dB 增益
AIC3204_Write (9、0x20);//加电 HPL、HPR、0x20表示左侧、0x30表示两者
HAL_DELAY (2500);
AIC3204_Write (0、0);//选择 PAGE 0
AIC3204_Write (64、0x04);//左侧 vol 依赖值、取消 LDAC 静音、使 RDAC 静音
AIC3204_Write (65、0xF0);//左 DAC 增益至0dB VOL;右跟踪左侧
AIC3204_Write (63、0x90);//向左、向右加电数据路径并设置通道、向左0x90、向两个通道均为0xD4
AIC3204_Write (0、0);//选择 PAGE 0
HAL_DELAY (100);//等待

静态 uint8_t s_tabVolume[]={0x40、0x07、0x0B、0x0E、0x11、 0x13};
void codec_SetVolumeHPL (uint8_t volume)

AIC3204_Write (0、1);//选择第1页
AIC3204_Write (16、s_tabVolume]);//取消 HPL 静音
AIC3204_Write (0、0);

void main (void)

codec_initial ();
CODE_SetVolumeHPL (1);

for (int i = 0;i < 0x10000;i++)

HAL_I2S_Transmit (&hi2s2、(uint16_t*) sinetable、sizeof (sinetable)/ sizeof (uint16_t)、100);

e2e.ti.com/.../aic3204.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我假设您使用的是默认 ASI 数据格式(16位 I2S)。 您能否共享音频录制(作为未压缩的.wav 文件)并指示在哪里可以看到这些"咔嗒噪声"?

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Diljith。

    是的、我们使用16位 I2S 数据格式。

    由于我们现在监控仪表中的语音、我无法为您提供音频录制.wav 文件、但我可以通过电话录制语音、1KHz tonee2e.ti.com/.../aic3204.m4a 中很明显有咔嗒声、请作为附件收听。

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我将 m4a 文件转换为 wav。 此处显示了时域图。 这看起来不像由编解码器创建的工件。

    这可能是主机中8kHz 时的缓冲器处理问题。 它看起来是重复发送同一个缓冲区。

    编解码器具有内部蜂鸣器功能、可用于对其进行调试。

    请启用发生器(请参阅 www.ti.com/.../slaa446)并检查输出。 如果输出正常、我们可以排除模拟信号链的问题。

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Diljith、您好!

    通过生成内部蜂鸣音对其进行调试是一种理想的方法、但我无法生成、请帮我吗?

    void codec_initial (void)

    AIC3204_Write (0、0);//选择 PAGE 0
    AIC3204_Write (1、0x01);//重置编解码器
    AIC3204_Write (0、1);//选择第1页
    AIC3204_Write (2、0x09);
    AIC3204_Write (1、0x08);//禁用从 DVDD 生成粗略 AVDD
    AIC3204_Write (2、0x01);//启用模拟块,使用 LDO 电源
    AIC3204_Write (10、0x3B);//输入共模= 0.9V、输出共模= 1.65V、由 LDOIN 驱动的 HP、范围为1.8 - 3.6V
    AIC3204_Write (71、0x32);//将输入快速充电时间设置为6.4ms
    AIC3204_Write (123、0x01);//将 REF 充电时间设置为40ms

    /* PLL 和时钟配置和上电*/
    AIC3204_Write (0、0);
    AIC3204_Write (4、0x03);// PLL 设置:PLLCLK <- MCLK、CODE_CLKIN <- PLLCLK
    AIC3204_Write (6、0x08);// PLL 设置:J=8
    AIC3204_Write (7、0x00);// PLL 设置:hi_Byte (D=0)
    AIC3204_Write (8、0x00);// PLL 设置:LO_BYTE (D=0)
    AIC3204_Write (5、0x91);// PLL 设置:为 PLL 加电、P=1和 R=1
    AIC3204_Write (13、0x03);// Hi Byte (DOSR)表示 DOSR = 768十进制或0x0300 DAC 过采样
    AIC3204_Write (14、0x00);// Lo_Byte (DOSR)表示 DOSR = 768十进制或0x0300
    AIC3204_Write (11、0x82);//为 NDAC 加电并将 NDAC 值设置为2
    AIC3204_Write (12、0x88);//为 MDAC 加电并将 MDAC 值设置为8
    AIC3204_Write (60、0x19);// PRB_P4

    /* DAC 布线和上电*/
    AIC3204_Write (0、1);//选择第1页
    AIC3204_Write (12、0x08);//路由至 HPL 的 LDAC AFIR
    AIC3204_Write (16、0x00);//取消 HPL 静音、0dB 增益
    AIC3204_Write (9、0x20);//加电 HPL、HPR、0x20表示左侧、0x30表示两者
    HAL_DELAY (500);

    AIC3204_Write (0、0);//选择 PAGE 0
    AIC3204_Write (64、0x04);//左侧 vol 依赖值、取消 LDAC 静音、使 RDAC 静音
    AIC3204_Write (65、0x08);//左侧 DAC 增益至0dB VOL;右侧轨迹左侧
    AIC3204_Write (63、0xD6);//向左、向右加电数据路径并设置通道、向左0x90、向两者均设置0xD4
    HAL_DELAY (100);//等待

    void codec_MuteHPL (void)

    AIC3204_Write (0、1);//选择第1页
    AIC3204_Write (16、0x40);//将 HPL 静音
    AIC3204_Write (0、0);

    // 0x00 (0dB)- 0x1D (29dB)@ 1dB、0x13@300mV、0x11@240mV、0x0E@180mV、0x0B@120mV、 0x07@70mV
    静态 uint8_t s_tabVolume[]={0x40、0x07、0x0B、0x0E、0x11、 0x13};
    void codec_SetVolumeHPL (uint8_t volume)

    AIC3204_Write (0、1);//选择第1页
    AIC3204_Write (16、s_tabVolume]);//取消 HPL 静音
    AIC3204_Write (0、0);

    void codec_GenerateWave (void)//以8Ksps 生成1KHz 音调

    AIC3204_Write (0、0);

    AIC3204_Write (73、0x01);
    AIC3204_Write (74、0x38);
    AIC3204_Write (75、0x80);

    AIC3204_Write (76、0xB5);
    AIC3204_Write (77、0x04);
    AIC3204_Write (78、0xB5);
    AIC3204_Write (79、0x04);

    AIC3204_Write (72、0x00);
    AIC3204_Write (71、0x80);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    不清楚寄存器的写入顺序。

    当蜂鸣器打开时、DAC 是否已通电、时钟是否处于活动状态?

    您能否确认时钟是否处于活动状态以及写入器件的确切序列?

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您需要有关上述方面的进一步帮助、请告知我们。 我将关闭螺纹。 响应将重新打开线程。

    此致。