《如何使用多核处理器满足智能产品处理和接口问题.docx》由会员分享,可在线阅读,更多相关《如何使用多核处理器满足智能产品处理和接口问题.docx(10页珍藏版)》请在第一文库网上搜索。
1、如何使用多核处理器满足智能产品处理和接口问题随着用户对AmazonAieXa、Goog1eAssistant、App1eSiri和MicrosoftCortana等虚拟数字助理日渐熟悉并委以重任,对智能产品的需求几乎遍及所有应用领域。除了提供便利外,在工业系统和医疗保健应用中,虚拟助理在提高各种产品的安全性方面也发挥了日益重要的作用。然而,对于开发人员而言,这些产品的基础设计对处理餐的需求有时相互冲突,既要增强性能,还需优化成本和资源占用并确保高效运行。本文阐示了开发人员如何使用多核处理器(本文以NXP的i.MX8MNano为例)来满足众多应用对新兴智能产品处理和接旦的各种不同要求,应用领域包
2、括智能家居、工业自动化和医疗系统等。使用该处理器,开发人员可轻松实现具有高级宣频处理功能的下一代语音型解决方案,本文着重介绍了具体应用方法。智能产品的演化语音助手技术的快速崛起,使用户期盼智能产品能实现更多功能。新兴产品既要响应语音命令,还需嵌入更多智能以处理来自饯感矍、相机和其他产品的各种输入数据。智能照明开关若只能打开和关闭灯或洗碗机以响应语音命令,还远远不够。随着应用的复杂化,其基础器件需要支持更多不同的传感器组合、3D图形显示,并提高处理能力以使用人工智能(M)方法。大众希望产品更智能化,已然不只是出于对更高便利性的渴望。在工业自动化和医疗保健等关键应用领域中,设备能够主动提醒用户注意
3、危险或病理状态就显得至关重要。工厂工人所戴的安全帽若能监测周围环境,他就能更快地避开危险;高危患者佩戴的微型医疗监护仪若能持续监测生命体征,医生就能在危机发生之前介入进行治疗。上述及其他智能产品提出的特定设计要求虽与其目标应用一样各种各样,但大多要求产品具有高性能处理能力、多媒体功能和安全操作能力。对于开发人员而言,解决方案如需满足应用基本要求和这些功能需求,就必须提高性能以适应功能更强大的应用,同时缩小物理尺寸、缩减成本、降低功耗以满足用户期望。NXP的i.MX8MNano应用处理器系列基于异构多核架构,可满足新兴智能产品设计的各种要求。高性能内核NXP的i.MX8MNano是i.MX8M处
4、理器系列中最新的产品,旨在提供一个可扩展的多核处理平台。对于高端视频应用,NXP的MIMX8MQ5DVAJZAB等i.MX8M旗舰处理器提供的显示分辨率高达4K,并可对4K高动态范围(HDR)视频进行硬件解码。对于108OP视频,NXP的MIMX8MM6CVTKZAA等i.MX8MMini处理器支持108OP硬件解码。i.MX8M和8MMini系列产品均整合了多达四个ArmCortexA53应用处理器内核和一个ArmCorte-M4F微控制器内核。相比之下,NXP的i.MX8MNanoMIMX8MN6CVTIZAA处理器整合了四个ArmCorte-A53内核和一个ArmCorte-M7内核。在
5、ArmCortex-M系列内核中(包括Corte-M4F),后者的性能表现最为出色。除了对处理器内核的优化外,i.MX8MNano处理器还支持各种外部存储器件,并提供各种外部外设接口以满足消费类和工业应用的常见需求(图D0图1:NXP的i.MX8MNano处理器整合了多达四个ArmCorte-A53应用处理器和一个ArmCorte-M7微控制器,具有专用硬件子系统、全面的外部外设接口,可满足消费类和工业应用的常见需求。(图片来源:NXP)i.MX8MNano处理器系列具有多种不同的型号,使开发人员可轻松满足成本和性能方面的特定要求。例如,高性能产品集成了安全性、3D图形显示、音频处理等各种专用
6、子系统。另一些i.MX8MNano系列产品则可选择整合较少的Corte-A53内核,更有图形功能较弱的“1ite”版本。尽管如此,i.MX8MNano处理器系列的所有产品均能提供新兴智能产品所需的应用性能和实时性能。每个ArmCorte-A53应用处理器内核都可提供高性能以执行应用软件,工作班频率高达15GHz,具有专用一级(11)缓存包括32KB指令缓存(rcache)和32KB数据缓存(D-cache),以及512KB共享12统一缓存。配合集成的浮点单元(FPU),这些内核支持Arm的Neon技术一一用于数字信号处理的高级单指令多数据(辿D)操作,以及数据密集型应用的其他高级算法。对于嵌入
7、式系统要求,ArmCorte-M7微控制器内核的工作频率高达750MHz,可高性能执行要求低延迟和确定性操作的实时进程。为了进一步加快处理速度,该内核还具有集成的FPU和256KB紧贽盒存储器(TCM),用于指令和数据缓存。不过,对于复杂的实时处理任务,快速识别不同中断源的能力与原始处理能力同样重要。在i.MX8MNano处理器中,各个ArmCorte-A53内核内置全局中断控制器(GjC),ArmCorte-M7内核则具有嵌套向量中断控制器(NVIC),可对近128个不同中断请求源发出的中断进行精细化处理,对应分类包括内核状态、定时器、外设接口事件、直接存储器访问(遮)操作、专用硬件进程等。
8、异构多核处理每个i.MX8MNano处理器内核都可独立提供强大的计算资源。实时性能和应用软件执行方面往往存在相互冲突的要求,致使智能产品设计难度陡增。然而,该处理器的多个内核配合使用,即可提供功能强大的计算平台,从而妥善处理这些要求。例如,基于该处理器的智能产品可使用Corte-M7内核实时处理音频流,同时在一个或多个Corte-A53内核上运行算法来分析结果数据,并为用户提供结果的3D图形显示。然而,为了确保异构多核间协调处理的可靠性,多核系统需要仔细调度不同内核、专用硬件块和外设之间的处理操作和数据交换。在i.MX8MNano处理器中,这种调度是采用基于硬件的机制来实现的。在多处理环境中这
9、种机制用于底层软件服务一般使用的信号量和消息发送。在嵌入式系统中,协调调度的对象则还需扩展至存储器和外设等硬件资源。为了执行此任务,该处理器集成了专用资源域控制器(RDC),从而确保在适当时安全共享资源,或在需要时进行可靠隔离。因此,应用软件和实时代码可以各自控制其域内专用的资源,同时共享一组公共资源(图2)0S9dP9phniancMemoryApp1icationResourceDomainDtftcjrttdRTtmtPvftp0r9t9andMemoryRea1TimResourceDomain图2:NXP的i.MX8MNano处理器采用基于硬件的机制,可确保Corte-A53应用域或
10、Corte-M7实时域专用资源的隔离,同时在需要时实现安全的资源共享。(图片来源:NXP)针对智能产品的专用支持只需使用i.MX8MNano处理器的多核和资源共享功能,开发人员即可实现语音助手和3D图形功能,构建复杂的新兴智能产品应用。凭借i.MX8MNano处理器内置的智能产品专用硬件支持,这些应用可进一步提高性能并减少软件占用空间。在图形方面,处理器集成的图形处理单元(更U)可提供2D和3D图形加速,支持Vu1kan,开放运算语言(OpenC1)和开放图形库(OpenG1)等标准图形库。集成的液晶显示接口(1CD1F)控制器支持1080p60显示(p表示逐行扫描,帧率为60帧/秒)。片上G
11、PU可为内核分担显示处理,而另一组硬件子系统则分担了各种音频处理任务。通常情况下,这类任务会使基于常规处理器的系统速度减慢。针对麦克风输入处理,该处理器的脉冲密度调制(PDM)麦克风接口(MICFI1)可提供多级流水线,用PDM麦克风接收的1位输入生成经过滤波的16位脉冲代码调制(PCM)数据(图3)。图3:NXP的i.MX8MNano处理器具有PDM麦克风输入接口子系统,可为音频信号处理和语音活动检测提供独立的硬件流水线。(图片来源:NXP)在基于语音的典型应用中,设计人员只需在该处理器支持的八个PDM声道中选择其一,并连接PDM麦克风即可。在PDM麦克风接口子系统中,输入接将来自一对麦克风
12、的时分复用PDM数据进行组合,形成包含左右声道的混声道。在每个声道的下一级,专用可编程抽取滤波器可提供不同的通带,具体取决于所需的输出速率和质量选择(QSE1)设置。具体质量设置选择包括高、中、低和另外三个较低的质量级别。例如,输出速率为48kHz时,较低质量模式的滤波器通带设置为10.5Hz至11.25kHz;相比之下,高、中、低质量模式的通带为21Hz至22.5kHzO最后,各声道的滤波结果送入各自独立的先进先出(FIFO)缓冲区以生成中断,通过DMA传输或访问总线。基于硬件的语音活动检测PDM麦克风接口提供一组硬件语音活动检测器(HWAD)与音频信号调节流水线并行操作,用于监测所需的麦克
13、风输入声道。(请注意:上图中,各HWVAD与混声道连接,但根据说明文档,与之相连的是各路声道,并且由寄存番“VADCHSE1”的名称可知,应为声道)。该处理器提供了各类设备寄存器以支持HwVAD操作,因而开发人员可按应用需求定义特定的HWVAD配置(表1)OVadcicosr-霏活粉金贝微cc至此位字段用于定义C1C滤波器的过采样率.Vadchse1-语音活动松贝瞎声I1i装器用于选择硬件谙音活动检测S所监浏的声道号。VADNTT.语音活动检测器初始化时间邮i韶嗡蝌始化所使用的簸。在此期间,语音活动检骤潮出迷就C1CoSR-C1C过采附此位字段用于定义CIC滤波器的过采样率.C1KDIVC1K
14、DIV字斛于SMICFI1内38的领。QSE1-质量解用于定义抽取滤波器的实际质量模式.VADIE-语音活动检测StU断启用当硬件语音活动检测器(HWVAD)检测到谙音活动事件比,比位用于启用PDPdmien-Pdm接口启用PDMIEN位用于启用模块中湾波器任臊作。Vadinitf-语音活动嗑幅初始化标志HWVAD初始化时,该标志发E信号.VAD1F-语音活动检测器中断标志此位用于指示HWVAD何时蹴I到语音活动.Vadndata-语音;舌动检;则器噪声痴居此位字段表示HWVAD计算出的噪声能量或轿包络,可由软件处理用于进测.表1:NXP的i.MX8MNano处理器寄存器常用于配置处理器PDM
15、麦克风接口(MICFI1)中集成的硬件语音活动检测器。(表格来源:Digi-KcyE1ectronics,基于NXP提供的数据)根据这些寄存器设置,HWVAD使用内置的语音检测算法来识别语音活动。检测到语音活动后,HWVAD随即生成中断以唤醒内核(通常是Corte-M7)以作进一步处理(图4)。图4:根据开发人员编程好的设置,NXP的i.MX8MNano处理器硬件语音活动检测器允许处理器内核休眠或执行其他处理,直至其检测到语音并需要进一步的语音处理为止。(图片来源:NXP)在语音助手应用中,内核将检查音频流中是否存在相应的唤醒字。如果检测到唤醒字,则内核通常会将音频流交由应用支持的基于云的语音
16、助手服务处理。除了PDM麦克风接口子系统外,i.MX8MNano处理器还具有五个同步童频接口(SAI)模块,支持Inter-ICSound(I2S)、audiocodec97(的97)、时分复用(TDM)音频、直接比特流数字(DSD)以及编解码器或数字信号处理(至E)数据等多种标准音频格式。开发人员常常需要将音频输入样本按需转换为其他采样率和分辨率,以满足特定应用要求。i.MX8MNano处理器不是占用处理器周期来完成这类常见任务,而是使用集成的专用异步采样率转醺(ASRC)子系统。ASRC可同步处理多达32路音频声道,将声源样本自动转换为所需的采样率(介于8kHz和384kHz之间)和分辨率(每个样本16、20、24或32位I