bugplus 发表于 2016-2-25 08:41:01

昱立的CODEC alc5621驱动喇叭声音太小什么原因?

这个芯片不接外部功放应该能驱动喇叭,但是驱动不论怎么改,喇叭的声音都很小,要贴在耳边才能听到。
看采样数据,都不是很小声音的数据,不知道原因出在哪?
高手说说;

void Mic1_I2Sin_SpkMixer(void)
{
                UINT8 i=0;
                ALC5621_Write_1_Word(RT5621_PWR_MANAG_ADD1,0x8800);   //I2S Digital Interface Enable
                RegData=ALC5621_Read_1_Word(0x3a);
                Prints("REG3A:",0);
                PrintUART0Hex(RegData);      
                PrintUART0Hex(RegData>>8);      
               
                ALC5621_Write_1_Word(RT5621_PWR_MANAG_ADD2,0xA0C3+0x0008);//--Vref of all analog Circuits/L(R)ADC Record Mixer Enable/...
                RegData=ALC5621_Read_1_Word(0x3c);
                Prints("REG3C:",0);
                PrintUART0Hex(RegData);
                PrintUART0Hex(RegData>>8);      
               
                ALC5621_Write_1_Word(RT5621_PWR_MANAG_ADD3,0x8002);             //--Main Bias Analog Circuit Enable      
               
                ALC5621_Write_1_Word(RT5621_ADC_REC_MIXER,0x3d3d);                //--ADC MIXER L/R MUTE CONTROL
                //      ALC5621_Write_1_Word(0x12,0xFC99-0xc000);//ADC Record Gain
                ALC5621_Write_1_Word(RT5621_MIC_ROUTING_CTRL,0xB0F0);            // 0x0080);
                ALC5621_Write_1_Word(RT5621_MICROPHONE_CTRL,0x0402);             //--MIC1 boost control +20dB(0X0102)?+30dB(0x0202)MICBIAS=0.75 avdd!
               
                ALC5621_Write_1_Word(RT5621_MIC_VOL,MICVOC);                                  //--0x1e00
               
                ALC5621_Write_1_Word(RT5621_OUTPUT_MIXER_CTRL,0xC800);                //spk
                //ALC5621_Write_1_Word(RT5621_HP_OUT_VOL,0x1010);                //0x1f1f);//HP Headphone output Volume 注意,这里的值是衰减的幅度,也就是说值越大声音越小!!!
                ALC5621_Write_1_Word(RT5621_SPK_OUT_VOL,SPKVOC);                //0x1f1f);//spk output Volume 0x0101
                ALC5621_Write_1_Word(RT5621_PWR_MANAG_ADD3,0x900A);                //MIC1 SPK
                //RegData=ALC5621_Read_1_Word(0x3e);
                //Prints("REG3E:",0);
                //PrintUART0Hex(RegData);
                //PrintUART0Hex(RegData>>8);      
                ALC5621_Write_1_Word(RT5621_PWR_MANAG_ADD1,0x8800);                //HP
                //ALC5621_Write_1_Word(0x10,0xE0E0);//HP Mute Mic2
                ALC5621_Write_1_Word(RT5621_ADC_REC_GAIN,0x3232);                //0xF912);//HP Mute ADC L/R Record Gain
                ALC5621_Write_1_Word(RT5621_STEREO_DAC_VOL,0xA202);                //0x6808);//DAC M & DAC Volume----注意,对应的【12:8】【4:0】值越大,音量越小
                //RegData=ALC5621_Read_1_Word(0x0C);
                //Prints("REG0C:",0);
                //PrintUART0Hex(RegData);      
                //PrintUART0Hex(RegData>>8);      
               
                ALC5621_Write_1_Word(RT5621_ADD_CTRL_REG,0x4310);
                //RegData=ALC5621_Read_1_Word(0x40);
                //Prints("REG40:",0);
                //PrintUART0Hex(RegData);      
                //PrintUART0Hex(RegData>>8);      
               
                ALC5621_Write_1_Word(RT5621_PWR_MANAG_ADD2,0xA7C8);
                //ALC5621_Write_1_Word(0x62,0x8800);//EQ?

                //RegData=ALC5621_Read_1_Word(0x62);
                //Prints("REG62:",0);
                //PrintUART0Hex(RegData);      
                //PrintUART0Hex(RegData>>8);      

                ALC5621_Write_1_Word(RT5621_HID_CTRL_INDEX,0x46);
                RegData=ALC5621_Read_1_Word(RT5621_HID_CTRL_DATA);
                Prints("IndexREG46:",0);
                PrintUART0Hex(RegData);      
                PrintUART0Hex(RegData>>8);      
                Prints(" ",1);

linpeixing 发表于 2016-8-27 22:25:39

最近用到ALC5621这个codec芯片,网上没有找到合适的例程,请问能否分享一下。谢谢

成就与价值 发表于 2016-8-27 23:16:28

数字增益和模拟增益有调整过吗?

bugplus 发表于 2016-8-31 09:14:58

linpeixing 发表于 2016-8-27 22:25
最近用到ALC5621这个codec芯片,网上没有找到合适的例程,请问能否分享一下。谢谢 ...

就是贴出来的例子。你参考下吧。

bugplus 发表于 2016-8-31 09:15:59

成就与价值 发表于 2016-8-27 23:16
数字增益和模拟增益有调整过吗?

估计是喇叭没声腔导致的声音小。
页: [1]
查看完整版本: 昱立的CODEC alc5621驱动喇叭声音太小什么原因?