展锐平台音频框架

Audio DT介绍

1.概述

DT(Device Tree)是一种描述硬件的数据结构,DTS即设备树源码。

2.Audio DTS 文件架构

\bsp\kernel\kernel.4.14\arch\arm64\boot\sprd

ums512.dts //SOC级相关节点

------sc2730.dtsi //Codec

------sharkl5Pro.dtsi //Platform、VBC、I2S、audio misc

------sprd-sound-fe-be.dtsi //headset\sound card

------extra_sound_card_component.dtsi //Ext Smart PA 的dai-link

如果同一个SOC对应不同的board,则需要添加对应类似ums521-1h10-overlay.dtsi文件加以区分

3.Audio 各个模块DT 详解

3.1 Code 级DT

3.2 CPU 级DT

VBC DT、I2S DT、sprd_fe_dai DT(sound card FE/BE 架构里)

3.3 Platform 级DT

(1)一类是面向DAL-Link 的FE,主要实现了DMA相关的设置已经数据流向的控制

sprd_pcm,sprd_comper,sprd_pcm_iis

(2)一类用于DAI-Link 的BE,实现与FE的连接

sprd_route_pcm

3.4 声卡DT

sprdphone card 和 I2S card 两种声卡

4.SOC 级 DT

5.常用参数

compatible status reg

音频驱动概述

1.音频硬件概述

第三方smartPA接在VBC上,与平台Codec 处于并列位置

数据流向:AP _> ADSP _> VBC _> Codec

2.音频驱动结构

2.1FE 与 BE 的定义

在android 平台上,音频驱动采用DPCM 的 方式(即PCM device)对FE进行固定,BE 采用动态配置的方式进行选择

2.2 FE 与 BE 的分类

FE 根据stream 的属性进行分类

BE 根据FE与输出、输入的硬件类别进行分类

2.3 动态连接与驱动实现

2.3.1 动态连接

FE 与 BE 通过 Switch control进行链接,在audio_route.xml 中根据场景进行动态配置

2.3.2 驱动实现

snd_dai_driver 结构体定义的实例中

.probe 表示 DAI 控件和 DAI 接口

.stream_name 表示 DAI控件

.aif_name 表示 DAI路由接口

xxx_dai_ops 表示DMA 操作

SPRD Audio 介绍

AudioPolicy

AudioPolicyManagerSprd ------> AudioPolicyManager ------> Audio_policy_Configuration.xml

2.1 AudioPolicy 配置

2.2.1 engine 配置

AudioPolicy 支持2种 engine:

default:策略通过代码实现

configurable:策略通过配置实现

相关推荐
woshikejiaih12 小时前
**播客听书与有声书区别解析2026指南,适配不同场景的音频
大数据·人工智能·python·音视频
Mr数据杨12 小时前
【ComfyUI】AV-FunASR 音频转文本
音视频
凉辰16 小时前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
AI资源库16 小时前
Remotion 一个用 React 程序化制作视频的框架
人工智能·语言模型·音视频
永远都不秃头的程序员(互关)17 小时前
基于CANN的ops-signal仓库实现AIGC音频生成中的动态窗函数融合优化——从STFT预处理到端到端低延迟合成
aigc·音视频
薛定谔的猫喵喵18 小时前
基于PyQt5的视频答题竞赛系统设计与实现
开发语言·qt·音视频
byte轻骑兵18 小时前
从HCI报文透视LE Audio重连流程(3):音频流建立、同步与终止
音视频·蓝牙·le audio·cig/cis·广播音频
三十_A18 小时前
零基础通过 Vue 3 实现前端视频录制 —— 从原理到实战
前端·vue.js·音视频
愚公搬代码19 小时前
【愚公系列】《AI短视频创作一本通》018-AI语音及音乐的创作(短视频背景音乐的选择及创作)
人工智能·音视频
sweetone1 天前
LINN莲CLASSIK桌面音响微修
经验分享·音视频