先说结论:在MCU领域,国产芯片崛起已经势不可挡。进口芯片即使再降价,也回不到从前的格局了。
国产芯片的价格和交期更有保障,因为:
- 国产厂商作为后起之秀,没道理坐地起价自掘坟墓。
- 国产厂商受疫情影响小,不管是物流还是生产。
- 实在不行还有社会舆论和社会主义政府协调。
我的公司已经按照这个思路完成了国产化替代,而且不会回头。
这是前两天发的朋友圈:

图中说的2019年踩坑,是指2019年MCU选型时,因为GD32比STM32还要贵一些,市场份额和生态又是STM远胜,所以就摇摆了一下,没有下决心国产。
当时我们在做单价100-1000万的全自动快递分拣机,基本所有零部件都是国产化的,只有MCU是进口的。

这是我五月发的朋友圈,那时候MCU价格还在山巅,两个月不到就降价了。
以下为补充回答:
昨天手机写了个答案,想不到有这么多网友互动(作为知乎万年老透明,这个互动量确实挺多了),再来补充一些答案,看看是否能解答评论中的一些问题。
1 关于可替代性
从事嵌入式开发选型的专家,可能把选型严肃性说得太严重了。我从事软件开发20多年,自己造轮子是家常便饭,在阿里8年,也经历轰轰烈烈的去IOE运动。我的态度向来就是“王侯将相宁有种乎”,经济效益和战略意义二者能收其一,则吾可取而代之。


1.1 软件代码与MCU解耦
说回MCU,可能是整个pcb板子上软件耦合度最高的,所以替换的时候鸡飞狗跳很正常。但我们搞互联网软件的很喜欢多层架构(mvc,mvvm框架遍地都是)。软件的精髓,在于封装复杂度和隔离变化。因此,我在启用国产化mcu的时候,把所有的软件也重写了,自己写了比ST公司HAL更高级别的软件sdk封装(也用了大量开源的类库),可以实现ESP32和STM32的互换,90%的代码是共享的。


