使用市面上首款基于 Arm® Cortex®-M33 的 MCU – 第 1 部分:管理功耗与性能

电子说

1.3w人已加入

描述

明确并满足不同的需求

互连产品发展迅速:最初的系统相对简单,最具挑战性的设计需求通常也只涉及通信的某些方面;而如今,设计人员的处境却更为艰难:各个应用领域中,需求组合不断扩展,却几乎不容妥协任何方面。每种应用都要求开发人员根据需要转移重点,以应对该应用独有的挑战。不过,对更高性能和更低功耗的需求却是大多数主流应用领域的共同主题。

例如,智能工厂不仅依赖于低延时、高性能器件(用于信号处理),而且要求降低功耗,以便工厂工程师能在狭小空间中容纳更多器件。消费类可穿戴设备不仅需要低功耗设计以延长电池续航时间,而且面临着不断增长的信号处理需求,以便能够处理更复杂的工作负载。在各个应用领域中,设计人员承受的压力越来越大,需要更有效地响应关于器件、网络和企业资产的漏洞的实际担忧,使其免遭来自个别网络窃贼、犯罪组织甚至国家赞助团体的直接攻击或高级持续性威胁。

为了满足这些不同的需求,开发人员通常需要作出抉择,在设计的某一方面作出妥协。他们可能会选择牺牲应用性能以降低功耗,使用较低性能的处理器、降低时钟速率,或者降低处理器的占空比来支持低功耗状态。然而,为了满足严格的性能要求,他们就可能会采取相反的做法,使用更强大的处理器、更快的时钟速率和更高的占空比,但代价则是功耗剧增。对于计算复杂度较高的应用,他们可能会添加专用数字信号处理器 (DSP) 来加速算法执行,但设计复杂性、成本和系统功耗也会相应增加。即使功耗与性能达到了可接受的平衡,他们往往也需要接受设计成本和复杂性的增加以满足安全要求。

尽管设计人员为满足不同需求而心力交瘁,但对于医疗设备、工业自动化系统、零售支付设备等关键应用,用户可接受的妥协空间越来越小,甚至拒不接受。NXP Semiconductors 的 LPC55S6x 微控制器系列器件架构,既有通用处理器的灵活性,又有新兴应用所需的专门处理能力和安全性,从而免除设计人员的妥协之困。

功能丰富,兼有专用处理内核

NXP Semiconductors 的单核 LPC55S66 和双核 LPC55S69 微控制器是市面上首款基于 Arm® Cortex®-M33 的通用 MCU,具有 Arm M 系列架构典型的低延时、确定性性能。NXP 的 LPC55S6x 器件在架构上加设了诸多增强功能,包括该公司的高性能 PowerQuad DSP 加速器、CASPER(Cryptographic Accelerator and Signaling Processing Engine with RAM,带 RAM 的加密加速器及信号处理引擎)加密引擎以及全面安全子系统。除了高达 640 KB 的闪存、320 KB 的 SRAM 和 128 KB 的 ROM 外,LPC55S6x 器件还集成了大量功能元件,而这些元件通常需要用于所有深度嵌入式系统设计(图 1)。

图 1:LPC55S6x 微控制器架构在 Arm Cortex-M33 内核的通用处理能力基础上,扩展了专门硬件模块用于执行信号处理、加密、安全存储和密钥管理,同时还提供典型嵌入式设计所需的全套外设。(图片来源:NXP Semiconductors)

在这些功能元件中,LPC55S6x 器件配备了功能全面的定时器子系统、多个串行接口、安全的直接存储器访问 (DMA) 控制器和多达 64 个通用 I/O (GPIO) 引脚。除了这些数字子系统,LPC55S6x 器件还集成了 16 位多通道逐次逼近寄存器 (SAR) 模数转换器 (ADC)、模拟比较器和温度传感器。此外,片上可编程逻辑单元 (PLU) 允许开发人员配置 26 个五输入查找表 (LUT) 结构,构建状态机等自定义组合逻辑或时序逻辑。开发人员可以访问 PLU 寄存器,直接对 PLU 编程以实现小型逻辑威廉希尔官方网站 ,或使用 NXP 工具实现使用 Verilog 寄存器传输语言 (RTL) 描述的较大型逻辑威廉希尔官方网站 。

