RK Audio HAL 音频通路设置与Codec原理

本文探讨了RK音频HAL中的pop声原理,解析了Codec的结构,特别是ALC5651芯片,涉及I2S协议、DAI、DSP、Mixer等模块。此外,介绍了ALSA架构在Android音频系统中的作用,以及如何通过AudioFlinger服务接口管理音频设备和路径配置,以减少pop声问题。
摘要由CSDN通过智能技术生成
  • 由 b178903294创建, 最后修改于3月 18, 2020

一个平板项目中采用螃蟹卡ALC56561 作为硬件codec。由于声音播放前后过程中有pop声,所以对其硬件原理和驱动控制做了一番研究。

一、专用术语

ASLA - Advanced Sound Linux Architecture

OSS - 以前的Linux音频体系结构,被ASLA取代并兼容

Codec - Coder/Decoder

I2S/PCM/AC97 - Codec与CPU间音频的通信协议/接口/总线

DAI - Digital Audio Interface 其实就是I2S/PCM/AC97

DAC - Digit to Analog Conversion

ADC - Analog to Digit Conversion

DSP - Digital Signal Processor

Mixer - 混音器,将来自不同通道的几种音频模拟信号混合成一种模拟信号

Mute - 消音,屏蔽信号通道

PCM - Pulse Code Modulation 一种从音频模拟信号转换成数字信号的技术,区别于PCM音频通信协议

采样频率 - ADC的频率,每秒采样的次数,典型值如44.1KHZ

量化精度 - 比如24bit,就是将音频模拟信号按照2的24次方进行等分

SSI - Serial Sound Interface

DAPM - Dynamic Audio Power Management

 

二、pop声原理

一般电子设备运用的功放都是模拟输入Class D功放,这类功放的模拟输入必须工作在直流偏置(Vbias)上才可以正常传输交流音频信号,简化的输入级模型如下图:

功放上电后,在SD拉高使能功放时,偏置电压会从0V开始上升到额定的偏置电压,该过程的时间长短取决于内部偏置电源对外部阻抗网络的充电速度。

功放差分输入INN和INP的输入偏置电压建立的过程如上图,若输入差分P和N端的输入偏置电压建立速度不一样则两者时间会形成差分信号输入功放并被放大输出,形成POP音。这种偏置电压的误差是由N和P外部的阻抗不匹配造成的。在差分输入用作单端输入时更容易出现这个情况。以下是差分输入和单端输入的比较:

类型

半波整流

全波整流

类型

半波整流

全波整流

抗干扰能力 有较强的的共模噪声抑制 无抑制功能,需要注意音频信号的走线和地平面的分布
启动/关闭pop
声性能
保证了输入端的线路pop 需要注意网络和控制电路,P/N脚外部的电路网络要做到阻抗匹配,尽量不要在输入端使用复杂的滤波网络,如果需要,优先选择运放来进行滤波和增益的调节。(运放跟随器高输入阻抗,低输出阻抗的特性非常适合做隔离,滤波和增益)
DC detect误触发 一般不会误触发 需要注意网络的设计
功率 - 要达到与差分输入相同的音频输出功率,单端信号的输入电平要达到差分的两倍


不过,在实际应用中,由于多数主芯片的音频模拟输出是单端模式,因此必须配置成单端输入。
 

还有一种就是在功放前端与偏置电压之间含有开关的电路:

在开关开启或闭合的瞬间,会有瞬时电平变化。导致电压过冲,造成瞬时高频信号。此信号能量较大且频率较高,所以可以突破隔直电路,把能量输送给喇叭或者耳机,就造成了pop音。所以开关或闭合运放前的开关会导致pop音是非常常见的。

 

所以codec芯片在给运放上电和掉电的充放电过程中和音频通路的闭合断开过程中,无可避免的会出现pop音。但是通过控制上电顺序和开关顺序可以有希望削弱pop音的影响的。

 

三、codec原理结构

我们使用的ALC5651芯片 也就是c

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值