查看原文
其他

国产超低价单片机五宗罪!“扶不起”的原因就是它们?

嵌入式ARM 2021-01-31

Editor's Note

“去美化”进程上,有正面的声音的同时也要去指正,来不断改进。“对于国产单片机这些指责,应该说,直到今天都不算冤枉。国产的确有不少扶不起的原因!”

The following article is from TechSugar Author 锐评辛

本篇文章转自微信公众号TechSugar(ID:techsugar)


早在十几年前,市场上就一直有不少配置、引脚,乃至价格都和STM8S003F3P6相当的低价单片机,其中一些价格甚至可以低至一块以下,基本上都是国产厂商,当然也有一部分日系,比如曾经的NEC。


但对这些国产单片机,我们的评价一直都不高。


文︱锐评辛



这款单片机最早大概在2012年前后面世——现在我能找到关于它的最早讨论是2012年6月。意法当时推出这款单片机意图非常明显:进一步蚕食STM32还不能完全覆盖的低端市场——还有人认为,意法最终的目标其实是,进一步把这些开发者引向STM32。


赤裸裸的,简直司马昭之心路人皆知。






略显仓促的出场——我怀疑你就是103却拿不出证据





应该说,STM8S003F3P6的出场,略微有点仓促。


最明显的一点就是,这颗料刚推出的时候,网上关于它的讨论里,总会发现一些和数据手册对不上的现象。


数据手册写明,它片内集成了120个字节的EEPROM,但有人测试却发现,其实有640个字节可用。


这种“超值”现象却绝不是什么好事——因为你永远不知道什么时候,这个“超值发现”就会打回原形。如果你去找他理论,原厂却可以拿着数据手册理直气壮拒绝负责。所以这种物超所值的便宜非但不敢占,而且还会引起我们的警惕——你说的太少或太多,都会让人更惶恐。


然而巧合的是,此前推出的另一个型号STM8S103,它的EEPROM就是640个字节,且在意法官宣中,这款003本就是用来替代103的。

另一方面,当时,STM8S003的FLASH能保证的烧写次数只有100次——任何一个稍微懂点硬件的开发者都知道无论哪种FLASH,这个次数都低得离谱。有开发者在网上宣称他们经过测试,也证明了绝非只能烧录100次。


当然,所谓“保证100”次和“能烧100次”,解释空间可以大到跨越太平洋,这种文字游戏其实我们已经非常熟悉——一切以手册说明为准。


这种种现象,不免让开发者生出一种怀疑:哎呀!STM8S003不会就是STM8S103抹掉了丝印换了个名字吧?不然怎么EEPROM会物超所值呢?如果不是因为急于推出这款产品而减少了测试一类的正式流程,怎么会只保证100次FLASH烧录呢?


不管这些猜测是否准确,但种种迹象却无疑表明这款产品的推出显得有点仓促。作为一个顶级大厂,意法的这种仓促推出,市场普遍解读为:意法急于推出这颗芯片,来抢占低端市场,而且,似乎也真的不是那么在意它,有点投石问路的意思。


所以在最初的几年里,尽管它备受关注,但真正用的人却不算太多,叫好不叫座。






所向无敌的杀手锏





但无论如何,这款以1块4人民币的超低价震撼登场的单片机,打破了以往只有国产(包括陆系和台系)中小品牌才能做到的价格,又凭借意法的顶级品牌和STM32的巨大成功的背书,这款单片机的推出在当时还是非常引人注目。


不过,在2017年以前,上市五年左右的时间里,其实它的表现平平,2016年年底以前,网上关于这款单片机的讨论都不算特别多。


当时间来到2017年,无线手机充电器的火爆——当时市面上有大量的无线充电方案都采用了这颗高性价比的料,也因当时正经历一波电子元器件的涨价潮。


于是,从2017年年中开始,半年内,它从平常的1.2这个批量价开始,一路上涨,到了2017年年底的时候,价格已经涨到2.5左右,足足翻了一倍有余。然而仍未见顶,其后继续往上涨,很快就到了3.5左右,甚至一度摸到4块。


