Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC).pdfVIP

Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC).pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC).pdf

Art icles f rom LinkSprite学学习习中中心心 Linux ALSA声声卡卡驱驱动动之之五五 ::移移动动设设备备中中的的 ALSA ((ASoC)) 2014- 03- 08 17:03:52 z o u , baoz hu 1. ASoC的的由由来来 ASoC–ALSA Syst em on Chip ,是建立在标准ALSA驱动层上 ,为了 更 地支持嵌入式处理器和移动设备中的音频Co ec的一套软件体 系。在ASoc出现之前 ,内核对于SoC中的音频已经有部分的支持 ,不 过会有一些局限性 : Co ec驱动与SoC CPU的底层耦合过于紧密 ,这种不理想会导致代码的重 复 ,例如 ,仅是wm8731的驱动 ,当时Linux中有分别针对4个平台的驱动代 码。 音频事件没有标准的方法来通知用户 ,例如耳机、麦克风的插拔和检测 , 这些事件在移动设备中是非常普通的 ,而且通常都需要特定于机器的代码进 行重新对音频路劲进行配置。 当进行播放或录音时 ,驱动会让整个co ec处于上电状态 ,这对于PC没问 题 ,但对于移动设备来说 ,这意味着浪费大量的电量。同时也不支持通过改 变过取样频率和偏置电流来达到省电的目的。 ASoC正是为了解决上述种种问题而提出的 ,目前已经被整合至内核的 代码树中 :soun /soc 。ASoC不能单独存在 ,他只是建立在标准ALSA 驱动上的一个它必须和标准的ALSA驱动框架相结合才能工作。 2. 硬硬件件架架构构 通常 ,就像软件领域里的抽象和重用一样 ,嵌入式设备的音频系统可 以被划分为板载硬件 (Machine )、Soc (Plat f orm )、Co ec三大部 分 ,如下图所示 : 图2.1 音频系统结构 Machine 是指某一款机器 ,可以是某款设备 ,某款开发板 ,又或者是某款智 能手机 ,由此可以看出Machine几乎是不可重用的 ,每个Machine上的硬件实 现可能都不一样 ,CPU不一样 ,Co ec不一样 ,音频的输入、输出设备也不 一样 ,Machine为CPU、Co ec 、输入输出设备提供了一个载体。 Platf orm 一般是指某一个SoC平台 ,比如pxaxxx ,s3cxxxx ,omapxxx等 等 ,与音频相关的通常包含该SoC中的时钟、DMA 、I2S、PCM等等 ,只要 指定了SoC ,那么我们可以认为它会有一个对应的Plat f orm ,它只与SoC相 关 ,与Machine无关 ,这样我们就可以把Plat f orm抽象出来 ,使得同一款 SoC不用做任何的改动 ,就可以用在不同的Machine中。实际上 ,把 Plat f orm认为是某个SoC更 理解。 Codec 字面上的意思就是编解码器 ,Co ec里面包含了I2S接口、D/A 、 A/D、Mixer、PA (功放 ) ,通常包含多种输入 (Mic 、Line- in、I2S、PCM) 和多个输出 (耳机、喇叭、听筒 ,Line-out ) ,Co ec和Plat f orm一样 ,是 可重用的部件 ,同一个Co ec可以被不同的Machine使用。嵌入式Co ec通 常通过I2C对内部的寄存器进行控制。 3. 软软件件架架构构 在软件层面 ,ASoC也把嵌入式设备的音频系统同样分为3大部 分 ,Machine ,Plat f orm和Co ec 。 Codec驱动 ASoC中的一个重要设计原则就是要求Co ec驱动是平台无关 的 ,它包含了一些音频的控件 (Cont rols ) ,音频接口 ,DAMP

文档评论(0)

尐丶丑 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档