关于电路
消息

设计师对Raspberry Pi的第一个微控制器的看法

2021年3月16日经过史蒂夫·阿拉(Steve Arar)

今年,Rasberry Pi推出了其第一个微控制器。该设备如何在专业嵌入式设计中执行?

今年电子行业最大的飞溅之一是Raspberry Pi揭开其有史以来的第一个微控制器。Raspberry Pi Pico是使用RP2040微控制器构建的4美元微控制器板,其中包括双臂Cortex-M0+处理器和一个有趣的申请专利的可编程I/O外围设备。

据说这种新的RP2040芯片适用于合并端点机器学习的超低功能互联网(IoT)和嵌入式应用程序。新SOC的应用可以从独立玩具到网络的物联网设备监视工业石油管道。

RP2040

RP2040。图像覆盆子皮

过去,我们讨论了为什么Raspberry Pi可能不是商业产品的好选择- 但是,新的MCU与RPI的传统单板计算机有何不同?这对实践工程师有什么用?

RP2040的关键规格

在深入讨论Raspberry Pi进入MCU市场的后果之前,首先建立SOC的关键规格可能很有用。

RP2040芯片的系统概述

RP2040芯片的系统概述。图像覆盆子皮

RP2040功能:

  • 双臂皮层M0+ 133 MHz
  • 264 kb的片上公羊
  • 通过专用的QSPI总线支持多达16 MB的芯片闪存闪存
  • DMA控制器
  • 插装器和整数分隔线
  • 30个GPIO引脚,其中两个可以用作模拟输入
  • 两个UART,两个SPI控制器和两个I2C控制器
  • 16个PWM频道
  • USB 1.1控制器和带有主机和设备支持的PHY
  • 八台PIO州机器

有关更多信息,请参考RP2040覆盆子pi picobeplay无法取钱数据表。

Raspberry Pi从单板计算机到MCUS

Raspberry Pi的新产品是微控制器类产品,而不是单板Linux计算机。SBC从根本上类似于台式计算机,但处理能力降低。

由于它们配备了操作系统(OS),因此可以更容易地与复杂的设备(例如网络摄像头)连接。该操作系统允许您像使用常规计算机一样轻松下载和安装所需的应用程序。

单板计算机的障碍

但是,SBC有自己的局限性。使用SBCS,您的代码在通用OS下运行,对通用输入/输出引脚(GPIO)进行低延迟控制(GPIO)更具挑战性。此外,除运行主代码外,操作系统还需要执行多种不同的功能。这可能会引起实时应用程序的问题。

基于OS的系统的这些局限性成为需要连接到物理世界和监视传感器的应用程序中Raspberry Pi部署的障碍。在此类应用中,需要阅读传感器和驾驶执行器,而GPIO的低延迟控制至关重要。

此外,覆盆子Pi SBC没有模拟销。虽然可以使用模拟I/O配件,但这将使设计不必要地复杂。由于这些局限性和SBC的高功耗,Raspberry Pi决定闯入拥挤的微控制器模块市场。

Pico板上的Raspberry Pi RP2040

Pico板上的Raspberry Pi RP2040。图像覆盆子皮

低功率:新设备的亮点

Cortex-M0+处理器(RP2040的跳动心脏)是可用的最节能的ARM处理器。它具有低功率模式,使其适合某些超低功率IoT应用程序。

RP2040的开发板Raspberry Pi Pico在其睡眠模式下消耗了约1.3 mA。这与A的低功率模式不相同覆盆子pi零燃烧约100 mA。

新产品的低功耗使设计人员可以更轻松地将其用于功率受限的应用程序中。但是,应该指出的是,作为MCU,RP2040的功率比SBC少得多。

相反,可以将RP2040的功耗与给定项目的任何其他MCU选项进行比较。

端点AI的平台

某些机器学习(ML)应用程序的最新趋势是在小端点MCUS上实现模式识别模型,而不是在耗电计算机上在云中运行它们。

使用端点AI,在MCU上本地分析了数据,从而否定了通过拥挤的Internet连接传输数据的需求。这提供了一些优势,例如增加数据隐私和安全性,降低功耗和降低延迟。在小端点MCUS上运行ML算法,称为tinyml,允许开发人员在IoT传感器收集的大量数据中检测有趣的模式。

ARM Cortex-M家族是一般实施端点AI的恰当候选人。这些MCU由于其低成本和低功耗而普遍使用。在RP2040的情况下,Cortex-M0+核的速率高133 MHz,使其适合于Tinyml。在毫秒级延迟测量方面,CPU时钟速率可能会产生很大的不同。

RP2040中的处理器子系统包括两个ARM Cortex-M0+处理器

RP2040中的处理器子系统包括两个ARM Cortex-M0+处理器。图像覆盆子皮

Tensorflow Lite Micro库已经移植到RP2040。这使用户可以运行机器学习(ML)模型并执行基于传感器的分析,例如语音和图像识别和基于加速度计的手势识别。

可编程iOS

设计人员可以使用MCU的通用处理器来控制一组I/O引脚,并实现数字通信协议,例如UART和I2C。在这些情况下,CPU必须对I/O引脚执行简单但重复的价值分配。这些重复的任务可以减慢CPU。此外,可能会有时间问题,尤其是在使用中断时。

为了解决这些问题,RP2040结合了一个有趣的申请专利的可编程I/O(PIO)外围设备,可用于实施不同的数字通信协议以及诸如WS2812 LED协议之类的不常见协议。

RP2040有两个PIO单元。每个PIO都由一组可以编程的状态机组成,以执行实施数字通信协议所需的重复I/O任务。

RP2040 I/O的图

RP2040 I/O的图。图像覆盆子皮

公司引入了一种特殊的集会语言来编程PIO单元。根据您项目的I/O要求,用户可以将PIO单元变成一个简单的专用处理器,该处理器可以实现任意通信协议而不会在主CPU上增加太多负担。


您在MCU中寻找端点机器学习应用程序什么?在下面的评论中分享您的想法。

6条评论
  • chsmit1 2021年3月17日

    20年前,摩托罗拉拥有MPC5XX系列处理器。许多汽车OEM用于发动机控制器。他们做的一件事是TPU,时间处理单元。这个新的外围听起来很糟糕。如果我没记错的话,除了一些罐头示例(PWM,正交编码器等)外,很难编程,并且不容易找到代码。如果您在名片上有福特或通用汽车,我相信他们很乐意为您编写自定义代码,但我们其他人都不会被打扰。希望开源社区能够拥抱这个新的外围,并提出一些很酷的例子。如果TPU(或他们现在称之为的任何东西)在处理器入睡时也可以保持活跃!

    喜欢。 回复
    • Wingtangwong 2021年3月17日
      是的,两个PIO模块让我对Beagle Bone Board处理器中发现的两个子处理器感到震惊。他们需要自己的组装形式,并且没有得到很好的记录。从我可以看到的……只有少数用户使用它们。:(添加一些CPLD/FPGA元素会更好,恕我直言。
      喜欢。 回复
  • 霍基马克斯 2021年3月17日

    我的WS2812远程控制的灯光看起来很有希望…

    喜欢。 回复