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

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

3天内不再提示

采用多核MCU实现性能密集型应用设计

电子设计 来源:郭婷 作者:电子设计 2019-03-12 08:50 次阅读

微控制器MCU)多年来一直致力于低端,数字信号处理(DSP中心应用,数字信号控制器(DSC)中的硬件乘法累加(MAC)单元极大地扩展了DSP功能。尽管如此,集成外设和存储器的MCU仍远低于专用的DSP中心处理器微处理器所提供的性能水平,这些处理器和微处理器也集成了辅助DSP内核。然而,德州仪器TI)和恩智浦半导体等供应商提供的多核MCU产品的性能差距正在缩小。让我们探讨面向DSP挑战的嵌入式设计人员的最新选择,但也面临系统占用和功耗问题,这通常会导致基于MCU的方法。

MCU中强大的以DSP为中心的功能可以追溯到十年前推出的第一款DSC。 Microchip推出了dsPIC30系列,结合了16位PIC24 MCU和硬件乘法累加(MAC)功能以及其他以DSP为中心的功能(如桶形移位器),从而创造了DSC术语。 TI以不同的方式接触该部门,利用其DSP核心传统的处理器技术,并将其集成到具有C2000系列内存和外设的MCU架构中。

多核MCU

上面提到的DSC架构是基于MCU或DSP遗留的单核设计。然而,最新的TI和NXP以DSP为中心的产品是真正的多核设计。每种情况下的意图是将核心专用于最适合的任务。

TI新的Concerto系列如XF28M35H52C1RFPT结合了C28x以DSP为中心的内核,包括浮点单元(FPU),它基本上是从TMS320F283x Delfino MCU系列演变而来的,该系列采用ARM Cortex-M3 RISC内核已用于Stellaris MCU系列。实际上,使用Concerto的设计人员将两个MCU合二为一,如框图所示(图1)。每个内核都有自己专用的内存和外设。还有一块共享资源,支持电源时钟和时钟分配,以及处理器间通信,并实现基本的模拟外设。

采用多核MCU实现性能密集型应用设计

图1:TI的Concerto MCU包括独立的RISC和以DSP为中心的内核,每个内核都有一组专用的外设和内存资源。

恩智浦在图2所示的LPC43xx MCU系列中采用了略微不同的方法。对于初学者来说,两个CPU都基于ARM内核。该系列不使用核心相同的同构多核方法。相反,DSP功能集中在Cortex-M4内核中,包括MAC,SIMD(单指令多数据)执行单元和FPU。同时,Cortex-M0内核是ARM为MCU提供的基准32位RISC产品。恩智浦架构提供了一组由内核共享的内存和外设功能,尽管设计可以将特定内存块和外设专用于单个内核。

编程角度来看,嵌入式设计人员面临着TI和NXP多核MCU面临的不同挑战。在NXP的情况下,除了只有Cortex-M4支持数学指令外,内核在指令集方面基本兼容。这应该简化应用程序开发以及将任务分配到两个核心的过程。

采用多核MCU实现性能密集型应用设计

图2:恩智浦在LPC43xx中结合了ARM-Cortex-M0和-M4核心系列,内核共享一组内存和外设资源。

在Concerto的情况下,核心具有完全不同的指令集。但TI表示,其开发工具可以缓解异构内核引入的任何复杂问题。该公司为两个内核提供ControlSUITE集成开发环境(IDE)版本,为开发团队提供统一的开发窗口。编程通常使用高级语言完成,ControlSUITE支持双核调试功能。有关详细信息,请在Digi-Key网站上查看ControlSUITE产品培训模块。

控制任务消耗DSC

当然,问我们为什么需要具有两个内核的MCU这一问题是公平的。 MCU部分与通用微处理器部分非常不同。在后者中,多个同构核既加速了多线程应用,又提高了单个微处理器的聚合处理能力。

在MCU的情况下,应用程序的实时控制环处理要求通常决定了处理器的选择,并且这种控制环路通常不能分布在多个内核上。多核MCU通常将以DSP为中心的核心专用于控制环路和通用核心系统管理任务。

当然有许多已部署的示例,其中传统DSC处理控制循环处理,同时还处理系统管理功能和通信接口。然而,TI表示,其C2000 DSC的大量用户群将IC与通用MCU相结合。做出这个决定是因为系统管理任务会限制DSC可以处理实时控制的保真度。

