1. 概述
本文先对数字音频基础进行介绍,其中包括对声音、音频数字化处理、音频数据传输、声道、音效的介绍。有了对数字音频的概念后,再引入 i.MX RT 系列芯片的介绍,给大家重点介绍 i.MX RT 的音频子系统。
2. 数字音频基础
2.1 声音的概念
在物理学中,声音是一种振动,通常以可听到的压力波的形式,通过气体、液体或固体等传输介质传播。声波有以下频率(音调)、振幅(声压或强度)、速度和方向这四个特性,表现出来则为声音的高低、长短、大小、音色、声音结构和空间位置。
图 1 – 声音的元素
其中频率指声音 1 秒内周期性变化的次数,人耳的听觉范围在 20 Hz – 20 kHz。低频的声音沉闷厚重,高频的声音尖锐刺耳。高于 20 kHz 的声音为超声波。振幅指的是声音的大小,可以用分贝(dB)来形容,dB 是功率强度之比的对数的 10 倍,它是一个数值,没有任何单位标注。
1 dB |
刚能听到的声音 |
15 dB 以下 |
感觉安静 |
30 dB |
耳语的音量大小 |
40 dB |
冰箱的嗡嗡声 |
60 dB |
正常交谈的声音 |
70 dB |
相当于走在闹市区 |
85 dB |
汽车穿梭的马路上 |
95 dB |
摩托车启动声音 |
100 dB |
装修电钻的声音 |
110 dB |
卡拉 OK、大声播放 MP3 的声音 |
120 dB |
飞机起飞时的声音 |
150 dB |
燃放烟花爆竹的声音 |
表 1 – dB 等级与声音的对应关系
2.2 音频数字化处理——PCM 方式
音频数字化主要有压缩与非压缩两种方式。较早出现的数字音频播放机,如 CD 唱机和 DAT 录音机,均采用线性 PCM 编码来存储音乐信号,为非压缩方式。在高质量要求的音频工作站和数字录像机(如 DVCPRO)上,现在也采用非压缩的格式。
我们目前常见的 MPEG、Dolby Digital、DTS 等则为压缩方式。压缩分为有损压缩和无损压缩。有损压缩的目的是提高压缩率,降低占用系统资源。可以根据实际需要选用不同的采样速率、样本分辨力(精度)和数据率。
采样,指把时间域或空间域的连续量转化成离散量的过程。模拟音频数字化方法本文主要介绍脉冲编码调制(Pulse-code modulation,下文简称 PCM)。PCM 就是通过等时间间隔(即采样率时钟周期)采样,将采样值进行幅度量化及编码,是数字音频在计算机、光盘、数字电话和其他数字音频应用中的标准形式。
图 2 – 信号采样表示
图 3 – 4-bit LPCM 信号的采样及量化编码
PCM 流的两个基本属性:一个是采样频率,指每秒采样的次数,从图 4 可看出采样频率越高,音频的还原就越真实越自然(图中竖线指采样频率,竖线越密集指采样频率越高)。目前主流的采样频率有 22.05 kHz、44.1 kHz、48 kHz 三种,22.05 kHz 为 FM 广播的音频品质,44.1 kHz 为理论上的 CD 音频品质,48 kHz 为人耳可辨别的最高采样频率。
图 4 – 采样频率对音频质量的影响
第二个属性是量化位数,指的是用几位二进制数来存储采样获得的数据。量化位数为 8 即指用 8 位二进制数来存储数据,如 00010111。从图 5 可看出量化位数越大,音频的质量越高(图中横线指量化位数,横线越密集指量化位数越大)。常用的量化位数有 8 位、16 位和 32 位。另外值得注意的是,不同量化位数存储的数据不可直接比较。
图 5 – 量化位数对音频质量的影响
2.3 音频数据传输——I2S 总线
此处就 I2S 总线进行介绍,I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的 I2S 标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。I2S 有 3 个主要信号:
(1)串行时钟 SCK,也叫位时钟,即对应数字音频的每一位数据,SCK 有 1 个脉冲。SCK 的频率 = 2 × 采样频率 × 量化位数。
(2)字段(声道)选择 WS,用于切换左右声道的数据。WS 为“1”表示正在传输左声道的数据,为“0”则表示正在传输右声道的数据。WS 的频率等于采样频率。
(3)串行数据 SD,就是用二进制补码表示的音频数据。
有时为了使系统间能够更好地同步,还需要另外传输一个信号 MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的 256 倍或 384 倍。
随着技术的发展,在统一的 I2S 接口下,出现了多种不同的数据格式。根据 SD 数据相对于 WS 和 SCK 的位置不同,分为左对齐(较少使用)、I2S 格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。图 6 为 I2S 格式
图 6 - I2S格式
I2S 格式的信号无论有多少位有效数据,数据的最高位总是出现在 WS 变化(也就是一帧开始)后的第 2 个 SCK 脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能够处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能够处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。
2.4 声道介绍
声道(Sound Channel)是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。声道的基本分类有:
(1)单声道 Mono,单路音频信号,缺乏对声音的位置定位,因此目前除了在无线广播和电视单声道伴音这两个传统领域继续发挥余热外,单声道音响系统在其他领域早已开始被效果更为出色的立体声系统所取代。
(2)立体声 Stereo,声音在录制过程中被分配到两个独立的声道,从而达到了很好的声音定位效果。这种技术在音乐欣赏中显得尤为有用,听众可以清晰地分辨出各种乐器来自的方向,从而使音乐更富想象力,更加接近于临场感受。
(3)四声环绕,规定了 4 个发音点:前左、前右,后左、后右,听众则被包围在这中间。同时还建议增加一个低音音箱,以加强对低频信号的回放处理(这也就是如今 4.1 声道音箱系统广泛流行的原因)。就整体效果而言,四声道系统可以为听众带来来自多个不同方向的声音环绕,可以获得身临各种不同环境的听觉感受,给用户以全新的体验。如今四声道技术已经广泛融入于各类中高档声卡的设计中,成为未来发展的主流趋势。
(4)5.1 声道,杜比 AC-3 提供的环绕声系统由 5 个全频域声道和 1 个超低音声道组成,被称为 5.1 声道。5 个声道包括左前、中央、右前、左后、右后。低音声道主要提供一些额外的低音信息,使一些场景,如爆炸、撞击等声音效果更好。5.1 声道已广泛运用于各类传统影院和家庭影院中,一些比较知名的声音录制压缩格式,譬如杜比 AC-3(Dolby Digital)、DTS 等都是以 5.1 声音系统为技术蓝本的,其中“.1”声道,则是一个专门设计的超低音声道,这一声道可以产生频响范围 20 ~ 120 Hz 的超低音。其实 5.1 声音系统来源于 4.1 环绕,不同之处在于它增加了一个中置单元。这个中置单元负责传送低于 80 Hz的声音信号,在欣赏影片时有利于加强人声,把对话集中在整个声场的中部,以增加整体效果。
图 7 – 5.1 声道的组成(图片来源网络)
(5)7.1 声道,在 5.1 声道声场增加了后中声场声道,同时它也不同于普通 6.1 声道声场,因为 7.1 声道有双路后中置,而这双路后中置的最大作用就是为了防止听者因为没有坐在皇帝位而在听觉上产生声场的偏差。
图 8 – 7.1 声道的组成(图片来源网络)
2.5 音效介绍
音效就是指由声音所制造的效果,是为增加场面的真实感、气氛或戏剧氛围,而加于声带上的杂音或声音。音效是人工制造或加强的声音,用来增强对电影、电子游戏、音乐或其他媒体艺术或其他内容的声音处理。MP3 播放器、手机音乐播放器等的音效功能有两类:
(1)音频信号在转换、传输、放大、播放过程中,由于音源与设备的因素产生的失真进行合理有效的修正与补偿,使听音的效果更接近音乐作品本身希望达到的效果,我们可以称之为还原性音效,例如 Dirac HD Sound。
(2)在原来音乐的基础上,进行空间环绕、音场展宽、动态增强等处理,使听音效果更加丰富多彩。我们可以称之为修饰性音效。例如 MaxxAudio 的 MAXXEQ 工具。
从技术角度分析,这两类音效的性质是完全不同的。还原性音效所做的工作,是改善音乐质量、还原音乐细节、提高音乐清晰度,对重现音乐的“原汁原味”有重要作用。而修饰性音效是在现有音乐的基础上,对音乐进行适当修饰,使得音乐更加讨好人的耳朵,更适合自己的听感。
做音效算法主要的企业有 Dolby、DTS、Beats Audio、BoomSound、JBL LiveStage、SRS、 BBE、Dirac HD Sound(米音系统和 Real 原声技术等)。
讲完了数字音频基础,这一部分的内容是为了让我们建立起对声音、音频数字化处理、音频数据传输、声道、音效的概念,为我们下面及以后要介绍的 i.MX RT 系列芯片(NXP 推出的可以应用于音响设备、语音服务等音频应用场景的高性能交叉处理器)在 Audio 的应用奠定了基础。好了,接下来让我们一起来了解 i.MX RT 系列吧。
3. i.MX RT 系列芯片概述
3.1 芯片概述
i.MX RT 系列交叉处理器高性能,能实时处理,Arm Cortex-M7 内核运行频率高达600 MHz,具有超高速实时响应能力,比现有的 M7 产品快 50%。低成本的 i.MX 完整平台,LQFP 封装支持真正的两层 PCB 设计,同时消除了昂贵的基础设施的需要。集成度高,带有丰富的外部内存接口选项,支持有线和无线标准,如 Wi-Fi、蓝牙、BLE、Zigbee、Thread。同时易于基于 MCU 的开发人员使用,在利用工具链的同时提高了性能,能够快速进行原型和开发,甚至有与 Arduino 兼容的评估套件。i.MX RT 系列在 Audio 方向可以应用于高端消费音响设备,包括专业的麦克风、吉他踏板等专业设备等。
3.2 芯片参数对比
图 9 – i.MX RT 系列芯片参数对比
图 9 介绍了 i.MX RT 系列芯片中 RT1020、RT1050、RT1060、RT1170 的参数,图中参数信息标红指的是对比左列芯片的参数信息有所改变。可以发现主要差别是在于运行频率、OCRAM / TCM 的大小、Ethernet、USB 的数量、相机串行接口、LCD 接口的区别。
图 10 – i.MX RT 系列芯片参数对比
图 10 介绍了 i.MX RT 系列芯片中 RT1010、RT1015、RT1020 的功能,图中参数信息标蓝指的是对比左列芯片的参数信息有所改变。可以看出 RT1010、RT1015、RT1020 的差别主要是 GPIO、SDIO、CAN、I2S、UART / SPI / I2C 数量的区别。
4. i.MX RT 的音频子系统
4.1 i.MX RT 的音频子系统框图
图 11 – i.MX RT 音频子系统框图
SAI(Synchronous Audio Interface)音频串行接口,可以通过 eDMA 和 ARM CPU 进行访问,输入/输出通过 IOMUX 连接到焊盘。
MQS(Medium Quality Speaker,中等质量扬声器):用于将 I2S 音频数据从 SAI 转换为可以直接驱动外部扬声器的 PWM 信号。
SPDIF(Sony/Philips digital interface):用于接收和传输数字音频的立体声收发器。
图 12 – i.MX RT 的 SAI 接口
SAI-1 用于多声道音频接口,最多支持 4 线 / 8 声道音频输入和 / 或 4 线 / 8 声道,音频输出为 384 kHz / 32 位。
SAI-2 和 SAI-3 可以用于高达 384 kHz / 32 位的立体声音频输入和输出。
SAI-3 能够直接驱动 MQS 作为低成本音频输出。
4.2 i.MX RT 的音频子系统时钟
图 13 是 i.MX RT1050 系统时钟树,红框内为音频子系统时钟
图 13 – i.MX RT1050 系统时钟树
i.MX RT 音频子系统时钟图如下图 14 所示。
图14 - i.MX RT 音频子系统时钟图
音频 PLL 从 24 MHz 参考时钟合成低抖动时钟。输出频率从 650 MHz 到 1.3 GHz。输出频率是通过对字段进行编程来设置的。
Loop divider: CCM_ANALOG_PLL_AUDIO[DIV_SELECT]: 27~54
Fractional Loop divider numerator: CCM_ANALOG_PLL_AUDIO_NUM: 30 bits
Fractional Loop divider denominator: CCM_ANALOG_PLL_AUDIO_DENOM: 30 bits
Post divider: CCM_ANALOG_PLL_AUDIO[POST_DIV_SELECT]: 1/2/4;
CCM_ANALOG_MISC2[AUDIO_DIV_MSB][AUDIO_DIV_LSB]: 1/2/4.
Thus, POST_DIV can be 1, 2, 4, 8, 16
PLL 输出频率: Fref * (DIV_SELECT + NUM / DENOM)
PLL 输出频率除以 POST_DIV: Fref * (DIV_SELECT + NUM / DENOM) / POST_DIV
例如:
5. 参考资料
- 数字音频原理:http://www.mwhitelab.com/archives/208
- I2S总线协议理解:https://www.cnblogs.com/yanghong-hnu/p/5635247.html
- 声道:https://blog.csdn.net/evsqiezi/article/details/43539949
- 手机Hi-Fi音效剖析指南:http://www.cnmo.com/reviews/532429.html
- MX RT Crossover MCUs:https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/i.mx-rt-crossover-mcus:IMX-RT-SERIES?&tid=vanIMXRT
- MX RT Audio Applications with Multi-Channel SAI,NXPSemiconductor
6. 预告
通过《数字音频基础及 i.MX RT 的音频子系统介绍》这篇博文,相信大家已经了解了数字音频以及 i.MX RT 的音频子系统,后续我会持续更新 i.MX RT 系列芯片在 Audio 应用的博文,欢迎大家一起分享,并给出建议。
评论