恩智浦

  • 集性能、集成、网络、信息安全和功能安全于一体,满足电动汽车牵引逆变器控制新需求

  • 在新一代区域汽车架构中,通过时间敏感网络(TSN)以太网支持边缘智能驱动应用

  • 搭载ASIL D解码软件和模拟外设集成,以降低系统成本

恩智浦半导体(NXP Semiconductors N.V.,纳斯达克股票代码:NXPI)宣布推出全新S32K39系列汽车微控制器(MCU),该系列MCU针对电动汽车(EV)控制应用进行了优化。新一代S32K39 MCU的高速、高分辨率控制可提高能效,在延长行驶里程的同时,提供更顺畅的电动汽车驾驶体验,满足未来电气化需求。S32K39 MCU的网络、信息安全和功能安全超越传统汽车MCU,可满足区域汽车E/E架构和软件定义汽车需求。借助新的MCU,恩智浦的电池管理系统(BMS)和电动汽车功能逆变器能够提供适用于下一代电动汽车的端到端解决方案。

微信图片_20221128133149.png

S32K39高性能MCU为实现牵引逆变器的智能、高精度控制而进行了优化,可将电动汽车电池的直流电转换为交流电,驱动现代化牵引电机。该系列MCU既支持传统的绝缘栅极双极性晶体管(IGBT),也支持新推出的碳化硅(SiC)和氮化镓(GaN)技术。S32K39高性能MCU通过双200 kHz控制环路提高能效,逆变器体积更小、更轻、更高效,行驶里程更长。该系列可控制六相电机,提高功率密度和容错性,保持长期高可靠性。此外,该系列搭载安全ASIL D软解码以及集成正弦波生成器与Σ-ΔADC,消除了对外部组件的需要,从而降低系统成本。与恩智浦S32E实时处理器结合使用时,S32K39还允许灵活地控制多达4个牵引逆变器,并且能够为采用该配置的4轮驱动电动汽车实施高级牵引功能。

S32K39系列采用多功能架构,因此除了适用于牵引逆变器控制,也适合许多其他电动汽车应用,包括电池管理(BMS)、车载充电(OBC)和DC/DC转换。此外,还支持硬件隔离、时间敏感网络和高级加密,已为支持软件定义汽车和区域架构做好充分准备。

恩智浦半导体汽车控制和电气化部门总监Allan Mcauslin表示:“S32K39 MCU集多种先进技术于一体,为汽车厂商提供巨大的灵活性和可扩展性,加速电动汽车开发及电气化新技术部署。凭借解决方案互补的全面产品组合,恩智浦引领行业发展趋势,为客户提供更好的电动汽车驾驶体验,同时加速推进电动汽车革命。”