让我们考虑一个例子来说明需要两个核心以及突出显示其他一些Concerto功能。 Concerto MCU中的C28x内核擅长电机控制等任务。高分辨率PWM外设支持该应用。同时,一些电机控制应用还需要专门的通信,例如电力线调制解调器。 Cortex-M3 CPU可以处理高级通信功能,但需要C28x内核来处理调制解调器功能。电机控制和调制解调器算法的结合将禁止C28x内核充当系统管理器。

Concerto中使用的C28x内核包括一个称为VCU(Viterbi数学复合单元)的硬件模块,TI也在其他一些最近发布的C2000 MCU上提供了该模块。图3描绘了可能在电力线调制解调器中使用的维特比解码链。在VCU上实现该算法导致的性能比使用C28x上的软件实现可实现的性能高25倍。事实证明,双核设计不仅能够实现无法在单核设备中实现的应用,还能够支持以前可能需要更高端微处理器和DSP处理器组合的应用。

采用多核MCU实现性能密集型应用设计

图3:对于以通信为中心的应用,如电力线调制解调器,Concerto集成了VCU(Viterbi数学复合单元),以加速维特比解码器等应用。

确实,支持多核的MCU的不断发展的功能将支持新的应用类,并为设计团队带来新的挑战。电力线通信等应用非常复杂。 TI通过DSP内核库和更高级别的应用程序库提供帮助。例如,该公司提供用于电机控制,数字电源控制,电力线通信和其他功能的应用程序库。

TI还提供了一种既定的方法,可以提供开发工具和套件,使设计团队能够轻松地尝试新的基于C2000的MCU。该公司为C2000系列中的每个MCU提供所谓的ControlCARD。 ControlCARD托管处理器,并通过标准化连接器访问所有MCU信号。设计团队可以使用ControlCARD连接器开发单个应用板,并评估目标应用中的许多C2000 MCU。 TI还提供结合了ControlCARD和通用基板的实验套件。对于协奏曲,TI提供TMDXCNCDH52C1 ControlCARD和TMDXDOCKH52C1实验套件。

结论

下次遇到性能密集型设计挑战时,请确保考虑集成多个内核的MCU的新兴趋势。正如摩尔定律推动微处理器部门采用混合均匀和异构核心的产品一样,这一趋势肯定会升级。在MCU领域,您可以期待专注于针对应用程序特定元素的内核的设计。对于TI和NXP,您将获得一个RISC核心,它擅长作为系统管理器和以DSP为中心的核心来处理粒度控制环路和实时响应。编程此类设备可能比您最初预期的要简单。

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

    关注

    544

    文章

    7682

    浏览量

    344347
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16016

    浏览量

    343576
  • 调制解调器
    +关注

    关注

    3

    文章

    818

    浏览量

    38384
