电源网发布了新一轮的测评活动,笔者有幸参与其中,不仅进行发帖记录,也录制了一些视频进行分享。
板卡介绍
MAX78000FTHR是一款由Maxim Integrated推出的开发板,它搭载了MAX78000芯片,这是一款集成了人工智能加速器的超低功耗微控制器。MAX78000FTHR开发板具有丰富的外设和接口,适用于物联网、边缘计算和嵌入式人工智能应用的开发和原型设计。该开发板还支持Arduino兼容性,使得开发者可以轻松地使用Arduino IDE进行开发。
主控介绍
人工智能(AI)需要超强的计算能力,而Maxim则大大降低了AI计算所需的功耗。MAX78000是一款新型的AI微控制器,使神经网络能够在互联网边缘端以超低功耗运行,将高能效的AI处理与经过验证的Maxim超低功耗微控制器相结合。通过这款基于硬件的卷积神经网络(CNN)加速器,即使是电池供电的应用也可执行AI推理,同时功耗仅为微焦耳级。
MAX78000是一款先进的片上系统,集成带FPU CPU的Arm® Cortex®-M4内核,通过超低功耗深度神经网络加速器实现高效的系统控制。CNN引擎具有442KB的权重存储器,可支持1、2、4和8位权重(支持高达350万权重的网络)。该CNN权重存储器基于SRAM,因此可进行AI网络的即时更新。同时,CNN引擎还集成了512KB的数据存储器。高度灵活的CNN架构允许用户通过PyTorch®和TensorFlow®等传统工具集训练网络,然后经Maxim提供的工具转换后在MAX78000上运行。
除CNN引擎的存储器之外,MAX78000还具备适配微控制器内核的大型片内系统存储器,具有512KB的闪存和高达128KB的SRAM,支持多个高速和低功耗的通信接口,包括I2S和并行摄像头接口(PCIF)。
该器件采用81引脚的CTBGA(8mm x 8mm、0.8mm间距)封装。
应用
音频处理:多关键字识别、声音分类、降噪面部识别目标检测和分类时间序列数据处理:心率/生命体征信号分析、多传感器分析、预测性维护
外设介绍
双核:Arm Cortex-M4处理器与FPU,
100MHz, RISC-V协处理器,
60MHz•512KB Flash Memory
•128kb sram
•16KB缓存
•卷积神经网络加速器
•12位并行摄像头接口
•MAX20303可穿戴PMIC与燃油计
•USB充电
•板载DAPLink调试和编程带有FPU的Arm Cortex-M4处理器接口
•面包板兼容头
•微型USB接口
•微型SD卡连接器
●集成外设
•RGB指示灯LED
•用户按键
•CMOS VGA图像传感器
•低功耗立体声音频编解码器
•数字麦克风
•SWD调试器
•虚拟UART控制台
•RISC-V的10针皮质调试头协处理器
简单例程测试
通用场景术语库使用USB为MAX78000FTHR供电电缆。预先编程的“音频关键词识别”Demo将开始执行。RGB LED (D2)亮绿色,表示演示正在运行。车载麦克风启动监听关键字GO。当关键字GO是检测到,RGB LED (D2)亮黄。在这种模式下,当检测到9个关键字中的一个时,RGB LED(D1)开始蓝色闪烁1 ~ 9次由卷积神经网络检测的数字。STOP命令退出号码关键字检测。RGB LED (D2)再次亮绿色,RGBLED (D1)灭。
测试系统工作状态
如视频所示
准备工作
环境搭建
首先,我们进行开发软件的获取
点击该网址,就来到了主页
主页的最下方是关于开发软件的下载,这里我们下载win版本
点击进去,进行下载即可
接下来要进行该软件的安装与配置
点击下载的exe文件,就可以进行安装
整个安装过程不在进行赘述,无非是确定一些安装路径和我什么都同意
这里今天我又进行一次安装,原因是架了一个梯子,不加的话会安装失败
可以看到,即使这样,也需要一个比较久的时间,之间我这里显示要下载11天,这也算是一个开发障碍吧。希望官方能做一个离线包在国内。
同时呢,笔者也在网上找了安装的教程,链接贴在这里,殊途同归
【window下配置Maxim SDK环境】_warn : prefer gdb command "target extended-remote -CSDN博客
安装好,这下我们就可以打开软件干活啦
新建工程编译及烧录
在这里新建文件夹,随后就可以编写代码
这里简单来一个helloworld试试水,其实都不用自己编写代码,直接给了一个例程,就当提前体验一下编译好了
编译完成下载即可
项目开发
录制音频数据
参照MAX78000官方文档中提供的资料,使用采集到的数据进行训练获得kwsv3的模型,然后对其进行量化,生成单片机上使用的模型文件。实现对于关键字:GO、STOP、ON、OFF进行识别,将结果通过串口3发送出去。
UART3发送代码如下所示:
放入训练目录
关键字识别代码逻辑,通过板载MIC采集声音信号,当声音强度大于阈值,则采集数据传入到深度学习加速器进行模型推理,返回推理结果,主要流程代码如下所示:
实现项目效果
在实际的测试过程中,发现ON、OFF的关键字容易被触发导致ESP8266会频繁控制小灯做出状态切换,不利于实际使用。
解决方案:
添加唤醒词GO,当检测到GO时,进入唤醒状态,此时下一个关键字是ON/OFF的时候才会发出LED控制指令,否则不发送控制指令。
并且为了方便测试退出唤醒状态,还添加关键字STOP,当检测到关键字STOP时,此时如果处于唤醒状态,则自动退出唤醒状态,此时,控制指令ON/OFF将无效化。
67363584 Word starts from index: 67359616, avg:361 > 350 67369088: Word ends, Appends 7040 zeros 67369088: Starts CNN: 389 67369088: Completes CNN: 389 CNN Time: 1849 us Min: -65, Max: 76 ----------------------------------------- Detected word: GO (100.0%) ----------------------------------------- 67380608 Word starts from index: 67376640, avg:466 > 350 67386496: Word ends, Appends 6656 zeros 67386496: Starts CNN: 390 67386496: Completes CNN: 390 CNN Time: 1849 us Min: -47, Max: 46 ----------------------------------------- Detected word: ON (96.6%) -----------------------------------------
其他关联活动对比及资料获取
在官网上也有申请活动,大部分资料在官网都可以进行获取,不过奖励没有电源网本次活动丰富。
精彩视频分享:
总结浅谈开发感受
总的来说,该款AI开发板能进行简单的边缘运算,不过和那些大模型相比相差甚远,用于特定场合应该应用面会更好,比如智能家居,智能门锁等。