与外部的通信和交互,不外乎UART,SPI,IIC,GPIO几种通讯接口和CAN,485,WIFI,EtherNET几种组网通讯方式,这些都是业界通用的,与具体的MCU厂商没有关系。
因此可以说,软件代码与MCU的耦合其实是不高的。
1.2 PCB板与MCU降低耦合度
PCB无法完全和MCU解耦,因为不同的MCU,管脚定义不完全相同(P to P兼容的例外,下面单独说),不同的MCU一般来说需要不同的PCB。
互联网应用大都比较复杂,因此特别注意【面向接口编程】,这对PCB设计也有参考意义。我们只要定义好MCU的上下游逻辑接口,更换MCU带来的PCB原理图变化并不是太大。以我们换掉STM32为例,我们主要用到GPIO,UART,SPI,CAN,ADC几个模块,GPIO,UART,SPI是所有MCU都支持的(无论国产还是进口厂商)。最多就是有些厂商不内置CAN(无论国产还是进口厂商),有些内置的ADC精度不够(比如ESP32),在板子上放一个专门的CAN控制器和ADC芯片就解决了。
改板子虽然不如我们互联网软件OTA升级软件方便,倒也不是那么重量级,外行人以为的PCB批量制造可能是1万片起步,10万块才有人给开机生产。实际并非如此,PCB来图加工领域有个神奇有公司,叫深圳嘉立创,5块板子就给做,我们在嘉立创做过的最小的单子只有300多块,是的,你没看错,就一顿饭钱。高榕资本的朋友告诉我,这个公司干PCB制造有20年了,最近上天眼查看了一下,发现这个公司去年拿了一笔天使投资,5亿人民币,投资方是红杉和钟鼎,看来接下来几年嘉立创都能继续给我们服务。
1.3 Pin to Pin无缝替换
很多国产厂商是提供Pin to Pin兼容型号的,比如STM32F103CBT6,把STM三个字母换成国产厂商就能得到很多兼容的芯片,例如GD32,AT32,HK32
这就更简单了,PCB基本无须改动。代码改动很少。
2 关于供应链安全和性价比
2.1 为什么ST涨价这么猛
实际上ST涨价是2020年的事,至少我2019年1月批量采购的时候价格还很不错。2020年爆发了新冠疫情。
需求端,很多工厂投资去做口罩机,FA(工厂自动化)相关的物料就显著地涨价了,比如台达的变频器,Beckoff的PLC。作为FA的大脑,MCU涨价是必然的。新冠肆虐两年多,高端制造业强国劳动力减少了几千万,必然有大量工厂自动化的需求,所以自动化领域的物料涨价将是长期的。
供给端,国外MCU大厂集中度较高,典型的有NXP,TI,ST,MicroChip,Renesas,Infineon,在供不应求的市场上,采取提价策略,不难理解。坊间传说是贸易商囤积抬价,我没有看到正规的报道,但是我确实接到过跨国大型电子元件代理商的通知说,他们的上游有管控,芯片要卖给我们这样的设备研发公司,不可以卖给囤货的贸易商。当然这种政策有多少效果,就难说了。
2.2 国产难道不一样涨价吗
其实这些年,国产也涨价了的,比如,2019年初,我买的 STM32F103RCT6大概是12块,而GD32F103RCT6贵两块是14块。现在,STM32F103RCT6从12涨到了58(两个月前是108),GD32F103RCT6从14涨到了22。
但GD(兆易)的市场地位可比STM差了十万八千里,没有坐地起价的资本。论生态,有台湾新塘;论P to P替换能力,有AT(重庆雅特力)、HK(航顺)虎视眈眈。专项领域,ESP(上海乐鑫)的WiFi全球市场占有率第一,WCH(南京沁恒)携USB之余威进入了MCU。
还有华润微电子、复旦微电子等国企压舱石。
由于对底层模拟电路要求不高,制程工艺要求不高,MCU设计制造的技术资金门槛其实远远没有外行想象的那么高,我知道有一家淘宝上卖LCD屏的公司(天眼查社保人数小于10人,也没有融资。我就不说名字了,估计这个公司也在知乎上),自己设计了LCD背板的MCU,而且还流片成功量产了,不少电子爱好者还写过试用博客。
既然技术和资金门槛不是特别高,那就进入中国人喜闻乐见拼性价比的环节了。因此,我们可以相信国产,相信没有谁胆敢像过去两年ST产品那样涨价,如果有,我们设计公司就用钱用知识投票把这样的厂商投下去!
3 国产化是降本增效第一选项
我以前做的领域是全自动快递分拣机。在中国,最近5年应该是没有一台外资品牌的设备投产了,原因就是中国人拼性价比太厉害了。厉害到西门子直接把分拣机事业部卖了。
当初我进这个领域时,做过调研,我发现大部分的中国公司是在做集成商,包括已经上市的几家公司。他们的核心部件使用进口品牌还挺多,只要做国产化替代,成本就有进一步优化的空间。这里举两个例子:
3.1 读码相机
读取快递条码的相机,业界的领导品牌是德国sick,日本keyence,美国cognex,datalogic,banner。其中有个很传奇的公司:日本keyence,净利润率接近40%(毛利率接近90%),是日本利润率最高最受投资人喜爱的公司之一。
他们家在快递分拣行业卖得较好的的读码相机,28000人民币一台。2018年,我发现,我公司附近10公里范围内有3家中国厂商:海康、大华、华为。海康的平替不到8000人民币,读码性能非常接近,只是体积和重量大几倍。
一台售价120万的设备,要用5个这样的相机,光是海康替换keyence就能省10万。现在海康大华在快递读码领域新设备的采用率,应该已经有几十个百分点了吧。
3.2 无线通信系统
分拣机上,快递运输单元以72km/h的速度高速环形运动,要和机架上固定不动的电脑通信,只能采用无线。又由于运动一周的周长有几百米,WiFi蓝牙这些自然是满足不了。所以业界大都都采用西门子的漏波电缆技术(根据上海浦东汉诺威物流展览观测得出此结论,样本空间10几个厂商)。
据测算,一台造价600万的分拣机,光是采购西门子的通信设备(PLC、漏波电缆、AP)就要120万。
有没有国产化替代呢,有,比如国产PLC的先锋,南京信捷,也做漏波电缆了,据代理商说价格只有西门子的一半。效果怎么样我不知道,我没采购过。我用的自己开发的PLC,通信方式也不是漏波电缆,而是红外线,只要不到10万就可以了,每台机器可以省110万。2022年,这个方案拿到了国家专利局签发的发明专利证书。


3.3 模拟器件
本来只是回答MCU领域的国产化替代趋势,评论有朋友提到,模拟器件国产化还不太行,这个难度确实有点大,研发难,制造也难,理论材料工艺都的相当的门槛。我们用模拟器件不多。但也有一些国产化做得还可以的:
比如深圳星空时频的晶振(我们采购过几千片,不多,用着还稳定),龙腾电子的MOS管(性价比高,不过也没比英飞凌收购的IR高太多)。
我进硬件领域这几年,最头疼的就是模电,太难了,简直是玄学。估计这个领域还需要一些年头才能突破吧。
4 请相信国产供应链
总之一句话,请大家相信我们的国家,我们的科研。
7月19日更新:
MCU与软件代码解耦示例
有朋友评论问比HAL封装更高级的SDK,我从代码库中找了一段监听串口消息的代码,贴上来。


