微控制器(MCU)和微处理器(MPU)有哪些不同之处?简单来说,两者都是嵌入式系统的大脑。几年前,两者之间有非常明显的区别,功能截然不同,对开发者的研发技能要求也大不相同。如今,这两个术语仍然存在,但创新使得两者之间的分界线日趋模糊。以前只用MCU的系统集成商现在发现,用MPU更容易,ST也注意到了这一点。微处理器已经成为某些开发者手中的秘密武器,借助其原生的功能或运行嵌入式Linux的能力,他们能够开发新的应用或进入新的市场。因此,让我们一起深入研究一下这个新趋势。
故事的开头
当业界在上个世纪七十年代推出首个微控制器时,人们希望找到一种替代耗电量太大且设计复杂的MPU的产品。MCU虽然计算吞吐量要小很多,但将存储器、处理器、外设和时钟整合在一起,可以运行实时操作系统。工程师只需用一个微控制器即可构建确定性系统,这使得微控制器在汽车和电机控制应用中非常受欢迎。如今,从智能手机到医疗设备或家电,MCU可谓无处不在。相反,MPU芯片空间都用于容纳计算单元,用牺牲功耗或集成度换来了更高的算力。当需要运行多个线程或更复杂的操作系统时,例如,嵌入式Linux,算力更高的MPU更具吸引力。
弄清楚MCU和MPU之间的区别
此外,ST的一些最新的微处理器已经更接近微控制器的功耗水平。现在,微处理器可以运行实时操作系统,使得MPU和MCU之间的界限进一步模糊。以前,执行实时应用,例如,电机控制应用,必须使用微控制器。如今,工程师已开始采用MPU,在不影响执行时间的情况下,获得更强大的计算能力和更大的存储容量,是一举两得的好事。简而言之,一些集成商正在充分利用MPU的技术创新,当竞争对手还在用MCU时,他们已经掌握了MPU这个新的秘密武器。
故事的发展
此外,STM32工程师还拥有额外的优势,因为STM32Cube工具生态系统同时支持MCU和MPU,从而进一步降低了进入门槛。例如,在STM32CubeMX 上初始化引脚配置和时钟树。希望在STM32 MPU上实现安全密钥配置的开发人员可以选用STM32CubeProgrammer,这款工具使安全固件安装(SFI)也更容易。因此,ST的生态系统用户有更多的动力去探索MPU,将其用作支持新应用的秘密武器,因为他们已经熟悉ST的许多开发工具和产品概念。
那些追求更强性能的人会选择STM32MP15。该产品搭载两颗Cortex-A7内核和一颗Cortex-M4内核,使得在模糊MCU和MPU之间的界限的同时推动开发人员深入MPU阵营。例如,可以关闭Cortex-A7内核,只开启Cortex-M4内核,将其用作传统MCU,记录传感器数据,同时消耗更少的电能。此外,这款产品的3D GPU符合OpenGL标准,允许开发人员运行更高级的用户界面。该产品还配备了更多的显示接口和外设。因此,STM32MP15可以帮助集成商扩展系统。
让我们以一家开发工业用设备(例如,可编程逻辑控制器)的公司为例。开发者可以使用STM32MP13设计一个功能强大的无显示屏产品。此后,开发者可以把原始设计迁移到STM32MP15上,增装一块分辨率1080x720的显示屏,给PLC控制器增加一个人机界面(HMI)。因为这家公司最初使用的是STM32 MPU,所以,他们可以使用相同的嵌入式Linux发行版,并轻松地将应用从一个MPU移植到另一个MPU。该操作系统还运行先进的UI框架,例如,以可移植性而闻名的Qt或Crank。
另一个例子是智能恒温器,其中用户界面是产品体验的重要组成部分。厂商一直在寻求产品差异化,使用不同级别的UI和屏幕尺寸来吸引更广泛的客户群。从 STM32MP15迁移到STM32MP13,开发者可以运行相同的底层应用,还可以选用很多不同的附加功能,创建涵盖更广泛的需求和价位的产品组合。
大多数工业应用使用相同的存储器接口长达十年或更久,因此,微处理器必须提供灵活性更高的存储控制器(与消费市场相比),这就是为什么ST MPU始终支持多个存储器接口,并且ST确保最广泛的兼容性,STM32MP25就是一个这样的产品,它使系统支持变得更加高效,同时也便于进行设计更新和升级。
同样,许多人都希望从边缘机器学习中获益。STM32MP25是第一款支持64位架构的STM32产品,搭载了两颗Cortex-A35内核,这是目前Arm最高效的内核。因此,这款产品可以运行更强大的应用,同时保持较低的功耗。神经处理单元(NPU)的处理速度达到1.35 TOPS,Vulkan兼容GPU能够在全高清显示屏上轻松运行新颖的用户界面。因此,ST的新MPU为一些要求最苛刻的应用带来了机会,例如,能够进行人数统计或物体检测的智能相机,以及空间计算等新系统。

STM32 MPU产品系列
文章来源:意法半导体中国