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

Alsa Audio驱动问题

AM3517  arm linux 驱动 realtek的alc5621后,设备文件/dev/snd有了controlC0  pcmC0D0c   pcmC0D0p   timer,
但在执行 cat high.wav > /dev/snd/pcmC0D0p时,
提示cat: write error: File descriptor in bad state。
用的瑞泰的开发板,他用的TI tlv320aic23,驱动是正确的,但还是有这样的提示。

cat high.wav > /dev/snd/pcmC0D0p怎么会有问题呢?我应该如何测试音频?

希望各位能帮助一下我。任何发言都有可能对我有益。谢谢。

Jian Zhou:

你是在做音频codec的驱动移植么?有一点要提醒你,AM3517的音频codec接口默认是为slave模式的,你要换别的codec,可能要改为从模式,还要找一路clock作为输出clock

Jian Zhou:

回复 Jian Zhou:

抱歉,有个笔误,你要改为主模式

Yaoming Qin:

回复 Jian Zhou:

也可以用aplay试下,直接写入可能采样率等没有配置正确

Qi Fu:

之前用的realtimedsp的开发板(tlv320aic23b),用aplay a.wav 播放一个48k的,

mclk 12M

bclk    6M左右

 lcrk   48K

我测量了一下波形

Mclk 24.576

Bclk 1.54M

Lrck 48k

与tlv320aic23b用的同一个mcbsp驱动

mcbsp2_dx也有数据输入,但是alc5621没有声音输出。播放时spkout脚变成高电平,放完后回复到低电平。alc5621的寄存器我都简查过,基本上没有问题,以下是我打印的mcbsp寄存器的信息,

regs->spcr2=0x00000230 regs->spcr1=0x00000030 regs->rcr2=0x00000040 regs->rcr1=0x00000140 regs->xcr2=0x00000040 regs->xcr1=0x00000140 regs->srgr2=0x0000001f regs->srgr1=0x00000000 regs->mcr2=0x00000000 regs->mcr1=0x00000000 regs->pcr0=0x00000003 regs->rcerc=0x00000000 regs->rcerd=0x00000000 regs->xcerc=0x00000000 regs->xcerd=0x00000000 regs->rcere=0x00000000 regs->rcerf=0x00000000 regs->xcerf=0x00000000 regs->rcerg=0x00000000 regs->rcerh=0x00000000 regs->xcerg=0x00000000 regs->xcerh=0x00000000 regs->xccr=0x00001009 regs->rccr=0x00000809

把srgr2改成0x00000000也是没有作用,附上alc5621的时序图,麻烦大侠帮我看看是哪里有问题。非常感谢。

Yaoming Qin:

回复 Qi Fu:

确认下,您用的codec是 ti的 alc5621吗?

Qi Fu:

回复 Yaoming Qin:

是用的ti的am3517,codec是realtek的alc5621,

请问如何确认mcbsp_dx数据有没有发送到codec正确?

赞(0)
未经允许不得转载:TI中文支持网 » Alsa Audio驱动问题
分享到: 更多 (0)