作为处理单元的嵌入式设备的大脑,是决定设备完成其设计任务的成败的关键因素。处理单元负责从系统输入到最终输出的每个过程,因此在设备设计期间为大脑选择合适的平台就变得非常重要,因为其他所有事情都将取决于该决策的准确性。
微控制器和微处理器
用于嵌入式设备的处理组件可以分为两大类:微控制器和微处理器。
微控制器是单个芯片上的小型计算设备,包含一个或多个处理内核,而存储设备则与可编程的特殊和通用输入和输出(I / O)端口一起嵌入。它们特别用于仅需要执行特定重复性任务的应用程序中。我们已经讨论了为嵌入式项目选择合适的微控制器。
另一方面,微处理器是通用计算设备,其在芯片上结合了中央处理单元的所有功能,但不包括诸如存储器之类的外设以及诸如微控制器之类的输入和输出引脚。
尽管制造商现在正在改变使微控制器和微处理器之间的界限模糊的很多事情,例如微处理器芯片上存储器的使用以及微控制器连接到外部存储器的能力,但这些组件之间仍然存在关键差异,设计人员将需要针对特定项目在两者之间选择最佳。
了解有关微控制器和微处理器之间差异的更多信息。
选择MPU或MCU时要考虑的因素
在决定用于嵌入式产品设计的处理设备的发展方向之前,重要的是制定设计规范。制定设计规范为设备的预设计提供了一条途径,它有助于详细识别,要解决的问题,如何解决,突出要使用的组件等等。这有助于设计人员做出有关项目的明智决定,并帮助确定处理单元的行驶方向。
下面介绍在微控制器和微处理器之间进行选择之前需要考虑的设计规范中的一些因素。
1.处理能力
在微控制器和微处理器之间进行选择时,处理能力是要考虑的主要(如果不是主要的话)之一。这是向微处理器倾斜使用的主要因素之一。它以DMIPS(每秒Dhrystone百万指令数)度量,代表微控制器或微处理器每秒可处理的指令数。本质上,它指示设备可以完成分配给它的任务的速度。
虽然确定设计所需的确切计算能力可能是一项非常艰巨的任务,但通过检查任务,创建要执行的设备以及这些任务的计算要求,可以做出有根据的猜测。例如,需要使用嵌入式Linux,Windows CE或任何其他OS的完整操作系统的设备的开发将需要高达500 DMIPS的处理能力,听起来像是处理器?是。作为补充,在设备上运行操作系统将需要内存管理单元(MMU),这将增加所需的处理能力。涉及大量算法的设备应用也需要很高的DMIPS值和设备要执行的数学/数值计算越多,由于所需的处理能力,设计要求越倾向于使用微处理器。
影响微处理器和微控制器之间选择的处理能力的另一个主要含义是用户界面之类的事物的复杂性或简单性。如今,即使对于最基本的应用程序来说,具有色彩丰富且交互式的GUI也是可取的。用于创建用户界面(如QT)的大多数库要求处理能力高达80 – 100 DMIPS,要显示的动画,图像和其他多媒体内容越多,所需的处理能力就越大。但是,低分辨率屏幕上更简单的用户界面所需的处理能力很小,并且可以使用微控制器来供电,因为如今有很多微控制器都带有嵌入式界面,可以与不同的显示器进行交互
除了上面提到的一些核心功能,重要的是为通信和其他外围设备保留一些处理能力。尽管上面给出的大多数示例都倾向于支持微处理器的使用,但是与微控制器相比,它们通常更昂贵,并且在某些解决方案中使用时会显得过高,例如,使用500 DMIPS微处理器使灯泡自动化将使总成本下降产品的价格高于正常水平,最终可能导致其市场失败。
2.接口
用于连接产品不同元件的接口是在微控制器和微处理器之间进行选择之前要考虑的因素之一。确保要使用的处理单元具有其他组件所需的接口,这一点很重要。
例如,从连接性和通信角度来看,大多数微控制器和微处理器都具有连接到通信设备所需的接口,但是当需要高速通信外围设备(如超高速USB 3.0接口,多个10/100以太网端口或千兆以太网端口)时,因为支持它们所需的接口通常仅在它们上面找到,所以它们在微处理器的方向上倾斜,因为它们更能够处理和处理大量数据以及这些数据的传输速度。
应确认这些接口所使用的协议对固件所需的内存量的影响,因为它们会增加内存需求。一般的经验法则是,对于需要高速连接且需要交换大量数据的应用程序,应采用基于微处理器的设计,特别是在系统涉及使用操作系统的情况下。
3.记忆
这两个数据处理设备以不同的方式处理内存和数据存储。例如,微控制器带有嵌入式固定存储设备,而微处理器带有可以连接存储设备的接口。这有两个主要含义:
成本
微控制器成为便宜的解决方案,因为它不需要使用额外的存储设备,而微处理器由于这些附加要求而成为要采用的昂贵解决方案。
记忆有限
微控制器上的固定存储器限制了可存储在其上的数据量。这种情况不适用于处理器,因为它们通常连接到外部存储设备。一个很好的例子就是在为设备开发固件时,这个限制可能会成为问题。在代码大小上增加额外的千字节可能需要更改要使用的微控制器,但是如果设计基于处理器,则只需要更改存储设备即可。因此,微处理器为存储器提供了更大的灵活性。
基于内存的考虑还有其他几个因素,其中之一就是启动(引导)时间。例如,微处理器将固件存储在外部存储器(通常是外部NAND或串行闪存)上,并在启动时将固件加载到处理器的DRAM中。尽管这是在几秒钟内发生的,但对于某些应用程序可能并不理想。另一方面,微控制器需要更少的时间。
考虑到一般速度,MCU通常会胜出,因为它具有处理最时间紧迫的应用的能力,这是因为其中使用了处理器内核,内存是嵌入式的且与它们一起使用的固件始终是RTOS或裸机C。
4.力量
最后要考虑的是功耗。尽管微处理器具有低功耗模式,但这些模式并不像典型的MCU上可用的模式那样多,并且具有基于微处理器的设计所需的外部组件,而实现低功耗模式则稍微复杂一些。除了低功耗模式之外,MCU实际消耗的功率要比微处理器消耗的功率低很多,因为处理能力越大,保持处理器正常运行所需的功率就越多。
因此,微控制器倾向于找到 需要超低功耗处理单元的应用,例如遥控器,消费类电子产品和一些智能设备,其设计重点是电池寿命。它们还用于需要高度确定性的行为的地方。
另一方面,微处理器非常适合需要操作系统,计算量大且需要高速连接或具有大量媒体信息的用户界面的工业和消费类应用。
结论
存在其他几个因素,它们是在这两个平台之间进行选择的决定因素,所有因素都取决于性能,功能和预算,但是,如果适当的系统预先设计到位并明确说明要求,则总体选择会变得更加容易。微处理器通常用于BOM预算非常紧且对功率要求严格的解决方案中,而微处理器则用于对计算和性能有巨大要求的应用中。