alsa
文章平均质量分 94
Andy_0755
专注camera、音视频、多媒体、显示部份。android/linux驱动、系统、应用
展开
-
Linux ALSA音频系统:platform,machine,codec
转自https://blog.csdn.net/weixin_41965270/article/details/809060621.前言 本篇结合自己的项目,参考CSDN博主:zyuanyun 来讲解。2.项目平台介绍 Kernel - 4.9 Soc - Amlogic (型号保密) CODEC - npcp215x Machine U...转载 2018-10-10 19:22:19 · 3038 阅读 · 0 评论 -
tinyalsa(tinymix/tinycap/tinyplay/tinypcminfo)
转自https://blog.csdn.net/radianceblau/article/details/64125411 目前linux中主流的音频体系结构是ALSA(Advanced Linux Sound Architecture),ALSA在内核驱动层提供了alsa-driver,在应用层提供了alsa-lib,应用程序只需要调用alsa-lib提供的API就可以完成对底层硬件的操...转载 2018-10-11 09:26:33 · 1209 阅读 · 0 评论 -
ALSA声卡驱动中的DAPM详解之七:dapm事件机制(dapm event)
转载自http://blog.csdn.net/droidphone 前面的六篇文章,我们已经讨论了dapm关于动态电源管理的有关知识,包括widget的创建和初始化,widget之间的连接以及widget的上下电顺序等等。本章我们准备讨论dapm框架中的另一个机制:事件机制。通过dapm事件机制,widget可以对它所关心的dapm事件做出反应,这种机制对于扩充widget的能力非常有用...转载 2018-09-19 15:04:27 · 414 阅读 · 0 评论 -
ALSA声卡驱动中的DAPM详解之六:精髓所在,牵一发而动全身
转载自http://blog.csdn.net/droidphone 设计dapm的主要目的之一,就是希望声卡上的各种部件的电源按需分配,需要的就上电,不需要的就下电,使得整个音频系统总是处于最小的耗电状态,最主要的就是,这一切对用户空间的应用程序是透明的,也就是说,用户空间的应用程序无需关心那个部件何时需要电源,它只要按需要设定好音频路径,播放音频数据,暂停或停止,dapm框架会根据音频...转载 2018-09-19 15:01:21 · 439 阅读 · 0 评论 -
ALSA声卡驱动中的DAPM详解之五:建立widget之间的连接关系
转载自http://blog.csdn.net/droidphone 前面我们主要着重于codec、platform、machine驱动程序中如何使用和建立dapm所需要的widget,route,这些是音频驱动开发人员必须要了解的内容,经过前几章的介绍,我们应该知道如何在alsa音频驱动的3大部分(codec、platform、machine)中,按照所使用的音频硬件结构,定义出相应的w...转载 2018-09-19 14:58:30 · 3026 阅读 · 0 评论 -
ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route
转载自http://blog.csdn.net/droidphone 前几篇文章我们从dapm的数据结构入手,了解了代表音频控件的widget,代表连接路径的route以及用于连接两个widget的path。之前都是一些概念的讲解以及对数据结构中各个字段的说明,从本章开始,我们要从代码入手,分析dapm的详细工作原理: 如何注册widget 如何连接两个widget ...转载 2018-09-19 14:50:30 · 820 阅读 · 0 评论 -
ALSA声卡驱动中的DAPM详解之三:如何定义各种widget
转载自http://blog.csdn.net/droidphone 上一节中,介绍了DAPM框架中几个重要的数据结构:snd_soc_dapm_widget,snd_soc_dapm_path,snd_soc_dapm_route。其中snd_soc_dapm_path无需我们自己定义,它会在注册snd_soc_dapm_route时动态地生成,但是对于系统中的widget和route,...转载 2018-09-19 14:32:18 · 288 阅读 · 0 评论 -
ALSA声卡驱动中的DAPM详解之二:widget-具备路径和电源管理信息的kcontrol
转载自http://blog.csdn.net/droidphone 上一篇文章中,我们介绍了音频驱动中对基本控制单元的封装:kcontrol。利用kcontrol,我们可以完成对音频系统中的mixer,mux,音量控制,音效控制,以及各种开关量的控制,通过对各种kcontrol的控制,使得音频硬件能够按照我们预想的结果进行工作。同时我们可以看到,kcontrol还是有以下几点不足: ...转载 2018-09-19 14:29:08 · 337 阅读 · 0 评论 -
ALSA声卡驱动中的DAPM详解之一:kcontrol
转载自http://blog.csdn.net/droidphoneDAPM是Dynamic Audio Power Management的缩写,直译过来就是动态音频电源管理的意思,DAPM是为了使基于linux的移动设备上的音频子系统,在任何时候都工作在最小功耗状态下。DAPM对用户空间的应用程序来说是透明的,所有与电源相关的开关都在ASoc core中完成。用户空间的应用程序无需对代码做出...转载 2018-09-19 14:26:35 · 1673 阅读 · 0 评论 -
Linux ALSA声卡驱动之三:PCM设备的创建
转载自http://blog.csdn.net/droidphone 1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些...转载 2018-09-03 15:53:26 · 172 阅读 · 0 评论 -
Linux ALSA声卡驱动之二:声卡的创建
转载自http://blog.csdn.net/droidphone 1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。正因为如此,本节中,...转载 2018-09-03 10:29:23 · 192 阅读 · 0 评论 -
Linux ALSA声卡驱动之四:Control设备的创建
转载自http://blog.csdn.net/droidphone 声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALS...转载 2018-09-05 15:10:55 · 138 阅读 · 0 评论 -
Linux ALSA声卡驱动之八:ASoC架构中的Platform
转载自http://blog.csdn.net/droidphone 1. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体...转载 2018-09-11 16:44:14 · 218 阅读 · 0 评论 -
Linux ALSA声卡驱动之七:ASoC架构中的Codec
转载自http://blog.csdn.net/droidphone 1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是: 对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号 对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号 对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接...转载 2018-09-11 16:42:57 · 171 阅读 · 0 评论 -
Linux ALSA声卡驱动之六:ASoC架构中的Machine
转载自http://blog.csdn.net/droidphone 前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的P...转载 2018-09-11 16:41:11 · 329 阅读 · 0 评论 -
Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
转载自http://blog.csdn.net/droidphone 1. ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Codec驱动与SoC CPU的底层耦合过于紧密...转载 2018-09-11 16:17:27 · 136 阅读 · 0 评论 -
Linux ALSA声卡驱动之一:ALSA架构简介
转载自http://blog.csdn.net/droidphone 一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。 在内核设备驱动层,ALSA提供...转载 2018-08-30 10:37:51 · 101 阅读 · 0 评论 -
Linux asoc codec驱动调试小结
转自 https://blog.csdn.net/songche123/article/details/84144014 本篇记录下自己在调试codec驱动时的经验及注意事项,这里主要是放音playback调试需要什么:标准的linux codec驱动,如何编写驱动以后有时间再写一篇吧原理图,需要查看对应的引脚,I2S的clck和data脚以及是否有reset pin脚和pd...转载 2019-02-24 11:30:52 · 465 阅读 · 0 评论