配色: 字号:
ASOC 架构音频文档
2013-01-08 | 阅:  转:  |  分享 
  
www.wolfsonmicro.com1

LinuxAudioforSmartphones

Systemintegrationbasics

April2011?2011WolfsonMicroelectronicsplc

www.wolfsonmicro.com

?Androidaudiostackoverview

?Modernsmartphoneaudiosubsystems

?Traditionalsolutions

?ASoC–theLinuxsolution

?Designoverview

?Briefintroductiontochipdrivers

?Walkthroughofsystemaudiodriverconstruction

?Debuggingtips

?Futuredirections

Overview

2?2011WolfsonMicroelectronicsplcApril2011

www.wolfsonmicro.com

Androidaudiostack

3?2011WolfsonMicroelectronicsplcApril2011

MediaPlayer

MediaRecorder

AudioFlinger

libaudio

Applications

www.wolfsonmicro.com

Modernsmartphoneaudiosubsystems

4April2011?2011WolfsonMicroelectronicsplc

CPU

Mixing

Earpiece

HDMI

Speaker

HeadsetDock

BluetoothCellularmodem

DSP

www.wolfsonmicro.com

Flexibilityandcomplexity

5?2011WolfsonMicroelectronicsplcApril2011

www.wolfsonmicro.com

Traditionaldrivermodel

6?2011WolfsonMicroelectronicsplcApril2011

MemoryProcessingAnalogue

www.wolfsonmicro.com

?Monolithicdriverforeachcard

?Nostructureformanagingoff-CPUhardware

?Verylittlereuse

?Tightcouplingbetweenapplicationandkernelcode

?Per-usecaseregistersettings

?Detailedregisterlevelknowledgeofcomponents

?Timeconsuming

Traditionaldrivermodel

7?2011WolfsonMicroelectronicsplcApril2011

www.wolfsonmicro.com

?ASoCembeddedaudioframework

?Mergedsince2.6.21,April2007

?ProvidesstandardALSAinterfacetoapplications

?Reusabledriversforeachchip

?Minimalper-systemdrivers

?Usecaseconfigurationdonebyuserspace

?Automaticandtransparentpowermanagement

?Morereuse,lesscoupling

TheLinuxsolution

8?2011WolfsonMicroelectronicsplcApril2011

www.wolfsonmicro.com

?Looksforaudiopathsconnectinginputstooutputs

?Powersonlycomponentsinanactivepath

?AutomaticallyactivatesDACsandADCs

DynamicAudioPowerManagement

9?2011WolfsonMicroelectronicsplcApril2011

FMradio

DAC

Mixer

Speaker

Headset

www.wolfsonmicro.com

?Fourclassesofcontrol

?Audioprocessingcontrols(eg,volume,effects)

?Audioroutingcontrols(DAPMcontrolsandroutes)

?Powercontrols(DAPMwidgets,bias)

?Streamcontrol(Digitalaudiostreaming)

?Mostlydirectmappingintoregistermap

?SOC_DOUBLE_R_TLV("DAC1Volume",WM8994_DAC1_LEFT_VOLUME,

WM8994_DAC1_RIGHT_VOLUME,1,96,0,digital_tlv),

ASoCCODECdrivers

10?2011WolfsonMicroelectronicsplcApril2011

www.wolfsonmicro.com

http://opensource.wolfsonmicro.com/content/speyside-audio

Driverintegrationwalkthrough

11?2011WolfsonMicroelectronicsplcApril2011

S3C6410/

WM0010

WM8915

CODEC

“Baseband”

WM9081

Amplifier

Headset

Speaker

Subwoofer

Mics

www.wolfsonmicro.com

?AudioPolicyManagerandAudioHardware

?platform/hardware/alsa_sound–GenericALSA,asound.conf,LGPL

?devices/samsung/crespo–NexusS,hardcoded,Apachelicensed

?Gettingusecases

?Devicesspecifiedwhenstreamsareopened

?setMode()

?Applyingusecases

?Runexternalutilities

?Useasound.conf

?CallrawALSAcontrolAPIs

?ApplysettingswithALSAUCM

?Usingcommonbaseusecaseshelps

Applicationlayer

12?2011WolfsonMicroelectronicsplcApril2011

www.wolfsonmicro.com

?Dataindebugfs

?CONFIG_DEBUG_FS

?mount–tdebugfs/dev/null/debug

?codec_reg–Registermap

?dapm_pop_time–logsequences

?dapmdirectory

SPKL:Offin0out1

in"DAC2L""DAC2L"

out"static""SPKLPGA"

?Tools:

?git://git.opensource.wolfsonmicro.com/asoc-tools.git

Debuggingtips-DAPM

13?2011WolfsonMicroelectronicsplcApril2011

www.wolfsonmicro.com

?Audiostuck–checkclocking

?Silentaudio–checkvolumesandmutes

?Usebypasspathstobisect

?Turnvolumesuptomaximum

?Makesuremachinedriverscheckerrorcodes

?Checkkernellogsforerrors

?2.6.38andlatersupporttracepoints

?http://www.sirena.org.uk/log/2011/01/22/tracing-asoc-with-trace-points/

Debuggingtips-general

14?2011WolfsonMicroelectronicsplcApril2011

www.wolfsonmicro.com

?Nicerhandlingofdigitalbasebands

?ResolveheadsetdetectionAPIcompatibility

?GreateruseofDSP

?Enhancedfeatures–ambientnoisecancellation,beamforming,

offloadeddecompression,speakercompensation

?Evenmoredynamicreconfigurationoftheaudiosubsystem

?Coefficientmanagementandin-systemcalibration

?Usecasedevelopmentandmanagement

?MediacontrollerAPI

?Userinterfacesforconfigurationdevelopment

?ASoCconference,4th-5thMay

?http://www.slimlogic.co.uk/?p=268

Futurework

15?2011WolfsonMicroelectronicsplcApril2011

献花(0)
+1
(本文系大机器人首藏)