linux驱动程序之-音频子系统(ASOC)
文章平均质量分 77
bingqingsuimeng
这个作者很懒,什么都没留下…
展开
-
S3C2410:DMA介紹(精)
之所以要介绍DMA,因为它对性能太重要了!只有活用了DMA,CPU的性能才能上去!S3c2410有四个DMA,每个DMA支持工作方式基本相同,但支持的source Dest可能略有不同,具体见Datasheet。这里具体DMA CONTROL寄存器(DCON)的配置说明,进而引出DMA的各种工作方式。Atomic transfer:指的是DMA的单次原子操作,它可以是Unit模式(传输转载 2012-12-27 10:11:05 · 3117 阅读 · 0 评论 -
Linux ALSA声卡驱动之三:PCM设备的创建
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,转载 2012-12-17 11:17:19 · 1029 阅读 · 0 评论 -
Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
1. ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Lin转载 2012-12-17 11:20:49 · 928 阅读 · 0 评论 -
Linux ALSA声卡驱动之六:ASoC架构中的Machine
前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结转载 2012-12-17 11:21:26 · 970 阅读 · 0 评论 -
Linux ALSA声卡驱动之一:ALSA架构简介
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project转载 2012-12-17 11:13:09 · 1047 阅读 · 0 评论 -
Linux ALSA声卡驱动之二:声卡的创建
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创转载 2012-12-17 11:15:52 · 1086 阅读 · 0 评论 -
Linux ALSA声卡驱动之八:ASoC架构中的Platform
1. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体实现上,ASoC有把Platform驱动分为两个部分:snd_soc_pl转载 2012-12-17 11:23:53 · 1259 阅读 · 0 评论 -
Linux ALSA声卡驱动之四:Control设备的创建
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过contr转载 2012-12-17 11:18:11 · 789 阅读 · 0 评论 -
Linux ALSA声卡驱动之七:ASoC架构中的Codec
1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的对音频信号做出相应的处理转载 2012-12-17 11:23:15 · 1554 阅读 · 0 评论 -
Linux alsa驱动中的CODEC寄存器配置问题
调试Audio CODEC时,有时候需要读codec寄存器的值以确认是否配置寄存器成功。 记得之前调试wm8978时,发现这个CODEC的寄存器不能读,每次读的结果都是0xff. 后来在linux上调试wm8978时,用snd_soc_read()又能读到所配置的值,感觉很诧异。当时也没有细究。 这两天有空,在linux内核中看了一下相关代码,发现关于通过I2C读写CODEC的代码在转载 2012-12-20 15:31:16 · 1587 阅读 · 0 评论 -
Linux音频编程-OSS编程-alsa编程
虽说alsa的API才是Linux音频编程的未来,但是alsa和OSS相兼容的接口正是我们编程时用到最多的。。特此献上。。OSS(Open Sound System)是 unix 平台上一个统一的音频接口, 即只要音频处理应用程序按照OSS的API来编写,那么在移植到另外一个平台时,只需要重新编译即可。OSS(Open Sound System)是unix平台上一个统一的音转载 2013-01-07 10:38:10 · 4234 阅读 · 0 评论 -
linux_sound_alsa_Android+alsa音频系统中的几个问题
1.Android+alsa音频体系大体结构: 从alsa的角度由下往上看:linux中有alsa驱动层,其中,/sound/core/pcm_native.c文件中的snd_pcm_f_ops是alsa驱动层对alsa_lib层的接口;Android中有alsa_lib层(在donut/external/alsa_lib目录下)和alsa应用层; 从Android的角度由转载 2012-12-26 10:46:18 · 2519 阅读 · 0 评论 -
alsa 音频路径的问题:
alsa 音频路径的问题:在sound/soc/codecs目录中有很多音频codec的codec驱动,我使用的是wm9713,AP是s3c6410;这里个驱动文件中定义了很多widget和control,alsa在playback或record的时候,sound/soc/soc-dapm.c中的dapm_power_widgets函数会根据“配置情况”打开相应的widget,搭建一个完整的音转载 2012-12-26 10:16:00 · 3799 阅读 · 0 评论 -
L3-接口
L3-接口 L3-interface是一种串行接口,最常见的实例是UDA1341TS中连接microcontroller和UDA1341TS的接口。 当然,L3有3根引脚: · L3DATA: microcontroller interface data line · L3MODE: microcontroller interface mode li转载 2012-11-15 09:54:37 · 2074 阅读 · 0 评论 -
uda1341原理及驱动
现在主流的音频总线接口有IIS和AC97(Audio Codec)。一。IIS是由sony和PILIPS公司共同推出的一套标准。 IIS有3--5根物理连线 IIsDI:串行数据输入 IISDO:串行数据输出 IISSCLK:为串行数据提供位时钟。IISSCLK=声道数*采样频率*采用位数。如:fs=44.1Khz 声道数位2.采样位数为16转载 2012-11-15 10:07:40 · 4224 阅读 · 0 评论 -
linux音频alsa-uda134x驱动分析之三(解码器)
ASoC Codec DriverASoC解码器驱动=================The codec driver is generic and hardware independent code that configures thecodec to provide audio capture and playback. It should contain no code转载 2012-11-14 12:31:33 · 1601 阅读 · 0 评论 -
linux音频alsa-uda134x驱动文档阅读之四(数字音频接口)
转自:http://blog.chinaunix.net/uid-22917448-id-1765505.htmlASoC currently supports the three main Digital Audio Interfaces (DAI) found onSoC controllers and portable audio CODECs today, namely A转载 2012-11-14 13:53:05 · 1060 阅读 · 0 评论 -
linux音频alsa-uda134x驱动分析之二(时钟)
Audio Clocking音频时钟==============This text describes the audio clocking terms in ASoC and digital audio ingeneral. Note: Audio clocking can be complex!本文本总体描述ASoC和数字音频中的音频时钟条款。Note:Audi转载 2012-11-14 12:10:16 · 1240 阅读 · 0 评论 -
音频电源动态管理(一)---国人当自强
直接来自内核的\Documentation\sound\alsa\soc中dapm.txt1.描述音频电源动态管理(DAPM)的目的是为了在音频子系统中允许便携式的linux设备一直使用最小的电量。它独立于其它内核电源管理,因此可以很方便的和其它电源管理系统共存。DAPM对于所有用户空间的程序也是完全透明的,因为所有的电源开关都是由ASoC core来切换的。用户空间的程序 不需要改变原创 2012-12-21 23:16:03 · 1490 阅读 · 0 评论 -
snd_kcontrol探究
目录(?)[+]control控制接口控制接口对于许多开关(switch)和调节器(slider)应用广泛,它能被用户空间存取,从而读写CODEC相关寄存器。control的主要用于mixer。它用snd_kcontrol_new结构体描述。snd_kcontrol_new[cpp] view plaincopy转载 2012-12-24 16:23:53 · 797 阅读 · 0 评论 -
DAPM之三:audio paths与asound.conf
其实asound.conf真跟dapm没多大关系,之所以把它也纳入dapm系列之一,是为了考虑到知识的连贯性。在DAPM之二:AUDIO PATHS与dapm kcontrol>提到:通过配置好asound.conf,上层则可打开asound.conf中定义的虚拟设备,而自动选择相应的音频通道。这是asound.conf很重要的一个作用,从这方面来说,并不是跟dapm完全没关系。 一、认识转载 2012-12-24 17:04:47 · 831 阅读 · 0 评论 -
Linux驱动的开发与移值——为Tiny210加入AC97驱动Wm9713
文章目的:记录声卡驱动开发的学习过程,本文只是讲解了声卡驱动开发过程中的驱动的基本文件体系结构,暂没有对内核增加新的代码。通过简单的修改配置,让Tiny210具备Ac97的驱动,兼容Tiny6410的声卡芯片Wm9713。上一篇文章《Linux驱动的开发与移值——分析Tiny210的声卡驱动模块》地址:http://blog.csdn.net/koy0755/article/details转载 2012-12-24 16:02:41 · 1317 阅读 · 0 评论 -
DAPM之二:audio paths与dapm kcontrol
在用alsa_amixer controls时,除了我们之前提到的snd_soc_add_controls添加的kcontrols外,还有一些多出来的controls。其实多出来的那些都是属于dapm kcontrol,主要用于切换音频路径。 一、AUDIO PATHS OVERVIEW以标准内核2.6.32的wm8900 codec为例。先看AUDIO P转载 2012-12-24 16:56:11 · 778 阅读 · 0 评论 -
linux_sound_alsa_ALSA体系SOC子系统中hw_params逻辑
linux/sound目录下ALSA体系SOC子系统中hw_params逻辑链接分析: core/pcm_native.c文件中snd_pcm_hw_params()函数调用err = substream->ops->hw_params(substream, params)。根据soc/soc-core.c文件中snd_pcm_set_ops(pcm, SNDRV_PCM_STR转载 2012-12-26 10:49:46 · 4463 阅读 · 0 评论 -
linux_sound_alsa_ALSA体系SOC子系统中数据流分析
前言: linux中,无论是oss还是alsa体系,录音和放音的数据流必须分析清楚。先分析alsa驱动层,然后关联到alsa库层和应用层。 链接分析: core/pcm_native.c文件中.mmap = snd_pcm_mmap调用snd_pcm_mmap_data(substream, file, area);进一步调用substream->ops->mmap转载 2012-12-26 10:40:10 · 2177 阅读 · 1 评论 -
FS_S5PC100平台上WM9714 ALSA音频移植
FS_S5PC100平台上WM9714 ALSA音频移植 一、驱动的移植 这个驱动在内核中支持,我们只需要进行简单的配置就行了,配置如下: $ make menuconfig Device Drivers ---> Sound card support ---> Advanced Linux Soun转载 2012-12-26 10:06:48 · 1750 阅读 · 0 评论 -
linux音频alsa-uda134x驱动分析之一(over-view)
原文地址:linux音频alsa-uda134x驱动分析之一(over-view) 作者:nearfuture_qinyaomin前言目前,linux系统常用的音频驱动有两种形式:alsa oss alsa:现在是linux下音频驱动的主要形式,与简单的oss兼容。oss:过去的形式而我们板子上的uda1341用的就是alsa驱动。als转载 2012-11-14 11:32:38 · 1842 阅读 · 0 评论