OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 383|回复: 1

wm8978的lout和rout没有输出

[复制链接]

  离线 

36

主题

251

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2016-4-20
在线时间
151 小时
发表于 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都使能了。
[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);	//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
//′ò¿aDAC	
	WM8978_ADDA_Cfg(1,0);	//开ADC
	WM8978_Input_Cfg(0,0,0);//关闭输入
	WM8978_Output_Cfg(1,0);	//开DAC   

wm8978硬件连接

wm8978硬件连接

最佳答案

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

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

使用道具 举报

  离线 

36

主题

251

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-1-24 06:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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