當為你的下一個設計方案選擇正確的核心處理器件時,你應該考慮哪些因素呢?本文將對MPU和MCU做些對比分析,并以此對器件的選擇給出一些指導性建議和意見。
每當在為新設計選擇正確合理的器件時,我們可能會有些茫然不知所措。這是需要做正確的平衡處理的事,包括價格,性能,功耗等方面的影響。當然,你可以為新設計著手考慮一些直接的技術方案,但是如果核心器件,無論是微控制器還是微處理器成為一系列新產品的基礎平臺,那么我們可能需要花長時間來做決定,到底是選MCU還是MPU。
首先,我們來看看MCU和MPU的主要差別。
一個典型的MCU通常使用片內flash存儲器來存儲和執行程序代碼。以這種方式存儲程序意味著MCU有非??斓膯訒r間,上電能夠快速執行代碼,片內存儲還有個優勢是可以加密程序。使用片內存儲方式唯一不足就是總存儲空間受MCU本身所限。目前市場上絕大多數flash型MCU最大空間為2M字節,從各種應用上看,這證明了是一個限制因素。而MPU沒有存儲空間的限制,MPU使用外部存儲器提供程序和數據空間。程序一般放在非易失性存儲器如NAND或者串行Flash內,啟動時,程序載入到外部DRAM中,然后開始執行。這意味著MPU沒有MCU啟動運行來的快,但MPU可擴展的外部DRAM和NVM容量能達到數百Mbytes,甚至上Gbytes。
另一個不同是供電,一般MCU僅僅需要單電壓供電,而MPU需要幾路不同的電壓分別給IO,內核,DDR等供電,開發者往往需要在電路板上設計附加的電源轉換芯片。
從應用前景來看,設計規范的某些方面可能要求以特殊方式選擇器件。例如,外設接口通道數需求超過了MCU能提供的怎么辦?再比如,規格書規定了用戶接口的容量,而MCU由于沒有足夠大的片內存儲器或者達不到需要的性能,無法滿足需求怎么辦?當著手第一次設計,必須要知道的是有很大的可能性產品會有許多變更情況。如果那樣的話,基于平臺設計方法將是首選的設計方法,這將保證更充足的功耗和接口富余,以適應以后的功能升級。
選擇難以決斷的一個特征是任何所提供的設計都能滿足所需要的處理性能。處理能力通常用Dhrystone MIPS (DMIPS)來量化,它是測量處理器運算能力最常見指標之一。例如,一顆基于ARM Cortex-M4內核的Atmel SAM4系列MCU處理率為150 DMIPS,而一顆ARM Cortex-A5處理器MPU,如SAMA5D3能達到850 DMIPS。一種估算DMIPS需求的方式是觀察可能導致性能惡化的局部應用。運行一個完整的操作系統,如Linux, Android或者Windows CE,對你的應用來說可能要求至少300-400 DMIPS。對許多應用來說,能夠滿足RTOS并且有50 DMIPS的足夠寬裕即可。使用RTOS還有其他好處,只需要很少的存儲空間,一般內核僅僅需要幾KB到幾十KB的容量。然而,為了運行完整的操作系統,需要一個內存管理單元(MMU),依次指定處理器內核的使用執行,這就要求更快的處理運算能力。對于運行大量數字運算的應用,額外的DMIPS需要保留給OS以及其他的通信和控制任務。所以,越是基于海量運算的應用,越應該考慮使用MPU來控制。
無論是針對消費電子還是工業自動化為目標的應用設計,用戶界面(UI)都需要認真考慮。作為消費者,我們已經熟悉并樂于使用多彩色直觀的用戶圖形界面。盡管操作員的操作環境多少會受限,但工業應用中已經越來越多使用這種需要操作員交互的方式。對于用戶界面(UI),有許多要素。
第一,處理運算額外的需求,如UI庫Qt,普遍放在Linux頂部,需要額外的80-100 DMIPS開銷。
第二,是和UI的復雜度相關,越是豐富多彩,富于變化的多媒體圖像顯示,就需要越快的處理能力和越多的內存,并且隨著解析度的增加,這種需求成比例的增加,這也是為什么以UI為中心的設計更適合用MPU的原因。相反,低解析度的靜態圖像UI可以使用MCU尋址。
另一個關鍵點是,MPU通常集成一個嵌入式TFT LCD控制器,這是很有用的。很少有MCU芯片有這個功能,所以需要添加額外的TFT LCD控制器和驅動元器件。即使一些MCU嵌入了TFT LCD控制器來搶占市場,但仍需要足夠大的SRAM來驅動顯示。
例如,QVGA 320 x 240分辨率16bit色彩的屏幕需要150K字節的SRAM。對于SRAM來說這是相當大的容量,所以可能需要額外多的內存和器件。更加復雜先進的圖形用戶界面,特別是屏幕超過了4.3英寸,會明確規定使用MPU。
所以,如果說在彩色TFT屏幕上運行用戶圖形界面是把MPU當做核心,那么分段點狀矩陣LCD屏和其他帶有串行接口的顯示屏就以MCU為核心。
從連接性角度說,大多數MCU和MPU可以利用一切通用外設接口。但諸如USB2.0,以太網等高速通信外設接口通常只有MPU會配備,因為MPU更具有處理大量數據的能力。數據通信中是否有足夠的通道和帶寬是個關鍵問題。根據所用的通信協議,在使用第三方工具時應當檢查代碼空間的壓縮問題。當應用需要高速連通性時候,特別是使用基于OS的堆棧,要求基于MPU來設計系統。
另一個決定使用MCU還是MPU的關鍵方面是根據應用系統的實時/確定性的行為。由于MCU處理器內核嵌入了flash,軟件要么是RTOS要么是C,這決定了MCU在大多數即時性應用中將起一個至關重要的角色。
最后一點需要考慮的是功耗。雖然MPU有低功耗模式,但不會像典型MCU那樣低??紤]到附加的硬件部分,MPU在使用低功耗模式時有更多的附加因素,這可能使系統變的更復雜。
同樣,MCU實際功耗大大低于MPU,低功耗模式中,SRAM和寄存器需要保持,這是要考慮的因素。顯而易見,操作系統即時的從休眠模式中恢復運行和RAM直接相關。做出選擇基于MCU還是MPU的決定牽涉到性能,容量,預算成本。
一般而言,MCU趨向于低成本低功耗解決方案,MPU趨向于功能充足,高性能的場合。MCU趨向于在遠程控制,消費電子,智能儀器儀表等低功耗應用上,這些應用強調電池的使用壽命,極少使用用戶圖形交互界面,MCU也使用在需要即時行為功能的場合。MPU則是基于操作系統的工業和消費應用的理想選擇,這些應用通常有大量的計算,高速的互聯性,或者強大用戶圖形交互界面。
選擇一家可以提供高兼容性MCU和MPU產品的廠商,你能很容易移植,使軟件代碼的重復使用率最大,獲得最好的投資回報。
-
處理器
+關注
關注
68文章
19295瀏覽量
230001 -
mcu
+關注
關注
146文章
17167瀏覽量
351390 -
MPU
+關注
關注
0文章
360瀏覽量
48832
原文標題:MPU和MCU的區別和選擇
文章出處:【微信號:HOLTEK_MCU,微信公眾號:至秦單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論