TI论坛
直播中

王军

8年用户 1858经验值
私信 关注
[问答]

用aic3204的DSP模式,用示波器看波形的时候,波形不对,为什么?


  • 我想用aic3204的DSP模式,数据格式为mono,耳机的输出模式Mono Differential DAC to Mono Differential Headphone Output和Mono DAC and Analog Bypass Input to Mono Differential Headphone Output这两种模式有什么区别呢,下面是我的配置,在C5535的一个例子上改的,我将I2S配成了dsp模式,耳机有声音输出,但是用示波器看波形的时候,波形不对,我发的是一个正弦信号,走势大致正确。请问是什么原因呢,我现在不用AD,只用到了DA部分。
    AIC3204_rset( 0,  0x00 );  // Select page 0
            AIC3204_rset( 1,  0x01 );  // Reset codec
            EZDSP5535_waitusec(1000);  // Wait 1ms after reset
            AIC3204_rset( 0,  0x01 );  // Select page 1
            AIC3204_rset( 1,  0x08 );  // Disable crude AVDD generation from DVDD
            AIC3204_rset( 2,  0x01 );  // Enable Analog Blocks, use LDO power
            AIC3204_rset( 123,0x05 );  // Force reference to power up in 40ms
            EZDSP5535_waitusec(50000); // Wait at least 40ms
            AIC3204_rset( 0,  0x00 );  // Select page 0

            /* PLL and Clocks config and Power Up  */
            AIC3204_rset( 27, 0x4d );  // BCLK and WCLK are set as o/p; AIC3204(Master)
            AIC3204_rset( 28, 0x01 );  // Data ofset = 0
            AIC3204_rset( 4,  0x03 );  // PLL setting: PLLCLK <- MCLK, CODEC_CLKIN <-PLL CLK
            AIC3204_rset( 6,  0x07 );  // PLL setting: J=7
            AIC3204_rset( 7,  0x06 );  // PLL setting: HI_BYTE(D=1680)
            AIC3204_rset( 8,  0x90 );  // PLL setting: LO_BYTE(D=1680)
            AIC3204_rset( 30, 0x88 );  // For 32 bit clocks per frame in Master mode ONLY
                                       // BCLK=DAC_CLK/N =(12288000/8) = 1.536MHz = 32*fs
            AIC3204_rset( 5,  0x91 );  // PLL setting: Power up PLL, P=1 and R=1
            EZDSP5535_waitusec(10000); // Wait for PLL to come up
            AIC3204_rset( 13, 0x00 );  // Hi_Byte(DOSR) for DOSR = 128 decimal or 0x0080 DAC oversamppling
            AIC3204_rset( 14, 0x80 );  // Lo_Byte(DOSR) for DOSR = 128 decimal or 0x0080
            AIC3204_rset( 20, 0x80 );  // AOSR for AOSR = 128 decimal or 0x0080 for decimation filters 1 to 6
            AIC3204_rset( 11, 0x82 );  // Power up NDAC and set NDAC value to 2
            AIC3204_rset( 12, 0x87 );  // Power up MDAC and set MDAC value to 7
            AIC3204_rset( 18, 0x87 );  // Power up NADC and set NADC value to 7
            AIC3204_rset( 19, 0x82 );  // Power up MADC and set MADC value to 2

            /* DAC ROUTING and Power Up */
            AIC3204_rset( 0,  0x01 );  // Select page 1
            //AIC3204_rset( 9, 0x30 );
            //AIC3204_rset( 10, 0x03 );      //#COMMON MODE CONTROL REGISTER Output of HP is powered by LDOIN
            //AIC3204_rset( 11, 0x10 );      //Over Current detection is enabled for HPL & HPR
            AIC3204_rset( 12, 0x08 );  // LDAC AFIR routed to HPL
            AIC3204_rset( 13, 0x10 );  // RDAC AFIR routed to HPR
            AIC3204_rset( 0,  0x00 );  // Select page 0
            AIC3204_rset( 64, 0x82 );  // Left vol=right vol
            AIC3204_rset( 65, 0x00 );  // Left DAC gain to 0dB VOL; Right tracks Left
            AIC3204_rset( 63, 0x90 );  // Power up left,right data paths and set channel
            AIC3204_rset( 0,  0x01 );  // Select page 1
            AIC3204_rset( 16, 0x3c );  // Unmute HPL , 0dB gain
            AIC3204_rset( 17, 0x3c );  // Unmute HPR , 0dB gain
            AIC3204_rset( 9 , 0x30 );  // Power up HPL,HPR
            EZDSP5535_waitusec(100 );  // Wait
    希望得到帮助,谢谢!

回帖(2)

夏日余晖

2024-10-31 16:49:24

这两种方法在配置上不太一样,其次就是Mono

Differential DAC to Mono Differential Headphone Output配置完后就不能做一些混音,而Mono DAC and

Analog Bypass Input to Mono Differential Headphone Output配置完后还可以做混音。

具体见下图:


还有就是看了你的配置发现你的时钟配置有点问题,下图是你们的配置的设置吗?


举报

早知

2024-10-31 18:17:58
首先,我们来分析一下您提到的问题和配置。您在使用AIC3204的DSP模式,并且配置为单声道(Mono)输出。您提到有两种耳机输出模式:Mono Differential DAC to Mono Differential Headphone Output和Mono DAC and Analog Bypass Input to Mono Differential Headphone Output。这两种模式的主要区别在于信号的来源和处理方式。

1. Mono Differential DAC to Mono Differential Headphone Output:这种模式下,信号直接从差分DAC输出到差分耳机输出,没有经过模拟旁路输入。

2. Mono DAC and Analog Bypass Input to Mono Differential Headphone Output:这种模式下,信号既可以从差分DAC输出,也可以从模拟旁路输入到差分耳机输出。这意味着您可以在这两种输入之间进行切换。

关于您提到的示波器波形问题,可能有以下几个原因:

1. 信号幅度不正确:请检查您的信号幅度是否在AIC3204的允许范围内。如果信号幅度过大或过小,可能会导致波形失真。

2. 时钟问题:请确保您的时钟设置正确。时钟不准确可能会导致波形失真。

3. 配置问题:请检查您的AIC3204配置是否正确。错误的配置可能会导致波形失真。

4. 示波器设置问题:请检查您的示波器设置是否正确。错误的设置可能会导致波形失真。

为了解决这个问题,您可以尝试以下步骤:

1. 检查信号幅度:确保您的信号幅度在AIC3204的允许范围内。

2. 检查时钟设置:确保您的时钟设置正确。

3. 检查AIC3204配置:确保您的AIC3204配置正确。

4. 检查示波器设置:确保您的示波器设置正确。

5. 尝试使用不同的耳机输出模式:您可以尝试使用Mono DAC and Analog Bypass Input to Mono Differential Headphone Output模式,看看波形是否有所改善。

希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们进一步分析。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分