Skip to content

Arduino - Due 与 Zero

虽然像Uno这样的经典8位Arduino开发板非常适合学习,但许多现代项目需要更强的处理能力、更大的内存和更高级的功能。这就是32位ARM架构Arduino开发板的用武之地。本指南将向您介绍这类强大的微控制器,重点关注 Arduino Zero 等基础开发板及其现代继任者。

从8位的ATmega328P(Uno上)转向32位的ARM Cortex-M处理器,将带来显著优势:

  • 更高的时钟速度: 更快地执行复杂代码(例如,Zero为48 MHz,Uno为16 MHz)。
  • 更大的内存: 显著增加的SRAM(用于变量)和Flash(用于程序存储),支持更大、更复杂的应用程序。
  • 高级外设: 具备真正的数模转换器(DAC)以实现真实模拟输出、原生USB功能以及更多的硬件串口(UART)等特性。
  • 性能提升: 32位处理器能够更高效地处理大数字和复杂数学运算。
  • 专业工具: 许多32位开发板,例如Zero,内置板载调试器(on-board debugger),支持专业的开发工作流程。

Arduino Zero是一款颠覆性的产品,在Arduino生态系统中为性能和易用性树立了新标准。它由Atmel的 SAMD21微控制器 (MCU) 驱动,该微控制器配备了32位 ARM Cortex® M0+核心。

  • MCU: 32位 SAMD21 @ 48 MHz
  • 内存: 32 KB SRAM, 256 KB Flash
  • 逻辑电平: 3.3V (这一点至关重要!)
  • 嵌入式调试器 (EDBG): 其最强大的功能。EDBG直接在板上提供完整的调试接口,让您无需额外硬件即可在代码中设置断点和检查变量。它还提供一个虚拟COM端口用于标准串行通信。

源自Zero的强大SAMD21核心现在为新一代紧凑型和联网开发板提供了动力,使物联网设备和复杂项目的构建变得前所未有的简单。

  • Arduino Nano 33 IoT: 一款微型开发板,配备SAMD21处理器以及内置的Wi-Fi和蓝牙模块。它非常适合构建连接到云端或通过智能手机控制的设备。
  • Arduino MKR系列: 一系列将SAMD21与各种连接选项(包括Wi-Fi、LoRaWAN和GSM)相结合的开发板(例如MKR WiFi 1010)。它们共享一个通用的外形尺寸,使其成为专业原型开发的理想选择。

Arduino Due是首批32位强大开发板之一。它基于 Atmel SAM3X8E ARM Cortex-M3 CPU,专为需要最大I/O和速度的大型项目而设计。

  • MCU: 32位 SAM3X8E @ 84 MHz
  • 内存: 96 KB SRAM, 512 KB Flash
  • I/O: 大量的I/O引脚,包括54个数字I/O引脚和12个模拟输入。
  • 逻辑电平: 3.3V
  • 高级功能: 2个DAC(数模转换器)、用于连接鼠标或键盘等外设的USB On-The-Go (OTG) 功能,以及用于汽车应用的CAN总线接口。

与Arduino Uno的5V逻辑不同,这里提到的所有32位开发板(Zero、Due、Nano 33、MKR)均工作在3.3V逻辑电平。

这意味着它们的I/O引脚不耐5V电压。对任何I/O引脚施加高于3.3V的电压将永久损坏微控制器。当连接为5V设计的传感器或其他组件时,您必须使用 逻辑电平转换器 (logic level shifter) 将电压从5V安全地降至3.3V。

逻辑电平转换器(或称转换模块)是一种小型、廉价的电路板,可以在不同电压域之间安全地转换信号。它具有一个用于5V组件的高压(HV)侧和一个用于3.3V Arduino的低压(LV)侧,确保它们可以安全通信而不会损坏。

  • 库兼容性: 尽管Arduino核心团队已经做得非常出色,但并非所有为8位AVR开发板编写的第三方库都适用于32位ARM开发板。请务必查阅库的文档以确认兼容性。
  • 工具链 (Toolchain): 编程仍通过Arduino IDE或PlatformIO进行,但在幕后会使用不同的编译器(针对ARM处理器)。这通常是自动处理的。
  • 新的可能性: 拥抱新功能!使用原生USB创建自定义HID设备(如键盘或鼠标),使用DAC进行高质量音频输出,并利用额外的处理能力运行更复杂的算法甚至实时操作系统(RTOS)。