关于S32K39

  • S32K系列中性能最出众的产品,搭载4个工作频率为320 MHzArm® Cortex®-M7内核,配置为一个锁步核和两个分立核

  • 高达6 MB闪存和800 KB SRAM

  • 两个电机控制协处理器和NanoEdge™高分辨率脉宽调制(PWM),实现更高性能和精度控制

  • 安全ASIL D软件分解器消除对外部组件的需要并降低成本

  • 集成的DSP提供灵活的数字滤波和机器学习(ML)算法

  • 多通道SARΣ-Δ A/D转换器、比较器和用于解码器激励的正弦波生成器

  • 6CAN FD接口、TSN以太网和多个高级可编程I/O

  • 通过使用公钥基础架构(PKI)和密钥管理,硬件安全引擎(HSE)实现可信启动、安全服务、安全无线远程升级(OTA

  • 还提供S32K37版本(不带双电机控制处理器)

  • 通过获得认证的ISO/SAE 21434网络安全和ISO 26262功能安全流程开发

  • 提供两种封装:176LPQFP-EP289MAPBGA

系统解决方案供货情况

目前,为主要客户提供工程样片、评估板和综合性软件支持与工具。S32K39 MCU可与恩智浦FS26安全系统基础芯片(SBC)和具备可调节动态栅极强度控制的先进高压隔离栅极驱动器GD3162结合使用,实现安全的逆变器控制系统。对于牵引逆变器开发,二者均支持最高级别的功能安全等级(ASIL D)。计划于2023年第4季度正式投入量产。

关于恩智浦电气化解决方案

恩智浦电气化解决方案采用可靠的开放式架构,可实现从电气化结点到云端的更安全的双向通信。我们的集成嵌入式技术让产品设计人员和服务提供商有信心构建满足最高功能安全和信息安全标准的系统;恩智浦还提供深度见解,助力提高产品整个生命周期的性能。恩智浦电气化解决方案的控制功能不局限于系统某个部分,而是覆盖整个生态系统,包括电池管理、高效电机驱动、快速充电及全车电气负载均衡。

有关更多信息,请访问nxp.com.cn/S32K39

关于恩智浦半导体

恩智浦半导体(纳斯达克代码:NXPI)致力于通过创新为人们更智慧、安全和可持续的生活保驾护航。作为全球领先的嵌入式应用安全连接解决方案提供商,恩智浦不断寻求汽车、工业物联网、移动设备和通信基础设施市场的突破。恩智浦拥有超过60年的专业技术及经验,在全球30多个国家设有业务机构,员工达31,000人,2021年全年营业收入110.6亿美元。更多信息,请访问https://www.nxp.com/

围观 19

物联网的不断扩展,推动了新一轮大规模的智能化升级浪潮。智能化正在从云端向具有机器学习(ML)能力的边缘设备转移,这些设备能够在本地处理传感器数据流,与基于云的AI系统相比,延迟更低,安全性更高,提供更好的用户隐私保护。为了将边缘设备从单纯的数据采集转换为具有自主操作能力的边缘智能,开发人员需要具有多核性能并内置加速器的新型低功耗微控制器(MCU)来执行ML任务,同时最小化功耗预算以保持节能的系统设计。 

面向未来的边缘智能,恩智浦最近发布了MCX产品组合,该平台可提供可扩展性能、并行性、安全性、高能效和丰富外设,针对广泛的物联网、边缘ML和工业应用场景进行了优化。MCX产品组合结合了恩智浦LPC和Kinetis MCU系列的DNA,为智能互联设备重新定义下一代通用MCU。 

在MCX产品组合下,恩智浦首先推出的是MCX N高性能系列,专为安全、智能的边缘应用而设计。N系列中首先登场的是MCX N94x和MCX N54x MCU系列,具有高效的多核架构、内置EdgeLock安全子系统和用于实时推理的专用内置神经处理单元(NPU)。MCX N94x系列适用于工业应用,具有更广泛的模拟和电机控制外设,而MCX N54x系列针对消费和物联网应用,集成了众多外设,包括带PHY的高速USB,SD和智能卡接口等。 

了解恩智浦如何利用全新多核MCX N系列微控制器,寻求边缘处理的新突破,点击这里>>

150MHz的MCU能带来什么?

使用低功耗的150MHz MCU实现多任务处理性能、高级神经网络和ML功能听起来似乎非常困难,但MCX N94x和MCX N54x并不是普通的MCU,而是多核设计和丰富外设的伟大结晶。 

MCX N94x和MCX N54x基于高性能双核Arm Cortex-M33,运行频率高达150MHz,片内集成高达2MB的闪存,可配置的带ECC检测的RAM、智能DMA、DSP协处理器、安全子系统和恩智浦设计的一体化NPU。开发人员可以使用这些内核和加速器的任意组合来完成具体任务,而无需提高MCU的时钟速度或增加功耗。 

2.jpg

MCX N94x框图 

片内多种加速器使MCX N系列MCU能够以低功耗预算高效地处理多个复杂任务,同时保证系统的安全性。多核设计通过智能、高效地将工作负载分配到模拟和数字外设,提高了系统性能并降低了功耗。因此,MCU的工作电流消耗小于45μA/MHz,如果启用实时时钟(RTC)和保持8KB SRAM,掉电模式下消耗的电流不到2.5μA,如果在启用RTC和8KB SRAM的深度掉电模式下,消耗的电流不到1μA。 

双核架构将功能全面的Cortex-M33内核与M33从核相结合来管理控制功能,使开发人员能够并行运行应用程序,或根据需要关闭单个内核来降低总体功耗。例如,在物联网设备的安全无线(OTA)更新期间,主M33内核可以处理系统安全,而第二个从核执行控制功能。 

随着MCX N系列发布,恩智浦自主研发的NPU初次亮相,以实现边缘的高性能和低功耗智能。与只使用CPU内核相比,内置NPU的ML吞吐量提高了30倍。 

3.png

NPU的相对加速度

如此的ML性能表现在MCU领域堪称顶级,使得TinyML在资源和功率受限的边缘设备上展现超凡的算力。突破性能边界,畅想如下的应用可能,例如实现复杂的深度学习模型、为门禁控制添加人脸和语音识别功能、为家庭安全系统创建电池供电的玻璃破碎探测器、为电机控制预测维护开发振动传感器和设计配备生物传感器的智能可穿戴设备等等。 

设计灵活安全

MCX N系列具有丰富的外设,就像开发人员的百宝箱。高精度混合信号模拟外设具备更强的自主性,可以减少CPU中断并节省电力。例如,ADC具备智能化设计,可以持续收集数据并在本地对存储的数据进行分配。MCU的两个16位ADC都可以用作两个单端输入ADC(有效地用作四个ADC)或用作单个差分输入ADC。 

工业级通信外设包括以太网、CAN-FD、BLDC/PMSM电机控制支持、高速和全速USB以及内置传感器接口(MIPI-I3C、I2C、UART和SPI)。为了提高灵活性,恩智浦的低功耗Flexcomm接口允许十个串行外设(包括SPI、UART和I2C)任意组合。 

MCX N系列MCU遵循恩智浦设计确保安全方案构建,集成了EdgeLock安全子系统,可以安全启动不可变的信任根、实现硬件加速加密、主动和被动入侵检测以及电压和温度篡改检测。这种一流的安全架构为现场更新和在线传输提供支持,并防止远程原始设计制造商(ODM)过度生产。 

MCUXpresso和eIQ软件快速入门

为了帮助简化和加速系统开发,MCX N系列MCU由恩智浦广受欢迎的MCUXpresso软件套件(包括用于简单设备配置和安全编程的工具)支持。开发人员可以选择使用功能全面的MCUXpresso IDE或IAR和Keil的IDE。恩智浦为驱动程序和中间件提供了大量示例并支持一系列RTOS选项,恩智浦的合作伙伴生态体系也提供了一系列兼容中间件,这样可以实现大量应用程序的快速开发。

恩智浦的eIQ ML软件开发环境还提供了易于使用的工具来训练和支持运行在内置NPU上的ML模型。 

进一步探索MCX N系列

MCX N系列为具备低功耗、高性能要求的边缘人工智能提供了新的可能性。

了解 MCX N94x和MCX N54 MCU更多详情,请联系恩智浦全球销售人员,也可点击这里>>

来源:NXP客栈

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 48

恩智浦半导体宣布推出MCX微控制器产品组合N系列中的首批产品:MCX N94x和MCX N54x。MCX N系列微控制器专为简化安全智能边缘应用(包括物联网和工业应用)打造,首次集成了恩智浦专有神经处理单元 (NPU),并集成了EdgeLock安全子系统。MCX N系列器件采用多核设计,可智能、高效地将工作复杂分配到模拟和数字外设,提升系统性能并降低功耗。

1.jpg

如今的开发者需要微控制器能够具备更高的处理能力,才能将单纯的边缘数据转换为边缘智能,同时还要尽可能地控制功耗,以保持高能效。MCX N94x和MCX N54x系列微控制器支持广泛的模拟和数字外设,为工程师提供打造创新设计所需的灵活性和高性能,同时维持高性能边缘处理所必需的低功耗。

“开发者不断创造新的设备,激发边缘潜力,进一步助力智能家居、智能工厂和智慧城市领域实现智能化和自动化。我们需要先进的MCU,提高效率,简化边缘智能,并安全地完成所有工作。面向未来的智能边缘,我们推出了MCX N系列,助力未来的物联网和工业应用在功率和性能之间实现平衡。” 

——Rafael Sotomayor

恩智浦边缘执行副总裁兼连接与安全和边缘处理事业部总经理

MCX N系列微控制器更多详情

MCX N系列双核系统搭载功能齐全的Arm Cortex-M33主核和精简化的Cortex-M33从核来管理控制功能,让开发者可以并行运行多个应用,必要时还可以通过关闭单个内核来降低功耗。比如,在无线 (OTA) 通信等安全物联网应用中,主内核负责维护系统安全,而从核负责执行控制功能。 

MCX N94x和MCX N54x采用高性能双核Cortex-M33,运行频率高达150MHz,提供2MB闪存以及可配置的带ECC的RAM,和用于音频和语音处理的DSP协处理器,并集成了NPU。与单独的CPU内核相比,集成的NPU可提供高达30倍的机器学习运算加速,同时多个协处理器和加速器可缩短唤醒时间并降低整体功耗。除此之外,恩智浦的eIQ机器学习软件开发环境提供了多个易于使用的工具,以训练和支持使用集成式NPU的机器学习模型。 

MCX N系列器件提供丰富的外设。MCX N94x带有各类先进模拟和电机控制外设,而MCX N54x也包含高速USB(具备PHY),SD或智能卡接口等适用于物联网和消费者应用的外设。 

该系列新型器件遵循恩智浦设计确保安全的思路构建,能够提供具有不可变信任根和硬件加速加密的安全启动,并且内置EdgeLock安全子系统。此架构支持现场更新和在线交易,并能防止远程原始设计制造商 (ODM) 出现过度生产。 

利用软件和工具简化开发

MCX N系列器件受到广泛采用的MCUXpresso开发工具和软件套件支持,可优化、简化和加速嵌入式系统的开发工作。

MCUXpresso套件包括用于简化器件配置和安全编程的工具。开发者可以选择使用功能齐全的MCUXpresso IDE,也可以使用IAR和Keil的IDE。

恩智浦为驱动和中间件提供了广泛的示例并支持一系列RTOS选择,另外还有恩智浦合作伙伴生态系统带来的大量兼容中间件,让开发者能够快速开发各式各样的终端应用。 

供货情况

来源:NXP客栈

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 27

本人很久以前写过一篇文章 《ARM Cortex-M镜像文件(.bin/.hex/.s19)》,详细介绍了三种流行的镜像文件格式,这些镜像文件不同于可执行文件(.elf),它们主要保存的是芯片能够执行的二进制机器码数据,以及辅助的地址信息和校验和,其他像 .elf 文件里有的工程信息、代码信息、调试信息全部被去除了,说白了镜像文件主要是为最终量产过程而生的。

一般情况下,在 IDE 开发环境里编译链接生成的是可执行文件,然后可以在工程选项做一些设置能进一步生成镜像文件。不同 IDE 下生成镜像文件的方法不同,今天主要介绍来MCUXpresso IDE下生成镜像文件的方法以及与 IAR/MDK 的对比。

注:本文测试的MCUXpresso IDE版本是v11.6.0_8187。

一、各种IDE下生成镜像文件的方法

我们先来看看MCUXpress以外的其它IDE下是如何生成各种格式镜像文件的。我们以 \SDK_2.11.1_MIMXRT1170-EVK\boards\evkmimxrt1170\demo_apps\hello_world\cm7 目录下的工程文件为例。

1.1 IAR EWARM下

编译hello_world_demo_cm7.eww工程(随便选择 debug build),会在工程目录 debug文件夹下生成可执行文件hello_world_demo_cm7.out。如果在工程选项Output Converter里开启Generate additional output,则可以指定生成想要的镜像文件(bin/hex/srec)。

1.png

如果你仔细看Build窗口的log信息,会发现IDE其实是在可执行文件生成之后,再借助 \IAR Systems\Embedded Workbench 9.10.2\arm\bin\ielftool.exe 小工具对可执行文件做的二次转换生成的镜像文件。

ielftool.exe --bin  app.out app.binielftool.exe --ihex app.out app.hexielftool.exe --srec app.out app.s19

所以其实在工程选项Build Actions里的Post-build command line添加如下调用 ielftool.exe做转换的命令(CMD /C 的意思是以 bat 文件内容方式打开后面的命令;命令需要用双引号括起来;路径也需要单独用双引号括起来,防止路径中存在空格,导致命令出错),也能达到一样的效果。

CMD /C ""$TOOLKIT_DIR$\bin\ielftool.exe" --bin "$PROJ_DIR$/debug/hello_world_demo_cm7.out" "$PROJ_DIR$/debug/hello_world_demo_cm7.bin""

2.png

1.2 Keil MDK下

编译hello_world_demo_cm7.uvprojx工程(也选择debug build),会在工程目录debug文件夹下生成可执行文件hello_world_demo_cm7.out。如果在工程选项Output里开启Create HEXfile,则可以生成hex格式镜像文件,不过要想生成其他bin/srec格式镜像文件需要想其他办法。

3.png

MDK下其实也有类似IAR下的镜像文件转换小工具,即 \Keil_v5\ARM\ARMCC\bin\fromelf.exe,这个小工具可以帮助生成其他格式的镜像文件。

fromelf.exe --bin app.out --output app.binfromelf.exe --i32 app.out --output app.hexfromelf.exe --m32 app.out --output app.srec

在工程选项User里的After build添加如下调用formelf.exe做转换的命令就可以得到指定格式的镜像文件了。

$K\ARM\ARMCC\bin\fromelf.exe --bin --output=debug\@L.bin !L

4.png

二、MCUXpresso下生成镜像文件的方法

MCUXpresso IDE 下生成镜像文件的方法与IAR/MDK稍有不同,其并不是在工程选项里去开启,而是工程目录里会有Binaies虚拟文件夹(如果看不到该文件夹,可以按 F5 刷新一下),编译完成后在Binaies文件夹下会看到可执行文件(evkmimxrt1170_hello_world_demo_cm7.axf),右击可执行文件在Binary Utilities里可以看到不同格式镜像文件生成选项。

5.png

我们知道MCUXpresso IDE是基于标准ARMGCC的二次封装,所以其生成镜像文件的能力其实是依靠\MCUXpressoIDE_11.6.0_8187\ide\tools\bin\arm-none-eabi-objcopy.exe 小工具。

arm-none-eabi-objcopy.exe -O binary app.axf app.bin

arm-none-eabi-objcopy.exe -O ihex   app.axf app.hex

arm-none-eabi-objcopy.exe -O srec   app.axf app.srec

因此在MCUXpresso IDE下我们也可以像IAR/MDK那样添加Post-build steps命令来完成镜像文件的生成。

arm-none-eabi-objcopy -O binary "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin"

6.png

来源:恩智浦MCU加油站

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 93

众所周知,一款优秀的产品,不仅要有很高的性能,很好的稳定性,而且还要具备对用户非常友好和极具吸引力的图形交互界面。

然而,运行一个非常酷炫且极具吸引力的图形用户界面,就要求有一个高主频,高性能,存储资源丰富的MCU作为支撑。 

恩智浦拥有众多高性能,低功耗,大容量存储资源的MCU/MPU, 在这样的MCU/MPU上,流畅地运行图形元素丰富,酷炫且富于吸引力的图形用户界面完全没有压力。

但是,在实际的客户支持过程中,我发现有一些客户基于成本的考虑,会选择主频相对低一些,存储资源相对少一些的MCU。与此同时,他们仍然希望给自己的产品赋予一个精美的图形界面。

 真实案例——电动车屏幕

因此,本文通过一个运行在LPC55S06上的,基于GUI Guider和LVGL的图形界面设计项目——电动车(简称EBike)为例,说明如何在资源有限的MCU上进行图形应用设计。

先睹为快,先给大家分享电动车的界面效果。通过向右滑屏可以切换到下一个屏幕,向左滑屏可以切换到前一个屏幕,向上滑屏可以返回至第一个屏幕,下面是演示视频:

查看视频.jpg

图片与字体的存储

在设计中, 电动车的GUI使用了大小为1.18MB的26个图片和大小为35KB的2种字体,共计约为1.22MB。

但事实上,LPC55S06的片上Flash容量为256KB,其中12KB为系统保留,可以为用户使用的Flash容量只有244KB,不可能将全部图片和字体存放到片上Flash中。

因此,为了能够容纳这些图片和字体,可以考虑外扩Flash。同时,为了兼顾显示性能,可以考虑将图片存放到外部串行Flash中,而将字体存放到片上Flash中。

归纳一下,在资源有限的MCU上进行图形界面开发,首先需要考虑的因素就是如何存储图片和字体。为了提高显示性能,可以把图片和字体尽可能放到片上Flash中存储。但是,随着开发的推进,用户会不断添加非图形界面业务逻辑。这时,如果遇到片上Flash存储空间不够的情况,可以将原本存放到片上Flash中的图片和字体放到外部Flash中,从而节省片上Flash存储空间给非图形界面业务逻辑使用。

存储区域的划分与分配

那么,这里存在一个关键问题,如何为图片和字体分配存储空间呢,依据什么原则呢?换句话说,哪些图片和字体存放到外部Flash,哪些图片和字体存放到片上Flash。

第一点,就是确保片上Flash可以容纳全部用户应用逻辑。

第二点,在满足第一点的情况下,将需要频繁刷新的图片保存到片上Flash。例如,视频所示界面中仪表盘的表针扫过的区域使用的图片,随着表针的转动,这些图片会不断地从外部Flash进行读取并被显示在屏幕上。

常见优化手段

除了将消耗片上Flash资源的大户放到外部Flash上,为了进一步减少用户应用对存储资源的消耗,一些优化手段也是必要的。

常用的优化手段包括如下几点:

  • 将经常需要调用的公共代码段封装成函数 

  • 调整编译优化等级。使用不同的编译优化等级编译生成的可执行文件大小是不同的,如果所选的编译器具有优化代码大小的编译优化选项,则可以通过使用该编译优化选项压缩可执行文件的大小,从而减少对Flash和RAM存储资源的占用。不同IDE中优化代码大小的编译选项如下所示。

1.png

图1 MCUXpresso IDE中的代码大小编译优化选项

2.png

图2 Keil uVision IDE中的代码大小编译优化选项

3.png

图3 IAR Embedded Workbench IDE中的代码大小优化选项

  • 通过LVGL的配置文件lv_conf.h跳过设计中没有使用的模块的编译。例如,在我们的设计中没有用到控件,如SWICH, TABLE, TABVIEW和TILEVIEW, 就可以将相应控件的开关宏定义为0,这样没有使用的控件对应的C文件就不会编译到最终的可执行文件中,从而减少代码的大小。

4.png

图4 裁剪LVGL功能

选择合理的屏幕加载策略

了解LVGL的小伙伴都清楚,GUI上的每一个图形元素,如按钮、图片、标签、表格等,都是作为一个对象存在的,都是需要消耗一定的RAM资源。

如果我们的GUI设计包含多个屏幕,每个屏幕都包含大量的图形元素,如果一次性的创建所有的图形元素,很可能有限的RAM资源不足以容纳这些图形元素。因此,合理的选择屏幕加载策略很有必要。

基于LVGL的GUI开发工具采用不同的屏幕加载策略。目前,屏幕加载策略有两种:

第一种是以LVGL官方推出的SquareLine Studio为代表的静态加载策略,即一次性地把所有屏幕上的图形元素全部创建。这可以从其生成的代码工程看到。

以SquareLine Studio的POS机界面示例为例,其UI初始化函数如下图所示。我们可以看到其5个屏幕一次性创建,那么就意味着这种静态屏幕加载策略消耗更多的RAM资源。

5.png

图5 SquareLine Studio的UI初始化

第二种是以NXP官方推出的GUI Guider为代表的动态加载策略,即只加载在系统启动后显示的屏幕,后面如果需要显示哪一个屏幕再动态加载。

下图所示是GUI Guider的官方示例ScreenTransition。这个示例总共有两个屏幕,即screen1与screen2。函数setup_ui是UI初始化函数。

可以看到,在UI初始化函数setup_ui中只是静态加载了屏幕screen1,没有加载screen2。只有当screen1的Next Screen按钮按下时,在事件回调函数screen_btn1_event_handler中才会调用setup_scr_screen2动态加载screen2。

6.png

图6 ScreenTransition示例的第一个屏幕

7.png

图7 ScreenTransition示例的第二个屏幕

8.png

图8 GUI Guider的UI初始化

9.png

图9 Next Screen按钮的事件回调函数

由此可见,NXP的GUI Guider的动态屏幕加载策略,充分考虑了在资源有限的微控制器上从事GUI开发时,遇到的存储资源利用效率问题。

当然,如果您所选择的MCU或者MPU的存储资源丰富,可以采用第一种策略,那样的话,可以能在一定程度上提高显示性能。

总结

本篇文章以一个GUI示例——电动车为例,重点关注如何在资源有限的微控制器上进行GUI开发,给出了图片和字体的存储策略,以及若干存储资源优化方法。

有关电动车的技术细节,可以参考AN13730: How to Develop LVGL GUI Demo on Memory-constrained MCU with GUI Guider.

来源:恩智浦MCU加油站

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 328

关于FlexSPI外设的lookupTable,之前写过一篇非常详细的文章 《从头开始认识i.MX RT启动头FDCB里的lookupTable》,这篇文章几乎可以帮助解决所有串行QuadSPI NOR Flash(四线) 以及Octal Flash(八线)的读时序配置问题,因为这些Flash都只用单一行地址(Row Addr)来寻址。

但是市面上也有一些特殊的存储器(比如八线HyperBus Flash/RAM,OctalRAM等)采用了行列混合寻址方式,对于这类存储器,我们在FlexSPI里配置读时序,尤其是读时序里的地址序列参数值时需要稍微注意一下,今天就来聊聊这个话题:

一、FlexSPI外设关于行列地址 Memory支持

先来看FlexSPI外设是如何支持行列混合寻址存储器的。

在FLSHxxCR1寄存器里有CAS控制位,这里配置的即是存储器列地址(Column Addr)位宽。对于不支持列地址的存储器,CAS需要设置为0;如果存储器支持列地址,那么CAS需要根据存储器实际情况来设置。

“理解i.MX

如果FLSHxxCR1[CAS]位不为0,那么FlexSPI外设在传输时序里会拆分实际映射Flash Address(即存储器自身偏移地址)为行地址FA[31:CAS]和列地址[CAS-1:0]来分别传输。

“理解i.MX

在最终lookupTable里我们可以用这样的时序配置来实现存储器的读访问,这里RADDR_DDR子序列即传输行地址,CADDR_DDR子序列即传输列地址(注:如下示例是在FLSHxxCR1[CAS] = 3的设置下)。

“理解i.MX

看到这里,似乎已经把FlexSPI对于行列地址Memory的支持讲完了。

但是我相信你还是会有疑问,上面序列表里RADDR_DDR和CADDR_DDR具体参数值设置似乎没有讲清楚,为什么行列地址加起来位宽是0x18 + 0x10一共40bit(一般 Memory行列地址总位宽也就32 bit)?并且明明CAS值只是 3,为何CADDR_DDR 里设成0x10也行?

是的,这里需要再详细展开!

首先我们要明白一点,因为FlexSPI连接的是八线Memory,在实际总线上行、列地址传输位一定都是8bits的整数倍,如果RADDR/CADDR_DDR参数值设置得不是8bits的整数倍,不足8bits的部分,FlexSPI会自动在低位插入相应保留位(即下图低保留bits,这些保留位的值是什么不确定,对FlexSPI来说也不在乎),然后在 RADDR/CADDR_DDR设置的参数值范围内,如果对应Memory实际行、列地址位宽小于参数值,超出实际行、列地址的部分会被FlexSPI自动填入0值(即下图高亮填充bits)。

“理解i.MX

二、常见行列混合地址Memory 读配置实例

大部分 HyperBus Flash/RAM 在行、列地址设计上是一样的,这里罗列了市面上常见的型号如下,我们就以MIMXRT1050-EVKB板卡上那颗S26KS512为例来介绍。

1、ISSI的IS26KSxxx系列HyperFlash
2、ISSI的IS66/67WVH系列HyperRAM
3、Cypress/Infineon的S26KSxxx系列HyperFlash
4、Cypress/Infineon的S80KSxxx系列HyperRAM
5、Winbond的W957D8、W959D8系列HyperRAM

我们在S26KS512手册里可以找到如下读时序图,主要关注时序最前面48bits的Command-Address序列,在手册Command / Address Bit Assignments表里有这48bits的详细定义,其中CA[37:16] 是行地址与高位列地址,CA[2:0] 是低位列地址。

“理解i.MX

“理解i.MX

再来看 \SDK_2_12_0_EVKB-IMXRT1050\boards\evkbimxrt1050\driver_examples\flexspi\hyper_flash\polling_transfer 例程里的如下lookupTable,RADDR_DDR参数值是0x18,CADDR_DDR参数值是0x10,根据上一节的分析,RADDR_DDR里的高2bits会被FlexSPI设为0(RADDR[21:0]用于传输CA[37:16])。

因为CAS = 3,所以CADDR_DDR里的高13bits也会被FlexSPI设为0(CADDR[2:0]用于传输CA[2:0]),这是符合S26KS512手册时序定义的。

flexspi_device_config_t deviceconfig = {
    .columnspace          = 3,
    .enableWordAddress    = true,
};

const uint32_t customLUT[CUSTOM_LUT_LENGTH] = {
    /* Read Data */
    [0] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DDR,       kFLEXSPI_8PAD, 0xA0, kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_8PAD, 0x18),
    [1] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_CADDR_DDR, kFLEXSPI_8PAD, 0x10, kFLEXSPI_Command_READ_DDR,  kFLEXSPI_8PAD, 0x04),
};

