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:TLV320AIC3204 THD + N:0.03%

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1501065/tlv320aic3204-tlv320aic3204-thd-n-0-03

器件型号:TLV320AIC3204

工具/软件:

我们的客户端使用 TLV320AIC3204 编解码器芯片开发了一个 USB 软件狗播放器。

测试后、我发现 THD + N 为0.03%;

我们应在哪些方面 进行检查和修改、以提高音质并将失真降低到0.01%。

谢谢。

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

    您好、

    您能否提供原理图和寄存器配置? 此外、您如何测量? 数据表规格是使用20kHz LPF 以及 A 加权滤波器测得的、THD 0.01%规格是使用-3dBFS 输入实现的。 我可以查看您的连接和配置、看看我们是否有任何建议来帮助提高音质。

    此致、
    Mir  

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

    原理图 通过网盘分享的文件:HYPERX_XMOS316A_20250402.pdf
    链接: pan.baidu.com/.../1ycs3lZVrToHmbdG49c0qCA 提取码: qpyt

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

    cocec 配置:

    #define AIC3204_I2C_DEVICE_ADDR 0x18

    //寄存器地址
    //第0页
    #define AIC3204_PAGE_CTRL 0x00 //寄存器0 -页面控制
    #define AIC3204_SW_RST 0x01 //寄存器1 -软件复位
    #define AIC3204_NDAC 0x0B //寄存器11 - NDAC 分频器值
    #define AIC3204_MDAC 0x0C //寄存器12 - MDAC 分频器值
    #define AIC3204_DOSR 0x0E //寄存器14 - DOSR 分频器值(LS 字节)
    #define AIC3204_NADC 0x12 //寄存器18 - NADC 分频器值
    #define AIC3204_mAdc 0x13 //寄存器19 - mAdc 分频器值
    #define AIC3204_AOSR 0x14 //寄存器20 - AOSR 分频器值
    #define AIC3204_codec_if 0x1B //寄存器27 -编解码器接口控制
    #define AIC3204_DAC_SIG_PROC 0x3C //寄存器60 - DAC 信号处理块控制
    #define AIC3204_ADC_SIG_PROC 0x3D //寄存器61 - ADC 信号处理块控制
    #define AIC3204_DAC_CH_SET1 0x3F //寄存器63 - DAC 通道设置1
    #define AIC3204_DAC_CH_SET2 0x40 //寄存器64 - DAC 通道设置2
    #define AIC3204_DACL_VOL_D 0x41 //寄存器65 - DAC 左数字音量控制
    #define AIC3204_DACR_VOL_D 0x42 //寄存器66 - DAC 右数字音量控制
    #define AIC3204_ADC_CH_SET 0x51 //寄存器81 - ADC 通道设置
    #define AIC3204_ADC_FGA_MUTE 0x52 //寄存器82 - ADC 精细增益调整/静音

    //第1页
    #define AIC3204_PWR_CFG 0x01 //寄存器1 -电源配置
    #define AIC3204_LDO_CTRL 0x02 //寄存器2 - LDO 控制
    #define AIC3204_PLAY_CFG1 0x03 //寄存器3 -播放配置1
    #define AIC3204_PLAY_CFG2 0x04 //寄存器4 -播放配置2
    #define AIC3204_OP_PWR_CTRL 0x09 //寄存器9 -输出驱动器电源控制
    #define AIC3204_CM_CTRL 0x0A //寄存器10 -共模控制
    #define AIC3204_HPL_route 0x0C //寄存器12 - HPL 路由选择
    #define AIC3204_HPR_route 0x0D //寄存器13 - HPR 路由选择
    #define AIC3204_HPL_GAIN 0x10 //寄存器16 - HPL 驱动器增益
    #define AIC3204_HPR_GAIN 0x11 //寄存器17 - HPR 驱动器增益
    #define AIC3204_HP_START 0x14 //寄存器20 -耳机驱动器启动
    #define AIC3204_LPGA_P_Route 0x34 //寄存器52 -左 PGA 正输入路由
    #define AIC3204_LPGA_N_Route 0x36 //寄存器54 -左 PGA 负输入路由
    #define AIC3204_rPGA_P_Route 0x37 //寄存器55 -右 PGA 正输入路由
    #define AIC3204_rPGA_N_Route 0x39 //寄存器57 -右 PGA 负输入路由
    #define AIC3204_LPGA_VOL 0x3B //寄存器59 -左 PGA 音量
    #define AIC3204_rPGA_VOL 0x3C //寄存器60–右 PGA 音量
    #define AIC3204_ADC_PTM 0x3D//寄存器61 - ADC 电源调优配置
    #define AIC3204_AN_IN_CHRG 0x47 //寄存器71 -模拟输入快速充电配置
    #define AIC3204_REF_STARTUP 0x7B //寄存器123 -基准上电配置

    CODEC_REGREAD (0x0B、regVal);

    assert (regVal == 1 && msg ("codec reg read problem");

    //将寄存器页设置为0
    CODEC_REGWRITE (AIC3204_PAGE_CTRL、0x00);

    //启动软件复位(PLL 在复位过程中断电)
    CODEC_REGWRITE (AIC3204_SW_RST、0x01);

    //编程时钟设置

    //默认为 CODEC_CLKIN 来自 MCLK 引脚。 无需更改此值。
    //给 NDAC 上电并设置为1
    CODEC_REGWRITE (AIC3204_NDAC、0x81);

    //上电 MDAC 并设置为4
    CODEC_REGWRITE (AIC3204_MDAC、0x84);

    //给 NADC 上电并设置为1
    CODEC_REGWRITE (AIC3204_NADC、0x81);

    //给 mAdc 上电并设置为4
    CODEC_REGWRITE (AIC3204_mAdc、0x84);

    //编程 DOSR = 128
    CODEC_REGWRITE (AIC3204_DOSR、0x80);

    //编程 AOSR = 128
    CODEC_REGWRITE (AIC3204_AOSR、0x80);

    //设置音频接口配置:I2S、24位、从模式、DOUT 始终驱动。
    // CODEC_REGWRITE (AIC3204_CODEC_IF、0x20);
    CODEC_REGWRITE (AIC3204_codec_IF、0x30);// 32位模式
    //对要使用的 DAC 处理块—PRB_P1进行编程
    CODEC_REGWRITE (AIC3204_DAC_SIG_PROC、0x01);
    //对要使用的 ADC 处理块—PRB_R1进行编程
    CODEC_REGWRITE (AIC3204_ADC_SIG_PROC、0x01);
    //选择第1页
    CODEC_REGWRITE (AIC3204_PAGE_CTRL、0x01);
    //启用内部 AVDD_LDO:
    CODEC_REGWRITE (AIC3204_LDO_CTRL、0x09);
    //
    //对模拟块进行编程
    //--------------------------------
    //
    //在外部 AVdd 电源存在时或在内部 AVdd LDO 上电之前禁用内部粗 AVdd
    CODEC_REGWRITE (AIC3204_PWR_CFG、0x08);
    //启用主模拟电源控制
    CODEC_REGWRITE (AIC3204_LDO_CTRL、0x01);
    //将共模电压:将全芯片 CM 设置为0.9V、将耳机的输出共模设置为1.65V、HP 由 LDOin @ 3.3V 供电。
    CODEC_REGWRITE (AIC3204_CM_CTRL、0x33);
    //设置 PowerTune 模式
    //将左右 DAC PowerTune 模式设置为 PTM_P3/4。 使用 AB 类驱动程序。
    CODEC_REGWRITE (AIC3204_PLA_CFG1、0x00);
    CODEC_REGWRITE (AIC3204_PLAY_CFG2、0x00);
    //设置 ADC PowerTune 模式 PTM_R4。
    CODEC_REGWRITE (AIC3204_ADC_PTM、0x00);
    //将 MicPGA 启动延迟设置为3.1ms
    CODEC_REGWRITE (AIC3204_AN_IN_CHRG、0x31);
    //将 REF 充电时间设置为40ms
    CODEC_REGWRITE (AIC3204_REF_startup、0x01);
    // HP 软步进设置可在加电时实现最佳的弹出效果
    //使用的 Rpop 为6k、N = 6、软步进= 20 μ s。 这应适用于47uF 耦合
    //电容器。 可以尝试 N=5、6或7个时间常数。 权衡延迟与砰砰声。
    CODEC_REGWRITE (AIC3204_HP_START、0x25);
    //将左 DAC 路由到 HPL
    CODEC_REGWRITE (AIC3204_HPL_route、0x08);
    //将右 DAC 路由到 HPR
    CODEC_REGWRITE (AIC3204_HPR_route、0x08);
    CODEC_REGWRITE (0x0E、0x08);
    CODEC_REGWRITE (0x0F、0x08);
    CODEC_REGWRITE (0x12、0x3a);
    CODEC_REGWRITE (0x13、0x3a);//GAIN-0dB
    //我们正在使用 PGA 的低增益线路输入、因此可以使用40k 输入 R、但我们现在可以保持为20k。
    //以20K 输入阻抗将 IN2_L 路由至 LEFT_P
    CODEC_REGWRITE (AIC3204_LPGA_P_Route、0x20);
    //以20K 输入阻抗将 IN2_R 路由至 LEFT_M
    CODEC_REGWRITE (AIC3204_LPGA_N_route、0x20);
    //以20K 输入阻抗将 IN1_R 路由到 RIGHT_P
    CODEC_REGWRITE (AIC3204_rPGA_P_route、0x80);
    //以20K 输入阻抗将 IN1_L 路由到 RIGHT_M
    CODEC_REGWRITE (AIC3204_rPGA_N_route、0x20);
    //取消 HPL 静音并将增益设置为0dB
    CODEC_REGWRITE (AIC3204_HPL_GAIN、0x06);
    //取消 HPR 静音并将增益设置为0dB
    CODEC_REGWRITE (AIC3204_HPR_GAIN、0x06);
    //取消左 MICPGA 静音、将增益设置为0dB。
    CODEC_REGWRITE (AIC3204_LPGA_VOL、0x00);
    //取消右 MICPGA 静音、将增益设置为0dB。
    CODEC_REGWRITE (AIC3204_rPGA_VOL、0x00);
    //为 HPL 和 HPR 驱动程序加电
    CODEC_REGWRITE (AIC3204_OP_PWR_CTRL、0x30);


    CODEC_REGWRITE (AIC3204_PAGE_CTRL、1);//page1
    CODEC_REGWRITE (0x47、0x32);//模拟输入快速充电配置
    CODEC_REGWRITE (0x7B、0x01);//上电配置
    CODEC_REGWRITE (0x33、0x60);//----- 0x78已使用、失败----- Jian 添加了----- MICBIAS
    CODEC_REGWRITE (0x37、0x80);
    CODEC_REGWRITE (0x39、0x10);// IN1L 至右侧 MICPGA、10k Ω
    CODEC_REGWRITE (0x3c、0x2b);// 0x23 => 20dB 右 MICPGA VOL --5a-45dB 5e--47db :3D-- ap实际测试25DB增益 Ω--跟客户样品一致(__LW_AT__一般30DB Ω
    CODEC_REGWRITE (AIC3204_PAGE_CTRL、0);// page0
    CODEC_REGWRITE (0x54、0x00);//_Jian R_ADC 卷20dB
    CODEC_REGWRITE (0x51、0xc0);//
    CODEC_REGWRITE (0x52、0x00);//

    //等待2.5秒以使软步进生效
    delay_mesys (2500);


    //
    //为 DAC/ADC 上电
    //------------------------
    //
    //选择第0页
    CODEC_REGWRITE (AIC3204_PAGE_CTRL、0x00);
    //为左右 DAC 通道加电。 将左数据路由到左 DAC、将右数据路由到右 DAC。
    //每个 DAC 字时钟的 DAC VoL 控制软步长为1。
    CODEC_REGWRITE (AIC3204_DAC_CH_SET1、0xd4);
    //为左右 ADC 通道上电、每个 ADC 字时钟的 ADC vol 控制软步骤1步。
    CODEC_REGWRITE (AIC3204_ADC_CH_SET、0xc0);
    //取消左右 DAC 数字音量控制静音
    CODEC_REGWRITE (AIC3204_DAC_CH_SET2、0x00);
    //取消左右 ADC 数字音量控制静音。
    CODEC_REGWRITE (AIC3204_ADC_FGA_MUTE、0x00);

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

    您好、

    今天是美国的 TI 假日

    我们的专家将在星期一与您联系。

    此致、
    Jeff McPherson

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

    您好、

    抱歉、我无法访问您的原理图。 您能否将文件直接上传到论坛? TI 网络不允许我打开文件共享网站。

    此致、
    Mir