FPGA,51和stm36微控制器,opencv這三個那個比較有前景呢?
學習嵌入式的小夥伴肯定接觸過微控制器、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嵌入式微控制器的重要特徵。由於該晶片已內建了程式儲存器、晶振並增加了線上彙編功能。
FPGA的特點
(1)採用FPGA設計ASIC電路(專用積體電路),使用者不需要投片生產,就能得到合用的晶片。
(2)FPGA可做其它全定製或半定製ASIC電路的中試樣片。
(3)FPGA內部有豐富的觸發器和I/O引腳。
(4)FPGA是ASIC電路中設計週期最短、開發費用最低、風險最小的器件之一。
(5)FPGA採用高速CMOS工藝,功耗低,可以與CMOS、TTL電平相容。
可以說,FPGA晶片是小批次系統提高系統整合度、可靠性的最佳選擇之一。
FPGA是由存放在片內RAM中的程式來設定其工作狀態的,因此,工作時需要對片內的RAM進行程式設計。使用者可以根據不同的配置模式,採用不同的程式設計方式。
嵌入式系統的特點
①系統核心小
由於嵌入式系統一般是應用於小型電子裝置的,系統資源相對有限,所以核心較之傳統的作業系統要小得多。比如Enea公司的OSE分散式系統,核心只有5K,而Windows的核心?簡直沒有可比性。
②專用性強
嵌入式系統的個性化很強,其中的軟體系統和硬體的結合非常 緊密,一般要針對硬體進行系統的移植,即使在同一品牌、同一系列的產品中也 需要根據系統硬體的變化和增減不斷進行修改。同時針對不同的任務,往往需要 對系統進行較大更改,程式的編譯下載要和系統相結合,這種修改和通用軟體的 “升級”是完全兩個概念。
③系統精簡
嵌入式系統一般沒有系統軟體和應用軟體的明顯區分,不要求 其功能設計及實現上過於複雜,這樣一方面利於控制系統成本,同時也利於實現系統安全。
④高實時性的系統軟體(OS)
高實時性的系統軟體(OS)是嵌入式軟體的基本要求。而且軟體要求固態儲存,以提高速度;軟體程式碼要求高質量和高可靠性。
⑤嵌入式軟體開發要想走向標準化,就必須使用多工的作業系統
嵌入式系統的應用程式可以沒有作業系統直接在晶片上執行;但是為了合理地排程多任 務、利用系統資源、系統函式以及和專家庫函式介面,使用者必須自行選配RTOS (Real-Time Operating System)開發平臺,這樣才能保證程式執行的實時性、 可靠性,並減少開發時間,保障軟體質量。
結語:無論是學習嵌入式理論知識,還是做專案,我們都必須熟知這些硬體的特點,才能在職業精進的過程中游刃有餘,有了像這些小知識做強勁的支撐,我們才能在日後的面試、工作中對答如流,對進一步的學習更有底氣,小知識,大用途!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996125/viewspace-2856390/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- FPGA和微控制器有什麼區別呢?FPGA
- Python和Web前端選擇哪個比較合適?哪個前景好?PythonWeb前端
- Go和Python比較的話,哪個比較好?GoPython
- 哪個品牌的雲資料庫比較好?重點關注這三個方面資料庫
- 學Java有哪些比較好用的軟體呢?Java
- 用opencv測量物體大概角度的一個比較笨的思路OpenCV
- 如何實現 “中間這幾個字要加粗,但是不要太粗,比較纖細的那種粗” ?
- 三個大資料處理框架:Storm,Spark和Samza介紹比較大資料框架ORMSpark
- Java 兩個日期比較Java
- 比較兩個陣列中是否有相同的元素陣列
- 在servlet中繪製統計圖表,用那個庫比較好Servlet
- Linux和Windows有什麼差異?學哪個有前景?LinuxWindows
- VBA和Python到底哪個比較難學Python
- Linux有哪些版本?哪個比較適合新手使用?Linux
- 一個有關多域名session的問題,比較棘手Session
- 51微控制器系列(三)51 微控制器遊戲設計 —— 雙人對戰小遊戲(石頭剪刀布)遊戲設計
- JavaScript比較兩個時間JavaScript
- 一個字串比較的題字串
- 比較兩個table是否相同
- 哪家的雲端儲存比較好?這五個因素很重要!
- 雲端計算這個行業前景如何?行業
- 簡訊驗證碼平臺有哪些比較好用?需從這3個方面來決定!
- 哪個自媒體分發工具比較好用?這個60萬人同時在用!
- 這 3 個 Set 集合的實現有點簡單,那來做個總結吧
- 51微控制器學習歷程(二)快速入門51微控制器
- 比較兩個陣列是否相等陣列
- JavaScript比較兩個時間大小JavaScript
- shell比較兩個字串是否相等字串
- 3 個 Python 模板庫比較Python
- mysql比較兩個日期間隔MySql
- 幾個分析函式的比較函式
- Cesium 比較常用的幾個方法
- 這麼多程式語言,初學者選擇哪個比較好?
- Python學完後從業方向有哪些呢?分享這幾個Python
- js 深比較和淺比較JS
- Python和Web前端選擇哪個比較合適?PythonWeb前端
- 分析了443個免費代理 其中只有21%沒有黑幕 那麼剩下的79%呢
- 深度學習中的epochs,batch_size,iterations詳解---對這三個概念說的比較清楚深度學習BAT