欢迎访问深圳市中小企业公共服务平台电子信息窗口
为物联网开发选择最佳的MCU架构
2024-05-27 来源:物联网开发,MCU架构
1127

关键词: 互联网

undefined


微控制器(MCU)如何在物联网设备中使用?开发人员又该如何为产品选择最合适的MCU解决方案?本文将为您介绍MCU的应用知识和开发技巧,并解释评估选用8位和32位MCU的关键考量因素。

什么是微控制器(MCU),它们如何在物联网(IoT)设备中使用?

你是否曾经惊叹过健身追踪器是如何记录你走的每一步,或者洗衣机是如何感知水位的?其实是通过设备内部的MCU。它是在单一集成电路上构建的小型计算机,包含一个或多个处理器内核(CPU)、存储器和可编程输入/输出外围设备。这些微型芯片为数据收集、传感和控制物理世界提供了一种经济实惠且广受欢迎的方法。

MCU广泛应用于各种系统,从汽车发动机控制和植入式医疗设备到遥控器、办公设备、家用电器、电动工具、玩具和其他嵌入式系统。它可以作为一个桥梁使通信协议和硬件抽象层交互,并且可以运行所选的实时操作系统/操作系统(RTOS/OS)来操作设备。

MCU的共同特性

MCU是嵌入式设备的大脑,在一个很小的封装中容纳了强大的功能。无论架构如何,所有MCU都有一些共同点:

• 基于位数的MCU内核架构:MCU所使用的位数(有时称为位深度或数据宽度),如8、16、32,可以告诉你寄存器的大小(如8位MCU就代表每个寄存器为8位)和可存储的地址数量(28=256个地址);32位理论上可以寻址多达536MB的数据,从技术上讲,这使其具有更高的数据效率。

• 存储器:MCU有两种存储器,程序存储器(闪存)存储在MCU上运行的代码,而数据存储器(RAM)则存储代码使用的数据。

• 外围设备和通信接口:这些内置的部件让MCU与外部世界进行交互,如感知温度或控制电机。

• 安全性:MCU的安全性对于保护固件知识产权,保护设备中的私有数据,保障服务执行是至关重要的。

8位MCU和市场上流行的架构

自20世纪80年代以来,8位MCU一直是嵌入式开发的核心,即使在32位架构变得更加普遍的情况下,8位MCU仍将继续在物联网开发中发挥重要作用。现代8位MCU的简易性和高成本效益确保它们在许多年内仍将是工程师工具箱中的重要工具。

下面是一些市场上流行的8位MCU架构的例子:

• PIC:1975年由通用仪器(General Instruments)公司开发,现在属于Microchip公司,PIC芯片为无数玩具、遥控器和经济实惠的小型工具提供了支持。

• AVR:由Atmel公司开发,深受设计爱好者和专业人士的喜爱。AVR芯片是Arduino板的核心,它使得电子产品更容易被人们获得和使用。AVR芯片是创新的催化剂,广泛应用于嵌入式系统。

• 8051:由英特尔公司于1980年开发,是名副其实的"老兵"。8051在工业应用和医疗设备领域呈现蓬勃之势,这彰显了其在简便性和可靠性方面的持久吸引力。

芯科科技使用CIP-8051内核作为整个C8051和EFM 8位产品组合的基础。这种流水线架构使我们能够提高效率,可以在一个时钟周期内执行超过80%的指令,这使得它们比其他8位MCU更具优势。芯科科技8位MCU产品的最新成员是BB5系列,该系列由3款产品组成:

• BB52:更通用的MCU,具有更大的内存和多达29个GPIO。

• BB51:中档MCU,在功能和成本上实现了很好的平衡。

• BB50:兼具小尺寸和成本效益的平台,即使针对最简单的应用亦是如此。

8位MCU的优势

与32位MCU相比,8位MCU在一些方面具有优势。以下是几项最重要的优势:

• 成本:8位MCU是经济实惠的倡导者,对于预算紧张的项目和设计爱好者做实验而言是完美选择。

• 功耗:8位MCU比32位MCU更精简,使其成为对功耗敏感的简单应用的理想选择。

• 代码大小:8位MCU的代码占用的空间很小,这对于内存有限的应用是有利的。

• 易用性:8位MCU易于学习和使用。利用现成的开发工具和在线社区,用户可以立即开始编码。

• 可用性:8位MCU很容易获得,且有大量选项可供选择。无论您是构建简单的机器人还是智能家居传感器,8位MCU都能将想法变为现实。

8位MCU的缺点

尽管8位MCU因价格实惠和尺寸紧凑而广受欢迎,但与高位MCU相比,确实还有一些限制。

• 有限的内存空间:8位MCU的主要缺点之一是有限的内存空间,这可能会给执行复杂任务或处理大量数据带来挑战。

• 处理速度:由于其有限的指令集,8位MCU执行复杂任务或处理大量数据的能力受到了限制。在需要实时处理或高速数据传输的应用中,这可能是一个明显的缺点。

32位MCU和市场上流行的架构

有没有想过无人机如何捕捉令人惊叹的航拍镜头,或者智能音箱如何完美地播放喜欢的音乐?这些看似神奇的功能都是通过32位MCU实现的!32位MCU擅长执行复杂任务、处理大量数据,并支持高端代数运算和浮点数学运算。