三、特殊行列混合地址Memory 读配置实例

最近我们在支持客户的过程中也发现了一些Memory有着不一样的行、列地址设计,比如如下这颗IS66WVO OctalRAM。从手册里找到其Command / Address bit assignment表里48bits的定义。与上一节HyperBus Flash/RAM不一样的是,其高位列地址并不是在8bits对齐处出现的。

1. ISSI出品的IS66/67WVO系列OctalRAM

“理解i.MX

“理解i.MX

对于IS66WVO这样的行、列地址设计,我们在lookupTable里该如何填入RADDR/CADDR_DDR参数值呢?首先CAS设为4,CADDR_DDR设为0x08可以解决CA[3:0]传输问题。

现在的重点是RADDR_DDR参数值,总共24bits传输位,低位还需要留2个保留位,所以RADDR_DDR仅能被设为0x16(RADDR[20:2]用于传输RA[12:0] + CA[9:4]),即如下面代码:

flexspi_device_config_t deviceconfig = {
    .columnspace          = 4,
    .enableWordAddress    = false,
};

const uint32_t customLUT[CUSTOM_LUT_LENGTH] = {
    /* Read Data with continuous burst Sequence in DDR command mode */
    [0] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DDR,       kFLEXSPI_8PAD, 0xA0, kFLEXSPI_Command_DDR,       kFLEXSPI_8PAD, 0x00),
    [1] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_8PAD, 0x16, kFLEXSPI_Command_CADDR_DDR, kFLEXSPI_8PAD, 0x08),
    [2] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DUMMY_DDR, kFLEXSPI_8PAD, 0x1E, kFLEXSPI_Command_READ_DDR,  kFLEXSPI_8PAD, 0x04),
};