因为串口通信是非常普遍的操作,我把SerialPortUtil及SerialFrameConfig定义在SDK里,手写了它们的实现,可见:
- 做应用开发的同事,无须关心底层用的什么MCU,只需关心串口消息的格式(头尾,定长,变长,BCC)。其次,约定一下串口波特率,常见的9600-115200的波特率基本所有MCU都支持。如果是好几M的波特率,可能会挑MCU,但也有好几个备选的品牌
- 每种MCU一个.h文件,文件中定义好所用串口的TX/RX管脚即可
这个产品原本用的STM32,后来换成ESP32,一台机器有几百个MCU,为了保证客户不停机,软件代码需要同时支持STM32和ESP32,我们只需要定义不同的.h文件即可,header文件如下:




很多答主显然没有参与过嵌入式设备的开发工作。一个产品,初期选型定芯片。如果不经过足够严重的变故,是不会轻易更换的。什么叫足够严重呢,造成整个产品有1%以上的成本提升,这往往意味着利润下滑20%以上,甚至一些低利润的产品直接被吃掉所有利润,进入亏损。
过去的几年里,我认识的很多工程师在设计新的产品,需要使用单片机之类的芯片时。虽然不说完全不用国外芯片,但把国外芯片的优先级已经放到非常低了。注意,我说的是”国外芯片”,而不仅仅是美国芯片。
过去的两年里,因为疫情原因,其他国家的芯片也都供应紧张。我之前曾经花过很多精力研究STM32单片机,其制造商ST是一家欧洲公司。但在疫情期间,其主力产品STM32F103C8T6,从最低7元左右涨到120元。这个价格涨幅,直接导致很多产品在不大幅涨价的情况下,直接就是亏损。而产品跟着涨价呢,消费者可能不认,就不买了。
在这期间,就有很多公司发生了很多修改设计,启用国产芯片的事情。好在STM32的国产替代品挺多的。比如兆易创新的GD32,与STM32的大多数产品做到了引脚兼容,程序兼容。如果之前的程序没有依赖一些特别冷门的特性,基本上连固件都不需要重新编译就能用。
以前也有一些基于树莓派的产品,也由于树莓派动则两三倍的涨价,而直接停止制造和销售了。比较新的报价里树莓派4B超过了1000元。
我个人的一些项目里,很多以前用STM32的,也大多换成了ESP8266/ESP32。
回头说题主的假设,如果美国放开芯片了。国外的芯片在性价比,供货稳定性上仍然完全无法与国产芯片相比。功能类似的东西,我为啥要花几倍甚至几十倍的价格用国外的?更何况鬼知道下次突然给我涨价几十倍是啥时候?生意还做不做了?
这还是在有机会切换回去的领域。如果是像我从STM32切到ESP8266/ESP32的过程,就切不回去了。设计上差异过大,想要重新回去意味着修改PCB设计,修改固件,软件工具链要全都跟着变。更何况ESP8266/ESP32有WiFi连接能力,而STM32必须依赖外部WiFi模块,甚至是依赖ESP8266。想要切换回去的成本高到了不需要考虑的地步。
所以,为什么还要回去用国外芯片,是嫌自己挣得多?必须把一部分利润让利给外国人。还是嫌自己头发多,把已经做好的产品重新走一遍研发流程?亦或是觉得总是以稳定的价格买国产芯片不够刺激,想把自己的钱包当韭菜交给国外芯片厂和芯片黄牛?
分割线…
我过去12年里,用stm32做了很多好玩的东西。arm大类的笔记67万字里,单stm32的就有55万字。相当于我半年多的笔记量。我的笔记不存在拷贝,全是手指头敲进去的。然后ST就搞出涨价近20倍的破事。这对我来说要忍受多大的沉没成本,希望读者能体会一下。至今我esp8266/esp32的笔记还不到10万字。stm32的多通道高分辨率ADC,众多GPIO等仍然无法用esp8266/esp32实现。但相对于不稳定的供货,这些困难都必须要付出巨大的成本来解决。但一旦走通,再想让我回去用供货不稳定的国外芯片就不可能了。
下图为我在研究stm32时的笔记目录。

如上笔记里,字数过万的书都是还不错的。大家有兴趣可以购买来学习。虽然stm32存在涨价和供货问题,但高度兼容的国产芯片仍然可以利用上这些知识。从这些书学习起来的知识也不会浪费。