不幸的是,随着无线充电器的概念热迅速退烧,以及此前大量的贸易商盲目大量囤货居奇,加之市场上使用了这颗料的产品大量积压,一波暴跌在即——几乎也是在半年左右,从2018年年中开始,到了当年年底它就跌回到原位,1块4。


被割了几次韭菜的股民锐评辛,虽然未能亲身经历这场疯狂的涨跌,却也忍不住感慨:妖股也不过如此啊!


这一波疯狂的涨跌以后,市场上不少从业者对STM8S003F3P6这颗料心有余悸,其中不乏厉声口诛笔伐者,发誓再也不用这颗料。


也几乎在同一时间,市面上,国产厂商看到了这颗料的市场潜力,纷纷推出了脚对脚的替换型号。而这个时间段恰逢芯片国产代替加速的阶段。


而此时市面上,国产芯片品牌、推出的产品种类以及口碑都有了不小的进步。仅仅针对STM8S003F3P6的替代型号,我搜百度能直接找到的就有10余个厂商。其中比较知名的就有比如新唐 N76E003AT20、芯圣 HC89S003F4、华大 HC32F003、赛元SC92F8003X20U。


然而,可能是得益于意法的背书和它在中国十余年的深耕,即便这样,前有价格疯狂波动的前科,后有不乏新唐这样的老牌厂商推出替代型号。这颗料却依然屹立不倒,维持在最初的价格,直到今天,当真是非常了不得。


锐评辛认为,这恰恰说明了这颗料对于它的众多替代者,仍然有着不小的优势。这也从一个侧面说明当初意法推出这款单片机尽管略显仓促,还有点不太在意的姿态,却取得了巨大的成功,不夸张的说,它把低端单片机这个市场搅得天翻地覆。






低价单片机五宗罪





实际上,早在十几年前,市场上就一直有不少配置、引脚,乃至价格都和STM8S003F3P6相当的低价单片机,其中一些价格甚至可以低至一块以下,基本上都是国产厂商,当然也有一部分日系,比如曾经的NEC。


但对这些国产单片机,我们的评价一直都不高。不管是愿意试用的——比如现在的我,还是坚决不用的人——以前的我。在我们眼里,无论陆系还是台系,都是低质量、稳定性低、抗干扰性差、只能做玩具不能做(工业)产品的代名词。


事实上,这些指责,应该说,直到今天都不算冤枉。国产的确有不少扶不起的原因。



1.OTP——问题不大


所谓OTP,就是说只能一次性烧录。其实,这并不是什么太大问题,因为完全可以在程序调试开发完成后再批量烧录。另外,厂商通常会推出对应的FLASH芯片可反复烧写方便开发,或者通过特殊的下载仿真器进行开发调试。


而大多数产品实际上又不需要在生产后再升级程序,比如儿童玩具。



2. 工具链——回回都新鲜


基本上我们平时熟悉的Keil、IAR这些通用IDE,都无法在这些单片机的开发上使用,用一家的芯片,就要用一套新的工具链。


而比起上述的通用软件,这些工具的易用性、品质、功能都相差甚远。


更重要的需要花时间去熟悉和学习,这就意味着时间投的入,如今产品的研发、生产、投向市场的速度越来越快,投入时间重新学习意味着学习成本的增加。此外,企业招聘、培养开发人员方面来说,更是一笔不小的隐形支出。


而如果采用的是STM8S系列,虽然也是引入了一款新单片机,却可以使用熟悉的工具链比如IAR、STLINK——


不管8位还是32位,ARM内核还是非ARM内核,其实从工具链到ST库,对我们的开发者而言,根本没有任何区别的。而这种诱惑,对于我这样的个人开发者以及众多小微企业,是绝对难以抵制的诱惑。



3. 品质——冷了热了都不行


品质其实很难简单几句话或者用一些参数来衡量,因为品质是一个非常综合的评价,它不单取决于主控本身。一款好的单片机,如果程序写的不好或者外围电路做得不好,照样可能表现差劲,反之亦然。


但许多时候,我们稍加分析就会发现,问题确实出在单片机本身,与其他无关,我们以温度这个环境变量带来的影响做一个简单的例子。


经常会有一些开发者发现,他们做的产品在南方好好地,但是到了东北,冬天的时候温度到了零下,就会出现概率性的死机、程序跑飞。相类似的,在夏天,到了温度很高的地区,比如白天的新疆,也会出现类似的问题——然后他们重新烧了程序以后发现一切就正常了。