来源:恩智浦MCU加油站
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 42

恩智浦推出首个车用级安全芯片,带有NFC功能和有线接口,可用于无钥匙门禁智能密钥卡和多种安全型应用,有助于提升智能互联汽车的安全性

“恩智浦推出适配智能密钥卡的汽车安全芯片"

恩智浦半导体(NXP Semiconductors N.V.,纳斯达克股票代码:NXPI)宣布推出NCJ37A安全芯片,这款安全微控制器符合汽车标准,带有高级加密加速器,内置抗电气攻击功能,适用于各种安全型汽车应用,如智能门禁密钥卡、Qi 1.3验证或车云通信。该器件支持车联联盟(CCC)协议及其无源NFC ISO 14443-4接口,设计高度安全,满足了下一代智能密钥与超宽带(UWB)、Bluetooth®低能耗(BLE)和近距离无线通信(NFC)技术结合的需求。

产品重要性

汽车厂商正迅速采用智能手机门禁系统,开发安全级别更高、更加适配智能手机无线接口的智能密钥。这为智能密钥卡提供了新的用例,例如可在密钥卡上存储多辆车的数字钥匙,以及添加其他支付手段,如银行卡。为满足以上需求,OEM厂商正在寻找一个开放的多解决方案平台,具有更高的安全性和灵活性,可缩短产品上市时间。恩智浦新品 NCJ37x安全芯片可与恩智浦NCJ38x车载安全芯片及其相应的安全小程序配合使用。无源ISO 14443-4 NFC、SPI和I²C接口可针对最新攻击场景提供稳健的保护,并为面向敏感数据市场的各种安全车载应用提供扩展功能集,安全处理敏感数据。

