文档
Arduino Nano Every 技术文档
一、概述
Arduino Nano Every 是经典 Nano V3 的现代化升级版,基于 Microchip ATmega4809 微控制器。在与原版 Nano 保持相同引脚排列和尺寸的前提下,Flash提升1.5倍(48KB vs 32KB)、SRAM提升3倍(6KB vs 2KB),并引入 20MHz 内部振荡器,无需外部晶振。
核心升级点:
- ATmega4809 → 更新的 megaAVR® 0-series 架构,内置硬件乘法器
- 所有14个数字IO均支持外部中断(Classic Nano仅D2/D3)
- USB桥接采用独立的 SAMD11(ARM Cortex-M0+),实现更稳定的串口通信
- 无需外部晶振,抗干扰和可靠性有所提升
二、引脚定义
引脚排列与经典 Nano 完全兼容,但内部功能有变化:
| 引脚 | 功能 | 与经典Nano差异 |
|---|---|---|
| D0-D1 | UART (RX/TX) | 同 |
| D2-D13 | 数字IO | 全部支持外部中断(经典仅D2/D3) |
| D3/D5/D6/D9/D10/D11 | PWM | 同(由TCA0定时器产生,精度更高) |
| A0-A3 | ADC + 数字IO | 同 |
| A4-A5 | I²C (SDA/SCL) | 同 |
| A6-A7 | 仅ADC,不可数字IO | 同(ATmega4809 限制) |
| AREF | ADC外部参考 | 同 |
| VIN | 7-18V | 范围更宽(经典6-20V,推荐7-12V) |
| 5V | 5V输出 | 同 |
| 3.3V | 3.3V输出 | SAMD11提供,约100mA(经典FT232仅50mA) |
| RST | 复位 | 低电平复位 |
三、电气特性
| 参数 | 经典Nano(328P) | Nano Every(4809) |
|---|---|---|
| Flash | 32KB | 48KB |
| SRAM | 2KB | 6KB |
| EEPROM | 1KB | 256B ⚠️ |
| 主频 | 16MHz(晶振) | 20MHz(内部) |
| 单IO最大电流 | 40mA | 40mA |
| 所有IO总电流 | 200mA | 200mA |
| 3.3V输出 | 50mA | ~100mA |
| ADC分辨率 | 10位 | 10位 |
| 外部中断 | 2路 | 14路(全部数字IO) |
| 工作温度 | -40~85°C | -40~85°C |
⚠️ 注意:Nano Every 的 EEPROM 仅 256 字节(经典 Nano 1KB),如需大量非易失存储,需外接 EEPROM 或使用 Flash 模拟 EEPROM(库
FlashStorage)。
四、内部架构差异
经典 Nano: ATmega328P (主控) + FT232RL (USB-UART桥接)
Nano Every: ATmega4809 (主控) + SAMD11D14A (USB-UART桥接 + 自动复位)
SAMD11 桥接芯片支持原生 USB-CDC,无需安装额外驱动(Windows 10+ 自动识别)。同时也兼容传统 COM 口模式。
五、编程注意事项
- 开发板选择:Arduino IDE →
Tools → Board → Arduino Nano Every,需在 Board Manager 安装Arduino megaAVR Boards包。 - 寄存器地址变化:ATmega4809 的寄存器布局与 328P 完全不同,直接操作寄存器的代码需重写(如 Timer、ADC 寄存器)。
- EEPROM 库:使用
<EEPROM.h>与经典 Nano 语法完全一致,但只有 256B。 - Flash 模拟 EEPROM:推荐官方库
FlashStorage,利用 4809 的 Flash 实现大容量非易失存储。 - PWM 增强:使用 TCA0(16位)替代 328P 的 Timer0/1/2(8位),PWM 精度和频率控制更灵活。
- 低功耗:4809 支持多种休眠模式(Idle/Standby/Power-Down),功耗可低至 μA 级。
六、典型应用场景
- 教学与原型验证(与 Uno/Nano 教程兼容)
- 需要多外部中断的传感器融合项目
- 对 SRAM 需求较大的项目(显示屏缓冲、JSON 解析等)
- 微型化量产设备(尺寸与原 Nano 一致,可直接替换)