充分利用数字信号处理器上的片内FIR和IIR硬件加速器

分享到:

有限脉冲响应(FIR)和无限脉冲响应(IIR)滤波器都是常用的数字信号处理算法 --- 尤其适用于音频处理应用。因此,在典型的音频系统中,处理器内核的很大一部分时间用于 FIR 和 IIR 滤波。数字信号处理器上的片内 FIR 和 IIR 硬件加速器也分别称为 FIRA 和 IIRA,我们可以利用这些硬件加速器来分担 FIR 和 IIR 处理任务,让内核去执行其他处理任务。在本文中,我们将借助不同的使用模型以及实时测试示例来探讨如何在实践中利用这些加速器。

 

简介

 

图 1.FIRA 和 IIRA 系统方框图

 

图 1 显示了 FIRA 和 IIRA 的简化方框图,以及它们与其余处理器系统和资源的交互方式。

 

  • FIRA 和 IIRA 模块均主要包含一个计算引擎(乘累加(MAC)单元)以及一个小的本地数据和系数 RAM。

 

  • 为开始进行 FIRA/IIRA 处理,内核使用通道特定信息初始化处理器存储器中的 DMA 传输控制块(TCB)链。然后将该 TCB 链的起始地址写入 FIRA/IIRA 链指针寄存器,随后配置 FIRA/IIRA 控制寄存器以启动加速器处理。一旦所有通道的配置完成,就会向内核发送一个中断,以便内核将处理后的输出用于后续操作。

 

  • 从理论上讲,最好的方法是将所有 FIR 和 / 或 IIR 任务从内核转移给加速器,并允许内核同时执行其他操作。但在实践中,这并非始终可行,特别是当内核需要使用加速器输出进一步处理,并且没有其他独立的任务需要同时完成时。在这种情况下,我们需要选择合适的加速器使用模型来达到最佳效果。.

 

在本文中,我们将讨论针对不同应用场景充分利用这些加速器的各种模型。

 

实时使用 FIRA 和 IIRA

 

图 2. 典型实时音频数据流

 

图 2 显示了典型实时 PCM 音频数据流图。一帧数字化 PCM 音频数据通过同步串行端口(SPORT)接收,并通过直接存储器访问(DMA)发送至存储器。在继续接收帧 N+1 时,帧 N 由内核和 / 或加速器处理,之前处理的帧(N-1)的输出通过 SPORT 发送至 DAC 进行数模转换。

 

加速器使用模型

如前所述,根据应用的不同,可能需要以不同的方式使用加速器,以最大限度分担 FIR 和 / 或 IIR 处理任务,并尽可能节省内核周期以用于其他操作。从高层次角度来看,加速器使用模型可分为三类:直接替代、拆分任务和数据流水线。

 

直接替代

 

  • 内核 FIR 和 / 或 IIR 处理直接被加速器替代,内核只需等待加速器完成此任务。

 

  • 此模型仅在加速器的处理速度比内核快时才有效;即,使用 FIRA 模块。

 

拆分任务

 

  • FIR 和 / 或 IIR 处理任务在内核和加速器之间分配。

 

  • 当多个通道可并行处理时,此模型特别有用。

 

  • 根据粗略的时序估算,在内核和加速器之间分配通道总数,使二者大致能够同时完成任务。

 

如图 3 所示,与直接替代模型相比,此使用模型可节省更多的内核周期。

 

数据流水线

 

  • 内核和加速器之间的数据流可进行流水线处理,使二者能够在不同数据帧上并行处理。

 

  • 如图 3 所示,内核处理第 N 个帧,然后启动加速器对该帧进行处理。内核随后继续进一步并行处理加速器在上一迭代中产生的第 N-1 帧的输出。该序列允许将 FIR 和 / 或 IIR 处理任务完全转移给加速器,但输出会有一些延迟。

 

  • 流水线级以及输出延迟都可能会增加,具体取决于完整处理链中此类 FIR 和 / 或 IIR 处理级的数量。

 

图 3 说明了音频数据帧如何在不同加速器使用模型的三个阶段之间传输 ---DMA IN、内核 / 加速器处理和 DMA OUT。它还显示了通过采用不同的加速器使用模型将 FIR/IIR 全部或部分处理转移到加速器上,与仅使用内核模型相比,内核空闲周期如何增加。

 

图 3. 加速器使用模型比较

 

SHARC 处理器上的 FIRA 和 IIRA

以下 ADI SHARC®处理器系列支持片内 FIRA 和 IIRA(从旧到新)。

 

https://www.analog.com/en/search.html?q=ADSP-214xxADSP-214xx     (例如, https://www.analog.com/cn/products/adsp-21489.htmlADSP-21489)

 

https://www.analog.com/cn/products/landing-pages/001/adsp-sc58x-adsp-2158x-series.htmlADSP-SC58x

 

https://www.analog.com/cn/products/landing-pages/001/adsp-sc57x-2157x-family.htmlADSP-SC57x    /https://www.analog.com/cn/products/landing-pages/001/adsp-sc57x-2157x-family.htmlADSP-2157x

 

https://www.analog.com/cn/products/landing-pages/001/adsp-2156x-family.htmlADSP-2156x

 

这些处理器系列:

 

  • 计算速度不同

 

  • 基本编程模型保持不变,ADSP-2156x 处理器上的自动配置模式(ACM)除外。

 

  • FIRA 有四个 MAC 单元,而 IIRA 只有一个 MAC 单元。

 

ADSP-2156x 处理器上的 FIRA/IIRA 改进

