IMX6Q输出音频过快,无法正常播放音乐

编程入门 行业动态 更新时间:2024-10-27 00:23:32

IMX6Q输出音频<a href=https://www.elefans.com/category/jswz/34/1768630.html style=过快,无法正常播放音乐"/>

IMX6Q输出音频过快,无法正常播放音乐

某方案采用MCU控制TEF6638芯片输出音频,SOC侧仅输出音频信号(I2S格式)。

根据硬件方案,SOC侧只需要提供提供I2S音频信号,同时只能通过SOC侧来提供时钟,所以在确认了I2S引脚配置之后,要先将音频时钟方向做修改
修改imx-tef6635.c中的imx_audmux_config函数

static int imx_audmux_config(int slave, int master)
{unsigned int ptcr, pdcr;slave = slave - 1;master = master - 1;/* SSI1 MASTERED BY PORT 3 ,mx6 sipply pcm clock。*/ptcr =  MXC_AUDMUX_V2_PTCR_SYN;pdcr = MXC_AUDMUX_V2_PDCR_RXDSEL(master);mxc_audmux_v2_configure_port(slave, ptcr, pdcr);ptcr =MXC_AUDMUX_V2_PTCR_SYN    |MXC_AUDMUX_V2_PTCR_TFSDIR |    MXC_AUDMUX_V2_PTCR_TFSEL(slave) |MXC_AUDMUX_V2_PTCR_TCLKDIR |MXC_AUDMUX_V2_PTCR_TCSEL(slave);pdcr = MXC_AUDMUX_V2_PDCR_RXDSEL(slave);mxc_audmux_v2_configure_port(master, ptcr, pdcr);return 0;
}

ALSA 音乐播放过快问题
在开发阶段发现I2S可以输出信号,但是由于速率过快无法正常播放,达到20M左右。所以逐步检查配置。
1、 对比自己设备和其他设备的时钟设置,发现初始化的时候没有对应的时钟配置过程
2、 在tef6638_data结构中添加mx6_sabresd_tef6638_init函数
3、 修改imx-tef6638中的imx_tef6638_hw_params,添加正确的snd_soc_dai_set_sysclk

//设置该SSI的时钟频率
snd_soc_dai_set_tdm_slot //设置TDM,如果不做设置,LRCK信号没有
switch (channels) {case 2:snd_soc_dai_set_tdm_slot(cpu_dai, 0xfffffffc, 0xfffffffc, 2, 32);break;case 1:snd_soc_dai_set_tdm_slot(cpu_dai, 0xfffffffe, 0xfffffffe, 2, 32);break;default:return -EINVAL;}
//设置CPU侧I2S format
snd_soc_dai_set_fmt//设置DAI format
dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_IF |SND_SOC_DAIFMT_CBS_CFS;
ret = snd_soc_dai_set_fmt(cpu_dai, dai_format);
//设置I2S时钟及分频系数
//snd_soc_dai_set_clkdiv 
//函数参数为:dai: DAI div_id: DAI specific clock divider ID div: new clock divisor.
snd_soc_dai_set_clkdiv(cpu_dai, IMX_SSI_TX_DIV_PM, 4);
//设置I2S时钟基准
//snd_soc_dai_set_sysclk
//由soc输出时钟,clk为SSP系统时钟,频率为clk
sample_rate=params_rate(params);
clk = sample_rate*64*4;
ret=snd_soc_dai_set_sysclk(cpu_dai,IMX_SSP_SYS_CLK,clk,SND_SOC_CLOCK_OUT);
完成设置后可以正常输出播放音频所需要的时钟信号。

更多推荐

IMX6Q输出音频过快,无法正常播放音乐

本文发布于:2024-03-10 02:46:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1726812.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:过快   无法正常   音频   音乐   IMX6Q

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!