为了避免访问多个子系统时出现瓶颈问题,LPC55S6x 器件采用多层总线矩阵,以 Arm 高级微控制器总线架构 (AMBA) 的高级高性能总线 (AHB) 架构构建。AHB 总线矩阵提供总线主控器与外设或存储器之间的直接连接。例如,这种方法允许 DMA 传输以全速运行,而不会影响处理器对存储器的访问性能。事实上,在众多设计需求中,使处理器效率最大化的能力是 LPC55S6x 架构的基础。

在 LPC55S6x 架构中,Cortex-M33 内核提供多种功能来帮助设计人员更轻松地应对不同的设计要求。与其他同类器件一样,LPC55S6x 处理器支持多种低功耗模式。如果器件长时间处于非活动状态,开发人员可以将器件置于省电模式,可以完全保留 SRAM 的内容,但是功耗仅为 15.4 µA;或将器件置于深度省电模式,继续为 4 KB 的 SRAM 部分供电,而功耗只有大约 0.59 µA。休眠模式和深度休眠模式下,处理器关闭,但会为外设和存储器提供不同程度的操作:休眠模式下可进行全面操作,功耗约为 2.7 mA,而深度休眠模式会对外设使用时钟门控,从而将功耗降至约 110 µA。

增强功能

除了低功耗模式外,LPC55S6x 架构还通过集成功能扩展对不同设计需求的支持,从而提高性能和安全性。Cortex-M33 主内核内置的集成功能包括 Arm TrustZone 安全扩展 (SECEXT)、存储器保护单元 (MPU)、IEEE 754 标准浮点运算单元 (FPU) 和嵌入式跟踪宏单元 (ETM)。此外,主内核还包含 CASPER 加密引擎和 PowerQuad 加速器,支持 DSP 和单指令多数据 (SIMD) 操作。

请注意:双核 LPC55S69 微控制器的另一个 Cortex-M33 内核不包含这些附加功能。

对于这些集成子系统和架构特性,每个特性都能提供丰富的功能,相关详细说明远远超出了本文的涵盖范畴。例如,PowerQuad DSP 加速器本身就是精密协处理器,能够独立完成信号处理功能,同时又可作为总线主控器访问存储器。

在内部,PowerQuad 加速器将多个寄存器和接口与一组硬件引擎相结合,用于执行关键信号处理功能,包括快速傅里叶变换 (FFT)、离散余弦变换 (DCT)、无限脉冲响应 (IIR)、有限脉冲响应 (FIR) 以及用于高效计算三角函数的坐标旋转数字计算机 (CORDIC) 算法(图 2)。

图 2:NXP Semiconductors 的 LPC55S6x 微控制器系列集成了该公司的 PowerQuad 协处理器,后者使用专门引擎来加速信号处理应用常用算法的执行。(图片来源:NXP Semiconductors)

借助 PowerQuad 加速器,开发人员可以执行复杂的信号处理运算,而不会影响主机处理器响应实时事件或完成一系列扩展操作。主机处理器只需使用所需的信号处理函数设置 PowerQuad 寄存器,并指定来源、目标和工作存储区的存储器地址。一旦调用,PowerQuad 加速器就会作为真正的协处理器运行,作为总线主控器使用 AHB 矩阵来执行 128 位存储器传输。与此同时,主机处理器可以立即返回执行主处理任务,只需定期轮询 PowerQuad 忙位,或简单响应 PowerQuad 发送的完成中断以访问结果。

不过,对于开发人员而言,PowerQuad 操作大多是透明的。开发人员可使用标准应用程序编程接口 (API) 来调用 Arm Cortex 微控制器软件接口标准 (CMSIS) 的 DSP 库。NXP Semiconductors 的 MCUXpresso 软件开发套件 (SDK) 包含支持 PowerQuad 的 NXP 版 DSP 库。该库通过调用 PowerQuad API 替代软件实现的低级数学函数。