收藏 人收藏

    评论

    相关推荐

    鸿蒙OS开发实例:【ArkTS类库多线程CPU密集型任务TaskPool】

    CPU密集型任务是指需要占用系统资源处理大量计算能力的任务,需要长时间运行,这段时间会阻塞线程其它事件的处理,不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率,提升应用程序响应速度。
    的头像 发表于 04-01 22:25 317次阅读
    鸿蒙OS开发实例:【ArkTS类库多线程CPU<b class='flag-5'>密集型</b>任务TaskPool】

    鸿蒙OS开发实例:【ArkTS类库多线程I/O密集型任务开发】

    使用异步并发可以解决单次I/O任务阻塞的问题,但是如果遇到I/O密集型任务,同样会阻塞线程中其它任务的执行,这时需要使用多线程并发能力来进行解决。 I/O密集型任务的性能重点通常不在于CPU
    的头像 发表于 04-01 16:32 107次阅读
    鸿蒙OS开发实例:【ArkTS类库多线程I/O<b class='flag-5'>密集型</b>任务开发】

    博泰“车联网云服务平台”入选2023年度专利密集型产品名单

    近日,中国专利保护协会首次组织开展了专利密集型产品认定工作,并于近期发布2023年专利密集型产品名单,博泰的“车联网云服务平台”入选2023年度专利密集型产品名单。
    的头像 发表于 03-29 10:23 135次阅读
    博泰“车联网云服务平台”入选2023年度专利<b class='flag-5'>密集型</b>产品名单

    鸿蒙原生应用开发-ArkTS语言基础类库多线程I/O密集型任务开发

    使用异步并发可以解决单次I/O任务阻塞的问题,但是如果遇到I/O密集型任务,同样会阻塞线程中其它任务的执行,这时需要使用多线程并发能力来进行解决。 I/O密集型任务的性能重点通常不在于CPU的处理
    发表于 03-21 14:57

    鸿蒙原生应用开发-ArkTS语言基础类库多线程CPU密集型任务TaskPool

    密集型任务可以提高CPU利用率,提升应用程序响应速度。 当进行一系列同步任务时,推荐使用Worker;而进行大量或调度点较为分散的独立任务时,不方便使用8个Worker去做负载管理,推荐采用
    发表于 03-19 14:14

    什么是FPGA?带你初步揭开它的面纱

    计算密集型任务,如矩阵运算、图像处理、机器学习等。与CPU相比,FPGA在这些任务上具有更高的性能和更低的延迟。 此外,FPGA在通信密集型任务中也具有显著优势。由于FPGA上的收发器可以直接
    发表于 02-21 16:10

    HarmonyOS CPU与I/O密集型任务开发指导

    分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率,提升应用程序响应速度。 当进行一系列同步任务时,推荐使用Worker;而进行大量或调度点较为分散的独立任务时,不方便使用8个Worker去做负载管理,推荐采用TaskPool。接下来将以图像
    的头像 发表于 02-18 10:17 665次阅读
    HarmonyOS CPU与I/O<b class='flag-5'>密集型</b>任务开发指导

    AURIX系列MCU多核系统和时钟有关系吗?

    AURIX系列MCU多核系统和时钟有关系吗?2.如何系统的理解GTM的时钟结构(以前用的ST的片子,发现英飞凌MCU的时钟树和ST的很不一样,有些时钟实现的功能和原理是一样的)?3.编
    发表于 02-05 06:10

    为汽车接口、安全和计算密集型负载选择和使用 FPGA

    ,而豪华车则可能采用 70 个或更多。越来越多的汽车需要极其复杂的密集型计算能力,用于执行高级驾驶辅助系统(ADAS)、信息娱乐、控制、网络和安全等任务。其中许多应用涉及与人工智能 (AI) 相结合的图像和视频处理方面的机器视觉。 独立的处理器架构难以处理传感器、照相机和
    的头像 发表于 10-03 14:37 396次阅读
    为汽车接口、安全和计算<b class='flag-5'>密集型</b>负载选择和使用 FPGA

    HarmonyOS CPU与I/O密集型任务开发指导

    来进行解决。 I/O密集型任务的性能重点通常不在于CPU的处理能力,而在于I/O操作的速度和效率。这种任务通常需要频繁地进行磁盘读写、网络通信等操作。此处以频繁读写系统文件来模拟I/O密集型并发任务
    发表于 09-26 16:29

    用于密集型在轨边缘计算的微处理器和FPGA

    在这篇文章中,我想探讨和比较用于边缘密集型星载处理的微处理器和FPGA。一些应用需要从不同带宽的多个传感 器(如RF、LIDAR、成像和GNSS)获取大量数据,同时需要实时做出关键决策,如用
    发表于 09-14 14:34 1次下载
    用于<b class='flag-5'>密集型</b>在轨边缘计算的微处理器和FPGA

    云优化性能:使用基于闪存的存储的I/O密集型工作负载

    电子发烧友网站提供《云优化性能:使用基于闪存的存储的I/O密集型工作负载.pdf》资料免费下载
    发表于 08-28 10:04 0次下载
    云优化<b class='flag-5'>性能</b>:使用基于闪存的存储的I/O<b class='flag-5'>密集型</b>工作负载

    航顺芯片提供ARM+RISC-V异构多核MCU

    航顺芯片作为IAR System合作伙伴,提供了ARM+RISC-V异构多核MCU硬件平台。“嵌入式多核系统可分为同构多核和异构多核,航顺芯
    发表于 06-20 12:48 340次阅读
    航顺芯片提供ARM+RISC-V异构<b class='flag-5'>多核</b><b class='flag-5'>MCU</b>

    中国首颗ARM+RISC-V异构多核MCU伴随IAR在上海国际嵌入式展亮相

    ARM+RISC-V异构多核MCU硬件平台。“嵌入式多核系统可分为同构多核和异构多核,航顺芯片HK32U3009
    发表于 06-15 18:32

    使用精密模拟MCU外设创建高价值、信号密集型设计

    使用数模转换器 (DAC) 的电机控制、无线电控制、音频样本生成和波形生成是需要 MCU 具有更高精度模拟功能的典型应用。由于 MCU 不是无线电的天然配套设备,因此它们通常需要专用的高精度模拟组件或外围设备才能在无线电信号存在时“表现良好”。
    发表于 04-29 16:51 228次阅读
    使用精密模拟<b class='flag-5'>MCU</b>外设创建高价值、信号<b class='flag-5'>密集型</b>设计