【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

一、 开门见山

这里介绍下声音如何从文件系统比如sd卡送到喇叭的。

示意图如下:

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

简单引申点音频知识点。

ASOC 主要部件

1,alsa lib

   配合 注册的snd_platform(pcm设备),把数据传到kernel.

   DAI(digital* audio interface)

   确认cpu dai, codec dai. 

2, snd_soc_platform driver( 通常都是一些数据搬运的操作,数据从内存搬到 cpu dai)

3, snd_soc_codec driver (比较独立的一个东西,模数转换,音频信号 路由配置。codec厂商封装的比较号,可重用,配置一下dai link 基本上就可以了)

4,snd_soc_machine driver (耦合器,连接snd_platform,soc_codec,控制板级的资源,gpio, regulator,如pa开关,注册声卡等)

搞audio要理解ASOC的上面组件,DAPM等

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

二、 用户空间数据流代码流程

跟踪下tinyplay代码流程如下:

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

 

继续追踪如下:

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

代码再往下到达kernel代码。

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

SOC Platform驱动

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

继续追踪如下:

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

继续追踪:

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

继续追踪到Codec Driver

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

这里就开始了CODEC内部的音频链路配置

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

然后是Machine Driver

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?

到此介绍结束。

【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK?【Qualcomm高通音频】音频数据如何从SDCARD层送到SPK? Rock 自律 发布了60 篇原创文章 · 获赞 65 · 访问量 1万+ 私信 关注
上一篇:【Qualcomm高通音频】如何通过上层代码修改dump音频数据流进行问题分析呢?


下一篇:WIFI 第一章 Qualcomm WIFI CMD