低延迟、实时声学处理是许多嵌入式的关键因素 处理应用程序,其中包括语音预处理、语音识别、 和主动降噪 (ANC)。作为实时性能要求 在这些应用领域内稳步增长,开发人员需要采用 适当适应这些需求的战略思维。鉴于实质性 许多大型系统在芯片上提供的性能,可能很诱人 只需为这些设备加载出现的任何其他任务,但这很重要 了解延迟和确定性是可以轻松实现的关键要素 如果不仔细考虑,会导致重大的实时系统问题。本文 将探讨设计人员在 SoC 之间进行选择时应考虑的问题 和专用的音频DSP,以避免实时出现不愉快的意外 声学系统。
低延迟声学系统涵盖了广泛的应用。例如,仅在汽车领域,低延迟对于个人音频区域、道路噪声消除和车载通信系统至关重要,仅举几例。
随着车辆电气化的新兴趋势,RNC变得更加重要,因为没有内燃机产生明显的噪音。因此,与汽车到道路界面相关的声音变得更加明显和令人反感。降低这种噪音不仅可以创造更舒适的骑行体验,还可以减轻驾驶员的疲劳。与在专用音频 DSP 上相比,在 SoC 上实现低延迟声学系统存在许多挑战。其中包括延迟、可扩展性、可升级性、算法注意事项、硬件加速和客户支持等问题。让我们依次检查其中的每一个。
延迟
实时声学处理系统中的延迟问题是一个重要的问题。如果处理器无法跟上系统的实时数据移动和计算需求,则可能导致不可接受的音频丢失。
通常,SoC 具有小型片上 SRAM,因此必须依赖缓存进行大多数本地内存访问。这引入了代码和数据的不确定可用性,并且还增加了处理延迟。对于像ANC这样的实时应用,仅此一项就可能破坏交易。但是,SoC运行管理繁重的多任务负载的非实时操作系统。这放大了系统的非确定性操作特性,使得在多任务环境中支持相对复杂的声学处理变得非常困难。
图 1 显示了运行实时音频处理负载的 SoC 的具体示例,其中 CPU 负载在处理更高优先级的 SoC 任务时达到峰值。例如,由于系统上的媒体呈现、浏览或应用执行等以 SoC 为中心的活动,可能会出现这些峰值。每当峰值超过 100% CPU 负载时,SoC 不再实时运行,这将导致音频丢失。
图1.除了其他任务外,还运行高音频内存处理的代表性 SoC 的瞬时 CPU 负载。1
另一方面,音频 DSP 的架构旨在实现从采样音频输入到复合(例如,音频 + 抗噪声)扬声器输出的整个信号处理路径的低延迟。L1指令和数据SRAM是最接近处理器内核的单周期存储器,足以支持许多处理算法,而无需将中间数据卸载到片外存储器。此外,片上 L2 存储器(离内核更远,但访问速度仍比片外 DRAM 快得多)有助于在超出 L1 SRAM 存储时为中间数据操作提供缓冲区。最后,音频DSP通常运行实时操作系统(RTOS),确保在新输入数据到达之前处理传入数据并将其发送到目标目的地,从而确保数据缓冲区在实时操作期间不会溢出。
系统启动的实际延迟(通常由音频可用性时间来衡量)也是一个重要的指标,特别是在汽车系统中,声音警告必须在启动后的某个窗口内广播。在 SoC 世界中,通常有一个冗长的启动序列,涉及为整个设备启动操作系统,因此可能很难或不可能满足此启动要求。另一方面,运行自己的RTOS的独立音频DSP不受其他无关系统优先级的影响,可以针对快速启动进行优化,从而轻松满足音频时间要求。
可扩展性
虽然延迟问题对于噪声控制等应用中的SoC来说是个问题,但有志于执行声学处理的SoC的另一个关键缺点是可扩展性。换句话说,控制具有许多不同子系统的大型系统(例如汽车前端单元和集群)的 SoC 无法轻松地从低端音频需求扩展到高端音频需求,因为每个子系统组件的可扩展性需求之间存在持续冲突,需要在整体 SoC 利用率中进行权衡。例如,如果前端SoC连接到远程调谐器,并且跨汽车模型,该调谐器需要从几个通道扩展到多个通道,则每个通道配置都会放大前面提到的实时问题。这是由于 SoC 控制下的每个附加功能都会改变 SoC 的实时行为以及多个功能使用的关键架构组件的资源可用性。这些资源包括内存带宽、处理器内核周期和系统总线结构仲裁槽等方面。
除了担心其他子系统连接到多任务SoC之外,声学子系统本身也有其自身的可扩展性问题。有低端到高端缩放(例如,增加 ANC 应用程序中麦克风和扬声器通道的数量),还有音频体验缩放,从基本的音频解码和立体声播放到 3D 虚拟化和其他高级功能。虽然这些要求不共享ANC系统的实时约束,但它们仍然与系统的音频处理器选择直接相关。
利用单独的音频 DSP 作为 SoC 的协处理器是音频可扩展性问题的完美解决方案,可实现模块化系统设计和成本优化解决方案。SoC 可以更少地关注大型系统的实时声学处理需求,而是将该处理卸载到低延迟音频 DSP。此外,音频 DSP 在全面的代码兼容和引脚兼容路线图中提供多种不同的性价比/内存级别,为系统设计人员提供了最大的灵活性,以针对给定产品层调整音频性能产品的规模。
图2.ADSP-2156x DSP,说明高度可扩展的音频处理器。
可升级性
随着无线固件更新在当今的车辆中变得越来越普遍,发布关键补丁或提供新功能的可升级性变得越来越重要。这可能会给 SoC 带来重大问题,因为其各个子系统之间的依赖关系增加。首先,在SoC上,多个处理和数据移动线程正在争夺资源。当添加新功能时,这增加了对处理器MIPS和内存的竞争,尤其是在峰值活动突发期间。从音频角度来看,其他 SoC 控制域中的功能添加可能会对实时声学性能产生不可预测的影响。这种情况的一个副作用是,必须在所有操作平面上交叉测试新功能,从而导致竞争子系统的各种操作模式之间存在无数排列。因此,每个升级包的软件验证呈指数级增长。
从另一个角度来看,可以说SoC音频性能的改进取决于可用的SoC MIPS,以及由SoC控制的其他子系统的功能路线图。
算法开发和性能
很明显,在开发实时声学算法时,音频DSP是专门为这项任务而构建的。作为SoC的一个重要区别,独立音频DSP可以提供图形开发环境,使DSP编码经验最少的工程师能够将高质量的声学处理添加到其设计中。这种类型的工具可以通过在不牺牲质量或性能的情况下缩短开发时间来降低开发成本。
例如,ADI公司的SigmaStudio图形音频开发环境提供了集成到直观图形用户界面(GUI)中的多种信号处理算法,允许创建复杂的音频信号流。它还支持图形 A®2B配置用于音频传输,极大地促进了实时声学系统的发展。
音频友好型硬件功能
除了专为高效并行浮点计算和数据访问而设计的处理器内核架构外,音频 DSP 通常还具有专用的多通道加速器,用于常见音频基元,例如快速傅里叶变换 (FFT)、有限和无限脉冲响应 (FIR 和 IIR) 滤波以及异步采样率转换 (ASRC)。这些允许在内核CPU之外进行实时音频滤波、采样和频域转换,从而提高内核的有效性能。此外,由于其优化的体系结构和数据流管理功能,它们可以促进灵活且用户友好的编程模型。
由于音频通道数、滤波器流、采样率等激增,因此拥有一个最大可配置的引脚接口非常重要,该接口允许在线采样率转换、精密时钟和同步高速串行端口,以有效地路由数据并避免增加延迟或外部接口逻辑。ADI公司SHARC系列处理器的数字音频互连(DAI)体现了这种能力,如图4所示。®
图3.ADI公司的SigmaStudio图形开发环境。
图4.数字音频互连 (DAI) 框图。
客户支持
使用嵌入式处理器进行开发时经常被忽视的一个方面是设备对客户的支持。
尽管SoC供应商在其集成DSP产品上提倡运行声学算法,但这在实践中会带来一些责任。首先,供应商的支持通常更为复杂,因为声学专业知识通常不是SoC应用开发的领域。因此,对于寻求在SoC的片上DSP技术上开发自己的声学算法的客户来说,支持往往很弱。相反,供应商可能会提供标准算法并收取大量 NRE 费用,以将声学算法移植到 SoC 的一个或多个内核。即便如此,也不能保证成功,特别是如果供应商不提供成熟的低延迟框架软件。最后,基于 SoC 的声学处理的第三方生态系统往往相当脆弱,因为它不是 SoC 的重点,而是一个机会主义支持的功能。
显然,专用音频 DSP 具有更强大的生态系统,用于开发复杂的声学系统,从优化的算法库和设备驱动程序到实时操作系统和易于使用的开发工具。此外,以音频为中心的参考平台(如ADI公司的SHARC音频模块平台,如图5所示)可加快上市时间,这对于SoC来说是罕见的,但在独立音频DSP领域却很常见。
图5.SHARC音频模块(SAM)开发平台。
总之,很明显,设计实时声学系统涉及对系统资源的深思熟虑的战略规划,不能简单地通过在多任务SoC上分配剩余的处理余量来管理。相反,针对低延迟处理进行优化的独立音频 DSP 可能会提高稳健性、缩短开发时间和最佳可扩展性,以适应未来的系统需求和性能层。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !