MPU

在嵌入式开发中,我们经常会接触到一些专业术语,例如CPU、MCU、MPU、SOC和MCM等,这些缩写代表了不同类型的电子处理单元,它们在消费电子、计算机硬件、自动化和工业系统中扮演着重要角色。下面将介绍每个术语的基本含义和它们在实际使用中的区别:

1.png

CPU

CPU (Central Processing Unit) - 中央处理单元:由运算器、控制器和寄存器及相应的总线构成。它可以是一个独立的处理器芯片或一个内含多核处理器的大型集成电路。

众所周知的三级流水线:取址、译码、执行的对象就是CPU,CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,然后执行指令。所谓的计算机的可编程性其实就是指对CPU的编程。

MCU

MCU (Microcontroller Unit) - 微控制器单元: MCU是一个紧凑型处理器,随着大规模集成电路的出现及发展,把计算机的CPU、RAM、ROM、定时器和输入输出I/O引脚集成在一个芯片上。

比如51、STC、Cortex-M这些芯片,它们的内部除了CPU外还包含了RAM和ROM,可直接添加简单的器件(电阻,电容)等构成最小系统就可以运行代码了。

MCU常用于嵌入式系统,如家用电器、汽车电子设备和医疗设备中。与MPU相比,MCU更多的是自成一体的解决方案,可独立执行预定的任务。   

MPU

MPU (Microprocessor Unit) - 微处理器单元:是一种更具体的CPU类型,微处理器通常代表功能强大的CPU(可理解为增强型的CPU),这种芯片往往是计算机和高端系统的核心CPU。

例如嵌入式开发者最熟悉的ARM的Cortex-A芯片,他们都属于MPU。MPU主要在个人电脑、服务器和其他高性能计算设备中使用。微处理器单元的设计注重于高性能指令处理。

SOC/SOPC

SoC (System on Chip) - 片上系统:是一种集成电路,它将所有或大部分必要的电子电路和部件集成到单一芯片上。包括CPU核心、内存、输入/输出控制器、外围设备和其他功能模块。SoC的设计目标是为了让它能够作为系统的主要计算引擎。

MCU只是芯片级的芯片,而SOC是系统级的芯片,它集成了MCU和MPU的优点,即拥有内置RAM和ROM的同时又像MPU那样强大,它可以存放并运行系统级别的代码,也就是说可以运行操作系统。

SoPC (System on a Programmable Chip) - 可编程片上系统:是指硬件逻辑可编程的片上系统,如FPGA(现场可编程门阵列)被用于创建系统级的设计。与传统的SoC相比,SoPC提供了更多的灵活性,因为硬件逻辑可以在芯片制造后根据需求进行修改和配置。

举个例子说明便于理解,单片机的硬件配置是固化好了的,我们能够编程修改的是软件配置,本来是串口通信功能,通过修改代码变成AD采样功能,也就是说硬件配置是固定了的,只能通过修改软件来选择其中的一项或多项功能。

而SoPC可以修改硬件配置信息使其成为相应的芯片,可以是MCU,也可以是SOC。    

MCM

MCM (Multi-Chip Module) - 多芯片模块:MCM是将多个独立的集成电路封装在一个单独的芯片上的技术。与将所有功能集成到单个集成电路的SoC不同,MCM通常用于封装性能更强、功能专注的独立集成电路。它们可以提供类似系统总线的内部连接,使得性能更优于单芯片解决方案。

在嵌入式开发中,接触频率较多的一般是MCU和SOC,而现在STM32也几乎成为了MCU的代名词,SOC目前则以Cortex-A系列为主,开发难度也有所差异,对于嵌入式从业者来说,弄清楚这些专业概念是必备的。

来源:ittbank

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 24

这款独特的解决方案首次全面支持 8 位、16 位和 32 MCU 以及 32MPU,可在边缘实现机器学习

机器学习 (ML) 正成为嵌入式设计人员开发或改进各种产品的标准要求。为满足这一需求,Microchip Technology Inc.(美国微芯科技公司)近日推出了全新的MPLAB® 机器学习开发工具包,提供一套完整的集成工作流程来简化机器学习模型开发。这款软件工具包可用于Microchip的各类单片机 (MCU) 和微处理器 (MPU) 产品组合,助力开发人员快速高效地添加机器学习推理。

MPLAB ML Dev Suite_ID368862.jpg

Microchip开发系统业务部副总裁Rodger Richey表示:机器学习是嵌入式控制器的新常态,与依赖云通信进行处理的系统相比,在边缘利用机器学习可使产品更高效、更安全、功耗更低。Microchip独特的集成解决方案专为嵌入式工程师设计,是首款不仅支持32MCUMPU,还支持8位和16位器件的解决方案,可实现高效的产品开发。

机器学习通过使用一套算法,从大型数据集中分析和生成模式,以支持决策。与人工处理相比,机器学习通常更快、更容易更新和更准确。Microchip客户可以利用这套新工具,启用预测性维护解决方案,以准确预测各种工业、制造、消费和汽车应用中所用设备的潜在问题。

MPLAB 机器学习开发工具包可帮助工程师构建高效、小尺寸的机器学习模型。在 AutoML 的支持下,该款工具包消除了许多重复、繁琐和耗时的模型构建任务,包括提取、训练、验证和测试。它还提供了模型优化功能,以满足MCUMPU的内存限制要求。

当与 MPLAB X 集成开发环境 (IDE结合使用时,新工具包可提供一个完整的解决方案,几乎没有任何机器学习编程知识的人员也能轻松实施,从而节省了聘请数据科学家的成本。同时,它也具备先进功能,能满足经验丰富的机器学习设计人员的需求。

Microchip还提供从TensorFlow Lite中提取模型并将其用于任何MPLAB Harmony v3项目的选项。MPLAB Harmony v3是完全集成的嵌入式软件开发框架,提供灵活、可互操作的软件模块,以简化增值功能的开发,缩短产品的上市时间。此外,VectorBlox™ Accelerator 软件开发工具包(SDK)利用 PolarFire® FPGA 提供了基于卷积神经网络 (CNN) 的最节能的人工智能/机器学习(AI/ML)推理功能。

MPLAB 机器学习开发工具包提供了必要的工具,旨在设计和优化运行机器学习推理的边缘产品。请访问Microchip 机器学习解决方案页面,了解更多有关利用Microchip直观的机器学习工具简化开发流程、降低成本并加快产品上市时间的信息。

供货与定价

价格因许可情况而异。MPLAB 机器学习开发工具包有免费版本可供评估。如需了解更多信息或购买,请访问Microchip直销网站www.microchipdirect.com或与您当地的Microchip销售代表联系。

资源

可通过Flickr或联系编辑获得高分辨率图片(欢迎自由发布):Flickr link

Microchip Technology Inc. 简介

Microchip Technology Inc.是致力于智能、互联和安全的嵌入式控制解决方案的领先供应商。其易于使用的开发工具和丰富的产品组合让客户能够创建最佳设计,从而在降低风险的同时减少系统总成本,缩短上市时间。Microchip的解决方案为工业、汽车、消费、航天和国防、通信以及计算市场中125千家客户提供服务。Microchip总部位于美国亚利桑那州Chandler市,提供出色的技术支持、可靠的产品交付和卓越的质量。详情请访问公司网站www.microchip.com

围观 8

客户现可以在VS Code中设计和调试瑞萨嵌入式处理器的软件,与瑞萨自有e2 Studio IDE相辅相成

全球半导体解决方案供应商瑞萨电子(TSE:6723)今日宣布其客户现可以使用Microsoft® Visual Studio Code(VS Code)开发瑞萨全系列微控制器(MCU)和微处理器(MPU)。瑞萨已为其所有嵌入式处理器开发了工具扩展,并将其发布在Microsoft VS Code网站上,使习惯于使用这款流行的集成开发环境(IDE)和代码编辑器的大量设计师能够在他们熟悉的开发环境中工作。

1.jpg

VS Code IDE简化并加速了跨多种平台和操作系统的代码编辑。通过提供对VS Code的支持,瑞萨现在使得更多设计师能够使用瑞萨产品创建高效的嵌入式解决方案。VS Code与瑞萨自有的强大而灵活的e2 studio IDE相互补充,后者被全球数千名设计师所使用

瑞萨现在支持客户使用Visual Studio Code来开发和调试其16位RL78和32位RA、RX和RH850 MCU,以及64位RZ MPU与R-Car系列SOC的嵌入式软件。瑞萨嵌入式处理器面向汽车、物联网、工业自动化、家电、医疗保健等应用领域。

Akiya Fukui, Vice President and Head of the Software Development Division at Renesas表示:“作为全球MCU供应商,瑞萨电子拥有庞大而忠实的客户群,他们大多采用我们强大的e2 studio IDE来开发应用程序。通过提供对VS Code的支持,将有更多的设计师能够使用瑞萨处理器开发嵌入式应用。”

Marc Goodner, Principal Product Manager, Microsoft表示:“我们欢迎嵌入式处理器市场的佼佼者瑞萨电子加入Visual Studio Code社区。数百万使用VS Code的开发者现在可以使用瑞萨广泛且高效的MCU和MPU产品线。”

用户可以免费下载VS Code,包括源代码的访问权限。他们能够借助Github pull request扩展来创建源代码库,然后使用VS Code查看和编辑源代码。他们还可利用不断发展的扩展功能,使用简单的用户界面或灵活的命令接口。

供货信息

瑞萨MCU和MPU的工具扩展即日起可在Microsoft VS Code网站https://www.renesas.com/software-tool/renesas-extension-of-vscode获得。

瑞萨MCU优势

作为全球卓越的MCU产品供应商,瑞萨电子每年出货量超35亿颗,其中约50%用于汽车领域,其余则用于工业、物联网以及数据中心和通信基础设施等领域。瑞萨电子拥有广泛的8位、16位和32位产品组合,是业界优秀的16位及32位MCU供应商,所提供的产品具有出色的质量和效率,且性能卓越。同时,作为一家值得信赖的供应商,瑞萨电子拥有数十年设计智能、安全MCU的经验,并具有双产线生产模式、业界先进的MCU工艺技术,以及由200多家合作伙伴组成的庞大生态系统。关于瑞萨电子MCU的更多信息,请访问:www.renesas.com/MCUs

关于瑞萨电子

瑞萨电子(TSE: 6723),科技让生活更轻松,致力于打造更安全、更智能、可持续发展的未来。作为全球微控制器供应商,瑞萨电子融合了在嵌入式处理、模拟、电源及连接方面的专业知识,提供完整的半导体解决方案。成功产品组合加速汽车、工业、基础设施及物联网应用上市,赋能数十亿联网智能设备改善人们的工作和生活方式。更多信息,敬请访问renesas.com。关注瑞萨电子微信公众号,发现更多精彩内容。

围观 17

瑞萨电子近日宣布,推出一款支持EtherCAT通信协议的全新工业用微处理器(MPU)——RZ/T2L,为工业系统实现高速、精确的实时控制。

1.jpg

RZ/T2L MPU继承了其高端产品RZ/T2M的硬件架构,为快速增长的EtherCAT通信市场带来理想的解决方案。新型MPU提供了交流伺服驱动器、变频器、工业机器人、协作机器人等所需的高速和精确实时处理性能。同时,与RZ/T2M相比芯片尺寸减少了50%。该款新器件是工厂自动化(FA)以及医疗设备和楼宇自动化(BA)等广泛应用的理想选择。在这些场景中,EtherCAT正越来越多地被采用。

瑞萨电子工业自动化事业部副总裁白壁仁表示:“准确的实时控制对于提高工业系统的生产力和产品质量至关重要,我们的RZ/T2L可以使之成为现实。凭借对迅速扩大的EtherCAT市场的支持,这一产品将把性能提升至一个全新水平,并加速工厂和建筑以及医疗设备的自动化。”

领先的调试及跟踪工具供应商Lauterbach GmbH总经理Norbert Weiss表示:“几十年来,我们持续致力于为工程师提供针对瑞萨最新MCU和MPU的一流开发工具,以实现他们面向未来的嵌入式创新。得益于我们与瑞萨电子的良好合作关系,RZ/T2L MPU的工业用户也将从初始阶段就获得高度可靠的工具以及出色的支持。”

用于精确实时控制和EtherCAT通信的单芯片解决方案

RZ/T2L配备了最高工作频率为800 MHz的Arm® Cortex®-R52 CPU,以及由Beckhoff Automation为以太网通信设计且经过验证的EtherCAT从控制器。RZ/T2L的所有内部RAM都配备了工业应用所需的ECC(数据错误检查与纠正)功能。此外,直接与CPU相连的大容量内存(576 KB)降低了由高速缓存引起的执行时间不可预测性,实现了可靠、确定性的处理。RZ/T2L还提供用于角度传感器的多协议编码器接口、Sigma-Delta接口,和A/D转换器等外设功能。这些都被布置在直接与CPU相连的专用低延迟外设端口(LLPP)总线上,以获得快速、准确的实时控制能力。

2.jpg

为广泛的终端系统提供可扩展的产品部署

RZ/T2L采用与瑞萨最高端电机控制MPU产品RZ/T2M相同的架构,包括CPU、外设功能和内部总线,以达成相同的性能水平。此外,瑞萨提供了与其它RZ产品家族MPU和RA产品家族MCU兼容的灵活配置软件包(FSP)及软件开发环境,使工程师能够保留其现有软件资产,由此减少了开发工作量和成本,促进了各种产品的可扩展开发。

工业设备的功能安全和安全功能支持

RZ/T2L可用作功能安全MPU,来满足日益增长的处理要求,实现工业设备的功能安全。瑞萨将在2023年第四季度发布自诊断软件和SIL3系统软件包,以使用户能够减少开发功能安全系统的工作量与成本。此外,RZ/T2L支持各种安全功能,如安全启动、安全固件更新、JTAG认证、唯一ID和加密加速器,以减少数据泄露和篡改用户程序的风险。瑞萨将于2023年5月推出安全软件包,并作为其安全解决方案的一部分。

RZ/T2L成功产品组合

瑞萨通过与其电源管理IC、光电耦合器、Sigma-Delta调制器和EEPROM等各类器件相结合,展示了RZ/T2L的能力与特性,以打造集成高精度电机控制和EtherCAT的优化交流伺服解决方案。该解决方案附带参考电路、Gerber文件和样例程序代码,可加速AC伺服系统、工业网关和远程I/O等应用的产品开发。瑞萨“成功产品组合”基于经工程验证的系统架构,融合相互兼容、可无缝操作的器件,以创建优化的低风险设计,从而缩短产品的上市速度。瑞萨现已基于其广泛产品阵容中的各类产品,推出超过300款“成功产品组合”。更多信息,您可复制下方网址到浏览器中访问查看:

https://www.renesas.cn/cn/zh/winning-combinations

供货信息

RZ/T2L现已上市。RZ/T2L作为瑞萨电子产品长期供货计划(PLP)所支持的产品之一,适用于需要长生命周期的工业设备。更多信息,请点击文末阅读原文访问查看产品页。

此外,该产品通过减少能源消耗和提升工厂自动化生产力,为改善环境做出卓越贡献。如您有其他需求,欢迎在文末或后台留言,我们将尽快回复。

(备注)Arm和Arm Cortex是Arm Limited在欧盟和其它国家/地区的注册商标。本新闻稿中提及的所有产品或服务名称均为其各自所有者的商标或注册商标。

来源:瑞萨电子

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 22

1、前言

本应用笔记介绍如何管理 STM32 产品中的内存保护单元(MPU)。MPU 是用于存储器保护的可选组件。STM32 微控制器(MCU)中嵌入 MPU 之后变得更稳健可靠。在使用 MPU 之前,必须对其进行编程并加以启用。如果 MPU 没有启用,则存储系统的行为不会变化。

2、概述

MPU 可以使嵌入式系统更加稳健和安全:• 禁止用户应用程序破坏关键任务(例如操作系统核心)使用的数据• 将 SRAM 存储区域定义为非可执行(禁止执行 XN),以防止代码注入攻击• 修改存储访问属性MPU可最多保护16个内存区域。在 Armv6、Armv7 架构(Cortex-M0+、M3、M4、M7)下,这些区域可以依次拥有 8 个子区域(前提是区域至少有 256 字节))。

在 STM32 中,受保护区域的确切数量可能因内核和器件而有所不同,请参阅 Cortex-M33 MPU 寄存器获取详细信息。子区域的大小都是相等的,可以根据子区域号进行启用或禁用。因为最小区域大小是由缓存行长度(32 字节)驱动的,所以 8 个 32 字节的子区域对应一个 256 字节的区域。区域的编号为 0 至 15。

此外,还有一处默认区域,其 id 为-1。所有编号 0-15 的存储区域的优先级高于默认区域。这些区域可以重叠,也可以嵌套。区域 0-15 的优先级由低到高,这也决定了区域重叠的方式。优先级是固定的,不可更改。在 Armv8 架构(Cortex-M33)中,使用起始地址和终止地址来定义区域,使开发人员能够以灵活、简单的方式组织这些区域。

此外,正是区域大小的可灵活配置得到提升,故Cortex-M33就没有子区域的概念了。下图显示的示例包含六个区域。该示例显示区域 4 与区域 0 和 1 重叠。区域 5 完全包含在区域 3 内。因为优先级是递增的,所以重叠区域(橙色)优先。因此,如果区域 0 是可写的,而区域 4 不可写,那么位于区域 0 和区域 4 重叠部分的地址为不可写。

1.png

Conclusion:

在 Armv8 架构(Cortex-M33)中,现在不允许区域重叠。由于 MPU 区域的定义更加灵活,因此没有必要重叠MPU 区域。 

MPU 是统一的,意味着没有单独的区域用于数据和指令。

MPU 还可以用于定义其他存储器属性(如可缓存性),可以导出到系统级缓存单元或存储存控制器。Arm 架构中的存储器属性设置可以支持两种级别的缓存:内部缓存和外部缓存。STM32F7 和 STM32H7 系列仅支持一种级别的缓存(L1-缓存)。 

缓存控制由缓存控制寄存器实现全局控制,但 MPU 可以指定缓存策略以及区域是否可缓存。

2.1存储器模型 

在 STM32 产品中,处理器具有固定的默认存储器映射,可提供最多 4 Gb 的可寻址存储器。

2.png

3.png

3、  Cortex-M0+/M3/M4/M7 

存储器类型、寄存器和属性

存储器映射和 MPU 编程将存储器映射分为多个区域。每个区域都有已定义的存储器类型和存储器属性。存储器类型和属性决定该区域的访问行为。

3.1 存储器类型

有三种常见的存储器类型: 

• 普通存储器:允许 CPU 以有效方式安排字节、半字和字的加载和存储(编译器不了解存储器区域类型)。对于普通存储器区域,CPU 不一定按照程序中列出的顺序执行加载/存储操作。 

• 器件存储器:在器件区域内,负载和存储是严格按照顺序进行的。这是为了确保以正确的顺序设置寄存器。 

• 强排序存储器:所有操作始终按以编程方式列出的顺序执行,CPU 会等待加载/存储指令执行(有效的总线访问)结束,然后执行程序流中的下一条指令。这可能导致性能损失。

3.2 存储器属性

区域的属性与大小寄存器(MPU_RASR)是设置所有存储器属性的地方。该表显示了 MPU_RASR 寄存器中对于区域的属性和大小的简要描述。

4.png

前一个表格中的参数详情如下: 

• XN 标志位控制代码的执行。为了在区域内执行指令,特权级别必须有读访问权限,而 XN 必须为 0。否则,会产生 MemManage 报错。 

• 数据访问权限(AP)字段定义存储区域的 AP。

下表对访问权限进行了说明:

5.png

• S 字段面向可共享的存储区域:存储系统在一个有多个总线主控的系统(例如,一个处理器带一个 DMA 控制器)中提供总线主控之间的数据同步。强排序的存储器始终可共享。如果多个总线主控可以访问一个不可共享的存储区域,软件必须确保总线主控之间的数据一致性。STM32F7 系列和 STM32H7 系列不支持硬件一致性。S 字段相当于不可缓存的存储器。 

• TEX、C 和 B 位用于定义区域的缓存属性,以及(在某种程度上)可共享性。按下表对其进行编码。

在 STM32 微控制器中加入 MPU 使其稳健、可靠,而且在某些情况下更安全 - 防止应用程序任务访问或破坏其他任务使用的堆栈和数据存储器。该应用笔记描述了不同的存储器属性、类型和 MPU 寄存器。其中还提供了 MPU(使用 STM32Cube HAL)设置示例,以说明如何配置 STM32 MCU 中的 MPU。如需详细了解 MPU 寄存器,请参阅 Cortex 内核编程手册。本应用笔记内容较长,篇幅有限仅展示部分,完整内容请点击“阅读原文”下载原文档。

来源:STM32单片机

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 107

在增加了对RZ MPU的支持之后,该计划现可提供来自200多个受信合作伙伴的软件组件,涵盖广泛的技术领域

全球半导体解决方案供应商瑞萨电子(TSE:6723)今日宣布,为其RZ产品家族微处理器(MPU)提供商业级、性能优化的组件---其中包括106个新合作伙伴和160个组件解决方案,进一步扩大“Renesas Ready合作伙伴网络”。在过去三年中,这一受信技术合作伙伴计划已发展至超过200个合作伙伴的规模,共同打造了300多款与瑞萨RZ MPU,以及RA、RX和RL78微控制器(MCU)产品线相配套的即用型组件解决方案。Renesas Ready合作伙伴网络覆盖了8位至64位产品,易于客户应用的扩展。

1.jpg

瑞萨电子现已将“Renesas Ready合作伙伴网络”覆盖全部MCU和MPU产品线

在过去三年中,“Renesas Ready合作伙伴网络”已发展成为一套即插即用的方案选择。结合瑞萨产品的优势,帮助用户简化设计流程,缩短上市与盈利周期。随着更多合作伙伴的加入,该解决方案生态系统将继续在全球范围内不断成长。

瑞萨电子执行副总裁、物联网及基础设施事业本部总经理Sailesh Chittipeddi表示:“瑞萨面向MCU和MPU构建了卓越的合作伙伴生态系统,并将继续壮大我们的网络,使用户的工作更加轻松。随着瑞萨RZ产品家族的加入,我们现在已拥有一个遍及所有瑞萨产品并由可信合作伙伴搭建的、强大的全球生态系统。”

领先的生态系统业务管理平台WorkSpan首席营销官Chip Rodgers表示:“由于工业物联网的解决方案层出不穷,Renesas Ready合作伙伴网络等产业生态系统变得愈发重要。解决方案设计的复杂性已扩大数倍,项目的时间安排也更为紧凑。合作伙伴生态系统对于建立整体解决方案以解决现实世界的技术问题,以及加强协作并推动成功,都至关重要。”

瑞萨电子战略合作关系和全球生态系统事业部总监Kaushal Vora和Chip Rodgers将于11月11日在WorkSpan的“Ecosystems Aces”播客中讨论生态系统和扩展Renesas Ready合作伙伴网络的重要性。了解更多信息并收听播客,请访问:bit.ly/3TN8UA6

Renesas Ready合作伙伴网络基于预先开发的第三方软件及硬件组件。这些“开箱即用”的解决方案利用瑞萨的MCU和MPU产品解决用户的实际问题,同时根据瑞萨软件平台和工具的每个主要版本进行修订。这些组件都拥有一个特定产品徽章,并附有易于理解的宣传资料与示例项目。通过技术演示、视频概述、参考设计和白皮书等形式提供互动、身临其境的内容,涵盖了广泛的技术领域。

查看来自Renesas Ready合作伙伴网络中众多合作伙伴的评价,请访问:renesas.com/renesas-ready

关于瑞萨RZ微处理器产品家族

瑞萨RZ产品家族32位和64位微处理器(MPU)能够提供未来智能社会所需的解决方案。通过高性能CPU内核和各种加速器及外围功能,工程师可以轻松实现高分辨率人机界面(HMI)、嵌入式视觉、嵌入式人工智能(e-AI),以及实时控制和工业以太网连接。更多信息,请访问:renesas.com/rz

关于瑞萨电子

瑞萨电子(TSE: 6723) ,科技让生活更轻松,致力于打造更安全、更智能、可持续发展的未来。作为全球微控制器供应商,瑞萨电子融合了在嵌入式处理、模拟、电源及连接方面的专业知识,提供完整的半导体解决方案。成功产品组合加速汽车、工业、基础设施及物联网应用上市,赋能数十亿联网智能设备改善人们的工作和生活方式。更多信息,敬请访问renesas.com。关注瑞萨电子微信公众号,发现更多精彩内容。

围观 14

设计师和开发人员在进行嵌入式系统UI 设计时经常会在协同方面遇到问题。而Qt 是 ST 合作伙伴计划的成员之一,它的框架可简化 STM32 的工作流,实现开发者与设计者的完美协同。

Qt 是一个由Qt Company开发的跨平台图形UI应用程序开发框架。最近,Qt对在ST的 MPU 上使用他们的工具进行了简化。Qt Board Support Package (QBSP) 安装指南展示了如何为 STM32MP157A 创建 Linux 启动映像。此外,Qt还提供 STM32的演示图像和 STM32MP157F-DK / STM32MP157-EVAL 开发工具的板级支持包。因此,将相同的应用程序及其 UI 从 MCU 移植到微处理器更容易了。在ST的解决方案中是如何使用Qt的呢?让我们详细介绍一下。

“让开发者疯狂爱上STM32

Qt:弥合设计和开发之间的差距

Qt 是包括框架及一系列工具和库的一个生态系统,主要用于在移动设备、PC 和嵌入式系统上开发应用程序。它弥合了设计和开发之间的差距。事实上,许多团队在从设计阶段进入开发阶段时进度会变慢,会遇到很多挑战。在 Photoshop 中设计 UI 时是无法预见到框架的复杂性或编程语言的局限性的。因此,当设计人员将他们的工作交给开发人员时,会带来很多挑战,例如如何创建一个反应敏捷的设计。同样,设计师也会觉得他们的想法没有被开发人员充分实现。这样的反反复复会很影响项目进度和团队士气,延长产品上市时间。

Qt采用不同的设计方法解决了这个问题。Qt Design Studio 使 UI 专家能够从 Photoshop 中导入自己的作品并使用线框来开发界面。What you see and what you get (所见即所得) 界面和基于时间线的动画可以更直观地创建环境。一旦设计师将他们的工作交给开发人员,这套工具就会显示执行优化、编写应用程序逻辑等的代码。开发人员还可以访问更复杂的 IDE,例如 Qt Creator IDE。仅具备以上这些功能还不够。ST 和 Qt 必须确保库、软件和框架能够在 STM32 MCU 和 MPU 上高效运行。

Qt助力提升性能

工程师在权衡 STM32 上的 Qt 是否适合自己的项目时,首先考虑的就是框架的性能。在与Qt合作期间,我们了解到了他们的解决方案如何利用我们的IP。比如,Qt针对ST的 ChromART 加速器或 STM32MP1 的 GPU 对它的库进行了优化,因此在相关硬件的助力下,让ST的MCU 和 MPU 上使用相同的代码库更具吸引力。 Qt 还提到,有些客户在采用Qt框架时看到性能提升了,并为UI带来了新的功能和更丰富的特性。这是因为 ST一直在与 Qt 合作,在他们为ST的器件优化代码时提供支持。

Qt充分激发STM32 MCU/MPU的潜力

Qt 在几年前进入微控制器领域,并与 ST 合作为STM32提供支持。这是该公司第一次在 Cortex-M 处理器上运行他们的库和框架,为ST的多款 MCU(从 STM32F7 、STM32H7到 STM32L4) 创建了二进制文件。因此,工程师可以在更多的开发板上进行概念验证。研发团队会更轻松地说服他们的主管,并且可以从更接近最终产品的配置开始。此外,当开发人员在需要满足特定功能安全标准的设置下使用 MCU 时,只需使用 Qt Safe Renderer就能更快地获得认证。
工程师青睐 Qt 的另一个原因是他们可以轻松地将MCU 应用程序移植到 STM32MP1 MPU。更丰富的资源和Linux操作系统让从MCU到MPU的过渡更容易。研发团队只需关注基本的实现问题,如加载脚本或硬件计时器,而无需担心库和性能。从 MCU 迁移到 MPU 还会涉及显示尺寸或分辨率的变化。Qt 通过提供可创建响应敏捷的用户界面的工具,解决了这个问题。总之,Qt为 STM32提供的支持,使研发团队可以更顺利地迁移到不同的平台,从而缩短产品上市时间。

来源:STM32
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 150

开发一款电子产品,基本都需要一个单片机或微处理器。当在两者之间选择其一时,需要考虑一些因素。

考虑选择微处理器(MPU)或者单片机(MCU)时,应用类型通常是关键因素。另一方面,最终选择取决于诸如操作系统和内存之类的因素。不过,有时可以将微处理器和单片机内核结合使用,这称作异构架构。

操作系统

对于一些基于Linux或安卓等操作系统的计算机密集型工业和消费类应用,需要大量高速连接或功能范围广泛的用户接口,微处理器就是最佳选择。这是因为大多数单片机都没有操作系统,而只有裸机程序,借助于顺序处理循环和状态机,几乎无需任何人工干预即可运行程序。然而,许多高性能单片机可以支持诸如FreeRTOS之类的实时操作系统(RTOS),从而以确定性方式实时响应需要硬实时行为的应用程序。

作为具有许多免费软件、广泛硬件支持和不断发展的生态系统的通用操作系统,嵌入式Linux取得了巨大的成功。它的另一个优点就是没有用户或授权许可费用。不过,与嵌入式Linux一起运行的应用程序至少需要300至400 DMIPS(ARM-Dhrystone MIPS)性能,因此较适合使用微处理器。单片机没有足够的计算能力和内存来应付此类应用。

如果是用于复杂或对实时性要求高的控制系统, RTOS则很有用,但至少要配合50 DMIPS的高性能单片机。这比嵌入式Linux所需的性能要求要少得多。传统的RTOS设计精简,因此可以在单片机上运行。针对实时计算硬件时,这是合理的,例如用于车辆的防抱死系统,若响应时间过长会带来致命的后果。即使必须支持大量的功能、中断源和标准通信接口,也建议使用带有RTOS的单片机。

内 存

微处理器与单片机之间的另一个主要区别是,微处理器依赖外部存储器来保存和执行程序,而单片机则依赖嵌入式闪存。在微处理器中,程序通常存储在非易失性存储器中,例如eMMC或串行闪存。在启动过程中,将其加载到外部DRAM中并在此执行启动程序。DRAM和非易失性存储器都可以具有几百兆甚至几千兆字节容量,这意味着微处理器几乎从来不受存储容量限制。但有一个潜在缺点:外部存储器或许会使得PCB布局的设计变得更加复杂。

即使是当前的高性能单片机,例如由意法半导体(STMicroelectronics)生产的STM32H7,最多也仅提供2 MB程序内存,对于许多需要操作系统的应用而言可能不足。由于程序位于片上内存中,因此其优点是执行启动和重置过程的速度明显更快。

计算能力

计算能力是典型的选择因素。不过,在这方面,微处理机与单片机之间的界线变得模糊了。例如,如果你将ARM体系结构视为单片机和微处理器市场中分布最广泛的体系结构之一,这就变得显而易见了。
ARM提供了不同的处理器体系结构以满足各种要求:

  • Cortex-A提供了最高性能,并且已经针对综合操作系统进行了优化。它们主要部署在功能强大的设备中,比如智能手机或服务器。
  • Cortex-M较小,具有更多的片上外设,但是能耗较低,并且针对嵌入式应用进行了优化。

Dhrystone是比较不同处理器性能的测试基准。根据该基准,普通平价单片机具有30 DMIPS,而当前性能最高的单片机(包括嵌入式程序闪存)与这些平价单片机的差距高达1027 DMIPS。相比之下,微处理器的起步点约为1000 DMIPS。

能 耗

单片机在能耗方面表现出色,要比微处理器低很多。尽管微处理器具有节能模式,但其能耗仍然比典型的单片机高得多。而且,微处理器使用外部存储器,因此较难切换到节能模式。对于需要较长的电池运行时间,并且很少使用或没有用户接口的超低功耗应用,单片机是更好的选择,尤其是对于消费类电子产品或智能电表来说。

连接性

大多数单片机和微处理器都配备了所有常规外围设备接口。但是,如果用户需要的是超高速外围设备,在单片机里是找不到例如千兆以太网这种相关接口的。尽管这实际上已成为微处理器中的标准功能单片机。这是十分合理的,因为单片机几乎无法处理这些高速接口所产生的数据量。一个关键问题是:是否有足够的带宽和通道来处理爆发的数据量?

实时表现

当实时性能是最重要的考虑因素时,单片机绝对是首选。凭借处理器内核、嵌入式闪存和软件(RTOS或裸机OS),单片机可以出色地完成实时任务。因为Cortex-A微处理器使用高性能的流水线,用户可以看到在跳转和中断期间,随着流水线的深度不断增加,延迟时间也随之升高。由于OS与微处理器一起执行多任务,因此很难实现硬实时操作。

系统基础IC

由于电源已经集成在单片机中,因此它们仅需要一个单电平电源。另一方面,微处理器需要许多不同电压的电源来为内核和其它组件供电,所以通常需要一个特殊配置的电源管理IC(即所谓的系统基础芯片)来进行供电管理。

结 语

很难说微处理器或单片机哪个才是更好的选择,但经验法则是,你应该始终权衡各种利弊条件。以下几点可以用作大致指导:

  • 单片机非常适合以能耗为主要关注点,且价格较低的移动应用以及具有实时需求的应用。
  • 微处理器则非常适合与操作系统一起运行并需要高速接口的密集计算应用。游戏和其他图形密集型应用使用特殊的微处理器进行联网处理。

来源:网络
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:
cathy@eetrend.com)。

围观 20

曾有一段时间,微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,微控制器完成“控制”相关的任务,根据外界信号刺激产生反应,微处理器主要执行处理功能,对数据处理和计算能力的要求较高。但如今由于内存架构的变化,两者之间的界限正在变得模糊。

事实上,可以通过多种方式区分微处理器和微控制器,只是业界尚未对他们的区分标准达成共识。不过已经有一些人得出结论,目前两者之间的准确区分都已经不再重要了。

“近年来,MCU和MPU之间的区别变得越来越模糊。”西门子业务部门的嵌入式软件技术专家Colin Walls说,“最初,MCU在一个芯片上集成了CPU、内存和外围设备,如今大多数MCU依然如此,但因为MCU具有足够强大的功能来支持更复杂的应用程序,附加外部存储器的MCU也变得常见。”

计算芯片的两个市场

曾经有一段时间,计算芯片分为两个截然不同的市场,大部分芯片设备主要针对主流计算,性能是最主要的考虑因素,这些单片微型计算机被称之为“微处理器”,为个人计算机和更大的系统提供动力。

如今我们可以在各种类型的笔记本电脑、台式机和服务器中看到它们,值得注意的是,它们是通用引擎,旨在运行事先未知的任何数量的程序,主内存是DRAM,非易失性存储是硬盘驱动器或固态硬盘。

在不那么主流的嵌入式计算世界里,需要适度计算能力和专门用途,设计好的程序可能在固件中运行,以便让整个系统(包括程序和所有系统)在出货之前得以验证,内存需求将受到更多限制,可以将用于存储代码的SRAM和非易失性内存与CPU集成到同一块芯片上,关键一点,实时响应通常很重要。

嵌入式计算机也倾向于在有特殊I/O需求的环境中使用,一些可能是在驱动电动机,另一些可能是在处理声音或读取传感器。将专用外围设备接口硬件集成到同CPU和内存相同的芯片上十分有效,这会产生具有不同特性的各种芯片。

总的来说,CPU与SRAM、非易失性存储器和专用外设集成在一起的被称之为“微控制器”。

“正在消失的MCU与MPU之间的界限"

微处理器发展至今已经多达64位,而微控制器依然是8位居多,但在这中间发生了一些变化,使得两者之间的区别更加模糊。

集成式闪存是MCU的重要特征,不过这类闪存尚未在拥有最先进节点的微控制器上使用,因此许多以微控制器形式销售的设备都使用外部闪存而不是嵌入式闪存,此外还使用外部DRAM。

实际上,一个称之为“shadowing”的过程可以从外部闪存中获取代码,并将其复制到DRAM中,然后从中执行代码,而且为了提高性能,缓存也可以包括在内。这使得CPU/内存子系统与MPU几乎没有区别。

那么现在的MCU就是MPU吗?不再有区别了吗?

当下可区分MCU与MPU的因素

如今的MCU和MPU十分相似,但依然在很多方面有一些细微的区别,这包括CPU功能、位数、操作系统、时序要求、核心数量等方面。

在CPU功能方面,如果CPU具有复杂的流水线,具有预测执行和其他超标量功能,则可以将其视为MPU,但是转变的确切位置并没有明确界定。

在位数上,8位设备更有可能被视为MCU,64位设备很可能被视为MPU。不过最早的却是MPU是4位,这更像是历史问题,而不是决定性的特征。

也可以根据计算机可运行的操作系统进行分类,如果它运行Linux,则可以将其称为MPU。如果它仅允许较小的实时操作系统,甚至只运行裸机,则可以将其称为MCU,这为能够运行的Linux的设备留出了许多中间地带。在时序方面,MCU通常用于需要硬或软实时响应的应用程序,MPU通常不能用于这一目的。

一般也将多核处理器视为MPU,尤其是在内核相同且管理对称的情况下。不过专用设备可能具有多个处理器,有些专用于诸如数字信号之类特定任务的处理器也会被认为是MCU,因此通过核心数目判断是MPU还是MCU并不是一个准确的依据。

从使用目的来看,可以认为通用设备是MPU,单用途设备是MCU,但这实际上只关乎设备的使用方式,如果在不明确使用目的的情况下使用任何设备,那时候如何称呼这一设备呢?

通常全功能MPU不会具有专用外围设备,这在很大程度上是因为它们是通用的,而不是面向特定应用,因此你可能会认为只要有这样的外围设备,就是MCU,但是事实并非如此,缺少外围设备也并不意味着就是MPU。

从上面的分析来看,每个特征因素都会存在缺陷,结果无法令人满意,那么行业专家又是怎么认为的呢?

MCU和MPU已成过时的术语

Cadence IP集团产品行销总监Marc Greenberg对此表示:“我不知道MCU与MPU之间的区别是否存在某些官方的定义,经过简单的检索似乎表明,裸片上存在NVM的为MCU,但各种MPU上都有NVM的某些位,MPU也可能在同一片裸片上具有MCU,那又是什么呢?最小的无缓存处理器可能仍具有一些寄存器和SRAM,用RTL编码的定序器与从ROM执行的通用处理器真的有区别吗?显然MCU和MPU之间的区别有些随意,这意味着这一界限并不明确甚至可以随心所欲。当我想到MPU时,我想到的是用于控制通用计算机的设备,例如台式机、服务器、平板电脑等。”

Cadence高级工程师Grant Martin认为:“根据维基百科的解释,MCU是在单个金属氧化物半导体集成电路芯片上的小型计算机,MPU是一种计算机处理器,在MOSFET结构的单个或多个集成电路上结合了中央处理单元的功能。”

“如果深入研究,MPU具有CPU的功能,因此它是计算机处理器,而MCU则是更完整的计算机,这意味着MCU内包含MPU,这与常识相反。具有多个处理器核心的16路服务器处理器是否不再是MPU?而是一种多核异构SoC?”

“例如,一部手机可能包括多个应用程序处理内核,用于音频、视频、图像处理的多个DSP,一个或两个用于在屏幕上呈现图像的GPU以及一个仅用于娱乐目的的神经网络处理单元——MCU。从我的角度来看,行业应该放弃这些过时的术语,使用更精确更具描述性的术语。”Grant Martin继续说。

西门子业务部门Mentor的高级产品经理Jeff Hancock则认为:“从系统软件的角度来看,MCU有望适用于直接解释和控制硬件传感器和执行器的应用。这种访问通常涉及一致且可靠的指令时序,这与通用MPU的需求相矛盾。通用MPU旨在优化吞吐量,而MCU通常会优化延迟。因此,如果是需要处理大型数据库,MPU更合适,如果是要精细的机电控制,那么MCU更合适。

Jeff Hancock还说:“外部存储器和缓存肯定让MCU的标准有所变化,但这距离将MCU等同于MPU还有很长的路要走。特别是并不是所有MCU中的所有处理单元都专门使用外部存储器,也可以使用隔离的子系统构建系统,这些子系统允许关键的工作负载和不太关键的应用程序级系统并行继续。”

“从软件工程师的角度看,这是一个有趣的挑战,在不连续的地方可能有两个内存区域,集成式内存虽小,但速度更快,因此最好留给对速度有高要求的代码,例如实时操作系统。这意味着开发工具必须足够灵活以将代码正确地映射到存储器上,而RTOS必须足够小适合片上存储器。”西门子业务部门的嵌入式软件技术专家Walls补充到。

Tortuga Logic的高级硬件安全工程师Nicole Fern表示:“过去,MCU与嵌入式系统相关联。在嵌入式系统中,低成本和低功耗的要求比性能更为重要。但是随着移动计算和IoT边缘计算的出现,许多嵌入式系统现在需要复杂的处理,这样就产生了面向嵌入式领域看起来更像MPU的MCU产品,为带有外部存储器和高速缓存的器件提供了更高的性能和可配置性。这种情况下,术语MCU和MPU之间的差异仅取决于是否集成CPU系统。”

Arm的低功耗IoT业务高级总监Thomas Ensergueix也认为:“近年来,MCU和MPU之间的界限已经模糊。MCU和MPU之间的主要区别之一是软件和开发。MPU将支持丰富的OS,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。在决定哪种硬件平台、MCU或MPU最有效之前,由软件开发人员决定哪个软件环境和生态系统最适合他们的应用。

“随着现在MCU已经过渡到32位,我们还看到了性能的急剧提高,这有助于缩小MCU和MPU之间的差距。例如:许多基于Arm Cortex-M7的MCU可提供100多个Dhrystone MIPS,或在CoreMark中提供2,000多个点。这些设备中的许多设备还具有非常大的内置存储器,或者提供快速接口来连接外部存储器。这确保了性能和内存不再是MCU的瓶颈,并使它们更接近低端MPU。”

小结

如今MPU与MCU之间是否有明确的界限真的重要吗?可能不重要了。因为无论我们将其称之为什么,应用程序都有附带要求,这些要求将决定使用哪个设备。

本文编译自https://semiengineering.com/mpu-vs-mcu/

原文作者Bryon Moyer

来源:燃云汽车
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 32

页面

订阅 RSS - MPU