当前位置: 首页 > news >正文

建设网站前需要的市场分析企业管理培训课程学习

建设网站前需要的市场分析,企业管理培训课程学习,龙口城乡建设局官方网站,视频网站直播怎么做参考博客: https://blog.csdn.net/DroidPhone/article/details/7165482 (一下内容基本是原博主的博客转载) 文章目录 一、ASOC的由来二、硬件架构三、软件架构四、数据结构五、内核对ASoC的改进 一、ASOC的由来 ASoC–ALSA System on Chip …

参考博客: https://blog.csdn.net/DroidPhone/article/details/7165482
(一下内容基本是原博主的博客转载)

文章目录

  • 一、ASOC的由来
  • 二、硬件架构
  • 三、软件架构
  • 四、数据结构
  • 五、内核对ASoC的改进

一、ASOC的由来

ASoC–ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性:
过去:

  1. Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Linux中有分别针对4个平台的驱动代码。
  2. 音频事件没有标准的方法来通知用户,例如耳机、麦克风的插拔和检测,这些事件在移动设备中是非常普通的,而且通常都需要特定于机器的代码进行重新对音频路劲进行配置。
  3. 当进行播放或录音时,驱动会让整个codec处于上电状态,这对于PC没问题,但对于移动设备来说,这意味着浪费大量的电量。同时也不支持通过改变过取样频率和偏置电流来达到省电的目的

二、硬件架构

在这里插入图片描述

  1. Machine 是指某一款机器,可以是某款设备,某款开发板,又或者是某款智能手机,由此可以看出Machine几乎是不可重用的,每个Machine上的硬件实现可能都不一样,CPU不一样,Codec不一样,音频的输入、输出设备也不一样,Machine为CPU、Codec、输入输出设备提供了一个载体。
  2. Platform 一般是指某一个SoC平台,比如pxaxxx,s3cxxxx,omapxxx等等,与音频相关的通常包含该SoC中的时钟、DMA、I2S、PCM等等,只要指定了SoC,那么我们可以认为它会有一个对应的Platform,它只与SoC相关,与Machine无关,这样我们就可以把Platform抽象出来,使得同一款SoC不用做任何的改动,就可以用在不同的Machine中。实际上,把Platform认为是某个SoC更好理解。
  3. Codec 字面上的意思就是编解码器,Codec里面包含了I2S接口、D/A、A/D、Mixer、PA(功放),通常包含多种输入(Mic、Line-in、I2S、PCM)和多个输出(耳机、喇叭、听筒,Line-out),Codec和Platform一样,是可重用的部件,同一个Codec可以被不同的Machine使用。嵌入式Codec通常通过I2C对内部的寄存器进行控制。

三、软件架构

Codec驱动 ASoC中的一个重要设计原则就是要求Codec驱动是平台无关的,它包含了一些音频的控件(Controls),音频接口,DAMP(动态音频电源管理)的定义和某些Codec IO功能。为了保证硬件无关性,任何特定于平台和机器的代码都要移到Platform和Machine驱动中。所有的Codec驱动都要提供以下特性:
Codec DAI 和 PCM的配置信息;
Codec的IO控制方式(I2C,SPI等);
Mixer和其他的音频控件;
Codec的ALSA音频操作接口;

必要时,也可以提供以下功能:
DAPM描述信息;
DAPM事件处理程序;
DAC数字静音控制
Platform驱动 它包含了该SoC平台的音频DMA和音频接口的配置和控制(I2S,PCM,AC97等等);它也不能包含任何与板子或机器相关的代码。
Machine驱动 Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结合在一起才能完成整个设备的音频处理工作。

四、数据结构

在这里插入图片描述

ASoC把声卡实现为一个Platform Device,然后利用Platform_device结构中的dev字段:dev.drvdata,它实际上指向一个snd_soc_device结构。可以认为snd_soc_device是整个ASoC数据结构的根本,由他开始,引出一系列的数据结构用于表述音频的各种特性和功能。snd_soc_device结构引出了snd_soc_card和soc_codec_device两个结构,然后snd_soc_card又引出了snd_soc_platform、snd_soc_dai_link和snd_soc_codec结构。如上所述,ASoC被划分为Machine、Platform和Codec三大部分,如果从这些数据结构看来,snd_codec_device和snd_soc_card代表着Machine驱动,snd_soc_platform则代表着Platform驱动,snd_soc_codec和soc_codec_device则代表了Codec驱动,而snd_soc_dai_link则负责连接Platform和Codec。

五、内核对ASoC的改进

在这里插入图片描述
由上图我们可以看出,3.0中的数据结构更为合理和清晰,取消了snd_soc_device结构,直接用snd_soc_card取代了它,并且强化了snd_soc_pcm_runtime的作用,同时还增加了另外两个数据结构snd_soc_codec_driver和snd_soc_platform_driver,用于明确代表Codec驱动和Platform驱动。

后续的章节中将会逐一介绍Machine和Platform以及Codec驱动的工作细节和关联

http://www.yayakq.cn/news/428381/

相关文章:

  • 做知乎网站要多少钱百度快照收录
  • 哈尔滨专业做网站怎么做一帘幽梦网站
  • 云开发app站长工具 seo查询
  • 线报网站如何做视觉设计作品集范例
  • wordpress 多租户网络推广优化
  • 北京网站制作很好 乐云践新手工制作小船
  • 网站自己怎么建设科技未来网站建设
  • 东莞手机网站建设在线做漫画网站
  • 柳州住房城乡建设厅官方网站选择好的软件开发培训班
  • 做3d地形比较好的网站crm系统主要干什么的
  • 网站主要栏目网站调用微信js视频
  • 东莞网站建设流程铜川市网站建设
  • 江苏建设信息网官网优化电池充电有必要开吗
  • 做网站都需要自己的服务器吗2022年最新国际新闻
  • 如何规划网站栏目江苏金安建设公司网站
  • 学校网站建设钉钉网站如何做推广效果好
  • google外贸建站手机网站设计公司哪家好
  • 海口cms模板建站中国最新军事新闻
  • 潍坊网站建设wfxtseo搜索引擎网址
  • wordpress网站描述插件你愿不愿意做我女朋友网站
  • 做竞品分析的网站wordpress调用当着文章tag标签
  • 广州市专注网站建设品牌上海今天出什么大事件了
  • 绿色网站风格wordpress上传pdf文档
  • 淘宝怎么做网站网站开发微信支付接入
  • 宽屏企业网站源码网站建设分哪些类别
  • 电子商务网站建设计划高权重域名做网站
  • 上海二手房网站建网站不做广告怎么赚钱
  • 网站备案流程图传奇页游
  • 网站设计制作发展趋势成都便宜网站建设公司哪家好
  • 龙华区住房建设局网站5g创业网站建设