当然了,做产品,本就应该做彻底的测试,高低温测试本属产品的常规测试。上述这些尴尬的问题都是因为产品测试不足才会发生。但是,考虑到芯片数据手册里所标明的电性能参数表和实际不符,会让我们对这颗料,甚至这个品牌产生极其恶劣的印象,极可能从此一生黑。



4. 参考资料——卖国内你全英文?


相比于知名大厂来说,中小厂商在资料方面的差距往往也最让开发者无语至极。


其中最恶劣的问题通常是随意篡改资料,恶意隐瞒缺陷。某些小厂或者代理商,会因为发现一些功能和特性无法实现通过测试,于是就干脆当不存在一样抹掉。当然,像合泰、松翰这样的老厂是做不出这种事的。


另外有一点,有许多本土品牌的厂商,产品也主要在国内销售,资料却是英文的,简直就是不拿国内客户当一回事。而且也会造成不必要的使用障碍——哪怕是我这样长期阅读英文资料的人,中文资料带来的方便也是很大的体验差异。


当然了,更过分的就是,英文资料做得很好,而中文资料却狗屎不如。比如奇葩的宏晶STC,它的英文官网和英文数据手册可是干干净净,没有什么扯淡广告的。可它的中文手册却绝对奇葩冠绝全球。


不过今天,这些现象都得到了很好的改善。当然,也有像STC这种奇葩的特例,简直闻所未闻,而且十年不改——如此冥顽不宁而品质一般,价格并没有很大的优势的东西,实在让人找不到什么理由去使用它。



5.不理小客户——我爱你你却不爱我


这些主打高性价比的单片机,绝大多数都是针对专门的、特定的专用市场,通常这些小厂的片子基本也没有足够的人力物力,去铺开更大的用户群——它们也通常抱着闷声发财的心态,无心也无力扩大客户群。大多数时候,它们只会对量大的用户提供足够的服务。因此我们这样的个人开发者,小公司,轻易是不敢导入这种物料的。


从这个角度讲,当1块4的STM8S003F3P6出现的时候,所有国产厂商,无论陆系台系,你们不应该感到愤怒或者不解的,因为你们活该!






论备胎的必要性





一直以来,使用进口还是国产芯片在开发者圈子里的一直都是一条旗帜鲜明的鄙视链,哪怕是比陆系成熟很多的台系芯片一样受鄙视。支持者、反对者都可以口诛笔伐,都会找到各种各样的理由。但说到底,最后通常都是心态和情绪在作祟,而对于认识实际的情况于事无补。从我自身来说,这两种论调都不应偏执一方。


一方面,国产低端单片机确实有诸多问题存在,不能假装看不见,当然,随着时间的沉淀,有不少产品已久经历练,逐步变地让人放心。


另一方面,随着2019年5月美国对华为的禁售,还有延绵至今的中美对抗。单纯的在商言商成了一种天真的幻想,未来会怎样我们不知道,所以应该未雨绸缪,提前准备。


何况,即使没有这种政治上的极端环境,单单就商业而言,还记得前面提到的2017年到2018年那一波因为无线充电热引发的疯狂涨跌吗?


厂商的供应能力,市场的变幻莫测,人心的浮动。如果永远只仰仗单一大厂,那比起使用一堆品质可能一般的国产小品牌,可能还要糊涂,还要危险。


说到这里,我想起了华为,它的做法是很值得参考的。


一方面,华为不为民族情绪绑架,谁家的产品好,有价格优势,那就用谁的芯片,不管它是哪个国家产的。另一方面,它也不会天真到认为这是纯粹的市场经济,华为始终在做两手准备,这也使得它在去年面对美国商业务疯狂的制裁中没有被打倒。用一句套话说就是:


“我不以最恶毒的用心去揣测世界,却不得不有所防备,维以不受伤。”


回到这个问题上,我已经决定使用STM8S003F3P6来作为一款通用的简单功能低成本主控。这的确是一颗很优秀的芯片,但前事不忘后事之师,我意识到,我必须同时准备一两个它的替代型号。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存