一、 开门见山
这里介绍下声音如何从文件系统比如sd卡送到喇叭的。
示意图如下:

简单引申点音频知识点。
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等

本文深入探讨ASOC(Audio System On Chip)音频子系统的架构与工作原理,详细讲解了alsalib、DAI、soc_platformdriver、soc_codecdriver及soc_machinedriver等关键组件的作用,以及它们在音频信号从文件系统传输到扬声器过程中的角色。通过tinyplay代码流程跟踪,揭示了用户空间数据流在ASOC中的传递路径。

2223

被折叠的 条评论
为什么被折叠?