恩智浦半导体数字密钥和NFC总监Rainer Lutz表示:“NCJ37x在业界安全性等级高,可迎合新一代门禁系统的数字化趋势。与CCC数字钥匙协议兼容的专用智能密钥小程序是设计新一代智能密钥的明智选择。在提高智能互联汽车的安全性方面,恩智浦NCJ37x是我们迈出的又一步。”

更多详情

NCJ37x具有高度灵活的Java Card操作系统(JCOP)、信任配置服务和可靠的无线网络软件更新技术。该芯片可为广泛的汽车应用提供出色的安全性,支持增强型通用标准EAL 6+认证,包括汽车门禁、驾驶员授权、CCC数字钥匙、车对云(C2C)通信和Q1.3验签。如果密钥的电池耗尽,无源或由现场供电的NFC接口可作为备用,十分方便。考虑到设备上的多个活动安全域和应用,600kb的安全闪存可提供足够存储空间,实现多种服务方式。

有关更多信息,请访问:NCJ37x安全芯片 | NXP半导体

关于恩智浦半导体

恩智浦半导体(纳斯达克代码:NXPI)致力于通过创新为人们更智慧、安全和可持续的生活保驾护航。作为全球领先的嵌入式应用安全连接解决方案提供商,恩智浦不断寻求汽车、工业物联网、移动设备和通信基础设施市场的突破。恩智浦拥有超过60年的专业技术及经验,在全球30多个国家设有业务机构,员工达31,000人,2021年全年营业收入110.6亿美元。更多信息,请访问www.nxp.com

