就像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