日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux音频alsa驱动分析之一(over-view)

發布時間:2023/12/9 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux音频alsa驱动分析之一(over-view) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載地址:https://blog.csdn.net/lininglive/article/details/52149807

原文來源不記得了,忘作者見諒,保存下來以備自己溫習,也方便大家查閱!


ALSA SoC Layer

ALSA板上系統層
==============


The overall project goal of the ALSA System on Chip (ASoC) layer is to
provide better ALSA support for embedded system-on-chip processors (e.g.
pxa2xx, au1x00, iMX, etc) and portable audio codecs. ?Prior to the ASoC
subsystem there was some support in the kernel for SoC audio, however it
had some limitations:-
ALSA片上系統(ASoC)層的總體項目目標,是為對SOC嵌入式處理器和便攜音頻解碼器提供更好的ALSA支持。在ASoC子系統之前,己有對內核的SoC音頻支持,但是那些支持存在一些局限:
Codec drivers were often tightly coupled to the underlying SoC
? ? CPU. This is not ideal and leads to code duplication - for example,
? ? Linux had different wm8731 drivers for 4 different SoC platforms.
解碼器常常與底層嵌入式處理器一對一緊密結合。這是非理想化的,因為這將導致代碼的重復-例如,對四個不同的嵌入式平臺,Linux要有不同的wm8731驅動。(理想的狀態是我們可以只有一個wm8731的驅動代碼,就可以對應于四個不同的處理器,但由上面說的,解碼器-這里的wm8731與底層嵌入式處理器結合過于緊密,無法實現wm8731驅動代碼的復用)


? * There was no standard method to signal user initiated audio events (e.g.
? ? Headphone/Mic insertion, Headphone/Mic detection after an insertion
? ? event). These are quite common events on portable devices and often require
? ? machine specific code to re-route audio, enable amps, etc., after such an
? ? event.
沒有一個標準的方法可以產生用戶初始化音頻事件的信號(即,耳機/麥克插入,響應插入事件的耳機/麥克探測)。這些在便攜設備上都是十分常見的事件并且在這些事件之后經常需要機器相關的代碼來對音頻重設路徑,開啟放大器等。


? * Drivers tended to power up the entire codec when playing (or
? ? recording) audio. This is fine for a PC, but tends to waste a lot of
? ? power on portable devices. There was also no support for saving
? ? power via changing codec oversampling rates, bias currents, etc.
放音(錄音)時,驅動常常會打開整個解碼器。對個人電腦來說這沒什么問題,但是在便攜設備上往往會導致電能的浪費。另外,也沒有通過改變解碼器采樣率、偏置電流等方式來省電的支持。




ASoC Design
ASoC 設計
===========


The ASoC layer is designed to address these issues and provide the following
features :-
ASoC層被設計用來解決這些問題并提供如下特性:


? * Codec independence. Allows reuse of codec drivers on other platforms
? ? and machines.
解碼器獨立。允許在其它平臺或機器上重用解碼器驅動。


? * Easy I2S/PCM audio interface setup between codec and SoC. Each SoC
? ? interface and codec registers it's audio interface capabilities with the
? ? core and are subsequently matched and configured when the application
? ? hardware parameters are known.
解碼器與SoC的I2S/PCM音頻接口設置很容易。每個SoC接口與解碼器都向ALSA核心注冊它的音頻接口能力,而且應用硬件參數己知時順序匹配并配置。


? * Dynamic Audio Power Management (DAPM). DAPM automatically sets the codec to
? ? its minimum power state at all times. This includes powering up/down
? ? internal power blocks depending on the internal codec audio routing and any
? ? active streams.
動態音頻電源管理(DAPM)。DAPM自動無論何時,總是把解碼器自動設置為它的最小電源狀態。這包括依據內部解碼音頻線路和活躍的流來開啟和關閉內部電源模塊


? * Pop and click reduction. Pops and clicks can be reduced by powering the
? ? codec up/down in the correct sequence (including using digital mute). ASoC
? ? signals the codec when to change power states.
咔嗒聲減少。咔嗒聲可以通過使用正確的解碼器電源開啟和關閉順序而減少(包括使用數字消音)。ASoC在改變電源狀態時向解碼器發出信號。


? * Machine specific controls: Allow machines to add controls to the sound card
? ? (e.g. volume control for speaker amplifier).
機器相關的控制:允許機器增加對聲卡的控制。(如揚聲器放大器的音量控制)。


To achieve all this, ASoC basically splits an embedded audio system into 3
components :-
要實現這些,ASoC基本上將嵌入式音頻系統分為3個部分:


? * Codec driver: The codec driver is platform independent and contains audio
? ? controls, audio interface capabilities, codec DAPM definition and codec IO
? ? functions.
解碼器驅動:解碼器驅動是平臺無關的,包含音頻控制、音頻接口能力、解碼器動態音頻電源管理和解碼器IO函數。




