常見處理器MCU、MPU、DSP、FPGA等嵌入式處理器
前文中多次出現了MCU、MPU、DSP、FPGA等嵌入式處理器概念,很多初學者可能比較迷惑,下面將對這些概念進行簡單介紹。
MCU
微控制器 (Micro-Controller Unit , MCU) ,俗稱微控制器。 之所以稱之為微控制器 (Single Chip Microcomputer),是因為不同於其它處理器,它將CPU、RAM(隨機儲存器)、ROM(只讀存器)、I/O、中斷系統、定時器等各種功能外設資源集中到一個晶片上。這個晶片就是一個完整的微型計算機,只需要供電或加上極少的外圍電路即可工作。
常見的MCU有80C51系列微控制器、Atmel公司的AVR系列微控制器、Microchip公司的PIC系列微控制器、TI公司的MSP430系列微控制器、ST公司的STM32系列微控制器、NXP公司的LPC1700系列微控制器。
早期的MCU主要是8位,後面發展出16位,再到現在主流的已經是32位。此外,主頻不斷提高、ROM不斷增大、外設不斷增多,微控制器的應用領域和場合越來越大。
MPU
微處理器(Micro-Processor Unit,MPU)。類似通用計算機的CPU,主要負責處理計算,需要外加RAM、 Flash、電源等電路。
MCU和MPU的本質區別是因為應用場景的定位不同。MPU注重透過相對強大的運算/處理能力,執行復雜多樣的大型程式,因此常需要外掛執行記憶體(RAM)、儲存器(Flash)等。MCU注重功能較為單一、價格敏感的應用場景,不需要相對強大的運算/處理能力,更多的是對裝置管理/控制,因此不需要大容量的RAM、Flash來執行大型程式,於是將RAM、Flash全整合在一起,大家也就俗稱“微控制器”,如圖 2.3.1 所示。
如今,隨著技術的發展,市場及需求的變化,MPU和MCU的界限日趨模糊。高階的32位MCU主頻越來越高,已經反超低端MPU主頻,MCU也有外掛RAM和Flash的場景,依靠硬體結構去區分逐漸困難。讀者可以簡單的認為,嵌入式微處理器MPU,通常執行Linux、Android等非實時作業系統,應用在高階應用市場,比如智慧手機、路由器等消費電子市場領域,而嵌入式微控制器MCU,常用執行裸機或實時性作業系統,應用在中、低端應用市場,比如家電控制領域、工業控制領域等。
DSP
DSP通常有兩個含義。
數字訊號處理(Digital Signal Processing,DSP),是一門學科技術,使用數值計算的方式對訊號進行加工處理的理論和技術。
數字訊號處理器(Digital Signal Processor,DSP),是一種專門用於數字訊號處理領域的微處理器晶片。
如圖 2.3.2 為TI公司的DSP晶片TMS320VC5509A。
DSP晶片為了達到快速處理數字訊號處理的目的,採用了許多特殊軟硬體結構。首先是採用哈佛結構,將程式和資料分開,同時為處理器提供指令和資料。然後採用多級流水線技術,在指令週期內可以執行更多指令。加上專用的硬體乘法器、特殊的DSP指令,使得DSP晶片在計算處理上,遠超同主頻的MCU或MPU。
DSP晶片擁有強大的資料處理能力,在數字訊號處理領域,如調製/解調、資料加密/解密、圖形處理、數字濾波、音訊處理等計算密集型的場景廣泛應用。
FPGA
現場可程式設計門陣列(Field-Programmable Gate Array,FPGA),由可程式設計互連連線的可配置邏輯塊(CLB) 矩陣構成的半導體器件。通俗地說,FPGA就是一個可以透過程式設計改變內部硬體結構,實現所需功能的晶片。前面的MCU、DSP等都是硬體資源固定,只能透過修改軟體實現所需功能。而FPGA是透過硬體描述語言或其它方式修改硬體,將FPGA變為CPU或專用晶片,來實現控制或演算法。因此,MCU、DSP能夠實現的功能,FPGA理論上都可以實現,反之則不一定。如圖 2.3.3 為Xilinx公司的FPGA晶片XC3S400A。
FPGA主要有兩大優勢:高速和靈活。FPGA使用硬體處理資料,採用併發和流水技術,多個模組之間可以同時並行執行。FPGA可以根據現場情況配置器件功能,能夠在技術和需求變化時重新配置,實現系統最佳化升級。
在某些通訊領域,需要處理高速的通訊協議,同時通訊協議隨時都可能修改,不適合做成專門的晶片,FPGA的高速、靈活就便成了首選。
雖然FPGA功能強大,但實際工程專案中,還需考慮硬體成本、開發難度和市場需求等因素。一些簡單的控制場合,儘管FPGA和MCU都能勝任,但MCU價格低廉和研發簡單,更划算。
【總結】
如今複雜的嵌入式系統往往是複合架構,比如“MPU+FPGA”、“MPU+DSP”、“MCU+FPGA”、“MCU+DSP”,甚至“MCU +MPU+FPGA+DSP”。控制、顯示、通訊一般選擇MCU或MPU,通訊和資料處理演算法選擇DSP,大量的資料處理和特定實現選擇FPGA。
MCU開發需要C語言基礎,然後學習各類資源、介面,再到RTOS;MPU通常執行Linux,需要Linux基 礎、作業系統、網路程式設計等知識;DSP開發需要具備資料訊號處理演算法的理論知識;FPGA開發需要了解高速介面或音/視處理演算法等。
一般來說,MCU相對比較簡單,適合作為入門學習,待MCU學習完後,再結合實際情況選擇深入學習方向。
————————————————
版權宣告:本文為CSDN博主「韋東山」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/thisway_diy/article/details/114916402
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69997197/viewspace-2764980/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#基礎之前處理器,異常處理C#
- MPU進化,多核異構處理器有多強?
- 迭代器和異常處理
- MVC使用異常過濾器處理異常MVC過濾器
- JSP 異常處理如何處理?JS
- CPU(中央處理器)和GPU(影像處理器)的區別GPU
- 2_Bean的生命週期和常見的後處理器Bean
- oracle常見異常等待——latch處理思路Oracle
- 註解處理器
- cortex-A處理器
- VMware 處理器配置
- CSS 前處理器CSS
- Redis 快取常見問題處理Redis快取
- NO.A.0001——zabbix常見故障的處理
- 人形動畫常見IK的處理動畫
- 常見佇列等待事件處理思路佇列事件
- FPGA數字訊號處理(26)加擾器與解擾器設計FPGA
- 銳龍處理器和酷睿處理器哪個好 為什麼都不建議買銳龍處理器
- 異常處理
- 設計一個全域性異常處理器
- CPU處理器架構架構
- JMeter—前置處理器(九)JMeter
- CSS 前處理器—sassCSS
- Android與ARM處理器Android
- BeanPostProcessor 後置處理器Bean
- SpringMVC【校驗器、統一處理異常、RESTful、攔截器】SpringMVCREST
- Python錯誤處理和異常處理(二)Python
- 常見的wait等待事件及處理(zt)AI事件
- 資料協議處理、影片協議處理、電氣IO量處理、嵌入式SCADA系統工業控制閘道器設計協議
- SpringMvc-10.14上傳、攔截器、異常處理SpringMVC
- SpringMVC(三)處理器方法形參繫結(繫結陣列、集合)、異常處理器、controller方法返回值SpringMVC陣列Controller
- 銳龍處理器和酷睿處理器哪個好 電腦處理器銳龍和酷睿哪個好一點
- React 異常處理React
- JS異常處理JS
- oracle異常處理Oracle
- Python——異常處理Python
- Python異常處理Python
- ThinkPHP 異常處理PHP