近年來,隨著工藝與IP的逐漸成熟,32位的MCU增長迅速,風頭之勁乃至16位的MCU基本上被跳過了?,F(xiàn)在說嵌入式MCU,要么就是8位,要么就是32位,16位的MCU產品型號屈指可數(shù)。
本文引用地址:
那么8位的MCU的情形又如何,很多嵌入式工程師都有一些誤解,下面來簡單分析下。
一、8位MCU正在被淘汰
這是最常見的誤解,先說事實,根據(jù)最新的Gartner的市場報告,8位的市場營收額和增長額跟32位的相比都僅僅差幾個百分點??紤]到8位的單個芯片比32位芯片要便宜很多的事實,8位的出貨量其實遠高于32位的。打個直觀的比方,現(xiàn)在我們有了高鐵,是不是所有傳統(tǒng)的普快、特快火車都要立即淘汰呢?顯然事實并非如此,至于原因就太多了?,F(xiàn)實情況就是8位 MCU曾經(jīng)的應用領域并不能立即用32位的MCU直接替代。
二、8位處理器缺乏創(chuàng)新
不少人會認為既然現(xiàn)在市場的寵兒是32位的MCU,廠商們是不是都沒有投入研發(fā)資源在8位產品上了。這么想的人可能一想到8位的MCU,腦海中會浮現(xiàn)40DIP的“經(jīng)典8051”的形象。事實上芯片廠商們并沒有停止創(chuàng)新。比如CIP-51內核因為采用了一個時鐘周期等同于一個指令周期的設計,瞬間將同頻率的8051性能提高了12倍。國內的一些半導體廠商也有基于8051或其他8位內核的創(chuàng)新。
三、8位處理器難以使用C/C++語言編程
如果你了解Arduino的設計原理,這個誤解就不攻自破。當然坦白講,8位的MCU使用高級語言編程確實比32位的MCU要困難些,主要障礙就是內存地址的不統(tǒng)一。比如8051內核的內存地址就分為CODE、data、sfr、idata和xdata。如果涉及到banking就更復雜了。8位的PIC還有硬件Stack這樣更加“非主流”的設計,但是這些障礙都可以通過工具的優(yōu)化來緩解。
四、8位處理器專為簡單應用而生
這個觀點倒是有幾分真實,但是嵌入式應用本身就是簡單應用居多。嵌入式系統(tǒng)應用的本身特點決定了8位依然有很多用武之地。外設和編譯器的進化將慢慢拓展8位處理器的應用范疇。
五、8位處理器不能勝任IoT應用需求
IoT應用不是一個單獨的應用,而是一個復合應用。智能手表、智能音箱、主控制器、網(wǎng)關這種當然需要復雜的處理器來實現(xiàn)。但是IoT應用還包含大量的傳感器節(jié)點、執(zhí)行節(jié)點和轉換節(jié)點。這種節(jié)點用低功耗的8位處理器來實現(xiàn)更加適合。
六、8位處理器響應慢
這個就是完全的誤解了。典型的嵌入式應用中,響應速度主要跟中斷響應和喚醒延遲相關。8位處理器有天然的優(yōu)勢(地址轉換工作量小、IP單元實現(xiàn)門數(shù)少),至少不輸于32位的處理器。
七、8位處理器的能效低于32位處理器
曾經(jīng)看過ARM公司的權威工程師寫的一本書,書中觀點是32位處理器的能效比高于8位的MCU,理由是32位處理器能快速處理完任務,休眠時間的比例更大,但是這個結論包含一個假設,就是任務有一定復雜度。
如果任務本身非常簡單,喚醒過程的功耗也很大,那么這個假設不成立。針對不同應用場景,不能簡單說8位、32位哪個能效比更高。至少在非常簡單的應用中,8位的能效比要高。如果再加上單獨響應,無需CPU干預的一些任務,8位的能效比甚至能高出很多。
八、相同價格的32位處理器功能遠強于8位處理器
這個也有一定程度的可信度,但是不要忘記有相當大的一部分應用使用8位的MCU就已足夠,在這種情況下,非要購買平均價格高一點的32位 MCU,成本就會上升。對于很多基本上標準化了的嵌入式產品來說,8位MCU還是具有一定的成本優(yōu)勢的。
九、8位處理器設計的應用不能適應未來變化
這是個思維角度問題,作為嵌入式程序員,更應該考慮當前的任務。不管是什么類型的MCU,如果產品形態(tài)變化了或者需求本身變化了,就要重新設計。未來誰都看不清,何必考慮那么多沒有實際意義的前瞻。
十、8位處理器開發(fā)工作更繁重且沒有升級路徑
32位處理器的處理更加以軟件為中心,可以做更多的代碼復用。而8位處理器更多地利用硬件外設來完成任務。綜合而言,沒有絕對的差別。
只要是嵌入式處理器,升級路徑都不大明確。如果你采用既有8位,又有32位的產品的廠家,你會發(fā)現(xiàn)很多外設都很相似。考慮到現(xiàn)在圖形化配置外設的趨勢,升級路徑逐漸變得不那么重要,反正都是圖形化或者腳本化來生成基礎驅動代碼。
MCU(單片機)按照位數(shù)主要劃分為4位、8位、16位、32位及64位,位數(shù)越多,數(shù)據(jù)處理能力越來越強,應用場景變得更加復雜。觀察整個應用市場,8位和32位是兩大主流,16位則處于二者之間,目前只有部分經(jīng)典產品擁有存量空間。
8位MCU至今已經(jīng)應用了幾十年,一直是無數(shù)嵌入式應用的主力,尤其是消費產品和醫(yī)療器械中的應用。2012年飛思卡爾推出號稱“8位MCU終結者“Kinetis L系列,近十年也陸續(xù)有業(yè)內專家宣稱“8位MCU已死”。
雖然32位的MCU越做越強,也越做越便宜,但整個市場對于8位市場的應用量從來沒有放緩的跡象。為什么直到現(xiàn)在,8位MCU仍未被淘汰,這其中有哪些邏輯,未來又會怎樣發(fā)展?付斌丨作者 電子工程世界(ID:EEworldbbs)丨出品
8位MCU,老兵不死
現(xiàn)在的MCU市場,充斥著矛盾。一方面,廠商們對于8位MCU的未來擁有信心:
Microchip(微芯)在今年4月宣布一項新的晶圓廠制造計劃,耗資8億美元將其位于美國俄勒岡州的格雷舍姆制造工廠產能提高兩倍;
Silicon Labs(芯科科技)在本月宣布推出全新8位微控制器(MCU)系列產品BB5系列;
瑞薩推出RL78/G15,繼續(xù)深耕8位MCU,但也布局16位MCU;
另一方面,全世界又在加速推出低成本的32位MCU,想要替代8位MCU:
ST(意法半導體)推出STM32C0,用于替代8位MCU;
靈動微電子推出MM32F00、01系列MCU,目的也是替代8位MCU;
沁恒推出5毛的RISC-V單片機,價格極具誘惑力;
兆易創(chuàng)推出GD32VF1系列處理器;
TI(德州儀器)推出基于ARM Cortex-M0+的MSPM0系列產品,降低了成本、復雜性,并縮短了設計時間,今年首次推出數(shù)十款產品以外,德州儀器計劃在今年推出100多款MCU;
STC明確將2023定義為32位51單片機元年,表示要全面進軍32位MCU市場。
IC Insights數(shù)據(jù)顯示,2011年~2020年全球MCU產品中,4/8位MCU占比為15%。到2026年,全球4/8位MCU依然有24億美元的規(guī)模。
早在十幾年前,有人在預測8位MC即將退出市場,不過由于其成本具有明顯優(yōu)勢,現(xiàn)在依然在諸多領域大殺四方,甚至跟32位MCU市場份額在長時間里維持一種微妙平衡。在2020年中國通用型MCU市場中,8位市場占比達43%。
又便宜,又省電,誰不愛?
對很多簡單的應用來說,8位MCU已經(jīng)足夠了,完全沒必要選擇32位,適合的產品才是最佳的選擇。
8位MCU的功耗、成本、體積一定比32位MCU低。
例如,智能停車場中的傳感器/指示器、聯(lián)網(wǎng)路燈、自動化城市園藝和植物監(jiān)測,這些地方不需要那么高大上的功能,就是做個采集,對這種設備來說,更換電池是一件非常耗費人力物力的事。8位MCU可以做到幾十nA的休眠電流,幾百nA的看門狗定時器電流和實時時鐘/日歷電流。
再比如,小型設備的優(yōu)勢和價值不僅體現(xiàn)在其降低的功耗方面,更體現(xiàn)在其更小巧的外形上,這使它們非常適合空間受限的便攜式電池供電類物聯(lián)網(wǎng)產品。8位MCU常見封裝是20引腳超薄正方扁平無引線封裝(VQFN),其尺寸為3x3mm,32位MCU常見封裝則是4x4mm的QFN。因為增加更多功能需要更多連接和更大封裝,但具有足夠功能的8位MCU可以安裝在無法使用16位或32位MCU的電路板空間中。
又比如,現(xiàn)如市面上8位MCU售價還不到1元,廠商依然能夠保持不錯的毛利率。但對32位MCU來說,即便廠商能把價格壓到1元以下,毛利也會變得非常可憐。專家也曾表示,相對8位MCU,32位還沒有表現(xiàn)出足夠的性價比。
當然,對于8位MCU來說,在硬參數(shù)上的優(yōu)勢也并非絕對。比如說,ST推出的STM32C0擁有9種小巧緊湊的封裝形式,從最小的SO8N到最大的LQFP48,從8pin到48pin,而普通MCU的引腳數(shù)很少能達到20pin以下。
工程師愛用,才是硬道理
很多工程師已經(jīng)習慣了使用8位MCU做開發(fā),所以在選擇的時候8位自然是首選。
一個產品之中,使用芯片和選型的是工程師,對大部分工程師來說,如果使用8位MCU就能滿足應用需求,專門換32位MCU,不僅意味著要重新學習一套系統(tǒng)內容,也意味著產品要重新再驗證一遍,這其中但凡出了差錯,最終影響的都會是整個產品。
Silicon Labs也表示,對開發(fā)人員來說具有挑戰(zhàn)性的是,大多數(shù)8位和32位MCU使用的開發(fā)工具不同,這使得開發(fā)人員很難同時開發(fā)這兩種MCU。因此開發(fā)人員盡管不需要更強的計算能力,但通常會承擔額外的開發(fā)成本。
“能用8位MCU的,為什么要多此一舉換成32位MCU。原則是夠用就好,不同任務需求不同,滿足需求下也必須追求性價比?!惫こ處煴硎荆w積、功耗、成本,這些都是8位MCU存在的原因。幾毛錢的8位MCU怎么都比32位MCU便宜。我們做工程研發(fā)的,只要性能夠用就可以了,成本節(jié)約,用好用盡器件的每項性能才是真正該考慮的。很多8位MCU性能也很強大的,假如一些低端產品用不了那么多性能,就沒必要用32位了吧。(原帖地址:http://www.eeworld.com.cn/aPiH4yT)
一位工程師預測,8位MCU仍將在今后十年內持續(xù)存在,每天都還會有新的8位應用出現(xiàn)。決定集成電路價格的根本在于芯片面積,只要這個規(guī)律還在,8位MCU就不會消失,甚至不會退出主流的地位。而對M0來說,16位MCU才是取代的對象。
很多人認為,8位MCU使用高級語言編程,會比32位MCU要困難些,主要障礙就是內存地址的不統(tǒng)一。比如8051內核的內存地址就分為CODE、data、sfr、idata和xdata,涉及到banking就更為復雜,還有硬件Stack這樣“非主流”設計,但這些障礙都可以通過工具優(yōu)化來緩解。