自现场可编程逻辑器件(FPGA)面世以来,通常瞄准最大的市场区间——通信行业。虽然大多数FPGA开发人员仍然以通信应用为重点,但他们越来越多地关注存储和服务器市场。
通常,广泛的工业市场的需求并非像存储、服务器或通信应用所要求的那么性能导向或复杂。对于所有围绕工业物联网(IoT)市场的炒作,我们并不清楚工程师如何利用现有的技术来实现其潜能。在工业市场上可以看见的日益增长的一个例子就是音频的处理。通过结合音频处理器的功能和FPGA器件的灵活性,能够支持许多创新应用。
音频处理器名副其实是经优化处理声音的处理器。它通常利用基于ARM或RTOS友善的处理器架构,具有数字至模拟转换器(DAC)等硬件、多个数字麦克风输入、优化用于声谱的硬件加速器,以及I2S或 SPI接口。音频处理器通常与软件或固件绑定,经设计执行某些回声消除或降噪功能。
FPGA器件使用基于栅级的架构,适用于并行模式下的信号处理。它还具有内部存储器、硬件乘法器和累加器,以及充足的I/O灵活性。某些FPGA器件被视为SoC,因为它们具有四核、A级ARM处理器,但是,当FPGA器件与音频处理器配对使用时,这种级别的性能并非必需。音频处理器的理想配对是通用而灵活的FPGA器件,或者集成了ARM Cortex-M3等微控制器的FPGA器件。结合音频处理器和这类FPGA器件,无论是否带有Cortex-M3,也能够实现理想的分工,用于独特的工业通信和控制应用中的许多任务。
在使用两个麦克风时,音频处理器能够执行一项有趣的功能,就是音频检测,例如,在音频处理器中使用合适的固件,该器件便能够确定与声音位置相关的角度信息。如果在器件的前部听到语音或声音(例如在向北的方向),这将被处理成“90度”。如果声音来自东北方向,音频处理器则输出“45度”。此外,固件可以在两个麦克风的前部虚拟一道光束,并忽略光束以外的噪声源。通过利用FPGA器件,光束可以导引在感兴趣的声音源的方向上。
这类监控摄像头包括以下主要组件,如图1所示:
这类智能摄像头能够更专注声音起源处的图像,FPGA器件还可以用于桥接基于PCIe的高速Wi-Fi 模块以串行方式传送这些图像,或者,它可以触发某些报警或警示功能。这种方法还可以用于引导摄像头和监听麦克风来优化视频会议单元的性能。在这种应用中,通过使用波束来监听谁在发言,音频处理器用于检测声音的来源。波束在FPGA器件的控制之下,将会转向发言的人,而不是将摄像头朝向声音。
FPGA器件与音频处理器共同实现的另一种独特工业 IoT应用是维修、诊断和故障预防(图2)。想像你拥有足够敏锐的听力,知道马达或其它移动组件正在变弱并即将发生故障。工业IoT的相关示例包括电梯马达或钻头。通过使用处理器和FPGA器件了解变弱马达或钻头的声音曲线,并且监控这种音频标记,可以防止产品故障和停机时间。
为了实施这类解决方案,要把声音曲线固件插入在音频处理器中,以监控与故障相关的音频标记。对于马达应用,这项标记可能是轴承开始崩溃的声音,或者随着钻头变钝和越来越吃力地工作,钻头的音频曲线改变至较高水平的声音。由于声音曲线驻留在音频处理器中,然后这款解决方案便可以监听并连续匹配声音和存储的故障曲线。同时,FPGA器件与音频处理器通话,并与网络或某些其它外设通信,以传递这种状态。如果FPGA器件包括ARM Cortex-M3,便可运行轻量TCP/IP堆栈,并且在以太网上或通过无线标准发送信息。当然,它也可以利用其它独特的通信功能,比如CAN总线、USB或专有协议。
当音频处理器检测到弱化状况的声音曲线特性时,便向FPGA器件发送信号,而后将这个信息在网络上发放。通过在早期捕捉失效状况,FPGA器件还可以通过编程,以系统覆盖(system override)的形式触发响应。以电梯为示例,FPGA器件可以一直等待,直到确定电梯安全到达地面层,而且每个人都走出去了,然后才与中央控制系统通信,使得电梯停止服务。其它示例包括汽车电动马达、流量管线,以及其它工业IoT应用。如果声音曲线被很好地了解,这种方法甚至可用于触发维修呼叫,从而显著缩短停机时间。
配对音频处理器和FPGA器件的解决方案,还可以用于最适合在本地实施音频存储和回溯的应用场合。这包括了保护加密音频或家居自动化应用。
在这些示例中,音频处理器接收语音或声音,并且经由I2S总线将其传送至FPGA器件,FPGA器件将数据格式化,存储在SPI快闪或其它非易失性存储器中。这项设计还允许通过FPGA器件至音频处理器,从SPI快闪进行播放。这类设计的其它选项包括用于安全应用的加密和解密音频。FPGA器件能够推动通信以作为替代,使得系统可从远程提供音频。
最近,艾睿电子设计了一个硬件套件来演示音频处理器和ARM Cortex-M3 FPGA能够提供的灵活性(图3)。美高森美SmartFusion2+ (SF2+)评估套件带有Timberwolf音频处理器和SmartFusion2 SoC FPGA器件。这款套件具有板载快闪和DDR存储器,以及USB和以太网接口。此外,通过利用Arduino盾连接器组和PMOD接口,还可以增添多种外设选项。
艾睿设计了用于这款套件的完整HDL和C代码参考设计,允许储存多达四个不同的音频记录,并且支持回放控制。用于Timberwolf音频处理器和HDL的固件和用于FPGA器件的C代码为探索结合音频处理器和FPGA的解决方案提供了起点。
使用音频处理器和FPGA器件组合可以理想地实施多种独特和引人注目的应用,音频处理器执行检测或监听事件的任务,而FPGA器件用于提供定制响应。当然,附加的FPGA逻辑还允许实现定制功能或其它逻辑需求,比如桥接、硬件加速或协议通信,所有这些可以通过可用的硬件解决方案、参考设计和音频软件来探索实施。