从低功耗实时监视到具有用于人机界面 (HMI) 的多屏图形显示的高级多媒体应用,汽车、工业、机器人、楼宇控制和其他关键 嵌入式系统应用预期需要承担更加多样化的工作负载。在满足这些广泛的功能要求的同时,它们还必须能够支持严格的安全标 准,降低成本,减少占用空间以及优化功耗 / 性能平衡。
迄今为止,为满足这些有时往往相互冲突的要求,开发人员不得不牺牲功能,或增加必要的设备来支持特定的图形、安全性和 安全等要求,导致设计和制造的复杂性增加。开发人员真正需要的是一种单一的解决方案,能够跨众多关键的嵌入式系统应用 支持各式各样满足上述要求的产品。
本文将简单介绍关键嵌入式系统设计的演变过程。然后展示如何使用 NXP Semiconductors 专门设计的多核应用处理器来应对 开发人员面临的挑战,这些处理器可以支持快速扩展的需求列表,包括众多功能性和安全认证能力。
嵌入式系统设计的演变过程注意事项 嵌入式设备在支持一组有限的系统功能方面的传统角色,在很大程度上已经被可提供广泛功能的设备的需求所取代。例如,在 工业应用中,智能工具和设备对于增强型 HMI 功能的需求要求处理器能够在满足更多传统工业实时要求的同时,提供优化的 图形。同样,汽车应用向包含功能域集群和网关的分层架构发展的趋势,推动了能够完全满足这些要求的处理器的需求(图 1)。
图 1:朝着更加层次化的汽车系统架构发展的趋势创造了对集成度更高的可扩展处理器解决方案的需求。(图片来源:NXP Semiconductors)
在每个功能域中,对于更复杂功能的需求不断提升性能和集成功能的门槛。例如,平视显示器的出现需要能够确保向驾驶员持 续提供关键图形信息的解决方案。除了这些新一代的显示器之外,增强驾驶员感知能力的需求与日俱增,也对摄像头接口以及 高性能地执行能够提供睡意检测功能的高级识别软件提出了更多的要求。
随着应用的持续发展,为满足日益多样化的要求,同时最大限度减少设计的占用空间并降低成本和复杂性,对于高度集成的可 扩展解决方案的需求也变得更加迫切。利用 NXP 的 i.MX 8 系列应用处理器,开发人员可以将兼容的处理器平台与一系列必要 的功能和性能相结合,来支持各种各样的应用需求。在 NXP 的 i.MX 8 家族中,i.MX 8X 系列满足了中端汽车和工业应用所需 的安全认证处理器的新兴需求。
多核架构管理多样化的工作负载 开发人员在实现用于汽车和工业应用的设备时所面临的一大难题是过宽的需求广度。在开发人员预期处理实时或高级应用处理 工作负载的情况下,对智能子系统的需求却将这些截然不同的计算类型合并到一起。开发人员越来越需要能够在支持功能安全 要求的同时提供可靠的实时响应和高性能应用执行的解决方案。
NXP i.MX 8X 系列处理器可提供实时功能、高性能处理,而且功耗很低,可充分利用复杂的多核中央处理器 (CPU) 架构来管 理多样化的计算工作负载(图 2)。
图 2:NXP i.MX 8X 系列使用由 Arm Cortex-M4 (CM4) 嵌入式处理器和多个 Arm Cortex-A35 应用处理器构成的多核架构来支 持混合软件工作负载。(图片来源:NXP Semiconductors)
对于通用型实时处理任务,i.MX 8X 器件包括一个带浮点单元 (FPU)、内存保护单元 (MPU)、内存映射加密加速单元 (MMCAU) 和混合控制模块 (MCM) 的 Arm Cortex-M4 (CM4) 处理器。为了支持传感器和致动器等外部外设,此用户 CM4 复 合体将嵌套向量中断控制器 (NVIC) 与一套全面的接口和模块相结合,包括低功耗周期性中断定时器 (LPIT)、脉冲宽度调制 (PWM) 以及在汽车和工业应用中通常需要的其他功能。一对高速缓存存储器和具有纠错码 (ECC) 功能的紧耦合存储器 (TCM),有助于最大限度减少对外部存储器的访问,加快执行速度和处理存储器错误。
为了快速执行应用工作负载,该 CPU 平台由多个高能效的 Arm Cortex-A35 应用处理器 (AP) 构成,其中两个 AP 在 8DualXPlus 处理器(例如 MIMX8UX6AVLFZAC)中,四个 AP 在 8QuadXPlus 处理器(例如 MIMX8QX6AVLFZAC)中。 除了专用指令 (I$) 和数据 (D$) 高速缓存外,该 CPU 平台还包括带有 ECC 的 512 KB 2 级 (L2) 共享高速缓存。
该架构的 Arm Cortex-A35 内核可提供软件兼容性和性能可扩展性,从而支持 32 位向后兼容性和 64 位性能。为了进一步加快 计算密集型算法(如信号处理和机器学习)的执行速度,Arm Cortex-A35 处理器提供了矢量浮点 (VFP) 处理和 Arm 的 Neon 单指令多数据 (SIMD) 架构扩展。为了加快用于图像处理、计算机视觉和机器学习的软件的执行速度,Arm 计算库提供了经优 化适用于 Arm 处理器和图形处理单元 (GPU) 架构的函数,而开源代码 Ne10 C 库则提供了经 Arm 优化适用于计算密集型操 作的函数。
专用引擎分担主 CPU 的负荷 除了用户 CM4 复合体和 Arm Cortex-A35 多核 CPU 平台之外,该架构还提供了专门用于多媒体应用的额外引擎。除了用于音 频和语音编解码器处理的数字信号处理器 (DSP) 之外,该架构还集成了 GPU 和视频处理单元 (VPU)。该器件的 GPU 支持标 准图形库,使用具有 16 个执行单元的四个独立的四分量浮点矢量 (VPU) 和高性能二维位传输引擎来加速操作。VPU 用于处 理常见的视频格式,加速解码高达 4Kp30(逐行、30 Hz)的视频和编码高达 1080p30 的视频。反过来,该芯片的专用显示 控制器模块可以将图形输出驱动至多达三个独立的显示器。
为进一步实现最大化性能,i.MX 8X 架构还集成了更多处理器内核,这些内核旨在将主 CPU 平台从通常在执行系统管理和安 全性服务时发生的其他处理负载中解放出来。针对系统管理,该架构的系统控制单元 (SCU) 集成了一个与用户 CM4 复合体匹 配的 CM4 复合体,但将其保留完全专用于 SCU 操作,而且不供开发人员使用(图 3)。
图 3:该 SCU 深度集成在 NXP i.MX 8X 处理器内,不供开发人员使用,而是使用专用的 Arm Cortex-M4 (CM4) 子系统从器 件的主要处理器分担系统管理任务。(图片来源:NXP Semiconductors)
除了管理电源、时钟和其他内部功能外,该 SCU 还控制正常操作中的引脚多路复用和输入 / 输出 (I/O) 通道驱动强度。实际 上,用户 CM4 复合体和 Arm Cortex-A35 AP 都不能直接访问这些不同的底层硬件功能。相反,该 SCU 起到了抽象这些功能 的作用,因此在用户 CM4 或 AP 上运行的软件只需调用 SCU 固件应用编程接口 (API) 函数,便可执行诸如关闭不需要的功率 域这类功能。例如,如果该功率域正在与另一个处理器共享,则该 SCU 仅确认断电请求,但仍将该域保持通电,直到前述另 一个处理器也发出了断电请求。
为了管理 i.MX 8X 器件广泛的安全性支持,另一个专用处理器将在器件的安全性控制器 (SECO) 子系统中发挥作用。在 SECO 子系统内,一个集成的低功耗 Arm Cortex-M0+ 处理器用于执行固件,以支持基于硬件的安全性功能,包括用于安全密 钥的专用总线访问、用于安全密钥存储的一次性可编程 (OTP) 存储器,以及用于其他私有数据或临时密钥的安全非易失性存 储 (SNVS)(图 4)。
图 4:在 NXP i.MX 8X 安全性控制器 (SECO) 子系统内,一个专用的低功耗 Arm Cortex-M0+ 处理器用于管理安全性操作, 利用一条私钥总线和多个硬件模块实现安全存储、加密加速和经过身份验证的调试访问。(图片来源:NXP Semiconductors)
全部0条评论
快来发表一下你的评论吧 !