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

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

3天内不再提示

非对称的ARM双系统,如何实现工业产品的低延时——基于ZYNQ

Tronlong创龙科技 2022-04-29 17:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

现代工业设备系统要求越来越复杂,既要强大的多任务的事务处理能力,又需要低延时实时任务处理能力的需求,特别是工业自动化控制领域(如数控机床、机械臂)、电力监测领域(如DTU、继保设备、一二次融合设备)等应用场景尤为迫切。为了满足日益复杂的系统要求,创龙科技推出了基于Xilinx Zynq-7020/7010实现的双系统解决方案。

Xilinx Zynq-7020/7010是一款集成双核ARM Cortex-A9 + Artix-7 FPGA架构的单芯片SoC,它的OpenAMP框架可实现双核ARM Cortex-A9非对称使用方案,从而使双核ARM实现分别跑两个系统:一个ARM Cortex-A9跑Linux,一个ARM Cortex-A9作为实时核跑RTOSFreeRTOS)或者裸机。实时核与FPGA端进行低延时的高速数据交换与实时通讯控制,从而满足低延时的实时任务要求。而跑Linux的 ARM核作为更上层应用,处理更复杂的业务事务。

Xilinx Zynq-7020/7010单芯片SoC方案配合双系统的应用为工业控制、电力一二次融合设备、医疗电子测试测量汽车电子通信等应用提供了更灵活、更具成本优势的解决方案。

1、echo_test案例

1.1 案例功能

案例功能:CPU0使用RPMsg向CPU1发送数据,CPU1接收到数据后再使用RPMsg向CPU0回传数据。CPU0对回传的数据进行验证,并输出验证结果。

1.2 操作说明

将CPU1裸机或FreeRTOS可执行文件复制到评估板文件系统“/lib/firmware/”目录下,并执行如下命令加载CPU1程序。

Target# echo echo_test.elf > /sys/class/remoteproc/remoteproc0/firmware
Target# echo start > /sys/class/remoteproc/remoteproc0/state

图 3

执行如下命令加载RPMsg驱动,并在“/dev/”目录下生成RPMsg设备节点。
Target# modprobe rpmsg_user_dev_driver

图 4

将CPU0应用程序可执行文件复制到评估板文件系统,并执行如下命令通过RPMsg与CPU1进行通信。

Target# ./echo_test

图 5

输入1,并按回车键进行测试。

图6

图7

输入2,并按回车键退出测试。

图 8

执行如下命令,停止CPU1程序。

Target# echo stop > /sys/class/remoteproc/remoteproc0/state

图 9

2、matrix_multiply案例

2.1 案例功能

案例功能:CPU0随机生成两个矩阵并使用RPMsg向CPU1发送数据,CPU1接收到数据后进行矩阵乘法运算,再使用RPMsg向CPU0回传运算结果,然后CPU0通过串口终端输出运算结果。

2.2 操作说明

将CPU1裸机或FreeRTOS可执行文件复制到评估板文件系统“/lib/firmware/”目录下,并执行如下命令加载CPU1程序。

Target# echo matrix_multiply.elf > /sys/class/remoteproc/remoteproc0/firmware

Target# echo start > /sys/class/remoteproc/remoteproc0/state

图 10

执行如下命令加载RPMsg驱动,并在“/dev/”目录下生成RPMsg设备节点。

Target# modprobe rpmsg_user_dev_driver

图 11

将CPU0应用程序可执行文件复制到评估板文件系统,并执行如下命令通过RPMsg与CPU1进行通信。

Target# ./mat_mul_demo

图 12

输入1,并按回车键进行测试。

图 13

输入2,并按回车键退出测试。

图 14

执行如下命令,停止CPU1程序。

Target# echo stop > /sys/class/remoteproc/remoteproc0/state

图 15

3、内存分配说明

512MByte DDR容量版本核心板的内存地址分配如下:

表 1

1GByte DDR容量版本核心板的内存地址分配如下:

表 2