围观 43

作者:Stella Or

开发边缘连接技术的原始设备制造商(OEM)需要考虑其软件知识产权以及作为安全产品提供商的声誉。经济高效的生产往往会与保护云端所用的知识产权和器件认证直接冲突。恩智浦认为永远不能牺牲安全性,并提供了具有新的智能卡可信配置(Smart Card Trust Provisioning)功能的解决方案。

“恩智浦使用MCUXpresso

安全是恩智浦的核心。我们不仅希望我们器件或软件的每个元件都是安全的,还希望使每个客户制造的产品都是安全的。即使制造场所本身不能提供强有力的安全保障,但有了高度安全的技术,制造流程也应该是安全无虞的。借助全新的智能卡可信配置解决方案,恩智浦推出了各种功能,支持OEM保护其知识产权及其收入。此解决方案利用我们的智能卡和MCUXpresso安全指配工具(SEC),为客户提供了一种管理其制造流程信任根的方法。此外,此解决方案还能保证客户用于识别OEM产品及其软件知识产权的保密信息(密钥和凭证)受到了保护。这是一款经济高效、安全可靠的解决方案,适用于各种规模的客户,并利用恩智浦高度安全的SmartMX微控制器(MCU)来实施智能卡本身,这项技术多年来一直为高安全性应用提供支持。

