昱立的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);
最近用到ALC5621这个codec芯片,网上没有找到合适的例程,请问能否分享一下。谢谢 数字增益和模拟增益有调整过吗? linpeixing 发表于 2016-8-27 22:25
最近用到ALC5621这个codec芯片,网上没有找到合适的例程,请问能否分享一下。谢谢 ...
就是贴出来的例子。你参考下吧。 成就与价值 发表于 2016-8-27 23:16
数字增益和模拟增益有调整过吗?
估计是喇叭没声腔导致的声音小。
页:
[1]