我和其他人一樣,對去年 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系列無疑將是您的最佳選擇。
它們擁有最強大的架構、包括閃存選項在內的廣泛設備、良好的文檔以及唯一具有開源工具鏈的產品線。