NXP i.MX7D异构CPU架构的实时应用

ESM7000是英创基于i.MX7D处理器开发的低功耗高性能工控主板,支持双网口、6串口、双CAN总线接口、PCIe、ISA总线等丰富的通讯接口,支持18-bit并行RGB或LVDS显示接口。主CPU i.MX7D是NXP推出的异构多核处理器,配置了主频高达1GHz的ARM Cortex-A7双核和一颗运行速度240MHz、带硬件浮点运算的ARM Cotex-M4内核。下图是ESM7000的原理框图:

ESM7000可预装正版WEC7或RT Linux操作系统,但对于一些实时性要求极高的应用,无论是WEC还是RT Linux操作系统都无法满足对中断事件的及时响应,而且频繁的中断响应也会大大的降低操作系统性能。对这类应用场合就可充分利用i.MX7D的异构多核结构,由高性能的Cortex-A7双核完成人机交互、数据处理、通讯管理等复杂运算,而对于实时的数据采集、高速的中断事件响应等实时任务交由i.MX7D的Cotex-M4完成。

基于异构多核处理器的应用软件开发分为两个部分:一是基于RT Linux的用户应用程序User APP,另一个是在Cortex-M4内核上运行的实时控制程序。User APP与M4有两种数据交互方式:一是在Linux内核中已经实现的针对异构多核处理器 (AMP-Asymmetric Multiprocessing)的多核通讯的协议RPMsg(Remote Processor Messaging),RPMsg提供了User APP与M4之间的双向数据通道,适合小数据的传输。另一种方式是基于共享内存,用于实现批量数据的单向高速传输,使用共享内存的同时,也还需要利用RPMsg实现User APP与M4之间的数据同步。下图是User APP、Linux Kernel、M4程序以及通讯的逻辑框图:

 上图中的μs timer是一个硬件微秒计时器,用于实现User APP与M4之间的时间同步。Cortex-M4程序可以直接基于裸机编程,也可以基于FreeRTOS实时操作系统,Cortex-M4软件开发的详细说明可参考《ESM7000 Cortex-M4技术开发参考手册》。

传统的实时控制方案通常是前端使用单片机或CPLD/FPGA实现数据采集、实时控制,后端再利用一个嵌入式系统进行数据存储、通讯管理、人机交互等操作,硬件和软件设计都很复杂,成本很高。而基于异构多核处理器的ESM7000,可同时实现实时数据采集与控制、数据分析运算存储、网络通讯、人机交互等工作。

此外传统方案的前端单片机/FGPA与后端嵌入式系统的数据通讯,如果使用串口或SPI,最多能实现每秒几兆字节的数据传输,如果要获得更高的数据传输速率就需要使用千兆网口、PCIe等高速通讯接口,系统复杂程度和成本都会显著提高。而我们在ESM7000上实际测试,不用增加任何硬件成本,用户应用程序与M4之间基于共享内存方式轻松就能实现50MB/s的数据交互传输。 

基于ESM7000异构CPU架构的实时应用方案可以以更低的成本、更简洁可靠的设计实现复杂的实时控制应用,可广泛应用于电网监控、多通道数据采集、电机控制、工业自动化与控制等多种领域。

原文链接:ESM7000异构CPU架构实时应用简介--技术天地

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值