历史上的今天
返回首页

历史上的今天

今天是:2025年06月22日(星期日)

2020年06月22日 | 如何充分利用数字信号处理器上的片内FIR和IIR硬件加速器

2020-06-22 来源:EEWORLD

摘要

 

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

 

简介

 

Figure 1. FIRA and IIRA system block diagram.

 

图1.FIRA和IIRA系统方框图

 

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

 

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

 

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

 

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

 

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

 

实时使用FIRA和IIRA

 

Figure 2. Typical real-time audio data flow.

 

图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全部或部分处理转移到加速器上,与仅使用内核模型相比,内核空闲周期如何增加。

 

Figure 3. Accelerator usage models comparison.

 

图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支持,以尽量减少进行加速器处理所需的内核干预。此模式主要具有以下新特性:

 

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

 

无通道数限制。

 

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

 

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

 

实验结果

 

在本节中,我们将讨论在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,而且未导致任何额外的输出延迟。

 

Figure 4. Use case 1 block diagram.

 

图4.用例1方框图

 

用例2

 

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

 

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

 

Figure 5. Use case 2 block diagram.

 

图5.用例2方框图

 

结论

 

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

 

作者

 


Mitesh Moonat

 

Mitesh Moonat

 

Mitesh Moonat目前在印度班加罗尔(ADBL)处理器应用团队担任应用工程师。他从事前/后晶片验证、外设驱动器开发和SHARC处理器支持工作。在ADI就职期间,他还从事Blackfin和21xx处理器工作。他的工作领域包括处理器架构、数字信号处理算法优化、模块以及嵌入式系统的系统级调试。Mitesh于2006年加入ADI公司。他毕业于印度瓦朗加尔国家技术学院,获得电子和通信工程学士学位。

  

Sanket Nayak

 

Sanket Nayak

 

Sanket Nayak是印度班加罗尔(ADBL)处理器应用团队的产品应用工程师。他于2016年加入ADI公司,一直从事汽车DSP的前/后晶片验证、驱动器/FuSa ROM设计、开发和测试工作。他获得班加罗尔PES技术学院电子和通信工程学士学位。

推荐阅读

史海拾趣

Anixter Inc公司的发展小趣事

Anixter Inc 是一家全球性的供应链解决方案提供商,以下是该公司发展的相关故事:

  1. 公司成立与初期发展:Anixter Inc 成立于 1957 年,总部位于美国伊利诺伊州格伦维尔回。最初,公司主要从事电线电缆的销售和分销。随着时间的推移,Anixter 不断扩大业务范围,逐步涉足网络设备、安全解决方案、电子元器件等领域。

  2. 业务拓展与国际化:随着市场需求的变化和全球化的趋势,Anixter 不断拓展业务,并加速国际化进程。公司在全球范围内建立了广泛的分销网络和供应链体系,在北美、欧洲、亚洲和拉丁美洲等地区设立了办事处、仓库和物流中心,以更好地满足客户的需求。

  3. 技术创新与解决方案提供:Anixter 不断注重技术创新和解决方案提供,与各种供应商合作,推出了多种先进的产品和服务。公司致力于为客户提供全方位的供应链解决方案,包括设计、采购、仓储、配送和技术支持等,帮助客户提高效率、降低成本并增强竞争力。

  4. 收购与合并:为了加速业务发展和扩大市场份额,Anixter 进行了一系列收购和合并活动。通过收购具有特定技术或地区优势的公司,Anixter 不仅增强了自身的竞争实力,还拓展了业务领域和市场覆盖范围。

  5. 可持续发展与未来展望:Anixter 积极响应可持续发展的呼声,致力于推动环保和社会责任的实践。公司在供应链管理、能源管理和环境保护等方面持续改进,致力于减少碳排放、资源浪费和环境污染。未来,Anixter 将继续秉承技术创新和客户导向的理念,不断适应市场变化和挑战,保持行业领先地位,并为客户和股东创造持续增长的价值。

无锡友达公司的发展小趣事

面对电子行业的快速发展和智能化趋势,无锡友达积极响应,加快智能化转型和升级。公司不仅在产品设计和生产上引入智能化技术,还通过建立智能化管理系统,提升企业的运营效率和产品质量。此外,无锡友达还积极参与各类行业展会和交流活动,与业界同行共同探讨智能化转型的未来趋势。

