请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:TLV320AIC3106 主题中讨论的其他部件:CC3200,
工具/软件:Code Composer Studio
您好,
我正在使用与CC3200的I2S端口连接的TLV320AIC3106。 我可以读取从音频编解码器发送的I2S数据,并且我已将其发送到云,并且工作正常。 我的应用程序中还有一个扬声器。 为了测试扬声器,我绕过了Line2LP/M至MONOLOP,它确实工作正常。 现在我需要播放从处理器发送到TLV320aic3106的音频。但不幸的是,这不起作用。 数据正在发送到音频编解码器,我使用示波器验证了该编解码器。 请查看下面的寄存器配置并检查我是否错过了任何内容?
AudioCodecPageSelect((unsigned char )0x00); AudioCodecRegWrite((unsigned char) codec_sw_reset, codecPage0Regs.sw_reset); //时钟生成和控制 AudioCodecRegWrite((unsigned char) codec_clock_generation_control,(unsigned char) 0x02);// codec_CLKIN使用MCLK(CLKDIV_Uert) AudioCodecRegWrite((unsigned char) codec_additional GPIO控制B,(unsigned char)0x01); // AudioCodecRegWrite(((unsigned char) codec_PLL_A, 0x91);// codec_PLL_A_RESETVAL); // AudioCodecRegWrite(((unsigned char) codec_PLL_B, 0x60);// J value 24 // AudioCodecRegWrite(((unsigned char) codec_PLL_C, 0x00; codec_PLD; codec) AudioCodecRegWrite((unsigned char) codec_GPIO1_control, 0x28);// GPIO1引脚上的时钟输出 AudioCodecRegWrite((unsigned char) codec_sample_rate,0x00);//0xAA);// fs = fsref/n AudioCodecRegWrite((unsigned char) codec_mic_bias control, 0xC0);//(unsigned char)0xC0);// mic bias //选择输入时,在路由输入并为ADC通电后取消PGA的静音。 AudioCodecRegWrite((unsigned char) codec_LINE2L_left_ADC_CONTROL,0x80); AudioCodecRegWrite((unsigned char) codec_LINE1L_left_ADC_CONTROL,0x7C);//打开左侧ADC的电源 AudioCodecRegWrite(((unsigned char) codec_left_ADC_PGA_Gain _control, 0x00);//取消PGA的静音 //=================================================================================================================================== 扬声器配置 //===旁路 /* AudioCodecRegWrite(((unsigned char)codec_high _power输出阶段控制,0xF0); AudioCodecRegWrite(((unsigned char)codec_LINE2L_MONO_LOPM_volume_control,0x80); AudioCodecRegWrite(((unsigned char)codec_mono_LOPM_output_leve_control,0x99); AudioCodecRegWrite(((unsigned char)codec_left_dAC) digital_volume_control,0x00); */ AudioCodecRegWrite(((unsigned char)codec_high _power输出阶段控制,0xC0); AudioCodecRegWrite(((unsigned char)codec_dac电源输出驱动程序控制,0x88); AudioCodecRegWrite(((unsigned char)codec_left_dAC) digital_volume_control,0x00); AudioCodecRegWrite(((unsigned char)codec_DACL1_Mono_LOPM_volume_control,0x80); AudioCodecRegWrite(((unsigned char)codec_mono_LOPM_output_leve_control,0x99); Set_Mono: AudioCodecRegRead((unsigned char) codec_mono_LOPM_output_lever_control,(unsigned char*)&temp_readptr,(unsigned int) 0x02); IF ((temp_readptr &0x01)=0x01){ monolop_success = 1; } 否则 转到Set_Mono;
谢谢,此致,
Vishnu Pradeep