瑞萨RZ/G2L MPU的多核异构设计及通信方案

描述

摘要

本文介绍瑞萨RZ/G2L MPU的多核异构设计及通信方案。

背景

在当今的工业和消费电子应用中,系统需求日益增长,不仅要求执行复杂的控制任务,还需要实时地采集和处理数据。为了满足这些需求,多核异构处理器成为了一种流行的解决方案。这类处理器通常结合了ARM架构的A系列核心(用于处理高级计算任务)以及M系列或R系列核心(专注于实时操作)。在这种架构下,复杂的控制任务可以由搭载Linux的A核心处理,而实时数据的采集和处理则可以交由运行RTOS或bare-metal的M核或R核来完成。

与传统的单核MPU和单核MCU的多芯片系统设计相比,多核异构处理器展现出显著的优势。在传统设计中,两颗芯片之间需要通过外部接口交换大量数据,这不仅占用了宝贵的引脚资源,而且数据传输效率低下。相反,集成了A核和M核或R核的多核异构处理器利用内部总线结构实现了快速通信,并共享内部资源,从而避免了对外部引脚的占用。这种多核异构的系统设计不仅降低了通信过程中的信息安全风险,还减少了芯片采购和管理成本,缩减了PCB板的成本和尺寸,并简化了开发流程。

RZ/G2L产品介绍

配备双核Arm Cortex-A55 (1.2 GHz) CPU和单核Arm Cortex-M33 (200 MHz) CPU、3D图形加速引擎和视频编码解码引擎器的通用微处理器。

G2L框图

MPU

异构通信机制OPENAMP

Open Asymmetric Multi-Processing

在RZ/G2L系列的MPU中,我们可以看到多核异构架构的一个实际应用。这款MPU拥有一个大核Cortex-A55,频率高达1.2GHz,能够运行Linux操作系统,以及一个小核Cortex-M33,频率为200MHz,专门用于运行RTOS或裸机(bare-metal)程序。这两个核心之间的异构通信是通过OpenAMP软件框架实现的。

OpenAMP是一个轻量级的通信协议,它使得不同的处理器能够通过共享内存或消息传递机制来进行交流。在一个多核处理系统中,各个处理器可能会运行不同的软件模块,而OpenAMP框架则为这些模块之间的数据交换和协作提供了一种有效的手段。通过这种方式,OpenAMP不仅简化了多处理器间的通信,还增强了整个系统的协同效率和功能性。见图1。

MPU

图1

Virtio

虚拟化模块

Virtio是一个共享内存管理的虚拟设备框架,Virtio中的vring是指向数据缓冲区指针的FIFO队列,有两个单向的vring,一个vring专用于发送到远程处理器的消息,另一个vring用于从远程处理器接收的消息, 数据就存放于共享的内存中,即Vring buffers, 一半用于发送,一半用于接收。

RPMsg

远程处理器消息传递

RPMsg框架位于Virtio的上层,RPMsg(Remote Processor Messaging)框架是一种基于Virtio的消息总线。见图2。

MPU

图2

Remoteproc

主处理器上的Linux操作系统可以对远程处理器及其相关软件环境进行生命周期管理,即启动或关闭远程处理器。见图3。

MPU

图3

IPCC处理器间通信控制器

MHU(Message Handling Unit)是MPU芯片内的一个IP模块,担任IPCC角色,用于Cortex-A55(CA55)之间或与Cortex-M33(CM33)之间的消息通信。数据传输通过共享内存方式实现。

一个通道由一对数据传输处理寄存器和响应传输处理寄存器组成,共挂载12个通道(CA55 Core0/Core1 CM33,安全和非安全区域)。见图4。

MPU

图4

以上介绍了RZ/G2L双核异构的通信方式,同时RZ/G2L产品也提供相应的软件支持。

Multi-os (CA55 Linux + CM33 RTOS)

客户可以使用灵活的软件包(FSP)快速开发应用程序,使用OpenAMP创建与Linux配合使用的应用程序。见图5。

MPU

图5

Cortex-M33开发环境

MPU

图6

相应硬件板及软件工具可以通过瑞萨官网获得。

JTAG在线调试

当连接JTAG时,必须如下设置DIP SW1。见图7。

MPU

图7

CORTEX-M33启动方式

● CM33由CA55加载启动

● 引导过程中有多个时间点可以执行此操作:

● Arm Trusted Firmware

 启动CM33的最快方法

 允许将代码加载到安全RAM中

● u-boot -> Multi OS SW package默认方式

 CM33 固件容易更新

 二进制文件存储在u-boot可以访问的文件系统中

● Linux (remoteproc)

 最方便维护,软件升级改动少

共享资源

资源共享时,请注意如下分配

● 引脚复用

● 内存分配

● 外设分配

以上介绍了RZ/G2L MPU的多核异构设计及通信方案,目前RZ/G系列都采用ARM A核和M核或R核的多核异构设计,更多产品信息您可访问瑞萨官网。

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

全部0条评论

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

×
20
完善资料,
赚取积分