亚搏电子
消息

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

3月16日,2021年3月16日经过史蒂夫asrar

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

今年电子行业最大的溅溅之一是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与主机和设备支持
  • 8个PIO状态机

有关更多信息,请参阅RP2040覆盆子π皮科yabovip2.co m数据表。

树莓派公司从单板电脑到微处理器

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

由于它们配备了操作系统(OS),它们可以更容易地与复杂的设备(如网络摄像头)进行交互。该操作系统允许你轻松下载和安装你需要的应用程序,就像你做一个普通的计算机。

单板电脑的障碍

然而,sbc有其自身的局限性。使用sbc,您的代码是在通用操作系统下运行的,并且对通用输入/输出引脚(gpio)进行低延迟控制更具挑战性。此外,除运行主代码外,操作系统还需要执行几种不同的功能。这可能会给实时应用程序带来问题。

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

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

覆盆子PI RP2040在微微棋盘上

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

低功耗:新设备的亮点

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

RP2040的开发板Raspberry Pi Pico在睡眠模式下消耗约1.3 mA。这与低功耗模式的a是无法比拟的覆盆子π零这燃烧了大约100 mA。

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

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

端点AI的平台

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

使用端点AI,数据在MCU上进行本地分析,无需通过拥挤的互联网连接传输数据。这提供了一些优点,比如增加了数据隐私性和安全性、更低的功耗和更低的延迟。在小端点mcu上运行ML算法,称为Tinyml,允许开发人员从物联网传感器收集的大量数据中检测出有趣的模式。

Arm Cortex-M系列通常是实现端点AI的合适人选。这些微处理器因其成本低、功耗低而得到广泛的应用。在RP2040的情况下,Cortex-M0+内核的频率为133 MHz,这使得它适合TinyML。当涉及到毫秒级的延迟度量时,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系列处理器。它们被许多汽车厂商用于发动机控制器。他们有一个TPU,时间处理单元。这个新的外围设备听起来很像。如果我没记错的话,除了一些现成的例子(pwm, quadrature encoder,等等),编程很难,找到代码也不容易。如果你的名片上有福特或通用汽车,我敢肯定他们很乐意为你编写自定义代码,但我们其他人只是不想被打扰。希望开源社区能够接受这个新的外围设备,并提出一些很酷的例子。如果TPU(或者他们现在叫它什么)在处理器处于休眠状态时仍然处于活动状态,那就太酷了!

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

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

    喜欢。 回复