一、音频系统框架
(一)系统连接架构
智能座舱音频系统中,车机(SOC)通过 A2B 总线与外部的 DSP 及 MP5 功放相连。车机将 IIOS 音频信号转换为 A2B 信号,再经 2428 芯片转为 TDM 信号,输入到 DSP 的输入输出接口。输入为 8 声道,输出为 4 声道。处理后的信号,其中 8 声道中的 4 声道给到一个 AB 类功放,另外 4 声道给到另一个 AB 类功放,最终驱动扬声器发声。
(二)控制与存储功能
车机通过 I2C 总线实现对 DSP、AB 类功放以及 EEPROM 等器件的初始化控制。Flash memory 用于固件升级,还可存储开机迎宾音频文件、AVAS 音效文件等。此外,车机具备喇叭故障诊断功能,当喇叭出现短接到地、短接到电池、两条线短接或开路等异常情况时,通过 CAN 总线交互将异常信号反馈给车机。
二、智能座舱音频产品设计
(一)音频焦点与交互矩阵
系统工程师会提供与音频焦点相关的框图。智能座舱交互矩阵规定了车辆信息音、X - Call、BT - Call 响铃、BT 通话、语音 VR、导航播报、音乐、按键提示音等音频事件的优先级和冲突处理方式,如 X - Call 接通时通话音保持并抢占其他音频,BT 通话时会中断语音交互、导航播报并暂停音乐播放等。
(二)声道划分
音频声道划分涉及安卓域和 QNX 域。例如,AVAS 通过 TDM0 的 slot 0 和 1 输出至 DSP,再经 TDM0 输出到单独的扬声器;音乐和开机音因时间上的互斥关系,分别通过 TDM0 的不同 slot 传输;音乐与 radio 也互斥,最终经 DSP 内部处理,通过 TDM1 经 A2B 功放传输到喇叭。仪表音、雷达音、导航混音等通过 TDM2 经 channel 4 输出 ,X Call 和 MIC 也有相应的传输路径。
三、音频系统硬件构成
(一)音响系统基础组件
音响系统由主机、功率放大器、扬声器、重低音、线材等构成。主机作为音源,如 CD、DVD、MD、MP3 等,安装在汽车大梁。功率放大器分为内置功放(集成在主板上)和外置功放(独立功放,通过总线连接在车机外部),用于放大音频信号驱动喇叭。扬声器负责音频还原,包括高音、中音、低音喇叭;重低音用于补偿低频部分;线材质量影响音质,分为电源线、喇叭线和信号线,材质多样。
(二)硬件架构与功能模块
不同产品的音频设计存在差异。常见的音频硬件架构包含 SOC、外部 DSP、MCU 和外置功放。DSP 具备数据处理和收音机功能,T - BOX 可将音频信号传输给 DSP,SOC 直接连接麦克风。REF 信号用于回声消除,在蓝牙通话或语音交互时,避免喇叭声音被麦克风录入产生回声。TDM 用于播放,I2C 用于控制,Reset 可对 DSP 进行复位操作。此外,蓝牙模块用于通话和音乐传输,USB 可播放音乐,car play 可传输 iphone 音频视频。不同音频场景,如 TTS、系统提示音、多媒体等,经 DSP 处理后从不同 TDM 通道输出。
四、音频软件系统概述
(一)音频数据传输通路
音频单板硬件系统中,声卡通过 I2S 接口与 CPU 进行音频数据传输,通过 I2C 接口进行控制通讯。播放数据时,上层创建 buffer,数据从用户空间到内核空间,再到 DMA buffer,DMA 在获得 CPU 授权后将数据搬运到音频控制器接口,最终传输到声卡驱动扬声器发声;录音时,麦克风采集数据经 I2S 传输到音频控制器,再由 DMA 搬运到内存供上层应用使用。
(二)Android 音频架构演进
Android 音频架构旨在降低上层与硬件的耦合。早期简单框架中,Audio Driver 作为上层与硬件的 " 隔离板 ",但不利于上层应用使用音频功能。演进后的架构增加了硬件适配层和统一资源管理器(Audio Lib 层)。核心音频架构分为应用层、framework 层、库层、HAL 层和 Tinyalsa 层。
(三)Android 音频系统框架详解
应用层包含各种音频相关 APP,如 Music、Game、Call、Recorder 等,使用 media player、audio track 等进行音频操作。framework 层分为音频应用框架层和音频本地框架层,提供多种 API 类,如 AudioTrack 负责回放数据输出,AudioRecord 负责录音数据采集,AudioSystem 负责音频事务综合管理,AudioPolicyService 制定音频策略,AudioFlinger 执行音频策略并管理音频流数据。库层包含多个 .so 库,实现具体音频功能。HAL 层作为音频硬件抽象层,负责与音频硬件设备交互,由 AudioFlinger 调用,使上层无需直接与底层驱动交互。Tinyalsa 层在 Linux 3.x 及 Android 4.0 往后替代复杂的 ALSA,降低编译和使用难度,提供如 tiny cap、tiny play 等常见命令。
(四)ASoC 音频驱动
ASoC 音频驱动由 Machine、Platform 和 Codec 三大部分组成。Machine 驱动负责 Platform 和 Codec 之间的耦合及设备特定代码;Platform 驱动管理音频数据,通过 CPU 的数字音频接口(DAI)将数据传输给 Codec,数据传输常使用 DMA 方式;Codec 驱动描述音频编解码芯片,负责注册声卡相关控件和读写硬件寄存器。ASoC 通过 Dai Link 连接各部分,其注册流程包括注册 pcm dma、cpu dai、codec 和 codec dai,最终注册声卡 。此外,还涉及 DMA buffer 创建及 CMA 内存管理技术,DMA buffer 在打开音频设备节点、设置 PCM 参数时创建或关联,CMA 可提前申请内存空间,用于多媒体内存分配,提高内存使用效率。
登录后才可以发布评论哦
打开小程序可以发布评论哦