即刻了解。了解智能卡可信配置解决方案的工作原理。

许多客户花费数月或数年为其最终产品开发软件,包括认证和知识产权,这些是客户最宝贵的资产。智能卡可信配置解决方案支持将安全认证和知识产权从客户驻地部署到委托工厂。我们的MCU在ROM中内置了安全启动功能,可确保只运行签名的镜像。MCU还包括基于物理不可克隆函数(PUF)技术的安全闪存和器件唯一密钥生成功能。客户认证和知识产权在其可信开发场所使用MCUXpresso SEC工具进行签名和加密,只能由恩智浦正版器件进行验证和解密。

认证,例如客户应用中使用的密钥,可在密封之前被安全地存储在智能卡中,以防篡改。这样,智能卡就像硬件安全模块(HSM)一样成为安全的基本元件。然后,这些认证可以安全地传输到客户终端产品内部的目标器件,而不会暴露在合同制造商(CM)工厂。使用SEC工具,只有具有相应内置恩智浦证书的正版器件才能配备客户的密钥,并使用客户签名的软件进行编程。即使是从运行SEC工具的主机到客户目标系统的最后一步,在指配和编程期间,该计算机与恩智浦MCU之间的安全链路也会受到保护。

CM工厂的生产过剩也可能是许多原始设备制造商关注的问题。智能卡可信配置解决方案提供了基本的生产管理功能(即生产限制控制)来解决这一问题。客户获得SEC工具时可以对智能卡进行个性化设置并限制生产数量,同时为其CM创建生产包以用于制造其产品。一旦到达工厂,执行器件配置的SEC工具就会与智能卡通信,安全清点制造产品的数量,防止任何试图超过预设限值的行为。SEC工具在生产流程结束时生成工厂审核日志,供CM返回客户现场进行审核。

“”智能卡可信配置流程图"
智能卡可信配置流程图

在每个安全的边缘连接应用中,每个器件都需要唯一的身份才能进行云注册。恩智浦从设计微控制器开始就构建了配置流程,并在制造流程将加密密钥和数字证书注入工厂的这些设备中,以供在客户的制造流程中使用。我们的客户可以生成自己的器件唯一证书,并采用SEC工具替换(或撤销)默认的恩智浦器件证书,从而使用智能卡生成证书并保护。这样,他们能够在出厂指配期间获得器件的所有权,并使用SEC工具生成的审核日志来获取生成的器件证书。然后,这些器件证书可用于上传给服务提供商,以便在器件注册时使用。

智能卡配置解决方案取代了传统的、更昂贵的HSM和第三方设备编程服务。我们使客户能够充分利用恩智浦MCU的高级安全功能来保护他们的重要资产。我们的客户通过购买高性价比的智能卡和使用免费的MCUXpresso SEC工具,可以准备安全的镜像来保护他们的知识产权、管理密钥和执行设备指配。由于没有最低订单量和对生产数量的完全控制,智能卡配置解决方案使所有人都负担得起安全制造。

作者:

“Stella
Stella Or
恩智浦半导体边缘处理业务部生态体系安全高级产品经理

Stella Or在香港理工大学获得软件技术理学硕士学位。Stella在半导体行业有20多年的经验,一直专注于物联网和金融应用的嵌入式安全解决方案,担任过多个职位,包括产品定义和业务开发。目前,Stella负责恩智浦生态体系安全解决方案的市场战略和路线图规划,其中包括针对MCU和MPU的安全配置、远程设备管理和运行时安全。

围观 23

“恩智浦全新MCX微控制器发布!四大产品系列,赋能工业与物联网边缘计算"
  • 全新MCX微控制器 (MCU) 产品组合包含四大全新产品系列,基于通用平台构建,受到恩智浦广泛采用的MCUXpresso开发工具和软件套件支持,可简化产品开发 

  • 基于Arm Cortex-M内核的MCX产品组合包含高性能MCX N系列、经过成本优化且主打模拟性能的MCX A系列、低功耗集成无线连接的MCX W系列以及超低功耗MCX L系列 

  • 全新产品组合的发布也将带来恩智浦设计的专业机器学习加速器的首秀,帮助用户在边缘实现高性能推理

恩智浦半导体正式发布全新的MCX微控制器产品组合,旨在推动智能家居、智能工厂、智慧城市以及许多新兴工业和物联网边缘应用领域的创新。该产品组合包含四大系列,基于通用平台构建,受到广泛采用的MCUXpresso开发工具和软件套件支持。基于此,开发人员可以在产品组合中充分地使用统一的软件,加快开发速度。该产品组合还首次集成了恩智浦用于加快边缘推理的新型专业化神经处理单元 (NPU),与单独的CPU内核相比,可提供高达30倍的机器学习吞吐量提升。

“”

由于边缘设备的迅速增加,MCU在过去几十年里发生了巨大的变化。尽管MCU是当今许多边缘应用的核心,但新一代智能应用对MCU提出了更高的要求,以帮助开发人员满足功率、性能和安全上的复杂需求,掌握各种连接选项,同时平衡系统总成本和能效。

MCX产品组合基于多项核心技术构建而成,并由统一的软件工具提供支持,从而帮助客户更加灵活地应对设计中的一系列挑战。MCX提供广泛丰富的产品组合,使得开发人员能够根据其应用需求选择适合的设备,使他们能够将精力投入设计中的其他方面。

恩智浦执行副总裁兼边缘处理技术总经理Ron Martino表示:“当我们距离750亿互联设备这个里程碑越来越近时,我们也在进入边缘计算新时代。这要求我们从根本上重新思考如何以合理方式构建一个灵活的MCU产品组合,该产品组合应具有扩展性、经过优化,并且能够成为当今以及未来几十年节能工业和物联网边缘应用的基础。凭借我们在MCU领域的丰富经验积累,这个全新的产品组合将满足实时工作负载的性能和集成要求,引领新一轮创新的浪潮。”

