我和其他人一样,对去年 EEVblog 上的一则新闻感到惊讶:一些微控制器的售价仅为每台 0.03 美元。这怎么可能呢?许多人以为这是特价商品或剩余物品。在深入研究了历史之后,我得出结论:超廉价微控制器占据了整个市场的一部分。它们几乎全部是由中国大陆或台湾地区一些鲜为人知的公司生产的。在本文中,我总结了我在这个相当不寻常的领域的研究成果。
我们已经知道,有相当多的功能强大的微控制器售价为 1.00 美元,但是售价 0.1 美元的 MCU 呢?它们真如书上所写的那么“糟糕”吗?
方法论
如何确定价值 0.1 美元的微控制器?如你所愿;定义的选择是任意的。我决定直接使用 LCSC 商店的 100 件价格。我发现有六家制造商提供一个或多个芯片,价格不到 0.1 美元,全部来自亚洲。如果芯片有不同的封装,我会选择 SOP8 选项。有些制造商有多个候选者,所以我不得不限制自己从最终的 8 个候选者名单中选择典型的设备。
我没有从 Digikey 或 Mouser 等大型分销商处找到价格为 0.1 美元的微控制器。显然,这并不意味着不可能从西方制造商那里找到这样的 MCU——这一切都取决于订单量。这里有两个因素:首先,LCSC 的加价幅度比大型分销商低得多。其次,大型MCU厂商不依赖小客户,因此对于小批量采购的产品可以自由定价。
在没有编程器和测试台的情况下,我只能根据规格来审查大多数设备,台湾应广科技(Padauk) 的 MCU 除外。
总共我从六家不同的制造商中挑选了八名候选人。汇总表如下。
有明显的相似之处——所有设备都是针对电池架构设计的,并且显然基于 Microchip PIC12。除MDT外,各厂商均对芯片设计进行了改变和补充。原因可能有两个:第一,他们想避免与 Microchip 产生法律问题;第二,PIC12 存在严重的局限性。他们致力于解决主要缺点——缺少中断、JMP/CALL 地址空间、存储库切换和外围设备。
不幸的是,制造商没有分享指令编码或内存算法等细节。所有这些设备的开发都必须通过制造商的 IDE 完成。除 Holtek 外,所有设备都依赖高压编程接口,并且不易在现场编程。
仅有台湾应广科技单片机Padauk 和台湾合泰Holtek 提供可多次编程的设备。
台湾合泰Holtek
Holtek是台湾知名的微控制器制造商。他们在这个类别中的代表产品 HT68F001 非常独特:一款具有 512 个字的程序闪存和 16 个字节 RAM 的有限设备。该架构与 PIC12 非常相似,仅由内部 32 kHz 振荡器提供时钟。由于每条指令需要 4 个时钟周期来执行,因此它每秒仅执行 8000 条指令!该芯片似乎是为超低功耗、性能轻量级应用而设计的。
该芯片有出色的文档。有一个网站、一个规范、应用说明和一个 IDE。它也是唯一具有低压闪存编程功能的芯片。所有这些都使得 Holtek 产品与众不同。
不过,考虑到这款芯片的功能有限,超低成本芯片领域似乎并不是 Holtek 的重点关注领域。
台湾应广科技
很明显,Padauk 在 0.1 美元以下的芯片市场中占据着主导地位。在这个价格范围内,他们提供几十种具有各种功能和案例类型的产品。 它们全部基于 Padauk MCU 架构,该架构比 PIC12 先进得多:它对 I/O 和 SRAM 使用单独的内存区域,并且允许在不切换存储体的情况下寻址整个内存。与所有其他设备不同,此处的堆栈位于 RAM 中。大多数指令在一个时钟周期内执行。 Padauk 架构的一个有趣且不寻常的方面是,它是为同步多线程而设计的,允许多个程序使用抢占式多任务方案在单个 MCU 核心上并行运行。
他们将这个概念称为“现场可编程处理器阵列”(FPPA)。 XMOS 在 XCore 架构中使用了类似的概念。小型 MCU 中多线程的一个有用应用是创建与主程序并行运行的虚拟外围设备,例如 UART、I2C。 我选取了他们三款SOP8封装的代表产品:PMS150C、PFS154、PFS173。它们都有一个FPPA模块,因此不支持多线程。 PMS150C 是最便宜的选择,售价为 0.033 美元,这使其成为最初的“三美分 MCU”。
该设备具有 1 千字一次性可编程内存和 64 字节 RAM。外设由许多竞争选项表示 - 一个 16 位定时器、一个带 PWM 的 8 位定时器、一个低频振荡器、一个带 4 位 DAC 参考电压的模拟比较器,可用于实现最简单的 ADC选项。这些足以实现传感器和控制模块的简单功能。 PFS154 的价格几乎是其两倍。但与PMS150不同的是,它拥有2K字的闪存,且可进行多次编程,这对于实际开发来说要方便得多。外围扩展了3x11位PWM模块,非常适合控制RGB LED。 最后,PFS173 在 PFS154 芯片的基础上进一步改进,增加了一个 8 位 ADC,并将闪存扩展至 3 千字,将 RAM 扩展至 256 字节。 Padauk 提供了一个用于汇编语言开发的 IDE 和一种相当神秘的 C 方言(Mini-C)。
他们有出色的中英文规格和一个双语网站。设备的编程是通过 5 或 6 线上的高压协议完成的,这使得现场芯片编程变得困难。
开源工具包
EEVblog 网站上围绕 Padauk MCU 形成了一个小社区,试图为他们的芯片创建一个开源工具链。大部分工作都在这个线程中描述。
截至 2019 年 8 月,已经完成指令编码的工程分析,描述了编程协议,开发了开放式编程器,并将对几种 PDK 架构变体的支持集成到 SDCC 中。目前已经可以使用完全开源的工具链来开发 Padauk 的所有提及的芯片。
普奥洛普
Puolop 是一家中国微控制器和各种混合信号模拟数字电路制造商,总部位于深圳。他们以其品牌提供各种各样的 Padauk 芯片,特别是较旧的 OTP 版本。
例如,Puolop PTB150CSE 看起来与 Padauk PMS150C 完全相同。它们的成本略低于原价(0.0315 美元对 0.334 美元)。目前尚不清楚这两个品牌之间有何联系,但看起来 Padauk 是 Puolop 的供应商。
该公司的网站和所有文件仅提供中文版本。没有理由更喜欢 Puolop 薯片而不是 Padauks 薯片,除了可能稍微节省一点价格之外。
Yspring Tech / MDT
Yspring Tech 是一家中国公司,提供多种功能可与 Microchip 竞争对手相媲美的设备。看来大部分库存都来自 MDT,这是一家 Yspring 收购或合作的台湾公司。微芯片过去一直抵制他们的商业模式。
Ysprings 将 MDT10P509 添加到此评论中,价格为 0.0795 美元。该设备似乎是 PIC12C509 的完全克隆。它可能作为原装产品的廉价替代品,但其性能明显不如同类别的其他产品。
MDT10P509 提供 1K OTP 内存、41 字节 RAM 和一个 8 位计时器作为外设。与 PIC12C509 一样,它没有中断,只有两级硬件堆栈,指令在 4 个时钟周期内执行。
结论
这些微控制器真的很“丑”吗?显然,这取决于你的观点。它们属于一类特殊的无服务产品,功能很少,批量购买的成本较低。您是否必须等待按下按钮然后让 LED 闪烁五次?您需要控制电池供电的小夜灯吗?成本低至0.1美元的芯片将帮助您降低生产成本并缩短开发时间。
问题在于,由于基于闪存的选项和在线编程有限,大多数此类设备的开发将是一项繁琐的工作。调试通常只能通过电路仿真器进行。
如果你喜欢使用廉价的微控制器,那么台湾应广Padauk系列无疑将是您的最佳选择。
它们拥有最强大的架构、包括闪存选项在内的广泛设备、良好的文档以及唯一具有开源工具链的产品线。