例如,若需计算复数 FFT,开发人员使用标准 CMSIS-DSP 函数 arm_cfft_q31(),数据设为 Q 格式,即 32 位定点数用 1 个符号位和 31 个指数位来表示。在纯软件实现中,调用 arm_cfft_q31() 函数会相应地调用 CMSIS DSP FFT 蝶形运算函数 arm_radix4_butterfly_q31() 和结束函数 arm_cfft_radix4by2_q31();计算复数逆 FFT 时则会调用相应的反函数。

但是,若使用 NXP 的 DSP 库和 PowerQuad,正常调用 arm_cfft_q31() 却会调用 PQ_TransformCFFT(),并在硬件中处理相同的计算。最终,不仅减轻了 Cortex-M33 内核的处理负荷,而且加速了 DSP 函数的执行(图 3)。

图 3:MCUXpresso 软件开发套件可显著加速常用 DSP 算法的执行,同时通过直接调用 PowerQuad 加速器来替代低级 CMSIS-DSP 函数,从而保持与标准 Arm CMSIS DSP 库高级调用的兼容性。(图片来源:NXP Semiconductors)

CASPER 加密引擎作为另一个协处理器,同样能减轻主处理器的负担,使其免于处理与非对称加密算法相关的繁重计算负荷。CASPER 加密引擎执行 Rivest-Shamir-Adleman (RSA) 算法、Diffie-Hellman 算法、椭圆曲线加密法 (ECC) 和椭圆曲线数字签名算法 (ECDSA) 的速度是 Cortex-M33 内核运行同类加密软件的八倍。

为了加速对称算法的执行,LPC55S6x 还集成了硬件模块以支持高级加密标准 256 位加密 (AES-256) 和安全散列算法 2 (SHA-2)。

这些硬件模块与 CASPER 引擎的组合为开发人员提供基于硬件的支持,有利于实现身份验证和数据加密常用的加密算法,满足互连产品保护数据交换的需求。

正如本系列文章第 2 部分所讨论,LPC55S6x 系列对安全性的支持远远超出了基本加密算法;该系列提供基于硬件的安全功能,可满足全生命周期安全性的需求。

系统开发

借助 NXP 的 LPC55S69 EVK,开发人员可以快速探索 LPC55S6x 微控制器的加密引擎、DSP 和通用处理能力。LPC55S69 EVK 旨在加速这些器件应用的开发工作,该威廉希尔官方网站 板具有双核 LPC55S69 微控制器、NXP 的 MMA8652FCR1 加速计、LED、按钮、调试接口,并支持 Arduino UNO、MikroElektronica Click 和 Digilent PMod 附加硬件等多种扩展选项。

该威廉希尔官方网站 板具有多个跳线和针座,可让开发人员轻松设置不同的硬件配置并仔细检测性能细节(图 4)。例如,关注功耗的开发人员只需使用电压表测量 P12 针座处的电压降,便可测量 LPC55S69 的供电电流。

图 4:NXP Semiconductors 的 LPC55S69 EVK 围绕该公司的双核 LPC55S69 微控制器构建,提供多个跳线和针座,使开发人员可以轻松配置并检测微控制器的电流消耗等性能细节。(图片来源:NXP Semiconductors)

开发应用时,设计人员可将该威廉希尔官方网站 板与 MCUXpresso 集成开发环境 (IDE) 和 SDK 配合使用,该套件使用 PowerQuad 功能(如前所述)等 LPC55S6x 专用硬件。此外,IAR 和 Keil IDE 也支持 LPC55S69-EVK。NXP 还提供免费软件包,通过样例代码演示 LPC55S6x 功能使用的主要软件设计模式。

总结

在物联网、工业自动化、医疗系统、消费类设备等广泛的应用中,开发人员希望取得高性能、低功耗与安全性之间的平衡。如上所述,LPC55S6x 系列微控制器兼有功能强大的通用内核与专用硬件和处理引擎,让开发人员能够更轻松地满足高性能专用功能的需求,同时保持低功耗。

本系列文章第 2 部分介绍如何使用 LPC55S6x 系列来管理器件的全生命周期安全性。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分