TI中文支持网
TI专业的中文技术问题搜集分享网站

AM4379+Tas2552无声音输出

系统组成:

AM4379 <–> McAsp1 <–> IIS <–>Tas2552

AM4379 <–> i2c0 <–> Tas2552

Tas2552后端接一个喇叭 

当前情况:

1、  驱动源码来自TI官网,源码链接:http://www.ti.com/tool/tas2552sw-linux

2、  操作系统为linux-3.12.10-ti2013.12.01

3、  TI的驱动应该是在比较高版本的linux系统上开发的,直接编译会不成功,将相关的接口修改移植到3.12.10版本上后,编译OK,运行正常。

4、  目前在调试声卡情况如下:

A、 I2C控制正常,读,写寄存口信息正确;

B、 GPIO使能管脚正确;

C、 向linux系统注册声卡成功,能看到声卡设备文件;

D、 通过aplay或者mplayer可以播放音乐,但外接的嗽叭没有声音。 

问题现象描述如下:

1、  播放音频文件(mp3,wav)时,喇叭无声音。

2、  播放声音时,在喇叭连线上能看到779KHz的波型,高电平大致为:70ns,低电平:580ns,高电平幅值:5.6v。

3、  频率:FCLK:40.08KHz,MClk:11.9MHz,BClk:使用aplay时:48KHz,mplayer时2.8MHz。

4、  Tas2552芯片上各个管脚电平正常。

5、  音频文件播放结束后,嗽叭上的波型以及各个时钟均结束,不再有波型输出。 

目前已经反复排查了codec,mcasp相关的驱动,以及向系统注册声卡的代码,均没有发现问题,麻烦各个专家帮忙看看,什么原因导致无法播放声音。能否提供一个支持linux-3.12的驱动版本?

附:tas2552寄存器信息如下:

驱动加载OK,初始probe结束时的寄存器信息: 
===============Func:tas2552_codec_probe=========== 
All the register of tas2552:
Addr:0x00, –> 0xff
Addr:0x01, –> 0x26
Addr:0x02, –> 0x64
Addr:0x03, –> 0x58
Addr:0x04, –> 0x00
Addr:0x05, –> 0x00
Addr:0x06, –> 0x00
Addr:0x07, –> 0xc8
Addr:0x08, –> 0x10
Addr:0x09, –> 0x00
Addr:0x0a, –> 0x00
Addr:0x0b, –> 0x8f
Addr:0x0c, –> 0x80
Addr:0x0d, –> 0xbe
Addr:0x0e, –> 0x08
Addr:0x0f, –> 0x04
Addr:0x10, –> 0x00
Addr:0x11, –> 0x01
Addr:0x12, –> 0x00
Addr:0x13, –> 0x40
Addr:0x14, –> 0x0f
Addr:0x15, –> 0xff
Addr:0x16, –> 0xff
Addr:0x17, –> 0xff
Addr:0x18, –> 0xff
Addr:0x19, –> 0x00

播放音乐时的寄存器配置信息:
===============Func:tas2552_mute=========== 
All the register of tas2552:
Addr:0x00, –> 0x20
Addr:0x01, –> 0x10
Addr:0x02, –> 0xec
Addr:0x03, –> 0x58
Addr:0x04, –> 0x00
Addr:0x05, –> 0xc4
Addr:0x06, –> 0x00
Addr:0x07, –> 0xc8
Addr:0x08, –> 0x20
Addr:0x09, –> 0x00
Addr:0x0a, –> 0x00
Addr:0x0b, –> 0x8f
Addr:0x0c, –> 0x80
Addr:0x0d, –> 0xc0
Addr:0x0e, –> 0x28
Addr:0x0f, –> 0x04
Addr:0x10, –> 0x00
Addr:0x11, –> 0x01
Addr:0x12, –> 0x00
Addr:0x13, –> 0x40
Addr:0x14, –> 0x0f
Addr:0x15, –> 0x00
Addr:0x16, –> 0x08
Addr:0x17, –> 0x00
Addr:0x18, –> 0x00
Addr:0x19, –> 0xe6

音乐结束时的寄存器信息:
===============Func:tas2552_mute=========== 
All the register of tas2552:
Addr:0x00, –> 0x20
Addr:0x01, –> 0x14
Addr:0x02, –> 0xec
Addr:0x03, –> 0x58
Addr:0x04, –> 0x00
Addr:0x05, –> 0xc4
Addr:0x06, –> 0x00
Addr:0x07, –> 0xc8
Addr:0x08, –> 0x20
Addr:0x09, –> 0x00
Addr:0x0a, –> 0x00
Addr:0x0b, –> 0x8f
Addr:0x0c, –> 0x80
Addr:0x0d, –> 0xc0
Addr:0x0e, –> 0x28
Addr:0x0f, –> 0x04
Addr:0x10, –> 0x00
Addr:0x11, –> 0x01
Addr:0x12, –> 0x00
Addr:0x13, –> 0x40
Addr:0x14, –> 0x0f
Addr:0x15, –> 0x00
Addr:0x16, –> 0x08
Addr:0x17, –> 0x00
Addr:0x18, –> 0x00
Addr:0x19, –> 0xe6

Jian Zhou:

以前你的板子连接扬声器可以正常播放声音么?

sky lei:

回复 Jian Zhou:

原有的开发板上,能正常播放声音。

产品上的单板设计,是按开发板上一样的设计,连线参考原来的开发板。

目前正在调试阶段还没有放出声音,需要帮助就是为什么放不出声音。

Jian Zhou:

回复 sky lei:

如果ALSA层没有做任何改动,只是把扬声器换成功放,那么可能还是功放这颗芯片有些地方没有调试好,你再检查下功放的软硬件配置。

sky lei:

回复 Jian Zhou:

硬件已经反馈排查过,软件使用的寄存器配置及驱动代码是TI官网上的驱动,由于操作系统版本不一样导致的接口变化,也做了相应的处理。

sky lei:

回复 sky lei:

从打印出来的寄存器信息来看,也没有发现错误

Jian Zhou:

回复 sky lei:

操作系统变化?以前的能正常工作的板子和现在的板子用的操作系统不一样么?

sky lei:

回复 Jian Zhou:

开发板的操作系统与目前使用的操作系统是一样的。

我说的操作系统变化是指TI的官方驱动运行的操作系统版本,与我用的操作系统版本不一样。在问题反馈里面有这方面的描述。

sky lei:

回复 Jian Zhou:

下面这两条是在问题反馈里面提到的

2、  操作系统为linux-3.12.10-ti2013.12.01

3、  TI的驱动应该是在比较高版本的linux系统上开发的,直接编译会不成功,将相关的接口修改移植到3.12.10版本上后,编译OK,运行正常。

Jian Zhou:

回复 sky lei:

首先在TI的AM4379开发板上运行linux-3.12.10-ti2013.12.01,声音播放都是正常的,那么原有的开发板是哪一款开发板呢?

TAS2552这部分的调试可能还是要联合audio的FAE一起看一下。

赞(0)
未经允许不得转载:TI中文支持网 » AM4379+Tas2552无声音输出
分享到: 更多 (0)