OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11700|回复: 2

wm8978的lout和rout没有输出

[复制链接]

36

主题

256

帖子

0

精华

高级会员

Rank: 4

积分
921
金钱
921
注册时间
2016-4-20
在线时间
169 小时
发表于 2017-12-11 16:42:25 | 显示全部楼层 |阅读模式
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都使能了。[mw_shl_code=applescript,true]        //通用设置
        //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);        //R48
        res = 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
//′ò&#191;aDAC       
        WM8978_ADDA_Cfg(1,0);        //开ADC
        WM8978_Input_Cfg(0,0,0);//关闭输入
        WM8978_Output_Cfg(1,0);        //开DAC   [/mw_shl_code]

wm8978硬件连接

wm8978硬件连接

最佳答案

查看完整内容[请看2#楼]

我今天用407的开发板连我的设备,然后把开发板上的ARM断开。发现上电后有输出,说明我的wm8978的配置基本没有问题。我现在把软复位wm8978之后加了一个100ms的延时,发现我写代码的时候还有一个pcf器件的初始化用到了pb12,这里也注释掉了。lout和rout就有输出了。虽然解决了问题但是还是感觉很奇怪。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

256

帖子

0

精华

高级会员

Rank: 4

积分
921
金钱
921
注册时间
2016-4-20
在线时间
169 小时
 楼主| 发表于 2017-12-11 16:42:26 | 显示全部楼层
我今天用407的开发板连我的设备,然后把开发板上的ARM断开。发现上电后有输出,说明我的wm8978的配置基本没有问题。我现在把软复位wm8978之后加了一个100ms的延时,发现我写代码的时候还有一个pcf器件的初始化用到了pb12,这里也注释掉了。lout和rout就有输出了。虽然解决了问题但是还是感觉很奇怪。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2019-10-31
在线时间
6 小时
发表于 2019-11-15 18:03:32 | 显示全部楼层
Hi czdspeed : 关注你的贴子好久了。我最近在调一个UAC 设备。发现正是你2017年搞过的。也加不上你好友。不知道怎银行能联系上你取取经。能否加你的qq? 我的1007840010
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表