關(guān)于8位MCU的十個(gè)誤解,你中了幾個(gè)?
近年來(lái),隨著(zhù)工藝與IP的逐漸成熟,32位的MCU增長(cháng)迅速,風(fēng)頭之勁乃至16位的MCU基本上被跳過(guò)了?,F在說(shuō)嵌入式MCU,要么就是8位,要么就是32位,16位的MCU產(chǎn)品型號屈指可數。 本文引用地址:http://dyxdggzs.com/article/202212/441302.htm那么8位的MCU的情形又如何,很多嵌入式工程師都有一些誤解,下面來(lái)簡(jiǎn)單分析下。 8位MCU正在被淘汰 這是最常見(jiàn)的誤解。先說(shuō)事實(shí),根據最新的Gartner的市場(chǎng)報告,8位的市場(chǎng)營(yíng)收額和增長(cháng)額跟32位的相比都僅僅差幾個(gè)百分點(diǎn)。 考慮到8位的單個(gè)芯片比32位芯片要便宜很多的事實(shí),8位的出貨量其實(shí)遠高于32位的。 打個(gè)直觀(guān)的比方,現在我們有了高鐵,是不是所有傳統的普快、特快火車(chē)都要立即淘汰呢? 顯然事實(shí)并非如此,至于原因就太多了?,F實(shí)情況就是8位MCU曾經(jīng)的應用領(lǐng)域并不能立即用32位的MCU直接替代。 8位MCU缺乏創(chuàng )新 不少人會(huì )認為既然現在市場(chǎng)的寵兒是32位的MCU,廠(chǎng)商們是不是都沒(méi)有投入研發(fā)資源在8位產(chǎn)品上了。這么想的人可能一想到8位的MCU,腦海中會(huì )浮現40DIP的“經(jīng)典8051”的形象。 事實(shí)上芯片廠(chǎng)商們并沒(méi)有停止創(chuàng )新。比如CIP-51內核因為采用了一個(gè)時(shí)鐘周期等同于一個(gè)指令周期的設計,瞬間將同頻率的8051性能提高了12倍。國內的一些半導體廠(chǎng)商也有基于8051或其他8位內核的創(chuàng )新。 8位MCU難以使用C/C++編程 如果你了解Arduino的設計原理,這個(gè)誤解就不攻自破。 當然坦白講,8位的MCU使用高級語(yǔ)言編程確實(shí)比32位的MCU要困難些,主要障礙就是內存地址的不統一。 比如8051內核的內存地址就分為CODE、data、sfr、idata和xdata。如果涉及到banking就更復雜了。8位的PIC還有硬件Stack這樣更加“非主流”的設計,但是這些障礙都可以通過(guò)工具的優(yōu)化來(lái)緩解。 8位MCU專(zhuān)為簡(jiǎn)單應用而生 這個(gè)觀(guān)點(diǎn)倒是有幾分真實(shí),但是嵌入式應用本身就是簡(jiǎn)單應用居多。嵌入式系統應用的本身特點(diǎn)決定了8位依然有很多用武之地。外設和編譯器的進(jìn)化將慢慢拓展8位處理器的應用范疇。 8位MCU不能勝任IoT應用需求 IoT應用不是一個(gè)單獨的應用,而是一個(gè)復合應用。智能手表、智能音箱、主控制器、網(wǎng)關(guān)這種當然需要復雜的處理器來(lái)實(shí)現。 但是IoT應用還包含大量的傳感器節點(diǎn)、執行節點(diǎn)和轉換節點(diǎn)。這種節點(diǎn)用低功耗的8位處理器來(lái)實(shí)現更加適合。 8位MCU響應慢 這個(gè)就是完全的誤解了。 典型的嵌入式應用中,響應速度主要跟中斷響應和喚醒延遲相關(guān)。8位處理器有天然的優(yōu)勢(地址轉換工作量小、IP單元實(shí)現門(mén)數少),至少不輸于32位的處理器。 8位MCU的能效低于32位MCU 曾經(jīng)看過(guò)ARM公司的權威工程師寫(xiě)的一本書(shū),書(shū)中觀(guān)點(diǎn)是32位處理器的能效比高于8位的MCU,理由是32位處理器能快速處理完任務(wù),休眠時(shí)間的比例更大,但是這個(gè)結論包含一個(gè)假設,就是任務(wù)有一定復雜度。 如果任務(wù)本身非常簡(jiǎn)單,喚醒過(guò)程的功耗也很大,那么這個(gè)假設不成立。針對不同應用場(chǎng)景,不能簡(jiǎn)單說(shuō)8位、32位哪個(gè)能效比更高。至少在非常簡(jiǎn)單的應用中,8位的能效比要高。如果再加上單獨響應,無(wú)需CPU干預的一些任務(wù),8位的能效比甚至能高出很多。 相同價(jià)格的32位MCU功能遠強于8位MCU 這個(gè)也有一定程度的可信度,但是不要忘記有相當大的一部分應用使用8位的MCU就已足夠,在這種情況下,非要購買(mǎi)平均價(jià)格高一點(diǎn)的32位 MCU,成本就會(huì )上升。對于很多基本上標準化了的嵌入式產(chǎn)品來(lái)說(shuō),8位MCU還是具有一定的成本優(yōu)勢的。 8位MCU設計的應用不能適應未來(lái)變化 這是個(gè)思維角度問(wèn)題,作為嵌入式程序員,更應該考慮當前的任務(wù)。不管是什么類(lèi)型的MCU,如果產(chǎn)品形態(tài)變化了或者需求本身變化了,就要重新設計。未來(lái)誰(shuí)都看不清。 8位MCU開(kāi)發(fā)工作更繁重且沒(méi)有升級路徑 32位處理器的處理更加以軟件為中心,可以做更多的代碼復用。而8位處理器更多地利用硬件外設來(lái)完成任務(wù)。綜合而言,沒(méi)有絕對的差別。 只要是嵌入式處理器,升級路徑都不大明確。如果你采用既有8位,又有32位的產(chǎn)品的廠(chǎng)家,你會(huì )發(fā)現很多外設都很相似??紤]到現在圖形化配置外設的趨勢,升級路徑逐漸變得不那么重要,反正都是圖形化或者腳本化來(lái)生成基礎驅動(dòng)代碼。 |
評論