ADSP-2156x 是 SHARC 处理器系列中的最新的产品。它是第一款单核 1 GHz SHARC 处理器,其 FIRA 和 IIRA 也可在 1 GHz 下运行。ADSP-2156x 处理器上的 FIRA 和 IIRA 与其前代 ADSP-SC58x/ADSP-SC57x 处理器相比,具有多项改进。

 

  • 性能改进

 

  • 计算速度提高了 8 倍(从 SCLK-125 MHz 至 CCLK-1 GHz)。

 

  • 由于内核和加速器借助专用内核结构实现了更紧密的集成,因此减少了内核和加速器之间的数据和 MMR 访问延迟。

 

功能改进

添加了 ACM 支持,以尽量减少进行加速器处理所需的内核干预。此模式主要具有以下新特性:

 

  • 允许加速器暂停以进行动态任务排队。

 

  • 无通道数限制。

 

  • 支持触发生成(主器件)和触发等待(从器件)。

 

  • 为每个通道生成选择性中断。

 

实验结果

在本节中,我们将讨论在 ADSP-2156x 评估板上,借助不同的加速器使用模型实施两个实时多通道 FIR/IIR 用例的结果

 

用例 1

图 4 显示用例 1 的方框图。采样率为 48 kHz,模块大小为 256 个采样点,拆分任务模型中使用的内核与加速器通道比为 5:7。

 

表 1 显示测得的内核和 FIRA MIPS 数量,以及与仅使用内核模型相比获得的节约内核 MIPS 结果。表中还显示了相应使用模型增加的额外输出延迟。正如我们所看到的,使用加速器配合数据流水线使用模型,可节约高达 335 内核 MIPS,但导致 1 块(5.33 ms)的输出延迟。直接替代和拆分任务使用模型也分别可节约 98 MIPS 和 189 MIPS,而且未导致任何额外的输出延迟。

 

图 4. 用例 1 方框图

 

表 1. 用例 1 的内核和 FIR/IIRA MIPS 总结

 


用例 2

图 5 显示用例 2 的方框图。采样率为 48 kHz,模块大小为 128 个采样点,拆分任务模型中使用的内核与加速器通道比为 1:1。

 

与表 1 一样,表 2 也显示了此用例的结果。正如我们所看到的,使用加速器配合数据流水线使用模型,可节约高达 490 内核 MIPS,但导致 1 模块(2.67 ms)的输出延迟。拆分任务使用模型可节约 234 内核 MIPS,而没有导致任何额外输出延迟。请注意,与用例 1 中不同,在用例 2 中内核使用频域(快速卷积)处理,而非时域处理。这就是为何处理一个通道所需的内核 MIPS 比 FIRA MIPS 少的原因,这可导致直接替代使用模型实现负的内核 MIPS 节约。

 

图 5. 用例 2 方框图

 

表 2. 用例 2 的内核和 FIR/IIRA MIPS 总结

 


结论

在本文中,我们看到如何利用不同的加速器使用模型实现所需的 MIPS 和处理目标,从而将大量内核 MIPS 转移到 ADSP-2156x 处理器上的 FIRA 和 IIRA 加速器。

继续阅读
全面解析滤波器

最常用的滤波器是低通跟带通。低通在混频器部分的镜像抑制、频率源部分的谐波抑制等有广泛应用。带通在接收机前端信号选择、发射机功放后杂散抑制、频率源杂散抑制等方面广泛使用。

充分利用数字信号处理器上的片内FIR和IIR硬件加速器

限脉冲响应(FIR)和无限脉冲响应(IIR)滤波器都是常用的数字信号处理算法 --- 尤其适用于音频处理应用。因此,在典型的音频系统中,处理器内核的很大一部分时间用于 FIR 和 IIR 滤波。数字信号处理器上的片内 FIR 和 IIR 硬件加速器也分别称为 FIRA 和 IIRA,我们可以利用这些硬件加速器来分担 FIR 和 IIR 处理任务,让内核去执行其他处理任务。在本文中,我们将借助不同的使用模型以及实时测试示例来探讨如何在实践中利用这些加速器。

5G通信技术来袭,电磁干扰问题如何解决?

随着 5G 通信技术的诞生和发展,高速电子设备集成度和时钟频率逐渐升高,日渐复杂的电磁环境使得电子设备饱受电磁干扰的影响,这在 5G 通信天线系统和芯片封装中表现尤为突出。如何有效利用电磁信号传播,同时抑制有害的电磁辐射,进而实现“兼容并畜”,成为通信技术发展革新的一项重要挑战。

IQ调制器的特性解析

模拟 IQ 调制器包含 Mixer,在上变频的过程中,势必会产生镜频产物。当输出无频偏信号时,即信号中心频率与调制器的 LO 信号频率相同时,相当于采用的是 Zero-IF 机制,镜频产物与信号本身不可分割,即使通过滤波器也无法滤除镜频。庆幸的是,采用 IQ 调制及解调器,即使存在镜频产物,依然可以恢复出原始的 IQ 信号。这也是为什么模拟 IQ 调制器之后不需要镜频抑制滤波器的原因。

三类 Wi-Fi 滤波器浅析

尽管人们通常认为“滤波器就是滤波器”,但实际上有多种不同的滤波器可针对不同类型的用例解决不同的问题,并带来不同的收益——当然,一般而言,其主要目的是提高数据通信的质量。无论怎样,在设计中做出加入滤波器的任何决定之前,最好首先明确所需要的特定效果。而且由于滤波器会带来成本,因此收益必须物有所值。