? * Platform driver: The platform driver contains the audio DMA engine and audio
? ? interface drivers (e.g. I2S, AC97, PCM) for that platform.
平臺驅動:平臺驅動包含相應平臺的音頻DMA引擎和音頻接口驅動(如I2S,AC97,PCM)


? * Machine driver: The machine driver handles any machine specific controls and
? ? audio events (e.g. turning on an amp at start of playback).
機器驅動:機器驅動處理所有機器相關的控制和音頻事件(如回放開始時打開放大器)。






Documentation
文檔
=============


The documentation is spilt into the following sections:-
本文檔分成如下部分:


overview.txt: This file.
overview.txt:概述,本文件。
codec.txt: Codec driver internals.
codec.txt:解碼器驅動內部實現


DAI.txt: Description of Digital Audio Interface standards and how to configure
a DAI within your codec and CPU DAI drivers.
DAI.txt:對數字音頻接口(DAI)標準和如何配置你的解碼器和CPU的數字音頻接品驅動中的數字音頻接口的描述。


dapm.txt: Dynamic Audio Power Management
dapm.txt:動態音頻電源管理


platform.txt: Platform audio DMA and DAI.
platform.txt:平臺音頻DMA和DAI。


machine.txt: Machine driver internals.
machine.txt:機器驅動內容介紹。


pop_clicks.txt: How to minimise audio artifacts.
pop_clicks.txt:如何最小化音步噪聲。


clocking.txt: ASoC clocking for best power performance.
clocking.txt:最佳電源表現下的ASoC時鐘

總結

以上是生活随笔為你收集整理的linux音频alsa驱动分析之一(over-view)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩一区在线看 | 天天舔天天舔 | 久久国产热视频 | 国产精品香蕉国产 | 印度午夜性春猛xxx交 | 操三八男人的天堂 | 美女乱淫 | 美女张开腿露出尿口 | 各种含道具高h调教1v1男男 | 朱竹清到爽高潮痉挛 | 青青草狠狠操 | 日韩免费精品 | 天天影视色 | 日韩一三区 | 国产调教打屁股xxxx网站 | 巨乳女教师的诱惑 | 久久精品女人毛片国产 | 咪咪色图 | av在线激情| 国产精品自拍电影 | 亚洲精品国偷拍自产在线观看蜜桃 | 青春草视频在线免费观看 | 亚洲无码高清精品 | 美国成人av | 美女国产毛片a区内射 | 久久香蕉热 | 玖玖爱免费视频 | 超碰2019| 国产成人无码精品久久 | 欧美性教育视频 | 人人cao | 黄色伊人网 | 夜夜天天拍拍 | 人妖粗暴刺激videos呻吟 | 亚洲欧美日韩中文字幕在线观看 | 国产一区二区三区精品愉拍 | 久久婷婷五月国产色综合激情 | 天堂中文在线官网 | 欧美一性一交 | 亚洲偷 | 极品少妇xxxx精品少妇偷拍 | 91av视频在线观看 | 一区二区黄色片 | 免费色av | 欧美激情免费在线观看 | 午夜宫 | 国产精品日韩欧美大师 | 午夜视频免费看 | 91成人在线免费观看 | 国产精品麻豆视频 | 老司机激情影院 | 中文字母av | 成人熟女一区二区 | 亚洲精品午夜国产va久久成人 | 亚洲成人av电影在线 | 男插女青青影院 | 丁香六月五月婷婷 | 老司机免费在线视频 | 日韩av免费在线观看 | 成人久久网站 | 一区二区在线 | 91青青草| 老色批永久免费网站www | 一区二区三区亚洲 | 天天爽夜夜爽夜夜爽精品视频 | 色欲国产精品一区二区 | 欧美视频免费看欧美视频 | 极品美女开粉嫩精品 | 饥渴少妇勾引水电工av | 欧美黄色录像 | 丰满少妇在线观看bd | 国产精品女同一区二区 | 国产男女猛烈无遮挡免费观看网站 | 日韩中文av | 在线观看的av网站 | 久久成人精品一区二区 | 国产伦精品一区二区三区视频痴汉 | 在线天堂www在线国语对白 | 午夜影视在线观看 | 国产a视频免费观看 | 我想看毛片 | 亚洲欧美成人一区二区 | 国产亚洲精品码 | cao死你| 内射一区二区 | 国产av剧情一区 | 成人免费久久 | 国产做爰高潮呻吟视频 | 大乳女喂男人吃奶视频 | 99久久精品久久久久久清纯 | 97人妻精品一区二区三区 | 精品视频91 | 成人h视频在线 | 色妻av | 白丝美女喷水 | 韩国成年人网站 | 嫩草嫩草嫩草嫩草嫩草嫩草 | 亚洲av人无码激艳猛片服务器 | 床戏高潮做进去大尺度视频网站 |