考虑选择微处理器(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(即所谓的系统根本芯片)来进行供电管理。
结 语
很难说微处理器或单片机哪个才是更好的选择,但履历法则是,你该当始终权衡各种利弊条件。以下几点可以用作大致辅导:
单片机非常适宜以能耗为紧张关注点,且价格较低的移动运用以及具有实时需求的运用。
微处理器则非常适宜与操作系统一起运行并须要高速接口的密集打算运用。游戏和其他图形密集型运用利用分外的微处理器进行联网处理。