华大的半导体一直还没用过,最近想试用,主要是还没有机会拿到开发工具。但是呢,这种具体的比较,还是得至少看看key feather的,所以我就跑到华大半导体官网看了看,顺带呢,有一些对官网的使用——不是一些花边吐槽,主要是实打实的选型和搜索这方面的体验,希望如果华大官方的人看到了,可以注意一下,主要是善意地提意见,虽然有点不太好听的意思,希望理解理解。
首先说一下搜索这个事情,
在整个华大官网的首页,去搜索,比方说,HC32F030K8TA-LQFP64(题主可能打漏了个C),是无法搜到任何东西。
于是我只好点进 产品-MCU下面去找。
这个时候发现另一个很吐槽的东西,一般来说,像这个型号,我为了简单,通常我可能会输入 HC32F030K8TA,其实这都不算简单的,有时我甚至就想输入F030K8TA,为啥呢,因为前面的HC32,或者后面的LQFP64都只是封装而已,真正表达了不同的型号关键字应该是中间的那个,也就是说,不管怎样,简单地说,它应该允许半匹配的搜索。
然而不行,非得完整不可,所以我觉得,这个搜索功能可以加强一下。
实话说,不是所有人都像我这样乖乖的喜欢记住全型号的。
另一方面,这个命名其实挺奇怪的,F030K8TA这个命名方式和STM32的命名非常相似,如果果真是这样,那么,LQFP64这个封装,其实应该出现在末4位里的一位,缘何要再单独写一个呢?
是为了方便还是怎么呢?
这虽然是个与技术无关的细节,但是,其实对于一些心细的人来说,这会让他对贵司的管理、行事风格有一个整体判断,俗话说,细节见大处嘛。
而且,这个命名已经够STM32了,就不用避嫌了,反而其实直接点更好,因为大家已经很熟悉STM32的命名方式了,搭个便车没什么的,也方便从STM32过来的人,迅速熟悉这种命名方式。
好了,以上说完一些题外话,下面来正式对比这两款芯片。
这两款芯片,以下简称 F030 和 L136,其实光从F和L来看就肯定很不一样,L通常是低功耗的。而F,如无意外,是通用型。
下面具体是我根据官方给出的Key Feather,对它做一个细细的比较,仅供参考
1.低功耗,首先,L136确实是“低功耗”,为什么要加个引号呢,因为我觉得这种低功耗是很勉强的。
真正意义上的低功耗,应该是动态功耗,也就是运行时,全部功能可能都在用那种,以目前业界的状况,这种动态功耗达到100uA/mHz左右,才算勉强进入低功耗MCU的领域,比如STM32和STM8L系列,但是,要真正算能用的低功耗,那么,起码要到33uA/MHz左右,当然,目前能做到这个的,其实不算多,绝大多数所谓低功耗,都在打深睡眠和待机的功耗。
当然,目前业界最低通用/动态功耗的MCU,非ambiq apollo不算(不是给他们打广告,不过因为我比较早接触这款芯片,和他们的代理、原厂都比较熟),确实是一款非常优秀的低功耗MCU,要我说,属于目前的世界最低功耗通用型MCU,没有之一。他们的最新apollo3已经达到了10uA/mHz级别。
当然,对于一般的号称低功耗的MCU,要求不能这么高,但是,起码也应该达到stm32L系列的水平,前面说了,他们起码是达到了100uA/MhZ以下,刚才我查了一下,STM32L053,这款比较新,我以前接触过的是STM8L系列,就这一款,它的动态低功耗到达了88uA/mhz,这其实符合他们以往的L系列,大抵在90uA/MHZ左右。
相比之下,L136这款,动态功耗高达130uA/MHZ,看着差不多,但实际上确实几乎多了一半,那可就很不一样了,最重要的是,你L136动态功耗是130,F030这颗通用型的还是130,那么,其实就会让选型的人觉得莫名其妙。
当然,L136的低功耗,它是体现在 深睡眠 和 待机。而且前后两者,这两个数据相差的是10倍,这倒是有点拉开距离,能让人做出选择的理由。
不得不说,从实际应用来说,能做到 深睡眠 和 待机 显著的低,其实还是很有低功耗的应用潜质的。
但这里只不过是要说一下,在定位方面,其实F030和L136,在动态功耗方面,其实却是拉不开距离的。
这个会让我觉得,要么,其实你F030没必要这么努力把动态功耗拉地和L136一样——因为说实话,动态功耗做到130,工艺上我是不懂了,但是我觉得既然你的低功耗也是这个水平,而且虽说多了一半,但还是比较接近100这个水平的,那你是不是在这里过多花了功夫呢?
其实既然是通用,130和200,甚至300,人家就不会在意,那如果你这里不在意,你这颗通用型的成本是否可以做的更低,功能是否可以做得更加全面更加强大?
反之,如果说,其实130是随随便便通用就可以做到的,那你是不是就等于说,这个L136的低功耗,只在不干活睡觉的时候有用?
这其实会让人对你的低功耗系列产品缺乏信心,没有吸引力。毕竟,作为普通的单片机,低功耗不是说不干活就好了,该干活还得干活,干了活少吃饭那才是真的好养活。
以上对于低功耗吐槽的比较多,主要基于两个原因
一则我个人由于过去做智能可穿戴的关系,对功耗有比较苛刻和变态的追求
二则,因为这两颗料里出现了一颗L系列,那么,既然是L系列,我认为它就应该体现出低功耗,否则,会让人觉得你的产品系列大而不当,名不副实,这是很打击品牌形象的。
2.在定时器/计数器方面
L136有一个独特的超低功耗脉冲计数器PCNT,它具备了低功耗模式下的自动定时唤醒功能
3.同样地,L136提供了一个LPUART
别的,目前来说看不出太大的区别,同质性非常强。
但是,上述提到的这个PCNT和LPUART,作为低功耗应用方面非常重要、常用的定时器和串口,既然命名为低功耗,那么,就应该在数据手册里确切的告诉我们,使用这两个外设,你的功耗到底有多大。
你可以作比较,比如说,LPUART和普通UART,PCNT和普通TIMER,否则,你不明说,我们素来有一个经验,官方datasheet或者rm里面不写的东西,我们就当它不存在,因为这样回头我们找你说,你不是说这是低功耗定时器,低功耗串口么。
怎么就这个低法。
我是说如果我们具体测试出来,就发现,哦,人家普通定时器和PCNT,就,就差那么个10uA?
最后这一点吐槽,是很严肃的,作为一个开发者,我们当然会自己测试确认,但考虑到单次测试和芯片批次问题,我们在数据上,向来以官方手册为尊。而这,也是原厂对我们的一个公开承诺。这是一个老前辈和我说的,datasheet就像一份合同,它跑不了,不敢赖账。
而对于一颗单片机来说,在最核心的低功耗问题上,你不给出一个电流,那我们只能当你这个功能,其实有和没有,是没有区别的。
以上就是这两颗芯片大体上的区别。
整体上来说,除了深睡眠和待机功耗,以及有两个实际电流数据不明的 PCNT和LPUART之外,说实话,基本没差别。
所以,如果恰好上述这四个关键词是你的应用里所在意的,那么,我觉得你可以考虑L136,当然了,你肯定还要考虑价格和供货情况。
因为我就知道,一个厂商,不同料号,即使是一个系列,后缀稍有不同,它的供货和备料情况也是很不一样的。
另一方面,你要找原厂,PCNT和LPUART这两个的具体数据,你要他给出一个数据,而且这个数据要载入你们的合同。
除此之外,那我就觉得没区别了,而且通常来说,通用型一定比低功耗型要出现的早,出现的早意味着很多东西,比如各方面都更稳定些(质量、供货、批次),而且价格通常也更低,更重要的是,用的久了,坑自然也就少了。