嵌入式設備一般要滿足實時性的要求,而實時性是要求數據輸入和輸出的延時滿足一定的要求。當然嵌入式一般都便攜性都比PC要好,功能沒有PC多,PC是通用,他是專用,一般只專注某些功能的實現,比如DSP專注數字信號處理。個人覺得單片機和DSP差別不太大,DSP的結構更加適合做算術運算。FPGA基本就是個門結構了,面向硬件直接編,程彈性很大,如果單片機和DSP置位硬件的方式是通過打時序或者修改寄存器宏單元,那FPGA就是直接用一個個邏輯與或門去打接硬件電路, 編程是並行的,不帶MCU但是你可以找IP核去加載上。ARM是個架構吧,跑ARM好像必須上操作系統,單片機和DSP都有自己的精簡指令集,不加操作系統也可以跑。 當然以上都是一家之言,歡迎大家交流指正。
以上各位都說了一部分,但是又不太全。我也來說一下自己的理解。
首先,“嵌入式”這是個概念,准確的定義沒有,各個書上都有各自的定義。但是主要思想是一樣的,就是相比較PC機這種通用系統來說,嵌入式系統是個專用系統,結構精簡,在硬件和軟件上都只保留需要的部分,而將不需要的部分裁去。所以嵌入式系統一般都具有便攜、低功耗、性能單一等特性。
然后,MCU、DSP、FPGA這些都屬於嵌入式系統的范疇,是為了實現某一目的而使用的工具。
MCU經過這么多年的發展,早已不單單只有普林斯頓結構的51了,性能也已得到了很大的提升。因為MCU必須順序執行程序,所以適於做控制,較多地應用於工業。而ARM本是一家專門設計MCU的公司,由於技術先進加上策略得當,這兩年獨霸單片機市場。ARM的單片機有很多種類,從低端M0(小家電)到高端A8、A9(手機、平板電腦)都很吃香,所以也不是ARM的單片機一定要上系統,關鍵看應用場合。
DSP叫做數字信號處理器,它的結構與MCU不同,加快了運算速度,突出了運算能力。可以把它看成一個超級快的MCU。低端的DSP,如C2000系列,主要是用在電機控制上,不過TI公司好像稱其為DSC(數字信號控制器)一個介於MCU和DSP之間的東西。高端的DSP,如C5000/C6000系列,一般都是做視頻圖像處理和通信設備這些需要大量運算的地方。
FPGA叫做現場可編程邏輯陣列,本身沒有什么功能,就像一張白紙,想要它有什么功能完全靠編程人員設計。如果你夠NB,你可以把它變成MCU,也可以變成DSP。由於MCU和DSP的內部結構都是設計好的,所以只能通過軟件編程來進行順序處理,而FPGA則可以並行處理和順序處理,所以比較而言速度最快。
那么為什么MCU、DSP和FPGA會同時存在呢?那是因為MCU、DSP的內部結構都是由IC設計人員精心設計的,在完成相同功能時功耗和價錢都比FPGA要低的多。而且FPGA的開發本身就比較復雜,完成相同功能耗費的人力財力也要多。所以三者之間各有各的長處,各有各的用武之地。但是目前三者之間已經有融合的態勢,ARM的M4系列里多加了一個精簡的DSP核,TI的達芬奇系列本身就是ARM+DSP結構,ALTERA和XINLIX新推出的FPGA都包含了ARM的核在里面。所以三者之間的關系是越來越像三基色的三個圓了。
一句話以蔽之“你中有我,我中有你”。
單片機:通常無操作系統,用於簡單的控制,如電梯,空調等。
dsp:用於復雜的計算,像離散余弦變換、快速傅里葉變換,常用於圖像處理,在數碼相機等設備中使用。
arm:一個英國的芯片設計公司,但是不生產芯片。只賣知識產權。
fpga:現場可編程門陣列,以硬件描述語言(Verilog 或 VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現代 IC 設計驗證的技術主流。
嵌入式:是相對於台式電腦而言,系統可裁剪,形態各異,可能體積、功耗、成本受限、實時性要求高,如示波器,手機,平板電腦,全自動洗衣機,路由器、數碼相機,這些設備中,雖然看不到台式機的存在,但是都有一個或多個嵌入式系統在工作。
單片機通指8位、16位、32位CPU含常用外圍設備如RAM、Timer、AD、UART等通信接口的控制器MCU,一般主頻在100M以下,有幾十個廠家生產,型號數萬種。
DSP也是一種單片機,但是在數據吞吐量和運算能力上有加強,特別的對於Digital Signal Process的算法有特效(所以叫DSP~),廠家不如通用單片機廠家那么多,技術難度高點唄~
FPGA是一種可編程的硬件電路,說白了就是邏輯門和觸發器等基本數字電路器件通過編程的方法組合,當然你也可以自己組合成CPU、單片機,這叫軟核。
嵌入式,指的范圍比較廣,我覺得一般指基於OS(winCE、linux、vxworks等)的嵌入式計算機系統。
http://emuch.net/html/201204/4372696.html
http://www.paper56.com/article-1445.html