音频的总结

Audio Codec:

                      Audio Codec - 简书 (jianshu.com)

----------------------------

音频编解码器(codec):

                              播放: 数字信号------->模拟声音信号 ---------> 扬声器

                               录音: 麦克风------>模拟信号------->数字信号

codec功能:(简书摘录)

                   

1.对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号

2.对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号

3.对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的

4.对音频信号做出相应的处理,例如音量控制,功率放大,EQ控制等等


Linux节点:

              /dev/snd/*                         声卡节点,由ALSA核心创建和管理

             /dev/snd/controlC0            控制节点,app控制音量等

            /dev/snd/pcmC0D0p          play, 播放设备节点

            /dev/snd/pcmC0D0c          capture, 录音设备节点

prioc和sysfs接口实现:

               /proc/asound 和 /sys/class/sound/

----------------------------

2021/1/6  ,还没搞清楚怎么回事,理解一点记一点自己的想法, 不保证理解正确~ ~

         

在看的平台是,msm8909.

文件:
    kernel/sound/soc/msm/msm8x16.c
    kernel/sound/soc/msm/qdsp6v2
    
    外部codec

分别对应的应该:
        msm8x16.c    ---> msm8x16_asoc_machine_probe --> snd_soc_card ---> machine层

        qdsp6v2      ---> snd_soc_platform ---> platform层

        外部codec是普通的c驱动,i2c驱动 ---> 对应的codec层

         

machine驱动结构:

snd_soc_card
    |
    |-----snd_soc_dai_link
                    |
                    |---------snd_soc_ops
                                    |
                                    |--------- .startup =
                                    |
                                    |--------- .shutdown =


猜你喜欢

转载自blog.csdn.net/John_chaos/article/details/110236689