上海展宏嵌入式系统有限公司

嵌入式系统选型与采购指南

这份指南写给正在评估嵌入式开发外包的硬件工程师、产品经理和采购决策者。内容来自我们在工业控制与物联网项目中反复验证过的做法,涵盖从 MCU 评估到量产支持的完整决策链。读完之后,你应该能判断自己的项目该从哪一段切入,以及在和开发方谈判时该追问哪些问题。

一、先写约束,再谈方案

很多项目的第一份文档是一张功能列表,但真正决定技术路线的是约束条件:整机功耗预算是多少毫安时?量产单价的目标区间是多少?产品要在什么温度范围和电磁环境下工作?有没有认证要求?这些约束在选型之前必须写成硬指标。举个例子,同样是温湿度采集,电池供电三年免维护和市电常供是两个完全不同的方案:前者要求把休眠电流压到微安级,MCU 的睡眠模式深度和唤醒源设计是核心;后者根本不需要为几微安的电流费心,应该把精力放在通信可靠性上。如果你还不确定这些数字,可以找开发方做一次方案选型与架构评审,评审的目的就是把模糊的想法变成可测量的指标。

二、MCU 平台评估的五个维度

评估 MCU 时不要只看主频和 Flash 大小,我们在选型评审中通常按五个维度打分:一是外设资源与项目需求的匹配度,比如需要几路硬件 UART、有没有足够的定时器给电机控制用;二是开发生态,SDK 的成熟度、社区资料的多寡直接影响排障速度;三是供货与生命周期,工业项目要确认器件的停产风险,最好选有长期供货承诺的产品线;四是功耗特性,睡眠模式档位、唤醒延迟、外设在睡眠下能否独立运行;五是工具链与调试条件,是否支持标准 SWD/JTAG,评估板的可得性如何。五个维度不必都打满分,关键是知道自己的项目里哪个维度权重最高,并在选型对比表里写明理由,方便日后复盘。

三、固件外包:委托边界与交付清单

决定外包固件开发时,最重要的一件事是划清委托边界:是全案(从选型到量产支持),还是单点(只做某个驱动或协议栈)?边界不同,开发方需要的输入也不同。全案需要需求清单与约束条件;驱动开发至少需要原理图关键页、引脚分配表和可用的调试接口;低功耗优化则必须能拿到可以上电测量的样机。交付清单同样要在合同里逐项写明:可编译的源码工程与编译说明、模块说明文档、版本记录、外设驱动的最小示例、协议实现的测试用例。只交付一个固件 bin 文件而不给源码和文档的做法,会让客户在半年后陷入无法维护的境地。下表是一份可以直接使用的交付核对清单:

固件开发交付物核对清单
交付物说明验收标准
源码工程完整工程目录与依赖说明按文档操作可一键编译通过
模块文档各模块职责与接口说明新工程师能据此定位代码位置
驱动示例每个外设驱动的最小可运行示例单独编译运行可验证功能
协议测试用例通信协议的一致性测试项逐条执行并可复现结果
版本记录版本号与变更说明与烧录固件的版本校验一致

四、硬件协同:在布板前把坑填掉

固件团队和硬件团队的协作质量,往往决定项目是顺利还是反复返工。有几件事必须在 PCB 布板之前确认:调试接口是否预留(SWD/JTAG 至少留一个,且不能与关键功能复用引脚造成冲突);烧录方式是什么,量产时用脱机烧录器还是治具;关键测试点有没有引出,尤其是电源轨、复位信号和通信总线;传感器和射频模块的布局是否考虑了走线约束。我们建议硬件评审时让固件工程师参与原理图关键页的会审,这一小时的前期投入能省掉后期几周的飞线调试。如果你的团队缺这一环,可以参考我们的 PCB 协同设计服务,由固件视角反向核对硬件方案。

五、验收与量产:把标准写进合同

验收争议是外包项目最常见的纠纷来源,根源在于验收标准没有事先量化。我们的做法是立项时和客户共同起草一份验收清单:功能点逐条列出触发条件和预期结果;通信协议写明一致性测试项目;低功耗设备写明各状态的电流上限;异常场景(断电重启、通信中断恢复、看门狗触发)逐项模拟。清单上的每一条都必须是"可以通过测试判断通过或不通过"的表述,禁止"运行稳定""体验良好"这类主观措辞。进入量产后,产测固件和烧录脚本的管理同样重要:烧录必须带版本校验,防止产线刷错固件;固件的任何迭代先在样品上验证、客户书面确认后再推送产线。把这些工序性的约定写进合同,比事后追责有效得多。

六、什么时候该找开发方,什么时候自己做

最后回答一个现实问题。如果你的团队已有固件工程师,只是缺某个领域的经验(比如 BLE 协议栈或低功耗调优),单点采购驱动或优化服务更划算,团队还能在协作中吸收经验。如果项目是全新的产品线、团队没有嵌入式背景,或者时间窗口紧张,全案委托更合适,让开发方从选型评审一路负责到量产支持,避免多方衔接的缝隙。处于两者之间的情况(有硬件团队、缺固件人力),可以考虑固件全外包加硬件自研的组合,但务必按第三节的要求划清边界和交付清单。无论选哪种方式,都欢迎先读读我们的常见问答,或者直接联系我们描述你的项目现状,我们会从最适合的那一段开始。