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.

[参考译文] AIC3204采样频率为192Khz。 42kHz 噪声时的输出信号

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/601042/aic3204-sampling-at-192khz-output-signal-at-42-khz-noisy

您好!  

我已将我的编解码器配置为192Khz 采样率、但没有滤波器:

;********
;配置 AIC3204
;********
;指向第0页
AC1 =#0
AR1 =#0x0
调用 i2c_WriteData8

;重置编解码器
AC1 =#1
AR1 =#0x1
调用 i2c_WriteData8

;指向第1页
AC1 =#0
AR1 =#0x1
调用 i2c_WriteData8

;禁用从 DVDD 生成粗 AVDD
AC1 =#1
AR1 =#0x08
调用 i2c_WriteData8

;启用模拟块和 LDO
AC1 =#2
AR1 =#0x01
调用 i2c_WriteData8

;*********
;* PLL 和时钟配置和上电
;*********

;指向第0页
AC1 =#0
AR1 =#0x0
调用 i2c_WriteData8

;AIC 是运行在1.288MHz 晶振上的主器件
;BCLK 和 WCLK 被设置为 AIC3204 (主器件)- 16位字的运算
AC1 =#27
AR1 =#0x0D
调用 i2c_WriteData8

;PLL 设置:PLLCLK <- MCLK 和 CODEC _CLKIN <-PLL CLK
AC1 =#4
AR1 =#0x03
调用 i2c_WriteData8

;PLL 上电;PLL 分频器参数:P = 1、R = 1
AC1 =#5
AR1 =#0x91
调用 i2c_WriteData8

;PLL 设置:J=7
AC1 =#6
;AR1 =#0x08
AR1 =#0x07
调用 i2c_WriteData8

;PLL 设置:hi_byte (D),表示 D=0x0780 (或1920十进制)
AC1 =#7
;AR1 =#0x07
AR1 =#0x00
调用 i2c_WriteData8

;PLL 设置:对于 D=0x0780、LO_BYTE (D)
AC1 =#8
;AR1 =#0x80
AR1 =#0x00
调用 i2c_WriteData8

;NDAC = 2.
AC1 =#11
AR1 =#0x82
调用 i2c_WriteData8

;MDAC = 4
AC1 =#12
AR1 =#0x84
调用 i2c_WriteData8

;DOSR H (DOSR = 64)
AC1 =#13
AR1 =#0x0
调用 i2c_WriteData8

;DOSR L (DOSR = 64)
AC1 =#14
AR1 =#64
调用 i2c_WriteData8

;时钟设置寄存器11、BCLK N 分频器 N = 7
AC1 =#30
AR1 =#0x87
调用 i2c_WriteData8

;AOSR = 64十进制或0x0080用于抽取滤波器1至6
AC1 =#20
AR1 =#64
调用 i2c_WriteData8

;为 NADC 加电并将 NADC 值设置为2
AC1 =#18
AR1 =#0x82
调用 i2c_WriteData8

;加电 mAdc 并将 mAdc 值设置为4
AC1 =#19
AR1 =#0x84
调用 i2c_WriteData8

;*********
;* DAC 路由和上电
;*********

;选择第1页
AC1 =#0
AR1 =#0x01
调用 i2c_WriteData8

;路由到 HPL 的 LDAC AFIR
AC1 =#12
AR1 =#0x08
调用 i2c_WriteData8

;RDAC AFIR 路由至 HPR
AC1 =#13
;AR1 = 0x08
AR1 =#0x00
调用 i2c_WriteData8

;选择第0页
AC1 =#0
AR1 =#0x00
调用 i2c_WriteData8

;左容积=右容积
AC1 =#64
AR1 =#0x02
调用 i2c_WriteData8

;左 DAC 增益至0dB VOL;右轨左
AC1 =#65
AR1 =#0x00
调用 i2c_WriteData8

;向左、右加电数据路径并设置通道
AC1 =#63
;AR1 =#0x92
AR1 =#0xB2
调用 i2c_WriteData8

;选择第1页
AC1 =#0
AR1 =#0x01
调用 i2c_WriteData8

;取消 HPL 静音,0dB 增益
AC1 =#16
AR1 =#0x00
调用 i2c_WriteData8

;静音 HPR,0dB 增益
AC1 =#17
AR1 =#0x00;#0x40
调用 i2c_WriteData8

;加电 HPL
AC1 =#9
;AR1 = 0x28 --精密
AR1 =#0x30
调用 i2c_WriteData8

;选择第0页
AC1 =#0
AR1 =#0x00
调用 i2c_WriteData8

@BRC0_L =#0x02FF || mmap ()
localrepeat{
repeat (#0xFFFF)
NOP_16
NOP_16
}

;*******
;* ADC 路由和上电
;*********
;选择第1页
AC1 =#0
AR1 =#0x01
调用 i2c_WriteData8

AC1 =#52
AR1 =#0x30
通过

40千欧将 i2c_WriteData8;CM_1 (共模)调用到 LADC_M
AC1 =#54
AR1 =#0x03
调用 i2c_WriteData8

;MIC_PGA_L 取消静音
AC1 =#0x3B
AR1 =#0x5D
调用 i2c_WriteData8

;MIC_PGA_R 取消静音
AC1 =#0x3C
AR1 =#0x80
调用 i2c_WriteData8

;选择第0页
AC1 =#0
AR1 =#0x00
调用 i2c_WriteData8

;上电左侧 ADC
AC1 =#81
AR1 =#0x80
;AR1 =#0x8A
调用 i2c_WriteData8

;取消左 ADC 的静音并将右 ADC 静音
AC1 =#82
;AR1 = 0x00 --精密
AR1 =#0x08
调用 i2c_WriteData8

;虚拟读取
AC1 = 9
AR1 = 0xABB
调用 i2c_ReadData8

我在 DSP (eZdsp 上的 C5515)中有一个代码、该代码:

接收乒乓缓冲器中的样本并放入 RCVL1和 RCVL2阵列中(摘自 C5515音频滤波器演示):

#define Xmit_buff 大小(1024)
while (1)
IF (CurrentRxL_DMAChannel ==2)
{
buff 复制(RcvL1、&FilterOutL1[0]、Xmit_buff 大小);
}
其他
{
buff 复制(RcvL2、FilterOutL2[0]、Xmit_buff 大小);
}
} 

我将信号发生器应用于立体声输入(用作左单声道)、然后使用单声道 DAC 输出上的示波器检查输出中的信号

我看到信号在低频时相当正常、但失真和频率更高(请参阅42kHz)

1kHz:

42Khz:

   

如何解决?

谢谢

Paolo

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

    我已将此事转交给专家。 他们的反馈应发布在此处。

    BR
    Tsvetolin Shulev