• 对soc-audio体系snd_soc_machine和snd_soc_dai_link简单理解


    ASOC (ALSA system on chip)              // 主要为嵌入式系统专门开发的sound管理体系结构[luther.gliethttp].
    Digital Audio Interface (DAI) types
    /* SoC machine */
    struct snd_soc_machine {                // snd_soc_machine集cpu内部音频控制逻辑和cpu外部音频解码芯片通信逻辑于一体[luther.gliethttp].
        ......                              // audio machine driver表示音频设备结构体,我的ep9312作为一个arm-SoC芯片,
                                            // 就是这里的machine,一个machine当然要包含自己内部的音频控制接口单元--cpu_dai和
                                            // 外部音频设备通信协议转换接口单元--codec_dai这两部分,这样ep9312才能使用自己
                                            // 内部的一个音频控制通道,通过数据交互总线协议(如:PCM,IIS或AC97)
                                            // 控制接口单元--codec_dai,向外部的具体芯片发送或接收音频数据[luther.gliethttp].
        /* CPU <--> Codec DAI links  */
        struct snd_soc_dai_link *dai_link;  // 核心单元,一个黏结器,黏结了cpu内部音频控制器接口和arm开发板中cpu外置音频解码芯片通信接口
        int num_links;
    };
    /* SoC machine DAI configuration, glues a codec and cpu DAI together */
    struct snd_soc_dai_link  {              // 当然就是指该SoC芯片的DAI接口链接了,它主要包含下面2个内容.cpu_dai和.codec_dai
        ......
        /* DAI */
        struct snd_soc_codec_dai *codec_dai;// cpu外置的解码芯片的DAI数字音频控制接口[luther.gliethttp]
        struct snd_soc_cpu_dai *cpu_dai;    // cpu内部支持的DAI数字音频控制接口,比如ssp,IIS等
        ......                              // cpu_dai和codec_dai将被强制绑定在一起,实现一对一,点对点数据和控制信息彼此交互.
    }

  • 相关阅读:
    并发编程三、线程可见性的底层原理
    并发编程二、线程的安全性和线程通信
    并发编程一、多线程的意义和使用
    Java进程监控
    分布式消息通信之RabbitMQ_Note
    分布式消息通信之RabbitMQ_02
    分布式消息通信之RabbitMQ_01
    分布式消息通信之RabbitMQ Tutorials
    SpringMVC重点分析
    Apache POI 4.0.1版本读取本地Excel文件并写入数据库(兼容 xls 和 xlsx)(五)
  • 原文地址:https://www.cnblogs.com/Ph-one/p/6668730.html
Copyright © 2020-2023  润新知