如需修改CPU1程序(OpenAMP-remote app)内存地址空间范围,可通过更改设备树文件tlz7x-easyevm-s.dts、资源表rsc_table.c及链接文件lscript.ld对内存地址空间进行重新分配。三者需同步修改并保持一致,以确保固件程序链接地址与设备树配置的elf_ddr_0对应。所使用的资源(内存和virtio设备资源)不能超出设备树文件配置的内存范围。

图 16设备树文件tlz7x-easyevm-s.dts配置

图 17设备树文件tlz7x-easyevm-s.dts配置

图 18 CPU1程序资源表rsc_table.c配置

图 19 CPU1程序链接文件lscript.ld配置

上述推文中的案例是在创龙科技(Tronlong)基于Zynq-7010/7020处理器设计的两款工业评估板——TLZ7x-EasyEVM、TLZ7x-EasyEVM-S上实现的,它由核心板+底板构成,用户使用核心板进行二次开发时,仅需专注上层运用,降低了开发难度和时间成本,可快速进行产品方案评估与技术预研。

图 1 TLZ7x-EasyEVM硬件资源框图

图 2 TLZ7x-EasyEVM硬件资源框图

图 3 TLZ7x-EasyEVM-S硬件资源框图

图 4 TLZ7x-EasyEVM-S硬件资源框图

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

    关注

    1664

    文章

    22508

    浏览量

    639470
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9589

    浏览量

    393765
  • 嵌入式
    +关注

    关注

    5209

    文章

    20679

    浏览量

    337268
  • Linux
    +关注

    关注

    88

    文章

    11821

    浏览量

    219595
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    90W AC - DC非对称半桥适配器设计解析

    90W AC - DC非对称半桥适配器设计解析 在电子设备的电源设计领域,高效、稳定的电源适配器是关键。今天我们来深入探讨一款基于非对称半桥拓扑(AHB)的90W宽范围输入AC - DC适配器
    的头像 发表于 04-16 09:50 393次阅读

    固变SST隔离驱动器的非对称延时补偿:提升级联型系统单元开关同步性

    基于SiC模块构建的固变SST隔离驱动器的非对称延时补偿:提升级联型系统单元开关同步性的算法实现 固态变压器级联架构与开关同步性的理论基础 在全球能源结构向可再生能源主导转型的背景下,
    的头像 发表于 04-10 06:34 152次阅读
    固变SST隔离驱动器的<b class='flag-5'>非对称</b><b class='flag-5'>延时</b>补偿:提升级联型<b class='flag-5'>系统</b>单元开关同步性

    深入解析SMFA非对称系列表面贴装TVS二极管

    限制在安全范围内。今天,我们就来详细探讨一下Littelfuse的SMFA非对称系列表面贴装TVS二极管。 文件下载: Littelfuse SMFA非对称TVS二极管.pdf 一、产品概述 SMFA
    的头像 发表于 12-15 16:40 507次阅读

    TPSMB非对称系列TVS二极管:汽车应用的理想保护方案

    ,在保护汽车电子系统免受瞬态电压冲击方面发挥着关键作用。今天,我们就来详细了解一下Littelfuse的TPSMB非对称系列TVS二极管。 文件下载: Littelfuse TPSMB非对称TVS二极管.pdf 一、
    的头像 发表于 12-15 16:20 653次阅读

    【深度实战】MYD-LR3576 AMP非对称多核开发指南:从配置到实战

    一、什么是AMP?为什么重要?AMP(AsymmetricMulti-Processing)非对称多处理架构,允许单个芯片的不同核心运行不同的操作系统或裸机程序。相比传统的SMP(对称
    的头像 发表于 12-05 08:07 7369次阅读
    【深度实战】MYD-LR3576 AMP<b class='flag-5'>非对称</b>多核开发指南:从配置到实战

    SLM21364CF-DG 200mA/350mA驱动电流三相半桥驱动芯片,真能满足工业级三相电机驱动需求?

    三相拓扑应用提供了高可靠性解决方案。二、特性解析:精准参数满足工业需求 [td]类别参数明细 耐压与驱动600V工作电压,200mA源电流/350mA灌电流(非对称设计) 开关性能350ns开通
    发表于 11-24 08:31

    SiLM2024CA-DG 200V半桥驱动器在工业应用中的性能解析

    的稳定运行。其锁存免疫特性有效防止因噪声干扰导致的误触发,瞬态负压耐受能力则提升了系统在恶劣工业环境下的可靠性。2. 智能驱动特性 非对称驱动设计(600mA灌电流>290mA源电流)重点
    发表于 11-22 10:50

    SLM2181CA-DG解析600V高低边门极驱动器的核心优势

    系统 用于工业电机、压缩机等场景的IGBT驱动,非对称电流有助于优化关断过程。 新能源领域 如光伏逆变器、储能系统的功率转换级,其宽电源电压范围(10V~20V)能适应一定的电压波动
    发表于 11-21 08:35

    SiLM27517HAD-7G 20V, 4A/5A18ns单通道高欠压保护边门极驱动器的核心优势

    宽禁带半导体驱动 SiLM27517HAD-7G通过极速开关、高可靠性保护与紧凑集成三重优势,解决了高频功率系统中的驱动痛点。其非对称驱动和12.5V UVLO等设计,体现了对实际应用场景的深度适配。 #SiLM27517 #
    发表于 11-19 08:40

    SLM27526EN-DG 20V, 4.5A/5.5A双通道高速门极驱动器的性能解析与应用探索

    在现代电力电子系统中,门极驱动器的性能直接影响着整个系统的效率和可靠性。SLM27526EN-DG作为一款双通道高速边门极驱动器,以其18ns的极速传输延迟和4.5A/5.5A的非对称
    发表于 11-18 08:19

    SiLM27524NCA-DG双通道门极驱动器:18ns极速驱动的性能解析

    在当今功率电子设计中,驱动器的性能往往决定着整个系统的效率与可靠性,SiLM27524NCA-DG双通道边门极驱动器,以其18ns的极速传输延迟和4.5A/5.5A的非对称驱动能力,提供了全新
    发表于 11-17 08:25

    1+1&gt;2,维视智造2D+3D视觉融合缺陷检测系统 破解工业检测“双系统困局”

    工业生产品质管控的赛道上, “检测效率”与“成本控制”始终是企业的核心诉求。然而,传统外观缺陷检测却长期陷入“双系统困境”。维视用“一套融合系统”就能全部搞定——硬件整合、软件集成、数据互通,从根源上解决“
    的头像 发表于 09-08 17:40 1327次阅读
    1+1&gt;2,维视智造2D+3D视觉融合缺陷检测<b class='flag-5'>系统</b>  破解<b class='flag-5'>工业</b>检测“<b class='flag-5'>双系统</b>困局”

    非对称密钥生成和转换规格详解

    生成 以字符串参数生成RSA密钥,具体的“字符串参数”由“RSA密钥类型”和“素数个数”使用符号“|”拼接而成,用于在创建非对称密钥生成器时,指定密钥规格。 说明:生成RSA非对称密钥时,默认素数为2
    发表于 09-01 07:50

    如何在 MA35 系列微处理器 (MPU) 上开发 AMP(非对称多处理)应用程序?

    如何在 MA35 系列微处理器 (MPU) 上开发 AMP(非对称多处理)应用程序,并通过建立多个端点的过程促进与其他内核的多通道数据传输。
    发表于 08-19 06:11

    秒切双系统 赋能AI无界!移远通信发布QSM560DR全功能ARM主板

    6月19日,在2025上海世界移动通信大会(MWC上海)期间,移远通信正式推出其搭载Windows/Android双系统,并内置强劲AI引擎的QSM560DR系列全功能ARM主板。该主板基于高
    的头像 发表于 06-19 19:50 1094次阅读
    秒切<b class='flag-5'>双系统</b> 赋能AI无界!移远通信发布QSM560DR全功能<b class='flag-5'>ARM</b>主板