MCX产品组合的四大系列在设计中专注于易用性,可简化迁移的过程,并可根据需要进行设计的扩展或精简,同时通过使用统一的软件工具来尽可能减少开发成本。该产品组合基于高性能Arm Cortex-M内核,并集成了丰富的外设,以实现设计灵活性。MCX微控制器产品集成高达4MB的片上闪存、低功耗缓存和高级内存管理控制器,另外还提供高达1MB的片上SRAM,可进一步提高边缘应用的实时性能。

机器学习和运行时推理将由恩智浦的eIQ®️机器学习软件开发环境提供支持。开发人员可利用eIQ提供的易于使用的工具来训练针对NPU或CPU内核的机器学习模型,并将其部署在MCU上。根据恩智浦“设计确保安全”方法构建的MCX系列将提供具有不可变信任根和硬件加速加密的安全启动,并且特定系列还提供内置的EdgeLock®️安全子系统。

关于MCX产品组合

MCX N系列高性能微控制器,致力于提供安全性,智能化的应用,系列包含集成EdgeLock安全子系统和专用NPU的产品家族,该NPU具有高效的计算架构,可实现实时推理。

MCX A系列基准微控制器为电机控制等广泛应用提供关键功能,提供了对于客户至关重要的高精度数据转换器等高级模拟功能以及快速的上市进程,这些在应用开发,特别是成本受限的情况下,都是需要考虑的关键因素。

MCX W系列无线连接微控制器提供低功耗窄带连接,包括低功耗蓝牙。该系列旨在简化物联网设备的无线连接,通过高能效的无线连接技术,帮助延长小型互联系统的电池续航时间。

MCX L系列超低功耗微控制器为具有低功耗要求的应用而设计。与传统的MCU相比,这些器件提供业界领先的低静态和动态功耗,将有助于显著延长电池续航时间。

有关MCX系列微控制器的更多信息,请访问nxp.com/MCX或联系全球恩智浦销售代表

来源:NXP客栈
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 25

恩智浦i.MX RT1180跨界MCU可以实现多协议工业物联网通信,同时为实时以太网和工业4.0系统提供支持

“恩智浦推出支持多协议、集成时间敏感网络交换机的i.MX

恩智浦半导体(NXP Semiconductors N.V.,纳斯达克股票代码:NXPI)宣布推出新型i.MX RT1180跨界MCU,作为系列首款集成千兆(Gbps)时间敏感网络(TSN)交换机的微控制器,能够同时实现时间敏感型和工业实时通信,并支持多种通信协议,弥合了现有工业系统和工业4.0系统之间的沟通间隙。这款跨界MCU还带有EdgeLock®安全锁区,它是一种预先配置的自管理式自主片上安全子系统,为工业物联网应用实现可靠的系统级安全智能降低复杂性。

产品重要性

工业环境逐渐向工业4.0发展,网络协议的组合变得越发复杂,时间敏感型通信和实时通信之间难以实现无缝的工业连接。i.MX RT1180提供了实现无缝连接所需的多协议连接能力,可在工厂所有边缘设备间推动实现统一、安全的工业物联网通信环境。集成的EdgeLock安全锁区可以为复杂的网络系统提供安全启动、验证调试、生命周期安全管理、高级密钥管理和篡改监控功能,从而满足对信任根的需求。

更多详情

i.MX RT1180提供多种封装选项,最小封装为10x10mm BGA,以超小尺寸满足实时工业网络所需功能,更轻松地将TSN和工业网络相关功能集成到更广泛的工业应用中,包括I/O管理、电机控制、紧凑型运动控制或网关应用。除了单独作为集成解决方案外,i.MX RT1180还可用作网络系统中的辅助芯片,通过可扩展连接能力为主机处理器提供所需的所有工业网络连接,无需板载PHY即可实现与主机的无缝千兆直接通信,从而可节省额外的功耗和成本。此外,汽车连接应用越来越依赖以太网TSN的支持以实现高带宽和传输实时控制数据,i.MX RT1180同样能够在这方面一展身手。在汽车领域,i.MX RT1180可用作不同的汽车ECU之间的智能开关。

恩智浦资半导体工业边缘处理事业部副总裁兼总经理Jeff Steinheider表示: “工业和汽车行业的客户希望能够提供越来越先进的网络功能,因此要求解决方案不仅具备处理能力,还能管理时间敏感型网络流量。i.MX RT1180提供了集成交换机和EdgeLock安全锁区的一体化解决方案,能够同时满足汽车和工业物联网应用的需求,处理时间敏感型流量和非时间关键型流量,从而帮助客户实现具有先进实时通信功能的安全自动化系统。”

i.MX RT1180作为一款高性能跨界MCU,可在-40°C至125°C的扩展工业级温度范围内工作,采用双核架构,集成800 MHz Arm®Cortex®-M7和Cortex-M33内核,可实现设计灵活性。该器件的集成PMIC(电源管理集成电路),专为实现高能效而设计,适合设计功耗为250mW及以上的应用场景,有助于让许多工业应用实现出色的能效,同时还可降低电路板的复杂性和成本。i.MX RT1180配备多达5个千兆网口,并支持最新的TSN标准,以及多种工业实时网络协议,包括EtherCAT、Profinet、Ethernet/IP、CC-Link IE或HSR等。i.MX RT1180还可帮助OEM厂商轻松地使设备达到ISA/IEC 62443-4-1、-4-2标准。

更多信息,请访问NXP.com.cn/iMXRT1180

关于恩智浦半导体

恩智浦半导体(纳斯达克代码:NXPI)致力于通过创新为人们更智慧、安全和可持续的生活保驾护航。作为全球领先的嵌入式应用安全连接解决方案提供商,恩智浦不断寻求汽车、工业物联网、移动设备和通信基础设施市场的突破。恩智浦拥有超过60年的专业技术及经验,在全球30多个国家设有业务机构,员工达31,000人,2021年全年营业收入110.6亿美元。更多信息,请访问www.nxp.com

围观 42

页面

订阅 RSS - 恩智浦