0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

丫丫119 来源:未知 作者:肖冰 2019-08-02 11:34 次阅读

明确并满足不同的需求

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

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

为了满足这些不同的需求,开发人员通常需要作出抉择,在设计的某一方面作出妥协。他们可能会选择牺牲应用性能以降低功耗,使用较低性能的处理器、降低时钟速率,或者降低处理器的占空比来支持低功耗状态。然而,为了满足严格的性能要求,他们就可能会采取相反的做法,使用更强大的处理器、更快的时钟速率和更高的占空比,但代价则是功耗剧增。对于计算复杂度较高的应用,他们可能会添加专用数字信号处理器 (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、按钮、调试接口,并支持ArduinoUNO、MikroElektronicaClick 和DigilentPMod 附加硬件等多种扩展选项。

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

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

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

总结

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

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

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

    关注

    134

    文章

    8651

    浏览量

    361777
  • 物联网
    +关注

    关注

    2868

    文章

    41622

    浏览量

    358351
收藏 人收藏

    评论

    相关推荐

    市面上FPGA入门用哪块板子好啊?

    市面上FPGA入门用哪块板子好啊?用的什么开发软件和编程语言的??
    发表于 03-30 11:24

    兆易创新推出GD32F5系列Cortex-M33内核MCU

    兆易创新GigaDevice宣布,正式推出GD32F5系列高性能微控制器,该系列MCU基于Arm® Cortex®-M33内核,旨在满足各类
    的头像 发表于 03-16 09:58 558次阅读

    兆易创新推出GD32F5系列Cortex®-M33内核MCU

    业界领先的半导体器件供应商兆易创新GigaDevice 今日宣布,正式推出基于Arm® Cortex®-M33内核的GD32F5系列高性能微控制器,全面适配于能源电力、光伏储能、工业自
    的头像 发表于 03-07 11:40 382次阅读
    兆易创新推出GD32F5系列<b class='flag-5'>Cortex</b>®-<b class='flag-5'>M33</b>内核<b class='flag-5'>MCU</b>

    市面上常见的滤波器有哪些?

    市面上常见的滤波器有很多种类,它们被广泛应用于各种领域,包括通信、电子设备、音频处理等。
    的头像 发表于 01-23 18:26 790次阅读

    GD32E502xx Arm®Cortex® -M33 32位MCU用户手册

    电子发烧友网站提供《GD32E502xx Arm®Cortex® -M33 32位MCU用户手册.pdf》资料免费下载
    发表于 12-14 10:38 0次下载
    GD32E502xx <b class='flag-5'>Arm</b>®<b class='flag-5'>Cortex</b>® -<b class='flag-5'>M33</b> 32位<b class='flag-5'>MCU</b>用户手册

    GD32E50x Arm®Cortex®-M33 32位MCU用户手册

    电子发烧友网站提供《GD32E50x Arm®Cortex®-M33 32位MCU用户手册.pdf》资料免费下载
    发表于 12-14 10:29 1次下载
    GD32E50x <b class='flag-5'>Arm</b>®<b class='flag-5'>Cortex</b>®-<b class='flag-5'>M33</b> 32位<b class='flag-5'>MCU</b>用户手册

    GD32W515系列 32位ARM® Cortex® -M33 MCU选择指南

    电子发烧友网站提供《GD32W515系列 32位ARM® Cortex® -M33 MCU选择指南.pdf》资料免费下载
    发表于 12-14 10:07 0次下载
    GD32W515系列 32位<b class='flag-5'>ARM</b>®  <b class='flag-5'>Cortex</b>® -<b class='flag-5'>M33</b> <b class='flag-5'>MCU</b>选择指南

    LPC55S69是两个ARM Cortex M33内核,这种双内核应用在那种场景中比较合适?

    NXP的LPC55S69是两个ARM Cortex M33内核,这种双内核应用在那种场景中比较合适?显示全部
    发表于 10-30 07:40

    使用STM32缓存来优化性能与功率效率

    本应用笔记描述了意法半导体开发的首指令缓存(ICACHE)和数据缓存(DCACHE)。在 Arm® Cortex®-M33 处理器的 AHB 总线中引入的 ICACHE 和 DCAC
    发表于 09-07 07:51

    STM32产品选型手册

    .......................93STM32 L5系列 – Arm® Cortex®-M33超低功耗性能安全
    发表于 09-06 08:06

    STM32H5 MCU系列提升性能与信息安全性

    强大的Arm® Cortex®-M33 MCU运行频率高达250 MHz的Arm®Cortex®
    发表于 09-06 06:29

    ARM Cortexex-M33设备通用用户指南

    2.1 关于Cortexí-M33处理器和核心外围的Cortexí-M33处理器和核心边缘的指令扩展; 2.1 关于Cortexí-
    发表于 08-24 08:10

    Arm Cortex®-M33处理器技术参考手册

    Cortex®-M33处理器是一低门数、高能效的处理器,适用于微控制器和深度嵌入式应用。 该处理器基于ARM®V8-M架构,主要用于安全性
    发表于 08-17 07:23

    Arm CoreSight MTB-M33技术参考手册

    本书面向提供ETM功能支持的开发工具设计人员,以及将宏单元集成到包含Cortex®-M33处理器的ASIC中的硬件和软件工程师。 本文档描述了特定于实现的行为。 您可以在和ARM®Cortex
    发表于 08-17 06:50

    Arm CoreSight ETM-M33技术参考手册

    根据您的实施情况,嵌入式跟踪宏单元(ETM)-M33可为Cortex®-M33处理器提供非侵入式程序流跟踪。 ETM-M33生成跟踪软件工具用来重建程序的全部或
    发表于 08-17 06:24