每項新應(yīng)用設(shè)計都需要一個單片機或微處理器。當在兩者之間選擇其一時,需要考慮一些因素。以下是微處理器、單片機的概述和對比。
考慮選擇微處理器(MPU)或者單片機(MCU)時,應(yīng)用類型通常是關(guān)鍵因素。
另一方面,最終選擇取決于諸如操作系統(tǒng)和內(nèi)存之類的因素。不過,有時可以將微處理器和單片機內(nèi)核結(jié)合使用,這稱作異構(gòu)架構(gòu)。
1、操作系統(tǒng)
對于一些基于Linux或安卓等操作系統(tǒng)的計算機密集型工業(yè)和消費類應(yīng)用,需要大量高速連接或功能范圍廣泛的用戶接口,微處理器就是最佳選擇。
這是因為大多數(shù)單片機都沒有操作系統(tǒng),而只有裸機程序,借助于順序處理循環(huán)和狀態(tài)機,幾乎無需任何人工干預(yù)即可運行程序。
然而,許多高性能單片機可以支持諸如FreeRTOS之類的實時操作系統(tǒng)(RTOS),從而以確定性方式實時響應(yīng)需要硬實時行為的應(yīng)用程序。
作為具有許多免費軟件、廣泛硬件支持和不斷發(fā)展的生態(tài)系統(tǒng)的通用操作系統(tǒng),嵌入式Linux取得了巨大的成功。
它的另一個優(yōu)點就是沒有用戶或授權(quán)許可費用。不過,與嵌入式Linux一起運行的應(yīng)用程序至少需要300至400 DMIPS(ARM-Dhrystone MIPS)性能,因此較適合使用微處理器。單片機沒有足夠的計算能力和內(nèi)存來應(yīng)付此類應(yīng)用。
如果是用于復(fù)雜或?qū)崟r性要求高的控制系統(tǒng), RTOS則很有用,但至少要配合50 DMIPS的高性能單片機。這比嵌入式Linux所需的性能要求要少得多。傳統(tǒng)的RTOS設(shè)計精簡,因此可以在單片機上運行。
針對實時計算硬件時,這是合理的,例如用于車輛的防抱死系統(tǒng),若響應(yīng)時間過長會帶來致命的后果。即使必須支持大量的功能、中斷源和標準通信接口,也建議使用帶有RTOS的單片機。
2、內(nèi)存
微處理器與單片機之間的另一個主要區(qū)別是,微處理器依賴外部存儲器來保存和執(zhí)行程序,而單片機則依賴嵌入式閃存。
在微處理器中,程序通常存儲在非易失性存儲器中,例如eMMC或串行閃存。在啟動過程中,將其加載到外部DRAM中并在此執(zhí)行啟動程序。DRAM和非易失性存儲器都可以具有幾百兆甚至幾千兆字節(jié)容量,這意味著微處理器幾乎從來不受存儲容量限制。
但有一個潛在缺點:外部存儲器或許會使得PCB布局的設(shè)計變得更加復(fù)雜。
即使是當前的高性能單片機,例如由意法半導(dǎo)體(STMicroelectronics)生產(chǎn)的STM32H7,最多也僅提供2 MB程序內(nèi)存,對于許多需要操作系統(tǒng)的應(yīng)用而言可能不足。由于程序位于片上內(nèi)存中,因此其優(yōu)點是執(zhí)行啟動和重置過程的速度明顯更快。
3、計算能力
計算能力是典型的選擇因素。不過,在這方面,微處理機與單片機之間的界線變得模糊了。例如,如果你將ARM體系結(jié)構(gòu)視為單片機和微處理器市場中分布最廣泛的體系結(jié)構(gòu)之一,這就變得顯而易見了。ARM提供了不同的處理器體系結(jié)構(gòu)以滿足各種要求:
Cortex-A提供了最高性能,并且已經(jīng)針對綜合操作系統(tǒng)進行了優(yōu)化。它們主要部署在功能強大的設(shè)備中,比如智能手機或服務(wù)器。
Cortex-M較小,具有更多的片上外設(shè),但是能耗較低,并且針對嵌入式應(yīng)用進行了優(yōu)化。
Dhrystone是比較不同處理器性能的測試基準。根據(jù)該基準,普通平價單片機具有30 DMIPS,而當前性能最高的單片機(包括嵌入式程序閃存)與這些平價單片機的差距高達1027 DMIPS。相比之下,微處理器的起步點約為1000 DMIPS。
4、能耗
單片機在能耗方面表現(xiàn)出色,要比微處理器低很多。盡管微處理器具有節(jié)能模式,但其能耗仍然比典型的單片機高得多。
而且,微處理器使用外部存儲器,因此較難切換到節(jié)能模式。對于需要較長的電池運行時間,并且很少使用或沒有用戶接口的超低功耗應(yīng)用,單片機是更好的選擇,尤其是對于消費類電子產(chǎn)品或智能電表來說。
5、連接性
大多數(shù)單片機和微處理器都配備了所有常規(guī)外圍設(shè)備接口。但是,如果用戶需要的是超高速外圍設(shè)備,在單片機里是找不到例如千兆以太網(wǎng)這種相關(guān)接口的。盡管這實際上已成為微處理器中的標準功能單片機。這是十分合理的,因為單片機幾乎無法處理這些高速接口所產(chǎn)生的數(shù)據(jù)量。一個關(guān)鍵問題是:是否有足夠的帶寬和通道來處理爆發(fā)的數(shù)據(jù)量?
6、實時表現(xiàn)
當實時性能是最重要的考慮因素時,單片機絕對是首選。憑借處理器內(nèi)核、嵌入式閃存和軟件(RTOS或裸機OS),單片機可以出色地完成實時任務(wù)。
因為Cortex-A微處理器使用高性能的流水線,用戶可以看到在跳轉(zhuǎn)和中斷期間,隨著流水線的深度不斷增加,延遲時間也隨之升高。由于OS與微處理器一起執(zhí)行多任務(wù),因此很難實現(xiàn)硬實時操作。
7、系統(tǒng)基礎(chǔ)IC
由于電源已經(jīng)集成在單片機中,因此它們僅需要一個單電平電源。另一方面,微處理器需要許多不同電壓的電源來為內(nèi)核和其它組件供電,所以通常需要一個特殊配置的電源管理IC(即所謂的系統(tǒng)基礎(chǔ)芯片)來進行供電管理。
8、總結(jié)
很難說微處理器或單片機哪個才是更好的選擇,但經(jīng)驗法則是,你應(yīng)該始終權(quán)衡各種利弊條件。以下幾點可以用作大致指導(dǎo):
單片機非常適合以能耗為主要關(guān)注點,且價格較低的移動應(yīng)用以及具有實時需求的應(yīng)用。
微處理器則非常適合與操作系統(tǒng)一起運行并需要高速接口的密集計算應(yīng)用。游戲和其他圖形密集型應(yīng)用使用特殊的微處理器進行聯(lián)網(wǎng)處理。
審核編輯:何安
-
單片機
+關(guān)注
關(guān)注
6030文章
44489瀏覽量
631980 -
微處理器
+關(guān)注
關(guān)注
11文章
2244瀏覽量
82267
發(fā)布評論請先 登錄
相關(guān)推薦
評論