CDI-DIODE公司的发展小趣事

随着市场需求的不断增长,CDI-DIODE公司意识到单凭自身力量难以满足所有客户的需求。于是,公司积极寻求与其他企业的合作,通过共同研发、生产和销售,实现了业务的快速拓展。这种合作模式不仅提升了公司的产能和效率,也加强了与合作伙伴之间的紧密联系。

DDK公司的发展小趣事

DDK公司自创立之初,便以技术创新为核心竞争力。公司投入大量研发资源,不断探索新的电子技术和材料,力求在激烈的市场竞争中脱颖而出。在经历了数次技术突破后,DDK公司成功研发出了一款高性能、低能耗的芯片产品,这一产品迅速在市场上获得了广泛认可,为DDK公司赢得了良好的口碑和市场份额。

格莱尔(GLE)公司的发展小趣事

格莱尔始终将技术创新视为企业发展的核心动力。公司不断投入研发资源,引进先进的生产设备和高精度的检测仪器,确保产品质量的稳步提升。同时,格莱尔还通过了ISQ9001质量管理体系和IATF16949汽车质量管理体系认证,全部产品实现了符合RoHS标准的无铅化生产,达到了欧盟的环保要求。这些努力使得格莱尔的产品在市场上赢得了良好的口碑和广泛的认可。

BeagleBoard公司的发展小趣事

随着技术的不断进步,BeagleBoard公司始终保持着对创新的追求。他们不断研发新的技术,优化产品设计,推出了一系列具有创新性的产品。其中,BeagleBone Black是该公司的一款明星产品,它集成了高性能处理器、丰富的外设接口和强大的扩展能力,为开发者提供了更加便捷的开发体验。此外,公司还推出了工业宽温应用的变体,以满足不同领域的需求。

问答坊 | AI 解惑

dsp实现日历时钟与显示

摘要:本文简要介绍了日历时钟12887、DSP及液晶模块的功能特点,以及它们的硬件接口及软件设计方法,通过DSP控制,实现日历时钟在液晶上的实时显示。 关键词:日历时钟 DSP 接口  液晶显示 Abstract: This paper introduces traits o ...…

查看全部问答>

Verilog HDL 高级数字设计源码

Verilog HDL 高级数字设计源码…

查看全部问答>

初学者咨询,用dsp做东西需要哪些装备啊?

各位高手指点一下,我需要用dsp做东西,介绍一下工作流程及其需要哪些软硬件,谢了啊…

查看全部问答>

常见的信息终端有哪些?

常见的信息终端有哪些? 请大侠们告知?…

查看全部问答>

[请问] 如何在VxWorks下开发IEEE 1394转PCI卡的驱动

转接卡用了三个芯片:TSB41AB3,M4LV -10VC -12VI和TSB12LV26,看着PCI和IEEE 1394的协议,就是不知道如何下手写这种转接卡的驱动,很郁闷,还请高手多多指点,谢谢!…

查看全部问答>

stm32研讨会送大礼了,13万6仟元!!!

STM32全国10大城市巡回研讨会火热进行中。 为方便广大STM32用户,配合ST推广STM32,原价68元的mcuisp串口下载软件注册版,现开放免费注册。 注册方法: 1、参加研讨会,并保留EP968手持万用在线编程器宣传彩页一张。 2、在彩页上写上邮箱 ...…

查看全部问答>

高频功率放大器内阻

在设计高频功率放大器时,通常令其内阻为50欧姆,可是如果我设计的这个高频功率放大器内阻不是50欧姆,是40欧姆或者60欧姆,该怎么办呢。。。…

查看全部问答>

关于avr的晶振问题

本人初学avr,型号是atmega16,今天在做实验时遇到了一个问题 本人是照着叶大鹏的《十天学会avr单片机》视频学习的,他里面用到了一个延时函数,delay(),他延时的时间是delay(500),我也跟着他写了一个同样的函数,参数也是500,但是惊奇的发 ...…

查看全部问答>

基于载波通信的油井井底参数采集系统设计

基于载波通信的油井井底参数采集系统设计,这样的毕业设计该怎么做啊 大神们给个思路吧…

查看全部问答>