许多业余爱好者和设计人员都对开发小物理尺寸的产品感兴趣,以便部署在空间受限的环境中,包括可穿戴设备。这些通常是智能电子系统,常常基于微控制器与检测与显示设备的组合。有时,这些产品可用作高科技饰品。有时,则可紧贴和/或佩戴在皮肤表面上,可供检测、分析和传输身体数据,例如体温、心率和脉搏氧合,以及环境数据。还有些时候,可为佩戴者提供即时的生物反馈。
对于这类设计,很多业余爱好者和创客都使用 Arduino 微型计算机开发板。于是,越来越多的专业工程师也开始将这些开发板用作评估和原型开发平台,以便加快 IC、传感器和外设的评估速度并降低成本。
这类用户通常从 A000073 Arduino Uno Rev3 着手,该板被誉为“人手必备的入门开发板”(图 1)。该开发板基于 Atmel(现为 Microchip Technology)的 ATMEGA328P-AUR 微控制器。这款 5 V 处理器提供 14 个数字输入/输出 (I/O),其中 6 个可提供脉冲宽度调制 (PWM) 功能,以及 6 个模拟输入引脚,在必要时也可用作数字 I/O。此外,在数字 I/O 引脚 2 和 3 上还支持两个外部中断,以及 UART、SPI 和 I2C 接口各一个。
图 1:Arduino Uno Rev3 开发板基于运行频率为 16 MHz 的 8 位 ATmega328P 微控制器。其排针封装是称作盾板的庞大子板生态系统的基础,包括 14 个数字 I/O 引脚、6 个模拟输入引脚,以及各种电源、接地和参考引脚。(图片来源:Arduino.cc)
此开发板具有 8 位数据路径和 16 MHz 时钟的限制,再加上 Arduino Uno 仅提供 32 KB 的闪存程序存储器和 2 KB 的 SRAM;除此之外,尺寸为 68.6 x 53.4 mm (36.63 cm2),这对于许多应用来说太大了。
如要减少该微处理器开发板的物理尺寸,一种方法是迁移到 ABX00028 Arduino Nano Every,后者基于 Atmel 的 ATMEGA4809-MUR 微控制器(图 2)。程序存储器比 Arduino Uno 多 50% (48 KB),SRAM 容量是 Arduino Uno 的 3 倍 (6 KB)。与 Arduino Uno 一样,Arduino Nano Every 也基于 5 V 处理器,该处理器提供 14 个数字 I/O 以及 6 个模拟输入引脚,而这些引脚在必要时也可用作数字 I/O。此外,与 Uno 一样,Nano Every 也提供 UART、SPI 和 I2C 接口各一个。但是,与仅支持两个外部中断的 Uno 不同,Nano Every 的所有数字引脚都可以用作外部中断。
图 2:Arduino Nano Every 是传统 Arduino Nano 的升级版,但采用更强大的处理器 ATMEGA4809,拥有比 Arduino Uno 多 50% 的程序存储器,而且由于 SRAM 达到 3 倍大 (6 KB),所以变量空间更大。(图片来源:Arduino.cc)
虽然 Arduino Nano Every 仍有 8 位数据总线的限制,但具有更快的时钟 (20 MHz) 和更多的存储空间(48 KB 闪存和 6 KB SRAM)。对于尺寸受限的项目更重要的是,Arduino Nano Every 仅为 45 x 18 mm (8.1 cm2)。
另一个流行选择方案是来自 SparkFun Electronics 的 DEV-13736 Teensy 3.2,该板可以使用 Arduino 的集成开发环境 (IDE) 进行编程(图 3)。在 I/O 方面,这款 3.3 V 开发板得到大幅强化,它有 34 个数字引脚,其中 12 个支持 PWM,以及 21 个高分辨率模拟输入。
图 3:Teensy 3.2 是一款试验板友好型小型开发板,由 PRJC.com 的 Paul Stoffregen 设计。这款用户友好的开发板为业余爱好者、学生和专业工程师带来了低成本的 32 位 Arm® Cortex®-M4 平台。(图片来源:PRJC.com)
Teensy 3.2 采用 NXP 的 MK20DX256VMC7R Kinetis K20 微控制器。K20 采用 32 位 Arm Cortex-M4 处理器内核,运行频率为 72 MHz,并具有 256 KB 闪存和 64 KB SRAM。对于尺寸受限的项目来说,特别值得关注的是,Teensy 3.2 的尺寸为 35 x 18 mm (6.3 cm2),大约是 Arduino Nano Every 的四分之三。