完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
有限脉冲响应(FIR)和无限脉冲响应(IIR)滤波器都是常用的数字信号处理算法---尤其适用于音频处理应用。因此,在典型的音频系统中,处理器内核的很大一部分时间用于FIR和IIR滤波。数字信号处理器上的片内FIR和IIR硬件加速器也分别称为FIRA和IIRA,我们可以利用这些硬件加速器来分担FIR和IIR处理任务,让内核去执行其他处理任务。在本文中,我们将借助不同的使用模型以及实时测试示例来探讨如何在实践中利用这些加速器。
|
|
相关推荐
6个回答
|
|
简介
图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(从旧到新)。 ADSP-214xx (例如, ADSP-21489) ADSP-SC58x ADSP-SC57x/ADSP-2157x ADSP-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支持,以尽量减少进行加速器处理所需的内核干预。此模式主要具有以下新特性: 允许加速器暂停以进行动态任务排队。 无通道数限制。 支持触发生成(主器件)和触发等待(从器件)。 为每个通道生成选择性中断。 |
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 22:25 , Processed in 1.071622 second(s), Total 90, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号