完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
原子哥:
我这里有个问题想请教您,我目前的项目用到了ARM F429做一个多路的音频设备。用到两路音频总线,一路用sai总结接了多个数字mic,一路用i2s接了你们历程里面的wm8978。wm8978这一路稍微和历程的配置有点不一样。我们用Rout1和Lout1做的。附件如下图所示: 用sai的那一路播放和录音都正常,但是wm8978这一路没有声音,我们量Rout1和Lout1引脚也没有电平,输入引脚mck bclk LRC和DACDATA的信号都正常,主时钟12.3M,帧时钟48k、位时钟1.536M,数据脚的数据也正常。 我是用iic配置wm8978,读写都正确。所以不太确定是不是配置的时候搞错了那个地方。我这边确认DAC和Lout、Rout都使能了。[AppleScript] 纯文本查看 复制代码 //通用设置//res = WM8978_Write_Reg(1,0X1B);//R1,BIASENé使能,VMIDSEL(5K)//res = WM8978_Write_Reg(2,0X1B0);//R2,ROUT1,LOUT1êä3öê1Äü(¶ú»ú¿éòÔ1¤×÷),BOOSTENR,BOOSTENLê1Äü//res = WM8978_Write_Reg(3,0X6C);//R3,LOUT2,ROUT2êä3öê1Äü(à®°è1¤×÷),RMIX,LMIXê1Äüres = WM8978_Write_Reg(1,0X0B);res = WM8978_Read_Reg(1); //确认iic写成功了res = WM8978_Write_Reg(2,0X1b0);res = WM8978_Read_Reg(2);res = WM8978_Write_Reg(3,0X6f);res = WM8978_Read_Reg(3);res = WM8978_Write_Reg(6,0);//R6,MCLK外部提供res = WM8978_Write_Reg(43,1<<4);//R43,INVROUT2驱动喇叭res = WM8978_Write_Reg(47,1<<8);//R47 mic增益,可删除res = WM8978_Write_Reg(48,1<<8);//R48res = WM8978_Write_Reg(49,1<<1);//R49,TSDEN,过热保护res = WM8978_Write_Reg(49,1<<2);//R49,SPEAKER BOOST,1.5x res = WM8978_Write_Reg(10,1<<3);//R10,SOFTMUTE 关闭res = WM8978_Write_Reg(14,1<<3);//R14,ADC 128x//′ò¿aDACWM8978_ADDA_Cfg(1,0);//开ADCWM8978_Input_Cfg(0,0,0);//关闭输入WM8978_Output_Cfg(1,0);//开DAC |
|
相关推荐
1个回答
|
|
我今天用407的开发板连我的设备,然后把开发板上的ARM断开。发现上电后有输出,说明我的wm8978的配置基本没有问题。我现在把软复位wm8978之后加了一个100ms的延时,发现我写代码的时候还有一个pcf器件的初始化用到了pb12,这里也注释掉了。lout和rout就有输出了。虽然解决了问题但是还是感觉很奇怪。
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 12:22 , Processed in 0.580478 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号