微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > TAS2552+AM4379无声音输出

TAS2552+AM4379无声音输出

时间:10-02 整理:3721RD 点击:

系统组成:

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

Hi 您好,首先您的确定一下,I2S的频率信号对不对,还有音源的采样频率是否跟您设置的寄存器配置是一样的,然后,根据您描述的是,输出的端口有779Khz的采样频率,这说明Class-D的开关频率是正常工作的,所以,您可以检查一下音源的采样频率是否正确。检查一下音源以及寄存器的配置

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top