微控制器、ARM、FPGA,嵌入式各自的各自特點?

本文介紹簡要概括微控制器、ARM、FPGA,嵌入式各自的區別及特點,為初學者提供一定的幫助。

方法/步驟

微控制器:

1)受整合度限制,片記憶體儲器容量較小,一般內ROM:8KB以下

2)內RAM:256KB以內。

3)可靠性高

4)易擴充套件

5)控制功能強

6)易於開發

ARM:

1)自帶廉價的程式儲存器(FLASH)和非易失的資料儲存器(EEPROM)。這些儲存器可多次電擦寫,使程式開發實驗更加方便,工作更可靠。

2)高速度,低功耗。在和M51微控制器外接相同晶振條件下,AVR微控制器的工作速度是M51微控制器的30-40倍;並且增加了休眠功能及CMOS技術,使其功耗遠低於M51微控制器。

3)工業級產品。具有大電流輸出可直接驅動SSR和繼電器,有看門狗定時器,防止程式走飛,從而提高了產品的抗干擾能力。

4)超功能精簡指令,具有32個通用工作暫存器,相當於M51微控制器中32個累加器!從而克服了單一累加器工作的瓶頸效應。

5)程式下載方便。AVR微控制器即可並行下載也可序列下載,無需昂貴的程式設計器。此外,還可以線上下載!也就是說可以直接在電路板上進行程式修改和燒錄。

6)具有模擬比較器、脈寬調製器、模數轉換功能。使得工業控制中的模擬訊號處理更為簡單方便。

7)並行口、定時計數器、中斷系統等微控制器內部重要資源的功能進行了大幅度提升,使之更適合工業生產過程的實時控制。

8)其時鐘頻率既可外接也可使用微控制器內部自帶的振盪器,其頻率可在1MHz-8MHz內設定,使得硬體開發製作更為簡潔。

9)強大的通訊功能,內建了同步序列介面SPI、通用序列介面UAST、兩線序列匯流排介面TWI(I2C ),使網路控制、資料傳送更為方便。

10)超級保密功能,應用程式可採用多重保護鎖功能。可低價快速完成廠家產品商品化等等。除上述特點外“零外設”也是AVR嵌入式微控制器的重要特徵。由於該晶片已內建了程式儲存器、晶振並增加了線上彙編功能。所以AVR微控制器晶片接上直流電源,下載個程式就可以獨立工作。無需附加外部裝置,無需使用昂貴的程式設計器和模擬裝置。這給我們學習和開發帶來了便利條件。

FPGA:

1)採用FPGA設計ASIC電路(專用積體電路),使用者不需要投片生產,就能得到合用的晶片。  

2)FPGA可做其它全定製或半定製ASIC電路的中試樣片。  

3)FPGA內部有豐富的觸發器和I/O引腳。  

4)FPGA是ASIC電路中設計週期最短、開發費用最低、風險最小的器件之一。  

5) FPGA採用高速CMOS工藝,功耗低,可以與CMOS、TTL電平相容。

  可以說,FPGA晶片是小批量系統提高系統整合度、可靠性的最佳選擇之一。

  FPGA是由存放在片內RAM中的程式來設定其工作狀態的,因此,工作時需要對片內的RAM進行程式設計。使用者可以根據不同的配置模式,採用不同的程式設計方式。

  加電時,FPGA晶片將EPROM中資料讀入片內程式設計RAM中,配置完成後,FPGA進入工作狀態。掉電後,FPGA恢復成白片,內部邏輯關係消失,因此,FPGA能夠反覆使用。FPGA的程式設計無須專用的FPGA程式設計器,只須用通用的EPROM、PROM程式設計器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的程式設計資料,可以產生不同的電路功能。因此,FPGA的使用非常靈活。

嵌入式:

1)系統核心小。由於嵌入式系統一般是應用於小型電子裝置的,系統資源相對有限,所以核心較之傳統的作業系統要小得多。比如Enea公司的OSE分散式系統,核心只有5K,而Windows的核心?簡直沒有可比性。  

2)專用性強。嵌入式系統的個性化很強,其中的軟體系統和硬體的結合非常緊密,一般要針對硬體進行系統的移植,即使在同一品牌、同一系列的產品中也需要根據系統硬體的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統進行較大更改,程式的編譯下載要和系統相結合,這種修改和通用軟體的 “升級”是完全兩個概念。  

3)系統精簡。嵌入式系統一般沒有系統軟體和應用軟體的明顯區分,不要求其功能設計及實現上過於複雜,這樣一方面利於控制系統成本,同時也利於實現系統安全。  

4)高實時性的系統軟體(OS)是嵌入式軟體的基本要求。而且軟體要求固態儲存,以提高速度;軟體程式碼要求高質量和高可靠性。 

5)嵌入式軟體開發要想走向標準化,就必須使用多工的作業系統。嵌入式系統的應用程式可以沒有作業系統直接在晶片上執行;但是為了合理地排程多工、利用系統資源、系統函式以及和專家庫函式介面,使用者必須自行選配RTOS (Real-Time Operating System)開發平臺,這樣才能保證程式執行的實時性、 可靠性,並減少開發時間,保障軟體質量。  

6)嵌入式系統開發需要開發工具和環境。由於其本身不具備自舉開發能力,即使設計完成以後使用者通常也是不能對其中的程式功能進行修改的,必須有一套開發工具和環境才能進行開發,這些工具和環境一般是基於通用計算機上的軟硬體裝置以及各種邏輯分析儀、混合訊號示波器等。開發時往往有主機和目標機的概念,主機用於程式的開發,目標機作為最後的執行機,開發時需要交替結合進 行。

相關問題答案