找回密码
立即注册
搜索
发回帖 发新帖

6270

积分

0

好友

791

主题
发表于 昨天 23:48 | 查看: 5| 回复: 0

经过一段时间的调试与准备,这块 TinyML 开发板终于稳定下来。今天想重新梳理一个问题:做一块 TinyML 开发板,是不是选一颗算力更强的 MCU 就够了?

规划 STM32H743 开发板时,我反复对照一条实际开发链路:设备先采到数据,在电脑上训练并转换模型,再把模型部署到 MCU,让它处理新采集的数据,最后由 MCU 把判断结果送回设备。

从这条链路往回看,开发板要解决四件事:算得动、采得到、看得清、接得出去。少了任何一环,实验都可能停在“模型文件已经生成”或者“串口打印了一个数字”这一步。

STM32H743 TinyML开发板特写,集成ESP32-S3模块、LCD触摸屏、麦克风模块和扩展端子

图:这块板上能看到麦克风模块、LCD、USB 与外部接线端子。

一、MCU 要留出模型之外的运行空间

这块板的主控是 STM32H743,采用 Cortex-M7 内核,带 DSP 指令,适合学习传感器分类、声音识别等小模型的 CPU 推理。选型时,我不只看主频,还会关注模型与固件放在哪里、运行时内存从哪里分配,以及一次推理能不能赶在下一批数据到来前完成。

例如用 TensorFlow Lite Micro 部署模型时,模型文件通常放在 Flash 或可读取的外部存储中;运行时还要为输入、输出、中间张量和算子工作区安排 RAM。模型文件能放进 Flash,只解决了存储问题。如果音频缓存、显示缓存和推理工作区同时占用内存,还要核算它们的峰值,不能只按模型文件大小选 MCU。

我在板上安排扩展存储,也是为了给模型、采集数据和图像缓冲留空间。不过外部 Flash 或 SDRAM 并不会自动让推理更快:代码和数据实际落在哪块存储、总线带宽及缓存配置,都要通过工程测试确认。最直接的验收方式,是让固件持续采样,同时记录最大内存占用和每次推理耗时。

二、传感器入口决定了能做什么案例

单片机内部的模型看见的是一串数字。数字从哪里来,决定了这块板能不能从演示走向自己的应用。

我选择保留声音、六轴运动、模拟量和摄像头这几类入口。麦克风适合做声音分类;IMU 可以提供加速度和角速度,用于动作识别;模拟量接口可以接入经过调理的电流、电压或其他传感器信号;摄像头接口则给低分辨率图像实验留下空间。

接口数量只是第一步。举个动作识别的例子:同一个 IMU,如果训练时按固定频率采集,到了板端却忽快忽慢地取样,模型收到的时间窗口就变了。声音也一样,麦克风位置、采样率和前处理一变,输入特征会跟着变。做 TinyML 时,开发板要让人既能采到数据,也能把采集条件记录下来,方便在电脑训练和板端推理之间对齐。

摄像头能插上,并不等于这颗 MCU 适合跑复杂的实时目标检测。图像分辨率、帧缓存和模型计算量都要单独评估;这块板更适合从小尺寸图像分类或简单的视觉判断开始。

三、模型识别了什么,要能当场看出来

初次下载模型时,我最想知道的通常有四项:输入张量是否填对,模型输出了哪一类,各类别分数如何变化,一次推理用了多久。

这也是板上保留 LCD、串口和 USB 的原因。LCD 适合直接显示当前识别结果和采样波形;串口日志便于保存连续输入、输出以及时间戳;USB 方便连接电脑进行调试和数据传输。不同的观察方式可以互相核对。比如屏幕上类别一直不变,先从串口确认原始采样值是否在变化,再看模型输入有没有更新。

分类分数可以帮助比较候选类别,但未经校准时,不宜把“0.92”直接解释为“判断正确的概率是 92%”。面向工程调试,我更希望屏幕能同时显示类别、分数、采样状态和推理时间。只亮一个 LED,定位不了输入错误,也看不出结果为什么会跳变。

四、最后还要把判断结果交给设备

模型输出“电机异常”之后,开发板还需要决定如何传递这个结果。可以通过 UART 或 CAN 向上位机和其他控制器发送状态,也可以通过 GPIO、PWM 或扩展的驱动电路进行联动。

这里有一条边界:继电器线圈和电机不能直接由 MCU 引脚驱动,模型的一次分类结果也不宜直接决定危险动作。 需要驱动与隔离电路、连续确认或状态机,以及独立的过流、过温等硬件和固件保护。开发板上的扩展接口,给这些外部电路提供连接位置;具体负载能否接入,仍要看驱动和供电设计。

完整实验可以从一个很小的动作开始:IMU 采集数据,MCU 输出动作类别,LCD 显示当前状态;稳定识别后,再用 UART 或 CAN 发出状态帧。到这一步,输入、模型和设备输出已经接成一条可检查的链路。

所以在设计这块板时,我希望四类硬件各有明确任务:STM32H743 负责计算,传感器与模拟量接口提供数据,LCD 与串口解释运行结果,通信和扩展接口连接外部设备。训练仍在电脑上完成;开发板要承担的是从现场采集到板端推理,再到结果输出的这半条工程链路。




上一篇:游戏老板的另类跨界生意:卖笋、卖咖啡、开夜店、搞餐饮
下一篇:用了多年Windows却总想折腾?这5个信号说明你该试试Linux了
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-5 01:36 , Processed in 0.061239 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表