下面是一些市场上流行的32位MCU架构的例子:

• ARM Cortex-M: ARM Cortex-M系列是专为嵌入式系统设计的32位MCU系列,在智能手机、无人机和可穿戴设备背后提供了强大支撑。

• PIC32: PIC32 MCU是由Microchip公司开发的32位MCU系列。从工业自动化到机器人,PIC32都能高效地应对要求严苛的任务。

• AVR32: AVR32是由Atmel公司开发的32位微控制器架构,其将易于使用的AVR技术带入了32位领域,是设计爱好者和专业人士的完美选择。

• RISC-V: RISC-V是一种开源架构,是RISC架构系列中的最新进展,具有简单、模块化和可扩展等特点。RISC-V架构由于其开源特性而越来越受欢迎,因为开源可以带来更大的灵活性且支持定制化。RISC-V MCU被用于各种应用,包括嵌入式系统、物联网设备和高性能计算等。

芯科科技提供的所有EFM32和EFR32第二代MCU和无线SoC产品都使用了多核Cortex-M平台。我们大多数的Cortex-M33内核运行频率高达76.4 MHz,可以作为无线和应用开发的主应用内核,而2个专用的M0+内核运行射频和安全子系统,这样可以为开发人员提供覆盖整个产品组合的一致平台。该架构允许子系统独立于应用内核运行,并且在不考虑缩短开发时间的情况下有助于提供底层的灵活性,同时支持产品系列之间进行更多的设计重用。此外,将人工智能和机器学习(AI/ML)硬件加速功能添加到无线和独立MCU中,可以减少在边缘增加智能所需的时间和功耗。

32位MCU的优势

与8位MCU相比,32位MCU在一些方面具有优势。以下是几项最重要的优势:

• 处理能力:32位MCU旨在提供高性能和高能效。与8位和16位MCU相比,32位MCU速度更快、功能更强,但仍然节能。32位MCU可以处理更多的RAM和闪存,并具有更高的时钟速度。这使得它们非常适合需要高性能计算的应用,例如快速傅里叶变换(FFT)计算、高质量音频或视频、高分辨率图像处理以及各种边缘计算应用。

• 内存:与8位内存总线相比,32位内存总线提供了更宽的数据路径,使其能够在一个时钟周期内传输更多的数据。这可以实现更快的数据传输速率,并提高整体系统性能,从而使我们能够保存高分辨率图像,复杂的算法,甚至整个操作系统。

• 外围设备支持:32位MCU在外围设备方面具有多项优势。它们提供更先进的通信接口,如EUSART、USB、以太网、CAN、SDMMC和集成LCD控制器等。这些外围设备对于许多现代应用至关重要,例如物联网设备、汽车系统和工业自动化等。32位MCU还提供更先进的模数转换器(20位ADC),这对于许多需要高精度测量的应用至关重要,以及12位DAC,高级定时器,可编程计数器和精确的集成定时元件(如高精度内部RC振荡器),这些对于许多需要精确定时和计数的应用也是至关重要的。

• 编码效率:32位MCU可以在每个周期内包含更多指令,从而实现更快的执行速度和更低的功耗。这是因为它们在每个时钟周期内可以处理更多的数据位,意味着它们可以用更少的资源做更多的事情。此外,32位MCU可以实现更高的代码效率,从而以更小的程序进行复杂的操作。

• 库和驱动程序的可用性:随时可以访问各种库和维护良好的驱动程序对于高效的软件开发和无缝的硬件集成至关重要。当开发人员可以利用现有的库和驱动程序时,就可以显著提高工作效率,并有助于创建可提供更佳用户体验的强大应用。

32位MCU的缺点

虽然32位MCU在性能和多功能性方面具有明显优势,但它们并不是一种万能的解决方案。在启动项目之前,请考虑以下权衡因素:

• 功耗:与简单的8位MCU相比,32位架构更高的复杂性使得实现最佳的低功耗运行要复杂得多。开发人员可能需要管理更复杂的能量状态,并对外围设备进行权衡,以达到类似的功耗指标。

• 复杂性:32位MCU比8位MCU更复杂,这会使它们更难以编程和调试。

• 代码大小:对于不太复杂的操作,32位MCU的代码可能会比8位MCU的更大,这对于内存有限的应用来说可能是一个缺点。然而,代码大小在很大程度上取决于产品开发所用的代码优化工具。

结论:明智地选择MCU架构和平台

在物联网开发领域,选择合适的处理器平台至关重要!8位和32位MCU解决了不同的挑战,并在现代物联网发展中均占有一席之地。

当谈到经济和高效时,8位MCU无疑是佼佼者!它们具有成本效益且尺寸紧凑,是无线物联网传感器等简单任务的理想选择。与32位MCU相比,其更高的能量效率也使其成为电池供电设备的优先选择。

另一方面,32位MCU可以提供比8位MCU更强大的处理能力和内存。这使得它们更适合需要更高性能和更大内存的应用。然而,这也是以增加复杂性为代价的。

那么,谁会在物联网领域取得胜利呢?对于基本的、简单的任务或者预算受限的情况,8位MCU会更合适。但是,当需要强大的性能来执行密集型任务时,32位MCU则成为最佳选择。开发人员可以先评估产品功能需求再做出明智的选择。