嵌入式系统设计:别被参数神话忽悠,好用才是安身立命根本
前阵子帮创业朋友改智能门锁的方案,看完我直接愣住。
好好一个几百块的消费级门锁,居然堆了一颗4核A76的高端MCU,材料成本直接超了预算30%,实测待机还天天发烫,指纹识别快是快,但电池撑不住一个月。
这不是什么罕见的事儿。现在很多刚入行做产品的,提起嵌入式系统设计,第一反应就是挑核心参数最高的芯片,堆最前沿的功能,完全忘了这个行当从诞生起,核心就是「戴着镣铐跳舞」。
你去深圳的电子市场转一圈就知道,九成的通用方案都是现成的,谁都能拿得到,最后拼的就是谁能抠细节,谁能在约束条件里做最优解。
去年缺芯那波,多少死磕高端核心的产品直接卡量产,反而那些愿意改设计换低价小核心,砍冗余功能的团队,反而活下来还抢了不少市场。
消费级智能门锁嵌入式系统电路板实物图
我见过最夸张的一个案例,是做智能水表的团队,原来用的32位MCU,成本8块钱,后来设计师把代码重新写了一遍,把没用的驱动全砍了,算法优化到连8位MCU都能跑,成本直接降到1.2块,一年出几百万台,光材料就省了大几百万。
这才是嵌入式设计该有的样子。不是把所有能加的功能都加上,是把该留的功能留对,把该省的资源一分钱都不多花。
现在什么都蹭AI,做个智能灯泡都有人说要端侧跑大模型,我就想问,你控制个色温开关,要那玩意儿干嘛?8位MCU都嫌富余,纯纯的浪费。
第一个大坑就是内存算不准。原来的嵌入式开发,任务都是定死的,代码多大,堆占多大,栈占多大,算得明明白白。现在跑AI模型,很多新手直接把模型量化后的参数大小当成了内存需求,实测一跑直接崩。
去年帮一个智能摄像头团队调bug,他们算出来总内存需求是128MB,结果夜间开人形检测,只要连出三个人形,系统直接卡重启。最后查出来,AI推理的中间缓存、量化的临时变量,根本没算进总需求里,实际峰值内存要180MB,差了小一半。
端侧AI嵌入式系统内存资源分配示意图
第二个大坑就是低功耗守不住。原来的嵌入式,没事躺idle模式,待机电流几个微安,一节电池用好几年。现在加了NPU,哪怕你不推理,只要NPU处于待命状态,待机电流直接涨几十倍,原来能撑一年的电池,现在三个月就没电,用户骂都骂死你。
不过话说回来,端侧AI确实也香。原来做个手势识别、语音唤醒,要写几千行的特征提取代码,调参数调一个月,现在找个量化好的几兆小模型,直接烧进去就能跑,开发周期直接砍半,降本也很明显。
就是坑得多踩,踩多了才知道,哪些钱该花,哪些冗余该砍。
未来嵌入式系统设计的核心机会在哪里
很多人说现在嵌入式卷,卷的都是抄公版方案混饭吃的,真的懂设计的,根本不愁活儿。
第一个机会就是定制化RISC-V核的大规模落地。原来你做个专门的信号处理、AI加速,要加自定义硬件,流片一次几百万,小公司根本玩不起。现在RISC-V开放指令集,小团队也能自己加自定义指令,做出来的核,比通用核心功耗低一半,性能还翻一倍,成本反而降了,这对很多细分领域的产品来说,简直是降维打击。
第二个变化就是软硬件协同设计成了标配。原来都是硬件工程师先画板选芯片,软件工程师再往上堆代码,现在不对了,从立项第一天开始,软硬件就得一起聊:这个功能放硬件做还是软件做?加这块加速器能省多少功耗,摊到成本上合不合算?
我知道一个做助听器的国内团队,原来把降噪算法全放软件跑,芯片要跑100MHz,待机功耗3mA,后来把降噪的核心运算块改成硬件加速,10MHz就能满足需求,功耗直接降到0.4mA,电池续航翻三倍,售价比进口品牌便宜一半,上市不到一年就卖了几十万台。
对吧?现在很多人都盯着高端车机、高端工业嵌入式,其实很多细分的小领域,只要把设计做透,空间大得很。
干这行快十五年了,最大的感受就是,嵌入式系统设计从来不是考你能背多少芯片参数,也不是比谁用的芯片最先进。就是考你能不能沉下心,抠每一个字节的内存,抠每一毫安的电流,抠每一块钱的成本。
太多上来就堆料追求高端的,最后死在量产、死在成本,能留下来的,都是懂取舍的人。毕竟,卖出去能用,用户满意,才是真的好设计。
好好一个几百块的消费级门锁,居然堆了一颗4核A76的高端MCU,材料成本直接超了预算30%,实测待机还天天发烫,指纹识别快是快,但电池撑不住一个月。
这不是什么罕见的事儿。现在很多刚入行做产品的,提起嵌入式系统设计,第一反应就是挑核心参数最高的芯片,堆最前沿的功能,完全忘了这个行当从诞生起,核心就是「戴着镣铐跳舞」。
现在的嵌入式设计,早就不是堆芯片了
说实话,十年前的嵌入式,可能还能靠堆料出好产品,那时候物联网没起来,消费端对成本和功耗的敏感度没那么高。现在完全不一样了。你去深圳的电子市场转一圈就知道,九成的通用方案都是现成的,谁都能拿得到,最后拼的就是谁能抠细节,谁能在约束条件里做最优解。
去年缺芯那波,多少死磕高端核心的产品直接卡量产,反而那些愿意改设计换低价小核心,砍冗余功能的团队,反而活下来还抢了不少市场。
消费级智能门锁嵌入式系统电路板实物图
我见过最夸张的一个案例,是做智能水表的团队,原来用的32位MCU,成本8块钱,后来设计师把代码重新写了一遍,把没用的驱动全砍了,算法优化到连8位MCU都能跑,成本直接降到1.2块,一年出几百万台,光材料就省了大几百万。这才是嵌入式设计该有的样子。不是把所有能加的功能都加上,是把该留的功能留对,把该省的资源一分钱都不多花。
现在什么都蹭AI,做个智能灯泡都有人说要端侧跑大模型,我就想问,你控制个色温开关,要那玩意儿干嘛?8位MCU都嫌富余,纯纯的浪费。
端侧AI给嵌入式设计挖了哪些新坑
这两年端侧AI火,嵌入式设计的逻辑也变了,坑也比以前多了好多。我接触过七八个踩坑的团队,踩的坑居然都一模一样。第一个大坑就是内存算不准。原来的嵌入式开发,任务都是定死的,代码多大,堆占多大,栈占多大,算得明明白白。现在跑AI模型,很多新手直接把模型量化后的参数大小当成了内存需求,实测一跑直接崩。
去年帮一个智能摄像头团队调bug,他们算出来总内存需求是128MB,结果夜间开人形检测,只要连出三个人形,系统直接卡重启。最后查出来,AI推理的中间缓存、量化的临时变量,根本没算进总需求里,实际峰值内存要180MB,差了小一半。
端侧AI嵌入式系统内存资源分配示意图
第二个大坑就是低功耗守不住。原来的嵌入式,没事躺idle模式,待机电流几个微安,一节电池用好几年。现在加了NPU,哪怕你不推理,只要NPU处于待命状态,待机电流直接涨几十倍,原来能撑一年的电池,现在三个月就没电,用户骂都骂死你。不过话说回来,端侧AI确实也香。原来做个手势识别、语音唤醒,要写几千行的特征提取代码,调参数调一个月,现在找个量化好的几兆小模型,直接烧进去就能跑,开发周期直接砍半,降本也很明显。
就是坑得多踩,踩多了才知道,哪些钱该花,哪些冗余该砍。
未来嵌入式系统设计的核心机会在哪里
未来嵌入式系统设计的核心机会在哪里
很多人说现在嵌入式卷,卷的都是抄公版方案混饭吃的,真的懂设计的,根本不愁活儿。第一个机会就是定制化RISC-V核的大规模落地。原来你做个专门的信号处理、AI加速,要加自定义硬件,流片一次几百万,小公司根本玩不起。现在RISC-V开放指令集,小团队也能自己加自定义指令,做出来的核,比通用核心功耗低一半,性能还翻一倍,成本反而降了,这对很多细分领域的产品来说,简直是降维打击。
第二个变化就是软硬件协同设计成了标配。原来都是硬件工程师先画板选芯片,软件工程师再往上堆代码,现在不对了,从立项第一天开始,软硬件就得一起聊:这个功能放硬件做还是软件做?加这块加速器能省多少功耗,摊到成本上合不合算?
我知道一个做助听器的国内团队,原来把降噪算法全放软件跑,芯片要跑100MHz,待机功耗3mA,后来把降噪的核心运算块改成硬件加速,10MHz就能满足需求,功耗直接降到0.4mA,电池续航翻三倍,售价比进口品牌便宜一半,上市不到一年就卖了几十万台。
对吧?现在很多人都盯着高端车机、高端工业嵌入式,其实很多细分的小领域,只要把设计做透,空间大得很。
干这行快十五年了,最大的感受就是,嵌入式系统设计从来不是考你能背多少芯片参数,也不是比谁用的芯片最先进。就是考你能不能沉下心,抠每一个字节的内存,抠每一毫安的电流,抠每一块钱的成本。
太多上来就堆料追求高端的,最后死在量产、死在成本,能留下来的,都是懂取舍的人。毕竟,卖出去能用,用户满意,才是真的好设计。