MCU面试开放题

32KB Flash、4KB RAM 的 MCU,如何设计"实时采集 + 轻量智能处理"系统?

一、约束条件

• Flash 32KB,RAM 4KB。

• 单通道 ADC,12bit,采样率 10ksps。

• 使用 DMA 搬运;可用半满/全满中断做软件双缓冲管理(或硬件双缓冲,视型号而定)。

• 裸机、无 RTOS,长期运行,禁止动态内存分配。

• UART 115200 上传分类结果、少量特征或告警,不上传原始数据流;上传频率由你假设并说明。

• 窗口结束到输出结果延迟 ≤100ms。

• 轻量智能处理可假设为一维传感器时序信号(如振动、电流、温度等)的异常检测或少量状态分类;不绑定具体产品,你可自行具体化并说明假设。

• 轻量智能处理可为规则分类、极轻量定点分类器、微型 MLP/决策树等;不要求也不假设能跑完整 TFLite Micro 或大模型。

• 窗口长度、特征、分类器自定,但须说明依据。

二、请完成:

  1. 先列出还需确认的问题,并声明假设。

  2. 给出 RAM 预算表:主栈、DMA 缓冲、采样环形缓冲、分帧/特征缓冲、推理/分类工作区、UART 缓冲、系统状态、保留余量。

  3. 给出特征缓冲和推理/分类工作区的 最小可行尺寸;放不下时说明降级路径。若降级为规则分类,推理工作区可填 0 或极小状态区。

  4. 给出 Flash 预算分类:启动/向量、驱动、协议、特征/推理/分类代码、模型权重/分类器参数、常量/校准表、默认参数、保留区。

  5. 说明实时性:DMA 中断里做什么、特征提取和推理/分类在哪执行、最坏处理时间怎么估、溢出丢新还是丢旧、如何避免 UART 阻塞采集。

  6. 说明轻量智能处理的资源取舍:哪些定点化、窗口长度对 RAM/延迟的影响、权重为何放 Flash、4KB 下如何判断可落地还是必须降级。

  7. 指出最可能失败的 2 个风险点及验证方法。

  8. 采样率提高到 50ksps 时,先改什么,为什么?

提醒:不要把 Flash 当 RAM;不要用 malloc;不要假设 4KB RAM 能跑完整 TFLite Micro。

可声明并固定以下假设:1)MCU 主频、内核、有无 FPU、ADC 对齐、DMA 模式、UART 发送方式。2)RAM/Flash 预算允许合并项或填 0,但必须给总账和余量。3)需给出 DMA 半满/全满中断频率、每中断最坏工作量和窗口后处理最坏时间。4)UART 需给包长、最大上传频率和队列满策略。5)50ksps 假设 MCU 外设可支持,优先说明软件架构先改什么。

相关推荐
Autumn_ing4 小时前
国内有好用的设计智能体吗?Paico、墨刀AI客户端与 Codex 怎么分工
人工智能·墨刀ai客户端·设计智能体
QXWZ_IA4 小时前
无人机巡检油气管道如何实现自主飞行和AI识别?
人工智能·无人机
zhangfeng11334 小时前
大语言模型 Greedy Decoding,贪心解码 / 贪心搜索
人工智能·语言模型·自然语言处理
四季豆334 小时前
AI时代中小企业如何低成本提升数据和知识质量?
大数据·人工智能·数据挖掘
张建飞(Frank)4 小时前
从零构建Agent(十):Model管理
人工智能·agent
沐曦股份MetaX4 小时前
沐曦股份亮相CCF第三届算力活动:重磅发布Token算力普惠计划,赋能科研新时代
人工智能·科技·ai·开源·gpu算力
趣味科技v4 小时前
开发周期从“周”到“天”:创想三维用AI重写研发节奏
人工智能·创想三维
CoderYanger4 小时前
Java EE 进阶:5. Spring IoC&DI(第一弹):Spring IoC
java·开发语言·spring boot·spring·面试·职场和发展·java-ee
中电金信4 小时前
开发更高效、监控更实时、运维更省心,源启数据开发平台构筑一站式数据开发新底座
网络·数据库·人工智能