初级会员
- 积分
- 188
- 金钱
- 188
- 注册时间
- 2014-10-10
- 在线时间
- 68 小时
|
1金钱
STM32F429的开发板,板上WM8978用AUX输入,在录音前端AUX输入录音正常。我现在想混音到后端的LMIX和RMIX 中,同时和LDAC和RDAC混音通过LOUT1和LOUT2输出
LDAC和RDAC输出现在已经弄好了。现在就AUX混音一直没声音
驱动基本用的原子哥的驱动
u8 WM8978_Init(void)
{
u8 res;
IIC_Init(); //初始化IIC接口
res=WM8978_Write_Reg(0,0); //软复位WM8978
if(res)return 1; //发送指令失败,WM8978异常
//以下为通用设置 0X1B
WM8978_Write_Reg(1,0X1F); //R1,MICEN设置为1(MIC使能),BIASEN设置为1(模拟器工作),VMIDSEL[1:0]设置为:11(5K)
WM8978_Write_Reg(2,0X1B0); //R2,ROUT1,LOUT1输出使能(耳机可以工作),BOOSTENR,BOOSTENL使能
WM8978_Write_Reg(3,0X6C); //R3,LOUT2,ROUT2输出使能(喇叭工作),RMIX,LMIX使能
WM8978_Write_Reg(6,0); //R6,MCLK由外部提供
WM8978_Write_Reg(43,1<<4); //R43,INVROUT2反向,驱动喇叭
WM8978_Write_Reg(47,1<<8); //R47设置,PGABOOSTL,左通道MIC获得20倍增益
WM8978_Write_Reg(48,1<<8); //R48设置,PGABOOSTR,右通道MIC获得20倍增益
WM8978_Write_Reg(49,1<<1); //R49,TSDEN,开启过热保护
WM8978_Write_Reg(49,1<<2); //R49,SPEAKER BOOST,1.5x
WM8978_Write_Reg(10,1<<3); //R10,SOFTMUTE关闭,128x采样,最佳SNR
WM8978_Write_Reg(14,1<<3); //R14,ADC 128x采样率
return 0;
}
这个是AUX 后端混音开关的寄存器说明
R50 Left channel output mixer control | | | | | | | | | | | | 左旁路音量控制到输出通道混合器 000=-15dB 001=-12dB … 110=+3dB 111=+6dB | | | | | | | | 辅助左通道输入到左混合器音量控制 000=-15dB 001=-12dB … 110=+3dB 111=+6dB |
R51 Right channel output mixer control | | | | | | | | | | | | 右旁路音量控制到输出通道混合器 000=-15dB 001=-12dB … 101=0dB 110=+3dB 111=+6dB | | | | | | | | 辅助右通道输入到右混合器音量控制 000=-15dB 001=-12dB … 101=0dB 110=+3dB 111=+6dB | | | | | |
我自己写的后端的AUX混音开关代码
void WM8978_AUX_MIX(u8 gain)
{
u16 regval;
regval = WM8978_Read_Reg(50); //读取R50
if(gain)
{
regval |= (1<<5);
regval |= (gain<<6) ;
}else{
regval &= ~(1<<5);
}
WM8978_Write_Reg(50,regval);
regval = WM8978_Read_Reg(51); //读取R51
if(gain)
{
regval |= (1<<5);
regval |= (gain<<6) ;
}else{
regval &= ~(1<<5);
}
WM8978_Write_Reg(51,regval);
}
下面是芯片的初始化过程
WM8978_Init();
WM8978_ADDA_Cfg(1,1); //开启DAC、ADC
WM8978_Input_Cfg(1,0,0); //开启输入通道(MIC&LINE IN)
WM8978_MIC_Gain(10); //MIC增益设置
WM8978_AUX_MIX(7);
WM8978_Output_Cfg(1,0); //开启DAC输出 ,关闭BYPASS输出
WM8978_HPvol_Set(63,63);
WM8978_Input_Cfg(1,0,0); 如果这句第三个参数改1之后,前端的录音数据中有AUX的混音。
请高手帮忙看看,哪个地方还有问题,
|
|