就像MicroPython在嵌入式系统中的发展势头,TinyML在物联网边缘计算领域也是这两年的技术热点,不少微控制器都在支持对语音、视觉乃至姿态等传感器的智能识别,FunPack活动第一季中的4款开发板都支持TinyML,我们硬禾学堂的网友们从初识TinyML到现在已经能够熟练使用这项技术用在自己的研发中,正在进行的FunPack第二季的Syntiant模组是一颗超超低功耗的边缘智能的芯片,在Arduino环境下支持TinyML,我们的小朋友已经可以用语言控制各种颜色LED的亮、灭,有望在年底的圣诞节前开发出一款成熟的产品出来。
今天介绍的这款模组是基于Nordic半导体的蓝牙芯片nRF52811以及Lattice的FPGA - iCE40UP5K,从后者的名字可以看出它是一款超低功耗的FPGA器件,在其官网上也是主打SenseAI - 连接各种传感器,并通过内部的DSP功能、丰富的存储资源来支持人工智能的应用- 接上摄像头就能进行视觉相关的识别。
官网的介绍:
可见,主打边缘计算的一款FPGA。
这个模块是由瑞典的一家叫Silicon Witchery(硅巫术)的公司设计的。专门针对电池供电的场合设计的一款集成了蓝牙和FPGA的System on Module - 模块上的系统。
这个SoM超级小巧,如下图:
基本指标:
MCU – Nordic Semi nRF52811 Arm Cortex-M4 MCU @ 64 MHz with Bluetooth 5.2 support including Long Range, Thread support.
FPGA – Lattice Semi iCE40 FPGA with 5k LUT and DSP blocks.
存储 – 32 Mbit flash storage.
集成了天线、无源器件以及晶体
I/Os – 20x 邮票控
8x FPGA IO include I3C, I2C, SPI, and USB.
2x nRF GPIO pins with ADC and low power wake.
SWD pins for debugging
供电:
Lithium battery charging and monitoring.
3x adjustable Vout rails including 1x buck-boost up to 5.5V
尺寸 – 11.5 x 6 mm
内部构成框图:
该公司基于nRF5 SDK提供了一个轻量级的SDK,FPGA是通过开源的工具链 yosys、icestorm以及NextPNR来实现。
这玩意的功耗如何呢?该“硅巫术”公司宣称 -- 只需要75uA的电流就可以支持一直在线的推理任务,同时它的支持蓝牙5.2的天线还一直处于远距离接收信号的状态,是不是很厉害的样子?
下面是搭配该模组的扩展板(Digikey上卖39美元),下图中间右侧为预装的S1模组(Digikey上卖30美元),通过对比也可以看出这个模组有多么的小。这个扩展板主要用以测试一些传感器以及其它外设。
除了这款扩展板,硅巫术公司还提供了一款ECG套件(Digikey上售价45美元),使用了ADI的AD8233模拟前端芯片(这款芯片在我们的Fastbond活动中推荐过)见下图:
软件构成:
软件栈
这款模块的使用场景主要为 - 高速且时间紧迫的DSP、边缘数据预处理、高效算法设计、并行数据处理、实时AI推理、远程机器学习、定制AI算法部署、定制DSP算法部署等。
蓝牙芯片和FPGA之间的连接,用蓝牙芯片通过SPI芯片配置FPGA的Flash:
电池管理及供电:使用了Maxim(现ADI)的MAX77654
PCB是用KiCad设计的,全部开放:
原理图
模组的尺寸规格
与时俱进地支持MicroPython:
这个模块也开始支持MicroPython,以方便大家体验和验证算法,可以非常方便地测试FPGA的二进制代码、读写数据并远程控制模块的所有功能。
MicroPython也可以用作网络栈,可以通过非常简单的字符串同移动终端的App或蓝牙的Gateway进行接口,支持以下:
machine
machine.Pin
machine.ADC
machine.RTC
machine.FPGA
machine.Flash
machine.PMIC
参考资料:
官网:https://www.siliconwitchery.com/
文档:https://docs.siliconwitchery.com
Github:https://github.com/siliconwitchery