yaboPP电子
消息

设计师在Raspberry Pi的第一个微控制器上拍摄

3月16日,2021年3月16日经过史蒂夫·阿拉尔

今年,Rasberry Pi推出了它的首次微控制器。该设备如何在专业嵌入式设计中执行?

今年电子行业最大的溅溅之一是yabosports官网Raspberry PI的首次微控制器揭幕。覆盆子PI PICO是使用RP2040微控制器构建的4美元的微控制器,包括双臂Cortex-M0 +处理器和有趣的专利待定可编程I / O外设。

据说这个新的RP2040芯片适用于包含端点机器学习的超低功耗互联网(物联网)和嵌入式应用程序。新SoC的应用可以从独立玩具到网络IOT设备监控工业油水管道。

RP2040

RP2040。使用的图像礼貌覆盆子PI.

在过去,我们已经讨论了原因覆盆子PI可能不是商业产品的好选择但新的MCU如何从RPI的传统单板电脑上截然不同?如何对练习工程师使用它?

RP2040的主要规格

在深入了解Raspberry PI进入MCU市场的改进讨论之前,首先建立SoC的关键规范可能有用。

RP2040芯片的系统概述

RP2040芯片的系统概述。使用的图像礼貌覆盆子PI.

RP2040功能:

  • 双臂Cortex-M0 + 133 MHz
  • 264 kB的片上RAM
  • 通过专用的QSPI总线支持高达16 MB的片外闪存
  • DMA控制器
  • 内插器和整数分隔线外设
  • 30个GPIO引脚,其中两个可用作模拟输入
  • 两个UART,两个SPI控制器和两个I2C控制器
  • 16个PWM频道
  • USB 1.1控制器和PHY与主机和设备支持
  • 八个PIO状态机

有关更多信息,请参阅RP2040覆盆子pi picoag亚博科技数据表。

从单板电脑到MCU的覆盆子PI Ventures

Raspberry PI的新产品是微控制器类产品而不是单板Linux计算机。SBCS从根本上类似于桌面计算机,但处理和存储能力降低。

由于它们配备了操作系统(OS),因此它们可以更容易地接通与网络摄像头等复杂的设备。操作系统允许您轻松下载并安装与常规计算机有关的应用程序。

单板电脑的障碍

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

基于OS的系统的这些限制成为需要连接到物理世界和监视传感器的应用程序中的覆盆子PI部署的障碍。在这种应用中,需要读取传感器和驾驶执行器,并且GPIO的低延迟控制是至关重要的。

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

覆盆子PI RP2040在微微棋盘上

树莓派RP2040在Pico板上。使用的图像礼貌覆盆子PI.

低功耗:新设备的亮点

Cortex-M0 +处理器 - RP2040的跳动心脏 - 是最节能的臂处理器。它具有低功耗模式,这使其适用于某些超低功耗IOT应用。

RP2040的DEV板覆盆子PI PICO,在其睡眠模式下消耗约1.3 mA。这与a的低功耗模式不相当覆盆子pi零这燃烧了大约100 mA。

新产品的低功耗允许设计人员在功耗的应用中更容易地使用它。然而,应该注意的是,作为MCU,RP2040消耗的功率远低于SBC。

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

端点AI的平台

一些机器学习(ML)应用程序的最新趋势正在在小端点MCU上实施模式识别模型,而不是在磁力耗电计算机上运行它们。

对于端点AI,数据在MCU本地分析数据,否定通过拥挤的互联网连接传输数据。这提供了多种优点,例如增加数据隐私和安全性,较低的功耗和降低延迟。在小端点MCU上运行ML算法,称为Tinyml,允许开发人员在IOT传感器收集的大量数据中检测有趣的模式。

ARM Cortex-M系列是一般实现端点AI的APT候选者。由于其低成本和低功耗,因此这些MCU是普遍的。在RP2040的情况下,Cortex-M0 +核心以133 MHz的高速率计时,这使其适用于TinyM1。CPU时钟速率在达到毫秒级延迟测量时可以产生大的差异。

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

RP2040中的处理器子系统包括两个ARM Cortex-M0 +处理器。使用的图像礼貌覆盆子PI.

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的图。使用的图像礼貌覆盆子PI.

公司推出了一个特殊的汇编语言来编程PIO单位。根据项目的I / O要求,用户可以将PIO单元转换为简单的专用处理器,该处理器实现任意通信协议,而不会在主CPU上添加太多负担。


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

6评论
  • Chsmit1. 3月17日,2021年

    20年前摩托罗拉有MPC5xx系列处理器。它们被许多汽车OEM用于发动机控制器。他们确实的一件事是TPU,时间处理单位。这个新的外围设备听起来很可怕。如果我记得正确,很难编程,除了少数罐装例子(PWM,正交编码器等)外,不容易找到代码。如果您在您的名片上有FORD或GM,我相信他们很乐意为您编写自定义代码,但我们其他人无法烦恼。希望开源社区将拥抱这种新的外围设备,并提出一些很酷的例子。如果TPU(或现在他们现在称之为),它也会很酷,而处理器睡着了!

    喜欢。 回复
    • Wingtangwong. 3月17日,2021年
      是的,这两个PIO模块将在比猎犬骨板的处理器中找到的两个子处理器汇流。他们需要自己的组装形式,并没有很好地记录。从我所看到的......只有少数用户使用它们。:(添加一些CPLD / FPGA元素会更好,imho。
      喜欢。 回复
  • Hokimax. 3月17日,2021年

    PIO对我的WS2812远程控制光线感到高兴......

    喜欢。 回复